From 7d3f22fc66494f6e85dceb00b6f882daba70691a Mon Sep 17 00:00:00 2001 From: Jason Ramsay Date: Fri, 26 Aug 2016 16:37:31 -0700 Subject: [PATCH] Changes from CR feedback --- src/server/editorServices.ts | 1 + src/server/project.ts | 3 --- src/server/typingsInstaller/nodeTypingsInstaller.ts | 2 +- src/server/typingsInstaller/typingsInstaller.ts | 11 +++-------- 4 files changed, 5 insertions(+), 12 deletions(-) diff --git a/src/server/editorServices.ts b/src/server/editorServices.ts index 394613bebe4..ad7ad90cb64 100644 --- a/src/server/editorServices.ts +++ b/src/server/editorServices.ts @@ -294,6 +294,7 @@ namespace ts.server { let shouldRefreshInferredProjects = false; for (const p of projects) { if (!p.updateGraph()) { + this.typingsCache.invalidateCachedTypingsForProject(p); shouldRefreshInferredProjects = true; } } diff --git a/src/server/project.ts b/src/server/project.ts index 6d48c5d87be..e8293decdd3 100644 --- a/src/server/project.ts +++ b/src/server/project.ts @@ -355,9 +355,6 @@ namespace ts.server { removed.push(id); } } - if (added.length > 0 || removed.length > 0) { - this.projectService.typingsCache.invalidateCachedTypingsForProject(this); - } this.lastReportedFileNames = currentFiles; this.lastReportedFileNames = currentFiles; diff --git a/src/server/typingsInstaller/nodeTypingsInstaller.ts b/src/server/typingsInstaller/nodeTypingsInstaller.ts index 13c70da9f8d..1de0a2dc9ce 100644 --- a/src/server/typingsInstaller/nodeTypingsInstaller.ts +++ b/src/server/typingsInstaller/nodeTypingsInstaller.ts @@ -114,7 +114,7 @@ namespace ts.server.typingsInstaller { protected runInstall(cachePath: string, typingsToInstall: string[], postInstallAction: (installedTypings: string[]) => void): void { const id = this.installRunCount; this.installRunCount++; - const command = `npm install @types/${typingsToInstall.join(" @types/")} --save-dev`; + const command = `npm install ${typingsToInstall.map(t => "@types/" + t)} --save-dev`; if (this.log.isEnabled()) { this.log.writeLine(`Running npm install @types ${id}, command '${command}'. cache path '${cachePath}'`); } diff --git a/src/server/typingsInstaller/typingsInstaller.ts b/src/server/typingsInstaller/typingsInstaller.ts index ac72782eb5d..619b307316b 100644 --- a/src/server/typingsInstaller/typingsInstaller.ts +++ b/src/server/typingsInstaller/typingsInstaller.ts @@ -19,12 +19,7 @@ namespace ts.server.typingsInstaller { function typingToFileName(cachePath: string, packageName: string, installTypingHost: InstallTypingHost): string { const result = resolveModuleName(packageName, combinePaths(cachePath, "index.d.ts"), { moduleResolution: ModuleResolutionKind.NodeJs }, installTypingHost); - return result.resolvedModule ? result.resolvedModule.resolvedFileName : null; - } - - function getPackageName(typingFile: string) { - const idx = typingFile.lastIndexOf("/"); - return idx > 0 ? typingFile.substr(idx + 1) : undefined; + return result.resolvedModule && result.resolvedModule.resolvedFileName; } export abstract class TypingsInstaller { @@ -137,7 +132,7 @@ namespace ts.server.typingsInstaller { if (npmConfig.devDependencies) { for (const key in npmConfig.devDependencies) { // key is @types/ - const packageName = getPackageName(key); + const packageName = getBaseFileName(key); if (!packageName) { continue; } @@ -199,7 +194,7 @@ namespace ts.server.typingsInstaller { const installedPackages: Map = createMap(); const installedTypingFiles: string[] = []; for (const t of installedTypings) { - const packageName = getPackageName(t); + const packageName = getBaseFileName(t); if (!packageName) { continue; }