1namespace ts { 2 describe("unittests:: tsbuild:: configFileErrors:: when tsconfig extends the missing file", () => { 3 verifyTsc({ 4 scenario: "configFileErrors", 5 subScenario: "when tsconfig extends the missing file", 6 fs: () => loadProjectFromDisk("tests/projects/missingExtendedConfig"), 7 commandLineArgs: ["--b", "/src/tsconfig.json"], 8 }); 9 }); 10 11 describe("unittests:: tsbuild:: configFileErrors:: reports syntax errors in config file", () => { 12 verifyTscIncrementalEdits({ 13 scenario: "configFileErrors", 14 subScenario: "reports syntax errors in config file", 15 fs: () => loadProjectFromFiles({ 16 "/src/a.ts": "export function foo() { }", 17 "/src/b.ts": "export function bar() { }", 18 "/src/tsconfig.json": Utils.dedent` 19{ 20 "compilerOptions": { 21 "composite": true, 22 }, 23 "files": [ 24 "a.ts" 25 "b.ts" 26 ] 27}` 28 }), 29 commandLineArgs: ["--b", "/src/tsconfig.json"], 30 incrementalScenarios: [ 31 { 32 buildKind: BuildKind.IncrementalDtsUnchanged, 33 modifyFs: fs => replaceText(fs, "/src/tsconfig.json", ",", `, 34 "declaration": true,`), 35 subScenario: "reports syntax errors after change to config file" 36 }, 37 { 38 buildKind: BuildKind.IncrementalDtsUnchanged, 39 modifyFs: fs => appendText(fs, "/src/a.ts", "export function fooBar() { }"), 40 subScenario: "reports syntax errors after change to ts file" 41 }, 42 noChangeRun, 43 { 44 buildKind: BuildKind.IncrementalDtsChange, 45 modifyFs: fs => fs.writeFileSync( 46 "/src/tsconfig.json", 47 JSON.stringify({ 48 compilerOptions: { composite: true, declaration: true }, 49 files: ["a.ts", "b.ts"] 50 }) 51 ), 52 subScenario: "builds after fixing config file errors" 53 }, 54 ] 55 }); 56 }); 57} 58