diff --git a/src/compiler/program.ts b/src/compiler/program.ts index 1d325983f5f..0ff78a77ecd 100755 --- a/src/compiler/program.ts +++ b/src/compiler/program.ts @@ -1049,6 +1049,10 @@ namespace ts { // update fileName -> file mapping for (let i = 0; i < newSourceFiles.length; i++) { filesByName.set(filePaths[i], newSourceFiles[i]); + // Set the file as found during node modules search if it was found that way in old progra, + if (oldProgram.isSourceFileFromExternalLibrary(oldProgram.getSourceFileByPath(filePaths[i]))) { + sourceFilesFoundSearchingNodeModules.set(filePaths[i], true); + } } files = newSourceFiles; diff --git a/src/harness/unittests/tscWatchMode.ts b/src/harness/unittests/tscWatchMode.ts index 10ed8ea8da3..c5aba73f2ac 100644 --- a/src/harness/unittests/tscWatchMode.ts +++ b/src/harness/unittests/tscWatchMode.ts @@ -1927,6 +1927,7 @@ declare module "fs" { expectedFiles[1].isExpectedToEmit = false; host.reloadFS(programFiles.concat(configFile)); host.runQueuedTimeoutCallbacks(); + checkProgramActualFiles(watch(), programFiles.map(f => f.path)); checkOutputErrors(host, emptyArray); verifyExpectedFiles(expectedFiles);