fix(language-service): Recompute analyzed modules only when source files change (#33806)

This commit fixes a bug brought up by @andrius-pra whereby the language
service host would recompute the analyzed modules even when none of the
source files changes. This is due to a bug in our unit test that
precludes non-TS files from incrementing the project version.
Consequently, when the external template is updated, the program remains
the same.

With the bug fixed, the next step is to figure out if any source files
have been added / changed / removed since the last computation. The
previously analyzed could be safely retained only when none of these
operations happen.

PR Close #33806
This commit is contained in:
Keen Yee Liau
2019-11-13 12:21:04 -08:00
committed by Alex Rickabaugh
parent c365eded5b
commit c5a75fd807
3 changed files with 42 additions and 21 deletions

View File

@ -114,9 +114,7 @@ export class MockTypescriptHost implements ts.LanguageServiceHost {
override(fileName: string, content: string) {
this.scriptVersion.set(fileName, (this.scriptVersion.get(fileName) || 0) + 1);
if (fileName.endsWith('.ts')) {
this.projectVersion++;
}
this.projectVersion++;
if (content) {
this.overrides.set(fileName, content);
this.overrideDirectory.add(path.dirname(fileName));