fix(lsp): restart TS language service when caching dependencies (#14979)

This commit is contained in:
Bartek Iwańczuk 2022-06-27 19:43:43 +02:00 committed by GitHub
parent 440250c054
commit 681bb49d0d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 31 additions and 3 deletions

View file

@ -589,11 +589,16 @@ delete Object.prototype.__proto__;
*/
function serverRequest({ id, ...request }) {
debug(`serverRequest()`, { id, ...request });
// reset all memoized source files names
scriptFileNamesCache = undefined;
// evict all memoized source file versions
scriptVersionCache.clear();
switch (request.method) {
case "restart": {
serverRestart();
return respond(id, true);
}
case "configure": {
const { options, errors } = ts
.convertCompilerOptionsFromJson(request.compilerOptions, "");
@ -918,6 +923,11 @@ delete Object.prototype.__proto__;
debug("serverInit()");
}
function serverRestart() {
languageService = ts.createLanguageService(host);
debug("serverRestart()");
}
let hasStarted = false;
/** Startup the runtime environment, setting various flags.