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
This commit is contained in:
Sheetal Nandi 2018-01-09 15:59:23 -08:00
parent 90a1df9d92
commit 667751df2a
2 changed files with 5 additions and 15 deletions

View File

@ -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]);
});
});
}

View File

@ -34,19 +34,6 @@ namespace ts.server {
export type Types = Msg;
}
function getProjectRootPath(project: Project): Path {
switch (project.projectKind) {
case ProjectKind.Configured:
return <Path>getDirectoryPath(project.getProjectName());
case ProjectKind.Inferred:
// TODO: fixme
return <Path>"";
case ProjectKind.External:
const projectName = normalizeSlashes(project.getProjectName());
return <Path>getDirectoryPath(projectName);
}
}
export function createInstallTypingsRequest(project: Project, typeAcquisition: TypeAcquisition, unresolvedImports: SortedReadonlyArray<string>, 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"
};