Skip to content

Commit 7828746

Browse files
committed
Set the files found during node_modules search correctly when reusing existing program structure
This marks files reused correctly as from external library resulting in not using them for files to be emitted and computed for output structure Fixes microsoft#19327
1 parent ab67477 commit 7828746

File tree

2 files changed

+5
-0
lines changed

2 files changed

+5
-0
lines changed

src/compiler/program.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1049,6 +1049,10 @@ namespace ts {
10491049
// update fileName -> file mapping
10501050
for (let i = 0; i < newSourceFiles.length; i++) {
10511051
filesByName.set(filePaths[i], newSourceFiles[i]);
1052+
// Set the file as found during node modules search if it was found that way in old progra,
1053+
if (oldProgram.isSourceFileFromExternalLibrary(oldProgram.getSourceFileByPath(filePaths[i]))) {
1054+
sourceFilesFoundSearchingNodeModules.set(filePaths[i], true);
1055+
}
10521056
}
10531057

10541058
files = newSourceFiles;

src/harness/unittests/tscWatchMode.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1927,6 +1927,7 @@ declare module "fs" {
19271927
expectedFiles[1].isExpectedToEmit = false;
19281928
host.reloadFS(programFiles.concat(configFile));
19291929
host.runQueuedTimeoutCallbacks();
1930+
checkProgramActualFiles(watch(), programFiles.map(f => f.path));
19301931
checkOutputErrors(host, emptyArray);
19311932
verifyExpectedFiles(expectedFiles);
19321933

0 commit comments

Comments
 (0)