diff --git a/packages/language-service/src/language_service.ts b/packages/language-service/src/language_service.ts index 92e6dd2eba5119..05055d6acde972 100644 --- a/packages/language-service/src/language_service.ts +++ b/packages/language-service/src/language_service.ts @@ -83,17 +83,12 @@ export class LanguageService { getSemanticDiagnostics(fileName: string): ts.Diagnostic[] { return this.withCompilerAndPerfTracing(PerfPhase.LsDiagnostics, (compiler) => { - const diagnostics: ts.Diagnostic[] = []; + let diagnostics: ts.Diagnostic[] = []; if (isTypeScriptFile(fileName)) { const program = compiler.getCurrentProgram(); const sourceFile = program.getSourceFile(fileName); if (sourceFile) { let ngDiagnostics = compiler.getDiagnosticsForFile(sourceFile, OptimizeFor.SingleFile); - if (this.config.suppressAngularDiagnosticCodes) { - ngDiagnostics = ngDiagnostics.filter( - (diag) => !this.config.suppressAngularDiagnosticCodes!.includes(diag.code), - ); - } // There are several kinds of diagnostics returned by `NgCompiler` for a source file: // // 1. Angular-related non-template diagnostics from decorated classes within that @@ -130,6 +125,11 @@ export class LanguageService { } } } + if (this.config.suppressAngularDiagnosticCodes) { + diagnostics = diagnostics.filter( + (diag) => !this.config.suppressAngularDiagnosticCodes!.includes(diag.code), + ); + } return diagnostics; }); }