Skip to content

Commit a1cbfca

Browse files
authored
Add missing trigger file (#11641)
* Add missing trigger file property for config file diags * Add test
1 parent 5475f3a commit a1cbfca

File tree

3 files changed

+16
-8
lines changed

3 files changed

+16
-8
lines changed

src/harness/unittests/tsserverProjectSystem.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ namespace ts.projectSystem {
135135
}
136136

137137
export class TestServerEventManager {
138-
private events: server.ProjectServiceEvent[] = [];
138+
public events: server.ProjectServiceEvent[] = [];
139139

140140
handler: server.ProjectServiceEventHandler = (event: server.ProjectServiceEvent) => {
141141
this.events.push(event);
@@ -2286,6 +2286,14 @@ namespace ts.projectSystem {
22862286
const session = createSession(host, /*typingsInstaller*/ undefined, serverEventManager.handler);
22872287
openFilesForSession([file], session);
22882288
serverEventManager.checkEventCountOfType("configFileDiag", 1);
2289+
2290+
for (const event of serverEventManager.events) {
2291+
if (event.eventName === "configFileDiag") {
2292+
assert.equal(event.data.configFileName, configFile.path);
2293+
assert.equal(event.data.triggerFile, file.path);
2294+
return;
2295+
}
2296+
}
22892297
});
22902298

22912299
it("are generated when the config file doesn't have errors", () => {

src/server/editorServices.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ namespace ts.server {
1111
export const maxProgramSizeForNonTsFiles = 20 * 1024 * 1024;
1212

1313
export type ProjectServiceEvent =
14-
{ eventName: "context", data: { project: Project, fileName: NormalizedPath } } | { eventName: "configFileDiag", data: { triggerFile?: string, configFileName: string, diagnostics: Diagnostic[] } };
14+
{ eventName: "context", data: { project: Project, fileName: NormalizedPath } } | { eventName: "configFileDiag", data: { triggerFile: string, configFileName: string, diagnostics: Diagnostic[] } };
1515

1616
export interface ProjectServiceEventHandler {
1717
(event: ProjectServiceEvent): void;
@@ -392,12 +392,12 @@ namespace ts.server {
392392
this.throttledOperations.schedule(
393393
project.configFileName,
394394
/*delay*/250,
395-
() => this.handleChangeInSourceFileForConfiguredProject(project));
395+
() => this.handleChangeInSourceFileForConfiguredProject(project, fileName));
396396
}
397397

398-
private handleChangeInSourceFileForConfiguredProject(project: ConfiguredProject) {
398+
private handleChangeInSourceFileForConfiguredProject(project: ConfiguredProject, triggerFile: string) {
399399
const { projectOptions, configFileErrors } = this.convertConfigFileContentToProjectOptions(project.configFileName);
400-
this.reportConfigFileDiagnostics(project.getProjectName(), configFileErrors);
400+
this.reportConfigFileDiagnostics(project.getProjectName(), configFileErrors, triggerFile);
401401

402402
const newRootFiles = projectOptions.files.map((f => this.getCanonicalFileName(f)));
403403
const currentRootFiles = project.getRootFiles().map((f => this.getCanonicalFileName(f)));
@@ -434,7 +434,7 @@ namespace ts.server {
434434
}
435435

436436
const { configFileErrors } = this.convertConfigFileContentToProjectOptions(fileName);
437-
this.reportConfigFileDiagnostics(fileName, configFileErrors);
437+
this.reportConfigFileDiagnostics(fileName, configFileErrors, fileName);
438438

439439
this.logger.info(`Detected newly added tsconfig file: ${fileName}`);
440440
this.reloadProjects();
@@ -757,7 +757,7 @@ namespace ts.server {
757757
return project;
758758
}
759759

760-
private reportConfigFileDiagnostics(configFileName: string, diagnostics: Diagnostic[], triggerFile?: string) {
760+
private reportConfigFileDiagnostics(configFileName: string, diagnostics: Diagnostic[], triggerFile: string) {
761761
if (!this.eventHandler) {
762762
return;
763763
}

src/server/session.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -761,7 +761,7 @@ namespace ts.server {
761761
if (this.eventHander) {
762762
this.eventHander({
763763
eventName: "configFileDiag",
764-
data: { fileName, configFileName, diagnostics: configFileErrors || [] }
764+
data: { triggerFile: fileName, configFileName, diagnostics: configFileErrors || [] }
765765
});
766766
}
767767
}

0 commit comments

Comments
 (0)