diff --git a/src/testRunner/unittests/tsc/incremental.ts b/src/testRunner/unittests/tsc/incremental.ts index b3903b37d08..abc52d5b23d 100644 --- a/src/testRunner/unittests/tsc/incremental.ts +++ b/src/testRunner/unittests/tsc/incremental.ts @@ -36,5 +36,23 @@ namespace ts { commandLineArgs: ["--p", "src/project", "--rootDir", "src/project/src"], incrementalScenarios: [noChangeRun] }); + + verifyTscIncrementalEdits({ + scenario: "incremental", + subScenario: "when passing rootDir is in the tsconfig", + fs: () => loadProjectFromFiles({ + "/src/project/src/main.ts": "export const x = 10;", + "/src/project/tsconfig.json": utils.dedent` + { + "compilerOptions": { + "incremental": true, + "outDir": "./built", + "rootDir": "./" + }, + }`, + }), + commandLineArgs: ["--p", "src/project"], + incrementalScenarios: [noChangeRun] + }); }); } diff --git a/tests/baselines/reference/tsc/incremental/initial-build/when-passing-rootDir-is-in-the-tsconfig.js b/tests/baselines/reference/tsc/incremental/initial-build/when-passing-rootDir-is-in-the-tsconfig.js new file mode 100644 index 00000000000..a8d320664bb --- /dev/null +++ b/tests/baselines/reference/tsc/incremental/initial-build/when-passing-rootDir-is-in-the-tsconfig.js @@ -0,0 +1,41 @@ +//// [/lib/initial-buildOutput.txt] +/lib/tsc --p src/project +exitCode:: ExitStatus.Success + + +//// [/src/project/built/src/main.js] +"use strict"; +exports.__esModule = true; +exports.x = 10; + + +//// [/src/project/built/tsconfig.tsbuildinfo] +{ + "program": { + "fileInfos": { + "../../../lib/lib.d.ts": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };" + }, + "../src/main.ts": { + "version": "-10726455937-export const x = 10;", + "signature": "-6057683066-export declare const x = 10;\r\n" + } + }, + "options": { + "incremental": true, + "outDir": "./", + "rootDir": "..", + "project": "..", + "configFilePath": "../tsconfig.json" + }, + "referencedMap": {}, + "exportedModulesMap": {}, + "semanticDiagnosticsPerFile": [ + "../../../lib/lib.d.ts", + "../src/main.ts" + ] + }, + "version": "FakeTSVersion" +} + diff --git a/tests/baselines/reference/tsc/incremental/no-change-run/when-passing-rootDir-is-in-the-tsconfig.js b/tests/baselines/reference/tsc/incremental/no-change-run/when-passing-rootDir-is-in-the-tsconfig.js new file mode 100644 index 00000000000..4c7d66a03f8 --- /dev/null +++ b/tests/baselines/reference/tsc/incremental/no-change-run/when-passing-rootDir-is-in-the-tsconfig.js @@ -0,0 +1,7 @@ +//// [/lib/no-change-runOutput.txt] +/lib/tsc --p src/project +exitCode:: ExitStatus.Success + + +//// [/src/project/built/src/main.js] file written with same contents +//// [/src/project/built/tsconfig.tsbuildinfo] file written with same contents