From 667751df2ade1f7236b8e462d4ec286773d09762 Mon Sep 17 00:00:00 2001 From: Sheetal Nandi Date: Tue, 9 Jan 2018 15:59:23 -0800 Subject: [PATCH] When sending typings request use project's current directory as project root path This ensures that we arent picking typings from folder different from the current directory for the project --- src/harness/unittests/tsserverProjectSystem.ts | 5 ++++- src/server/utilities.ts | 15 +-------------- 2 files changed, 5 insertions(+), 15 deletions(-) diff --git a/src/harness/unittests/tsserverProjectSystem.ts b/src/harness/unittests/tsserverProjectSystem.ts index 188a663b650..fe7a2095b86 100644 --- a/src/harness/unittests/tsserverProjectSystem.ts +++ b/src/harness/unittests/tsserverProjectSystem.ts @@ -6503,7 +6503,7 @@ namespace ts.projectSystem { path: `${currentDirectory}/package.json`, content: JSON.stringify({ devDependencies: { - "pkgcurrentdirectory": "" + pkgcurrentdirectory: "" }, }) }; @@ -6555,6 +6555,9 @@ namespace ts.projectSystem { // Ensure that we use result from types cache when getting ls assert.isDefined(project.getLanguageService()); + + // Verify that the pkgcurrentdirectory from the current directory isnt picked up + checkProjectActualFiles(project, [file.path]); }); }); } diff --git a/src/server/utilities.ts b/src/server/utilities.ts index d76ff1bf6d0..c44419f8cf3 100644 --- a/src/server/utilities.ts +++ b/src/server/utilities.ts @@ -34,19 +34,6 @@ namespace ts.server { export type Types = Msg; } - function getProjectRootPath(project: Project): Path { - switch (project.projectKind) { - case ProjectKind.Configured: - return getDirectoryPath(project.getProjectName()); - case ProjectKind.Inferred: - // TODO: fixme - return ""; - case ProjectKind.External: - const projectName = normalizeSlashes(project.getProjectName()); - return getDirectoryPath(projectName); - } - } - export function createInstallTypingsRequest(project: Project, typeAcquisition: TypeAcquisition, unresolvedImports: SortedReadonlyArray, cachePath?: string): DiscoverTypings { return { projectName: project.getProjectName(), @@ -54,7 +41,7 @@ namespace ts.server { compilerOptions: project.getCompilationSettings(), typeAcquisition, unresolvedImports, - projectRootPath: getProjectRootPath(project), + projectRootPath: project.getCurrentDirectory() as Path, cachePath, kind: "discover" };