summaryrefslogtreecommitdiff
path: root/cli/tsc/99_main_compiler.js
diff options
context:
space:
mode:
authorBartek IwaƄczuk <biwanczuk@gmail.com>2022-06-27 19:43:43 +0200
committerGitHub <noreply@github.com>2022-06-27 19:43:43 +0200
commit681bb49d0df0865a6564741544869a57aab56bb1 (patch)
tree142bae4a04e696d16490814f4c36116bc85adf5a /cli/tsc/99_main_compiler.js
parent440250c05498e3bfc8682e91476dc6e0e3a79429 (diff)
fix(lsp): restart TS language service when caching dependencies (#14979)
Diffstat (limited to 'cli/tsc/99_main_compiler.js')
-rw-r--r--cli/tsc/99_main_compiler.js10
1 files changed, 10 insertions, 0 deletions
diff --git a/cli/tsc/99_main_compiler.js b/cli/tsc/99_main_compiler.js
index 7650ff95b..c2b50ba16 100644
--- a/cli/tsc/99_main_compiler.js
+++ b/cli/tsc/99_main_compiler.js
@@ -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.