Do not generate config file diagnostics event when the file opened doesnot belong to the configured project

This commit is contained in:
Sheetal Nandi 2017-10-10 17:37:02 -07:00
parent c5b4f5e7e7
commit bb4abbd95e
2 changed files with 6 additions and 15 deletions

View File

@ -3168,7 +3168,7 @@ namespace ts.projectSystem {
serverEventManager.checkEventCountOfType("configFileDiag", 3);
});
it("are generated when the config file doesnot include file opened but has errors", () => {
it("are not generated when the config file doesnot include file opened and config file has errors", () => {
const serverEventManager = new TestServerEventManager();
const file = {
path: "/a/b/app.ts",
@ -3195,14 +3195,7 @@ namespace ts.projectSystem {
eventHandler: serverEventManager.handler
});
openFilesForSession([file2], session);
serverEventManager.checkEventCountOfType("configFileDiag", 1);
for (const event of serverEventManager.events) {
if (event.eventName === "configFileDiag") {
assert.equal(event.data.configFileName, configFile.path);
assert.equal(event.data.triggerFile, file2.path);
return;
}
}
serverEventManager.checkEventCountOfType("configFileDiag", 0);
});
it("are not generated when the config file doesnot include file opened and doesnt contain any errors", () => {

View File

@ -1933,12 +1933,10 @@ namespace ts.server {
// At this point if file is part of any any configured or external project, then it would be present in the containing projects
// So if it still doesnt have any containing projects, it needs to be part of inferred project
if (info.isOrphan()) {
// Since the file isnt part of configured project,
// report config file and its error only if config file found had errors (and hence may be didnt include the file)
if (sendConfigFileDiagEvent && !project.getAllProjectErrors().length) {
configFileName = undefined;
sendConfigFileDiagEvent = false;
}
// Since the file isnt part of configured project, do not send config file event
configFileName = undefined;
sendConfigFileDiagEvent = false;
this.assignOrphanScriptInfoToInferredProject(info, projectRootPath);
}
this.addToListOfOpenFiles(info);