From e9fb843e563609c200edb49191709d0c83597fd2 Mon Sep 17 00:00:00 2001 From: Sheetal Nandi Date: Thu, 21 Feb 2019 11:28:52 -0800 Subject: [PATCH] Add test to verify incremental build is same as if its built clean --- src/compiler/emitter.ts | 2 +- src/compiler/program.ts | 2 +- src/compiler/tsbuild.ts | 2 +- src/testRunner/unittests/tsbuild/helpers.ts | 80 ++++++++++++------- src/testRunner/unittests/tsbuild/outFile.ts | 7 +- src/testRunner/unittests/tsbuild/sample.ts | 36 ++++++++- .../buildInfo/emitHelpers-in-all-projects.js | 0 ...tHelpers-in-only-one-dependency-project.js | 0 .../multiple-emitHelpers-in-all-projects.js | 0 ...tiple-emitHelpers-in-different-projects.js | 0 .../multiple-prologues-in-all-projects.js | 0 ...ultiple-prologues-in-different-projects.js | 0 .../buildInfo/strict-in-all-projects.js | 0 .../buildInfo/strict-in-one-dependency.js | 0 ...hen-one-two-three-are-prepended-in-oder.js | 0 ...en-one-two-three-are-prepended-in-order.js | 0 .../stripInternal-jsdoc-style-comment.js | 0 ...hen-one-two-three-are-prepended-in-oder.js | 0 ...en-one-two-three-are-prepended-in-order.js | 0 ...hen-one-two-three-are-prepended-in-oder.js | 0 ...en-one-two-three-are-prepended-in-order.js | 0 ...tripInternal-with-comments-emit-enabled.js | 0 .../buildInfo/stripInternal.js | 0 .../emitHelpers-in-all-projects.js | 0 ...tHelpers-in-only-one-dependency-project.js | 0 .../multiple-emitHelpers-in-all-projects.js | 0 ...tiple-emitHelpers-in-different-projects.js | 0 .../multiple-prologues-in-all-projects.js | 0 ...ultiple-prologues-in-different-projects.js | 0 .../no-buildInfo/strict-in-all-projects.js | 0 .../no-buildInfo/strict-in-one-dependency.js | 0 ...hen-one-two-three-are-prepended-in-oder.js | 0 ...en-one-two-three-are-prepended-in-order.js | 0 .../stripInternal-jsdoc-style-comment.js | 0 ...hen-one-two-three-are-prepended-in-oder.js | 0 ...en-one-two-three-are-prepended-in-order.js | 0 ...hen-one-two-three-are-prepended-in-oder.js | 0 ...en-one-two-three-are-prepended-in-order.js | 0 ...tripInternal-with-comments-emit-enabled.js | 0 .../no-buildInfo/stripInternal.js | 0 40 files changed, 93 insertions(+), 36 deletions(-) rename tests/baselines/reference/tsbuild/outfile-concat/{incremental-headers-change => incremental-headers-change-without-dts-changes}/buildInfo/emitHelpers-in-all-projects.js (100%) rename tests/baselines/reference/tsbuild/outfile-concat/{incremental-headers-change => incremental-headers-change-without-dts-changes}/buildInfo/emitHelpers-in-only-one-dependency-project.js (100%) rename tests/baselines/reference/tsbuild/outfile-concat/{incremental-headers-change => incremental-headers-change-without-dts-changes}/buildInfo/multiple-emitHelpers-in-all-projects.js (100%) rename tests/baselines/reference/tsbuild/outfile-concat/{incremental-headers-change => incremental-headers-change-without-dts-changes}/buildInfo/multiple-emitHelpers-in-different-projects.js (100%) rename tests/baselines/reference/tsbuild/outfile-concat/{incremental-headers-change => incremental-headers-change-without-dts-changes}/buildInfo/multiple-prologues-in-all-projects.js (100%) rename tests/baselines/reference/tsbuild/outfile-concat/{incremental-headers-change => incremental-headers-change-without-dts-changes}/buildInfo/multiple-prologues-in-different-projects.js (100%) rename tests/baselines/reference/tsbuild/outfile-concat/{incremental-headers-change => incremental-headers-change-without-dts-changes}/buildInfo/strict-in-all-projects.js (100%) rename tests/baselines/reference/tsbuild/outfile-concat/{incremental-headers-change => incremental-headers-change-without-dts-changes}/buildInfo/strict-in-one-dependency.js (100%) rename tests/baselines/reference/tsbuild/outfile-concat/{incremental-headers-change => incremental-headers-change-without-dts-changes}/buildInfo/stripInternal-jsdoc-style-comment-when-one-two-three-are-prepended-in-oder.js (100%) rename tests/baselines/reference/tsbuild/outfile-concat/{incremental-headers-change => incremental-headers-change-without-dts-changes}/buildInfo/stripInternal-jsdoc-style-comment-when-one-two-three-are-prepended-in-order.js (100%) rename tests/baselines/reference/tsbuild/outfile-concat/{incremental-headers-change => incremental-headers-change-without-dts-changes}/buildInfo/stripInternal-jsdoc-style-comment.js (100%) rename tests/baselines/reference/tsbuild/outfile-concat/{incremental-headers-change => incremental-headers-change-without-dts-changes}/buildInfo/stripInternal-when-one-two-three-are-prepended-in-oder.js (100%) rename tests/baselines/reference/tsbuild/outfile-concat/{incremental-headers-change => incremental-headers-change-without-dts-changes}/buildInfo/stripInternal-when-one-two-three-are-prepended-in-order.js (100%) rename tests/baselines/reference/tsbuild/outfile-concat/{incremental-headers-change => incremental-headers-change-without-dts-changes}/buildInfo/stripInternal-with-comments-emit-enabled-when-one-two-three-are-prepended-in-oder.js (100%) rename tests/baselines/reference/tsbuild/outfile-concat/{incremental-headers-change => incremental-headers-change-without-dts-changes}/buildInfo/stripInternal-with-comments-emit-enabled-when-one-two-three-are-prepended-in-order.js (100%) rename tests/baselines/reference/tsbuild/outfile-concat/{incremental-headers-change => incremental-headers-change-without-dts-changes}/buildInfo/stripInternal-with-comments-emit-enabled.js (100%) rename tests/baselines/reference/tsbuild/outfile-concat/{incremental-headers-change => incremental-headers-change-without-dts-changes}/buildInfo/stripInternal.js (100%) rename tests/baselines/reference/tsbuild/outfile-concat/{incremental-headers-change => incremental-headers-change-without-dts-changes}/no-buildInfo/emitHelpers-in-all-projects.js (100%) rename tests/baselines/reference/tsbuild/outfile-concat/{incremental-headers-change => incremental-headers-change-without-dts-changes}/no-buildInfo/emitHelpers-in-only-one-dependency-project.js (100%) rename tests/baselines/reference/tsbuild/outfile-concat/{incremental-headers-change => incremental-headers-change-without-dts-changes}/no-buildInfo/multiple-emitHelpers-in-all-projects.js (100%) rename tests/baselines/reference/tsbuild/outfile-concat/{incremental-headers-change => incremental-headers-change-without-dts-changes}/no-buildInfo/multiple-emitHelpers-in-different-projects.js (100%) rename tests/baselines/reference/tsbuild/outfile-concat/{incremental-headers-change => incremental-headers-change-without-dts-changes}/no-buildInfo/multiple-prologues-in-all-projects.js (100%) rename tests/baselines/reference/tsbuild/outfile-concat/{incremental-headers-change => incremental-headers-change-without-dts-changes}/no-buildInfo/multiple-prologues-in-different-projects.js (100%) rename tests/baselines/reference/tsbuild/outfile-concat/{incremental-headers-change => incremental-headers-change-without-dts-changes}/no-buildInfo/strict-in-all-projects.js (100%) rename tests/baselines/reference/tsbuild/outfile-concat/{incremental-headers-change => incremental-headers-change-without-dts-changes}/no-buildInfo/strict-in-one-dependency.js (100%) rename tests/baselines/reference/tsbuild/outfile-concat/{incremental-headers-change => incremental-headers-change-without-dts-changes}/no-buildInfo/stripInternal-jsdoc-style-comment-when-one-two-three-are-prepended-in-oder.js (100%) rename tests/baselines/reference/tsbuild/outfile-concat/{incremental-headers-change => incremental-headers-change-without-dts-changes}/no-buildInfo/stripInternal-jsdoc-style-comment-when-one-two-three-are-prepended-in-order.js (100%) rename tests/baselines/reference/tsbuild/outfile-concat/{incremental-headers-change => incremental-headers-change-without-dts-changes}/no-buildInfo/stripInternal-jsdoc-style-comment.js (100%) rename tests/baselines/reference/tsbuild/outfile-concat/{incremental-headers-change => incremental-headers-change-without-dts-changes}/no-buildInfo/stripInternal-when-one-two-three-are-prepended-in-oder.js (100%) rename tests/baselines/reference/tsbuild/outfile-concat/{incremental-headers-change => incremental-headers-change-without-dts-changes}/no-buildInfo/stripInternal-when-one-two-three-are-prepended-in-order.js (100%) rename tests/baselines/reference/tsbuild/outfile-concat/{incremental-headers-change => incremental-headers-change-without-dts-changes}/no-buildInfo/stripInternal-with-comments-emit-enabled-when-one-two-three-are-prepended-in-oder.js (100%) rename tests/baselines/reference/tsbuild/outfile-concat/{incremental-headers-change => incremental-headers-change-without-dts-changes}/no-buildInfo/stripInternal-with-comments-emit-enabled-when-one-two-three-are-prepended-in-order.js (100%) rename tests/baselines/reference/tsbuild/outfile-concat/{incremental-headers-change => incremental-headers-change-without-dts-changes}/no-buildInfo/stripInternal-with-comments-emit-enabled.js (100%) rename tests/baselines/reference/tsbuild/outfile-concat/{incremental-headers-change => incremental-headers-change-without-dts-changes}/no-buildInfo/stripInternal.js (100%) diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index 0e8c97c2fb5..f2ad9585a13 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -5,7 +5,7 @@ namespace ts { const syntheticParent: TextRange = { pos: -1, end: -1 }; /*@internal*/ - export function isInfoFile(file: string) { + export function isBuildInfoFile(file: string) { return endsWith(file, `/${infoFile}`); } diff --git a/src/compiler/program.ts b/src/compiler/program.ts index fb310369195..24aa9974ebf 100644 --- a/src/compiler/program.ts +++ b/src/compiler/program.ts @@ -243,7 +243,7 @@ namespace ts { const value = readFileCache.get(key); if (value !== undefined) return value !== false ? value : undefined; // could be .d.ts from output // Cache json or buildInfo - if (!fileExtensionIs(fileName, Extension.Json) && !isInfoFile(fileName)) { + if (!fileExtensionIs(fileName, Extension.Json) && !isBuildInfoFile(fileName)) { return originalReadFile.call(host, fileName); } diff --git a/src/compiler/tsbuild.ts b/src/compiler/tsbuild.ts index 141008e0494..fd643410d8d 100644 --- a/src/compiler/tsbuild.ts +++ b/src/compiler/tsbuild.ts @@ -1301,7 +1301,7 @@ namespace ts { } // For info file, ignore if we cant update modified time - if (isInfoFile(file) && !host.fileExists(file)) { + if (isBuildInfoFile(file) && !host.fileExists(file)) { continue; } diff --git a/src/testRunner/unittests/tsbuild/helpers.ts b/src/testRunner/unittests/tsbuild/helpers.ts index c340a4a9dc9..8b63d0adab5 100644 --- a/src/testRunner/unittests/tsbuild/helpers.ts +++ b/src/testRunner/unittests/tsbuild/helpers.ts @@ -140,7 +140,7 @@ namespace ts { } } - function build({ fs, tick, rootNames, expectedMapFileNames, expectedTsbuildInfoFileNames, modifyFs, withoutBuildInfo }: { + interface BuildInput { fs: vfs.FileSystem; tick: () => void; rootNames: ReadonlyArray; @@ -148,7 +148,9 @@ namespace ts { expectedTsbuildInfoFileNames: ReadonlyArray; modifyFs: (fs: vfs.FileSystem) => void; withoutBuildInfo: boolean; - }) { + } + + function build({ fs, tick, rootNames, expectedMapFileNames, expectedTsbuildInfoFileNames, modifyFs, withoutBuildInfo }: BuildInput) { const actualReadFileMap = createMap(); modifyFs(fs); tick(); @@ -162,7 +164,7 @@ namespace ts { if (path.startsWith("/src/")) { actualReadFileMap.set(path, (actualReadFileMap.get(path) || 0) + 1); } - if (withoutBuildInfo && isInfoFile(path)) { + if (withoutBuildInfo && isBuildInfoFile(path)) { return undefined; } return originalReadFile.call(host, path); @@ -170,7 +172,7 @@ namespace ts { if (withoutBuildInfo) { const originalWriteFile = host.writeFile; host.writeFile = (fileName, content, writeByteOrder) => { - return !isInfoFile(fileName) && + return !isBuildInfoFile(fileName) && originalWriteFile.call(host, fileName, content, writeByteOrder); }; } @@ -225,25 +227,15 @@ Mismatch Actual(path, actual, expected): ${JSON.stringify(arrayFrom(mapDefinedIt withoutBuildInfo?: ExpectedBuildOutputPerState; } - function verifyTsbuildOutputWorker({ - scenario, projFs, time, tick, proj, rootNames, expectedMapFileNames, expectedTsbuildInfoFileNames, withoutBuildInfo, lastProjectOutputJs, - initialBuild, incrementalDtsChangedBuild, incrementalDtsUnchangedBuild, incrementalHeaderChangedBuild - }: { - scenario: string; - projFs: () => vfs.FileSystem; - time: () => number; - tick: () => void; - proj: string; - rootNames: ReadonlyArray; - expectedMapFileNames: ReadonlyArray; - expectedTsbuildInfoFileNames: ReadonlyArray; + interface VerifyTsBuildInputWorker extends VerifyTsBuildInput { withoutBuildInfo: boolean; - lastProjectOutputJs: string; - initialBuild: ExpectedBuildOutputNotDifferingWithBuildInfo; - incrementalDtsChangedBuild?: ExpectedBuildOutputDifferingWithBuildInfo; - incrementalDtsUnchangedBuild?: ExpectedBuildOutputDifferingWithBuildInfo; - incrementalHeaderChangedBuild?: ExpectedBuildOutputDifferingWithBuildInfo; - }) { + } + + function verifyTsbuildOutputWorker({ + scenario, projFs, time, tick, proj, rootNames, outputFiles, + expectedMapFileNames, expectedTsbuildInfoFileNames, withoutBuildInfo, lastProjectOutputJs, + initialBuild, incrementalDtsChangedBuild, incrementalDtsUnchangedBuild, incrementalHeaderChangedBuild + }: VerifyTsBuildInputWorker) { describe(`tsc --b ${proj}:: ${scenario}${withoutBuildInfo ? " without build info" : ""}`, () => { let fs: vfs.FileSystem; let actualReadFileMap: Map; @@ -322,6 +314,31 @@ Mismatch Actual(path, actual, expected): ${JSON.stringify(arrayFrom(mapDefinedIt verifyReadFileCalls(actualReadFileMap, incrementalExpectedReadFiles); }); } + it(`Verify emit output file text is same when built clean`, () => { + const expectedOutputFiles = Debug.assertDefined(outputFiles); + const { fs } = build({ + fs: newFs.shadow(), + tick, + rootNames, + expectedMapFileNames: emptyArray, + expectedTsbuildInfoFileNames: emptyArray, + modifyFs: fs => { + // Delete output files + for (const outputFile of expectedOutputFiles) { + if (fs.existsSync(outputFile)) { + fs.rimrafSync(outputFile); + } + } + }, + withoutBuildInfo + }); + + for (const outputFile of expectedOutputFiles) { + const expectedText = fs.existsSync(outputFile) ? fs.readFileSync(outputFile, "utf8") : undefined; + const actualText = newFs.existsSync(outputFile) ? newFs.readFileSync(outputFile, "utf8") : undefined; + assert.equal(actualText, expectedText, `File: ${outputFile}`); + } + }); }); } if (incrementalDtsChangedBuild) { @@ -338,22 +355,22 @@ Mismatch Actual(path, actual, expected): ${JSON.stringify(arrayFrom(mapDefinedIt "incremental declaration doesnt change", incrementalDtsUnchangedBuild.modifyFs, getValue(incrementalDtsUnchangedBuild, withoutBuildInfo, "expectedDiagnostics"), - getValue(incrementalDtsUnchangedBuild, withoutBuildInfo, "expectedReadFiles"), + getValue(incrementalDtsUnchangedBuild, withoutBuildInfo, "expectedReadFiles") ); } if (incrementalHeaderChangedBuild) { incrementalBuild( - "incremental headers change", + "incremental headers change without dts changes", incrementalHeaderChangedBuild.modifyFs, getValue(incrementalHeaderChangedBuild, withoutBuildInfo, "expectedDiagnostics"), - getValue(incrementalHeaderChangedBuild, withoutBuildInfo, "expectedReadFiles"), + getValue(incrementalHeaderChangedBuild, withoutBuildInfo, "expectedReadFiles") ); } }); } - export function verifyTsbuildOutput(input: { + export interface VerifyTsBuildInput { scenario: string; projFs: () => vfs.FileSystem; time: () => number; @@ -364,10 +381,13 @@ Mismatch Actual(path, actual, expected): ${JSON.stringify(arrayFrom(mapDefinedIt expectedTsbuildInfoFileNames: ReadonlyArray; lastProjectOutputJs: string; initialBuild: ExpectedBuildOutputNotDifferingWithBuildInfo; - incrementalDtsChangedBuild?: ExpectedBuildOutputDifferingWithBuildInfo; - incrementalDtsUnchangedBuild?: ExpectedBuildOutputDifferingWithBuildInfo; - incrementalHeaderChangedBuild?: ExpectedBuildOutputDifferingWithBuildInfo; - }) { + outputFiles?: ReadonlyArray; + incrementalDtsChangedBuild ?: ExpectedBuildOutputDifferingWithBuildInfo; + incrementalDtsUnchangedBuild ?: ExpectedBuildOutputDifferingWithBuildInfo; + incrementalHeaderChangedBuild ?: ExpectedBuildOutputDifferingWithBuildInfo; + } + + export function verifyTsbuildOutput(input: VerifyTsBuildInput) { verifyTsbuildOutputWorker({ ...input, withoutBuildInfo: false }); verifyTsbuildOutputWorker({ ...input, withoutBuildInfo: true }); } diff --git a/src/testRunner/unittests/tsbuild/outFile.ts b/src/testRunner/unittests/tsbuild/outFile.ts index 67d666b8cd4..8e438079a06 100644 --- a/src/testRunner/unittests/tsbuild/outFile.ts +++ b/src/testRunner/unittests/tsbuild/outFile.ts @@ -308,7 +308,12 @@ namespace ts { modifyFs: modifyAgainFs, withBuildInfo: incrementalDtsUnchangedWithBuildInfo, withoutBuildInfo: incrementalDtsUnchangedWithoutBuildInfo - } + }, + outputFiles: [ + ...outputFiles[project.first], + ...outputFiles[project.second], + ...outputFiles[project.third] + ] }); } diff --git a/src/testRunner/unittests/tsbuild/sample.ts b/src/testRunner/unittests/tsbuild/sample.ts index 51ccd64d308..d2429e98643 100644 --- a/src/testRunner/unittests/tsbuild/sample.ts +++ b/src/testRunner/unittests/tsbuild/sample.ts @@ -552,7 +552,23 @@ class someClass { }`), ], ) } - } + }, + outputFiles: [ + "/src/core/anotherModule.js", + "/src/core/anotherModule.d.ts", + "/src/core/anotherModule.d.ts.map", + "/src/core/index.js", + "/src/core/index.d.ts", + "/src/core/index.d.ts.map", + "/src/core/.tsbuildinfo", + "/src/logic/index.js", + "/src/logic/index.js.map", + "/src/logic/index.d.ts", + "/src/logic/.tsbuildinfo", + "/src/tests/index.js", + "/src/tests/index.d.ts", + "/src/tests/.tsbuildinfo", + ] }); verifyTsbuildOutput({ @@ -604,7 +620,23 @@ class someClass { }`), "/src/tests/index.d.ts", // to check if d.ts has changed ] ) - } + }, + outputFiles: [ + "/src/core/anotherModule.js", + "/src/core/anotherModule.d.ts", + "/src/core/anotherModule.d.ts.map", + "/src/core/index.js", + "/src/core/index.d.ts", + "/src/core/index.d.ts.map", + "/src/core/.tsbuildinfo", + "/src/logic/index.js", + "/src/logic/index.js.map", + "/src/logic/decls/index.d.ts", + "/src/logic/.tsbuildinfo", + "/src/tests/index.js", + "/src/tests/index.d.ts", + "/src/tests/.tsbuildinfo", + ] }); }); }); diff --git a/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/buildInfo/emitHelpers-in-all-projects.js b/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/buildInfo/emitHelpers-in-all-projects.js similarity index 100% rename from tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/buildInfo/emitHelpers-in-all-projects.js rename to tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/buildInfo/emitHelpers-in-all-projects.js diff --git a/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/buildInfo/emitHelpers-in-only-one-dependency-project.js b/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/buildInfo/emitHelpers-in-only-one-dependency-project.js similarity index 100% rename from tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/buildInfo/emitHelpers-in-only-one-dependency-project.js rename to tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/buildInfo/emitHelpers-in-only-one-dependency-project.js diff --git a/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/buildInfo/multiple-emitHelpers-in-all-projects.js b/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/buildInfo/multiple-emitHelpers-in-all-projects.js similarity index 100% rename from tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/buildInfo/multiple-emitHelpers-in-all-projects.js rename to tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/buildInfo/multiple-emitHelpers-in-all-projects.js diff --git a/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/buildInfo/multiple-emitHelpers-in-different-projects.js b/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/buildInfo/multiple-emitHelpers-in-different-projects.js similarity index 100% rename from tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/buildInfo/multiple-emitHelpers-in-different-projects.js rename to tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/buildInfo/multiple-emitHelpers-in-different-projects.js diff --git a/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/buildInfo/multiple-prologues-in-all-projects.js b/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/buildInfo/multiple-prologues-in-all-projects.js similarity index 100% rename from tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/buildInfo/multiple-prologues-in-all-projects.js rename to tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/buildInfo/multiple-prologues-in-all-projects.js diff --git a/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/buildInfo/multiple-prologues-in-different-projects.js b/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/buildInfo/multiple-prologues-in-different-projects.js similarity index 100% rename from tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/buildInfo/multiple-prologues-in-different-projects.js rename to tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/buildInfo/multiple-prologues-in-different-projects.js diff --git a/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/buildInfo/strict-in-all-projects.js b/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/buildInfo/strict-in-all-projects.js similarity index 100% rename from tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/buildInfo/strict-in-all-projects.js rename to tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/buildInfo/strict-in-all-projects.js diff --git a/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/buildInfo/strict-in-one-dependency.js b/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/buildInfo/strict-in-one-dependency.js similarity index 100% rename from tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/buildInfo/strict-in-one-dependency.js rename to tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/buildInfo/strict-in-one-dependency.js diff --git a/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/buildInfo/stripInternal-jsdoc-style-comment-when-one-two-three-are-prepended-in-oder.js b/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/buildInfo/stripInternal-jsdoc-style-comment-when-one-two-three-are-prepended-in-oder.js similarity index 100% rename from tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/buildInfo/stripInternal-jsdoc-style-comment-when-one-two-three-are-prepended-in-oder.js rename to tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/buildInfo/stripInternal-jsdoc-style-comment-when-one-two-three-are-prepended-in-oder.js diff --git a/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/buildInfo/stripInternal-jsdoc-style-comment-when-one-two-three-are-prepended-in-order.js b/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/buildInfo/stripInternal-jsdoc-style-comment-when-one-two-three-are-prepended-in-order.js similarity index 100% rename from tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/buildInfo/stripInternal-jsdoc-style-comment-when-one-two-three-are-prepended-in-order.js rename to tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/buildInfo/stripInternal-jsdoc-style-comment-when-one-two-three-are-prepended-in-order.js diff --git a/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/buildInfo/stripInternal-jsdoc-style-comment.js b/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/buildInfo/stripInternal-jsdoc-style-comment.js similarity index 100% rename from tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/buildInfo/stripInternal-jsdoc-style-comment.js rename to tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/buildInfo/stripInternal-jsdoc-style-comment.js diff --git a/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/buildInfo/stripInternal-when-one-two-three-are-prepended-in-oder.js b/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/buildInfo/stripInternal-when-one-two-three-are-prepended-in-oder.js similarity index 100% rename from tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/buildInfo/stripInternal-when-one-two-three-are-prepended-in-oder.js rename to tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/buildInfo/stripInternal-when-one-two-three-are-prepended-in-oder.js diff --git a/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/buildInfo/stripInternal-when-one-two-three-are-prepended-in-order.js b/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/buildInfo/stripInternal-when-one-two-three-are-prepended-in-order.js similarity index 100% rename from tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/buildInfo/stripInternal-when-one-two-three-are-prepended-in-order.js rename to tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/buildInfo/stripInternal-when-one-two-three-are-prepended-in-order.js diff --git a/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/buildInfo/stripInternal-with-comments-emit-enabled-when-one-two-three-are-prepended-in-oder.js b/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/buildInfo/stripInternal-with-comments-emit-enabled-when-one-two-three-are-prepended-in-oder.js similarity index 100% rename from tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/buildInfo/stripInternal-with-comments-emit-enabled-when-one-two-three-are-prepended-in-oder.js rename to tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/buildInfo/stripInternal-with-comments-emit-enabled-when-one-two-three-are-prepended-in-oder.js diff --git a/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/buildInfo/stripInternal-with-comments-emit-enabled-when-one-two-three-are-prepended-in-order.js b/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/buildInfo/stripInternal-with-comments-emit-enabled-when-one-two-three-are-prepended-in-order.js similarity index 100% rename from tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/buildInfo/stripInternal-with-comments-emit-enabled-when-one-two-three-are-prepended-in-order.js rename to tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/buildInfo/stripInternal-with-comments-emit-enabled-when-one-two-three-are-prepended-in-order.js diff --git a/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/buildInfo/stripInternal-with-comments-emit-enabled.js b/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/buildInfo/stripInternal-with-comments-emit-enabled.js similarity index 100% rename from tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/buildInfo/stripInternal-with-comments-emit-enabled.js rename to tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/buildInfo/stripInternal-with-comments-emit-enabled.js diff --git a/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/buildInfo/stripInternal.js b/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/buildInfo/stripInternal.js similarity index 100% rename from tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/buildInfo/stripInternal.js rename to tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/buildInfo/stripInternal.js diff --git a/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/no-buildInfo/emitHelpers-in-all-projects.js b/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/no-buildInfo/emitHelpers-in-all-projects.js similarity index 100% rename from tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/no-buildInfo/emitHelpers-in-all-projects.js rename to tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/no-buildInfo/emitHelpers-in-all-projects.js diff --git a/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/no-buildInfo/emitHelpers-in-only-one-dependency-project.js b/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/no-buildInfo/emitHelpers-in-only-one-dependency-project.js similarity index 100% rename from tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/no-buildInfo/emitHelpers-in-only-one-dependency-project.js rename to tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/no-buildInfo/emitHelpers-in-only-one-dependency-project.js diff --git a/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/no-buildInfo/multiple-emitHelpers-in-all-projects.js b/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/no-buildInfo/multiple-emitHelpers-in-all-projects.js similarity index 100% rename from tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/no-buildInfo/multiple-emitHelpers-in-all-projects.js rename to tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/no-buildInfo/multiple-emitHelpers-in-all-projects.js diff --git a/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/no-buildInfo/multiple-emitHelpers-in-different-projects.js b/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/no-buildInfo/multiple-emitHelpers-in-different-projects.js similarity index 100% rename from tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/no-buildInfo/multiple-emitHelpers-in-different-projects.js rename to tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/no-buildInfo/multiple-emitHelpers-in-different-projects.js diff --git a/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/no-buildInfo/multiple-prologues-in-all-projects.js b/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/no-buildInfo/multiple-prologues-in-all-projects.js similarity index 100% rename from tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/no-buildInfo/multiple-prologues-in-all-projects.js rename to tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/no-buildInfo/multiple-prologues-in-all-projects.js diff --git a/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/no-buildInfo/multiple-prologues-in-different-projects.js b/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/no-buildInfo/multiple-prologues-in-different-projects.js similarity index 100% rename from tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/no-buildInfo/multiple-prologues-in-different-projects.js rename to tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/no-buildInfo/multiple-prologues-in-different-projects.js diff --git a/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/no-buildInfo/strict-in-all-projects.js b/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/no-buildInfo/strict-in-all-projects.js similarity index 100% rename from tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/no-buildInfo/strict-in-all-projects.js rename to tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/no-buildInfo/strict-in-all-projects.js diff --git a/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/no-buildInfo/strict-in-one-dependency.js b/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/no-buildInfo/strict-in-one-dependency.js similarity index 100% rename from tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/no-buildInfo/strict-in-one-dependency.js rename to tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/no-buildInfo/strict-in-one-dependency.js diff --git a/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/no-buildInfo/stripInternal-jsdoc-style-comment-when-one-two-three-are-prepended-in-oder.js b/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/no-buildInfo/stripInternal-jsdoc-style-comment-when-one-two-three-are-prepended-in-oder.js similarity index 100% rename from tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/no-buildInfo/stripInternal-jsdoc-style-comment-when-one-two-three-are-prepended-in-oder.js rename to tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/no-buildInfo/stripInternal-jsdoc-style-comment-when-one-two-three-are-prepended-in-oder.js diff --git a/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/no-buildInfo/stripInternal-jsdoc-style-comment-when-one-two-three-are-prepended-in-order.js b/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/no-buildInfo/stripInternal-jsdoc-style-comment-when-one-two-three-are-prepended-in-order.js similarity index 100% rename from tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/no-buildInfo/stripInternal-jsdoc-style-comment-when-one-two-three-are-prepended-in-order.js rename to tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/no-buildInfo/stripInternal-jsdoc-style-comment-when-one-two-three-are-prepended-in-order.js diff --git a/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/no-buildInfo/stripInternal-jsdoc-style-comment.js b/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/no-buildInfo/stripInternal-jsdoc-style-comment.js similarity index 100% rename from tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/no-buildInfo/stripInternal-jsdoc-style-comment.js rename to tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/no-buildInfo/stripInternal-jsdoc-style-comment.js diff --git a/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/no-buildInfo/stripInternal-when-one-two-three-are-prepended-in-oder.js b/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/no-buildInfo/stripInternal-when-one-two-three-are-prepended-in-oder.js similarity index 100% rename from tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/no-buildInfo/stripInternal-when-one-two-three-are-prepended-in-oder.js rename to tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/no-buildInfo/stripInternal-when-one-two-three-are-prepended-in-oder.js diff --git a/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/no-buildInfo/stripInternal-when-one-two-three-are-prepended-in-order.js b/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/no-buildInfo/stripInternal-when-one-two-three-are-prepended-in-order.js similarity index 100% rename from tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/no-buildInfo/stripInternal-when-one-two-three-are-prepended-in-order.js rename to tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/no-buildInfo/stripInternal-when-one-two-three-are-prepended-in-order.js diff --git a/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/no-buildInfo/stripInternal-with-comments-emit-enabled-when-one-two-three-are-prepended-in-oder.js b/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/no-buildInfo/stripInternal-with-comments-emit-enabled-when-one-two-three-are-prepended-in-oder.js similarity index 100% rename from tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/no-buildInfo/stripInternal-with-comments-emit-enabled-when-one-two-three-are-prepended-in-oder.js rename to tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/no-buildInfo/stripInternal-with-comments-emit-enabled-when-one-two-three-are-prepended-in-oder.js diff --git a/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/no-buildInfo/stripInternal-with-comments-emit-enabled-when-one-two-three-are-prepended-in-order.js b/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/no-buildInfo/stripInternal-with-comments-emit-enabled-when-one-two-three-are-prepended-in-order.js similarity index 100% rename from tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/no-buildInfo/stripInternal-with-comments-emit-enabled-when-one-two-three-are-prepended-in-order.js rename to tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/no-buildInfo/stripInternal-with-comments-emit-enabled-when-one-two-three-are-prepended-in-order.js diff --git a/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/no-buildInfo/stripInternal-with-comments-emit-enabled.js b/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/no-buildInfo/stripInternal-with-comments-emit-enabled.js similarity index 100% rename from tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/no-buildInfo/stripInternal-with-comments-emit-enabled.js rename to tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/no-buildInfo/stripInternal-with-comments-emit-enabled.js diff --git a/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/no-buildInfo/stripInternal.js b/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/no-buildInfo/stripInternal.js similarity index 100% rename from tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change/no-buildInfo/stripInternal.js rename to tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/no-buildInfo/stripInternal.js