Skip to content

Commit 2f2e370

Browse files
committedApr 19, 2022
Non composite projects dont need to track declaration change time
1 parent fcf07f8 commit 2f2e370

5 files changed

+11
-25
lines changed
 

Diff for: ‎src/compiler/tsbuildPublic.ts

+5-12
Original file line numberDiff line numberDiff line change
@@ -990,7 +990,9 @@ namespace ts {
990990
if (resultFlags === BuildResultFlags.DeclarationOutputUnchanged && isDeclarationFileName(name)) {
991991
// Check for unchanged .d.ts files
992992
if (state.readFileWithCache(name) === text) {
993-
newestDeclarationFileContentChangedTime = newer(newestDeclarationFileContentChangedTime, ts.getModifiedTime(host, name));
993+
if (config.options.composite) {
994+
newestDeclarationFileContentChangedTime = newer(newestDeclarationFileContentChangedTime, ts.getModifiedTime(host, name));
995+
}
994996
}
995997
else {
996998
resultFlags &= ~BuildResultFlags.DeclarationOutputUnchanged;
@@ -1506,7 +1508,6 @@ namespace ts {
15061508
const buildInfoPath = getTsBuildInfoEmitOutputFilePath(project.options);
15071509
let oldestOutputFileName = "(none)";
15081510
let oldestOutputFileTime = maximumDate;
1509-
let newestDeclarationFileContentChangedTime;
15101511
let buildInfoTime: Date | undefined;
15111512
if (buildInfoPath) {
15121513
const buildInfoCacheEntry = getBuildInfoCacheEntry(state, buildInfoPath, resolvedPath);
@@ -1599,14 +1600,6 @@ namespace ts {
15991600
newerInputFileName: newestInputFileName
16001601
};
16011602
}
1602-
1603-
// Keep track of when the most recent time a .d.ts file was changed.
1604-
// In addition to file timestamps, we also keep track of when a .d.ts file
1605-
// had its file touched but not had its contents changed - this allows us
1606-
// to skip a downstream typecheck
1607-
if (isDeclarationFileName(output)) {
1608-
newestDeclarationFileContentChangedTime = newer(newestDeclarationFileContentChangedTime, outputTime);
1609-
}
16101603
}
16111604
}
16121605

@@ -1666,7 +1659,7 @@ namespace ts {
16661659
// Up to date
16671660
return {
16681661
type: pseudoUpToDate ? UpToDateStatusType.UpToDateWithUpstreamTypes : UpToDateStatusType.UpToDate,
1669-
newestDeclarationFileContentChangedTime,
1662+
newestDeclarationFileContentChangedTime: undefined,
16701663
newestInputFileTime,
16711664
newestInputFileName,
16721665
oldestOutputFileName
@@ -1706,7 +1699,7 @@ namespace ts {
17061699
continue;
17071700
}
17081701

1709-
if (!anyDtsChange && isDeclarationFileName(file)) {
1702+
if (proj.options.composite && !anyDtsChange && isDeclarationFileName(file)) {
17101703
newestDeclarationFileContentChangedTime = newer(newestDeclarationFileContentChangedTime, ts.getModifiedTime(host, file));
17111704
}
17121705

Diff for: ‎tests/baselines/reference/tsbuild/inferredTypeFromTransitiveModule/inferred-type-from-transitive-module-with-isolatedModules.js

+2-4
Original file line numberDiff line numberDiff line change
@@ -286,8 +286,7 @@ exitCode:: ExitStatus.Success
286286

287287
getModifiedTime:: {
288288
"/src/obj/tsconfig.tsbuildinfo": 1,
289-
"/src/bar.ts": 1,
290-
"/src/obj/lazyIndex.d.ts": 1
289+
"/src/bar.ts": 1
291290
}
292291

293292
setModifiedTime:: {}
@@ -440,8 +439,7 @@ exitCode:: ExitStatus.Success
440439

441440
getModifiedTime:: {
442441
"/src/obj/tsconfig.tsbuildinfo": 1,
443-
"/src/bar.ts": 1,
444-
"/src/obj/lazyIndex.d.ts": 1
442+
"/src/bar.ts": 1
445443
}
446444

447445
setModifiedTime:: {}

Diff for: ‎tests/baselines/reference/tsbuild/inferredTypeFromTransitiveModule/reports-errors-in-files-affected-by-change-in-signature-with-isolatedModules.js

+1-5
Original file line numberDiff line numberDiff line change
@@ -458,11 +458,7 @@ Output::
458458
exitCode:: ExitStatus.Success
459459

460460
getModifiedTime:: {
461-
"/src/obj/tsconfig.tsbuildinfo": 1,
462-
"/src/obj/bar.d.ts": 1,
463-
"/src/obj/index.d.ts": 1,
464-
"/src/obj/lazyIndex.d.ts": 1,
465-
"/src/obj/bundling.d.ts": 1
461+
"/src/obj/tsconfig.tsbuildinfo": 1
466462
}
467463

468464
setModifiedTime:: {}

Diff for: ‎tests/baselines/reference/tsbuild/outFile/rebuilds-completely-when-command-line-incremental-flag-changes-between-non-dts-changes.js

+2-3
Original file line numberDiff line numberDiff line change
@@ -628,7 +628,7 @@ getModifiedTime:: {
628628
"/src/third/third_part1.ts": 1,
629629
"/src/third/thirdjs/output/third-output.js": 1,
630630
"/src/third/thirdjs/output/third-output.js.map": 1,
631-
"/src/third/thirdjs/output/third-output.d.ts": 2,
631+
"/src/third/thirdjs/output/third-output.d.ts": 1,
632632
"/src/third/thirdjs/output/third-output.d.ts.map": 1,
633633
"/src/third/tsconfig.json": 1
634634
}
@@ -808,8 +808,7 @@ getModifiedTime:: {
808808
"/src/second/second_part2.ts": 1,
809809
"/src/second/tsconfig.json": 1,
810810
"/src/third/thirdjs/output/third-output.tsbuildinfo": 1,
811-
"/src/third/third_part1.ts": 1,
812-
"/src/third/thirdjs/output/third-output.d.ts": 1
811+
"/src/third/third_part1.ts": 1
813812
}
814813

815814
setModifiedTime:: {}

Diff for: ‎tests/baselines/reference/tsbuild/outfile-concat/when-final-project-is-not-composite-but-uses-project-references.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1778,7 +1778,7 @@ getModifiedTime:: {
17781778
"/src/third/third_part1.ts": 1,
17791779
"/src/third/thirdjs/output/third-output.js": 1,
17801780
"/src/third/thirdjs/output/third-output.js.map": 1,
1781-
"/src/third/thirdjs/output/third-output.d.ts": 2,
1781+
"/src/third/thirdjs/output/third-output.d.ts": 1,
17821782
"/src/third/thirdjs/output/third-output.d.ts.map": 1,
17831783
"/src/third/tsconfig.json": 1
17841784
}

0 commit comments

Comments
 (0)