public static void GenerateFiles(string targetDir, DefaultTypeScriptGeneratorOutput output, LinterDisableMode linterDisableMode) { DeleteFiles(targetDir, "*.ts"); Directory.CreateDirectory(targetDir); foreach (var unit in output.Units) { var targetFileName = GetUnitTargetFileName(targetDir, unit); EnsureDirectoryExists(targetFileName); var linterDisable = linterDisableMode == LinterDisableMode.TsLint ? "// tslint:disable" : "/* eslint-disable */"; File.WriteAllText(targetFileName, $"{linterDisable}\n{generatedContentMarkerString}\n"); File.AppendAllText(targetFileName, unit.GenerateCode(new DefaultCodeGenerationContext())); } }
public static FilesGenerationContext Create(LinterDisableMode linterDisableMode) { var linterDisable = linterDisableMode == LinterDisableMode.TsLint ? "tslint:disable" : "eslint-disable"; return(new FilesGenerationContext("ts", marker => $"// {linterDisable}\n{marker}\n")); }
public static FilesGenerationContext Create(JavaScriptTypeChecker javaScriptTypeChecker, LinterDisableMode linterDisableMode) { switch (javaScriptTypeChecker) { case JavaScriptTypeChecker.Flow: return(new FilesGenerationContext("js", marker => $"// @flow\n{marker}\n", javaScriptTypeChecker)); case JavaScriptTypeChecker.TypeScript: var linterDisable = linterDisableMode == LinterDisableMode.TsLint ? "tslint:disable" : "eslint-disable"; return(new FilesGenerationContext("ts", marker => $"// {linterDisable}\n{marker}\n", javaScriptTypeChecker)); default: throw new ArgumentOutOfRangeException(nameof(javaScriptTypeChecker), javaScriptTypeChecker, null); } }