From 4d127faa2572c09d7b3d77099e2127798db1e2d7 Mon Sep 17 00:00:00 2001 From: Sheetal Nandi Date: Wed, 27 Jul 2022 12:16:33 -0700 Subject: [PATCH] Remove files that are not in program from cache of unresolved imports --- src/server/project.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/server/project.ts b/src/server/project.ts index ca9cb2a68da..7546ae9477f 100644 --- a/src/server/project.ts +++ b/src/server/project.ts @@ -1194,7 +1194,6 @@ export abstract class Project implements LanguageServiceHost, ModuleResolutionHo if (!fileExists) { this.resolutionCache.invalidateResolutionOfFile(info.path); } - this.cachedUnresolvedImportsPerFile.delete(info.path); if (detachFromProject) { info.detachFromProject(this); @@ -2082,6 +2081,12 @@ function getUnresolvedImports(program: Program, cachedUnresolvedImportsPerFile: const ambientModules = program.getTypeChecker().getAmbientModules().map(mod => stripQuotes(mod.getName())); const result = sortAndDeduplicate(flatMap(sourceFiles, sourceFile => extractUnresolvedImportsFromSourceFile(sourceFile, ambientModules, cachedUnresolvedImportsPerFile))); + // Remove files from the cache if they arent in program + if (cachedUnresolvedImportsPerFile.size !== program.getSourceFiles().length) { + cachedUnresolvedImportsPerFile.forEach((_value, key) => { + if (!program.getSourceFileByPath(key)) cachedUnresolvedImportsPerFile.delete(key); + }); + } tracing?.pop(); return result; }