Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 3cf8f66

Browse filesBrowse files
danieltre23alxhub
authored andcommitted
refactor(compiler-cli): use TemplateDiagnostic in extended package (#43134)
Return `TemplateDiagnostic` instead of `ts.Diagnostic` when getting the extended template diagnostics. This makes the integration with the language service easier. This also fixes the error code and now uses the `ngErrorCode` for extended template diagnostics. Refs #42966 PR Close #43134
1 parent d7b6416 commit 3cf8f66
Copy full SHA for 3cf8f66

File tree

Expand file treeCollapse file tree

18 files changed

+73
-67
lines changed
Filter options
Expand file treeCollapse file tree

18 files changed

+73
-67
lines changed

‎packages/compiler-cli/src/ngtsc/typecheck/api/api.ts

Copy file name to clipboardExpand all lines: packages/compiler-cli/src/ngtsc/typecheck/api/api.ts
+22Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
import {AbsoluteSourceSpan, BoundTarget, DirectiveMeta, ParseSourceSpan, SchemaMetadata} from '@angular/compiler';
1010
import * as ts from 'typescript';
11+
import {ErrorCode} from '../../diagnostics';
1112

1213
import {AbsoluteFsPath} from '../../file_system';
1314
import {Reference} from '../../imports';
@@ -28,6 +29,27 @@ export interface TypeCheckableDirectiveMeta extends DirectiveMeta, DirectiveType
2829

2930
export type TemplateId = string&{__brand: 'TemplateId'};
3031

32+
/**
33+
* A `ts.Diagnostic` with additional information about the diagnostic related to template
34+
* type-checking.
35+
*/
36+
export interface TemplateDiagnostic extends ts.Diagnostic {
37+
/**
38+
* The component with the template that resulted in this diagnostic.
39+
*/
40+
componentFile: ts.SourceFile;
41+
42+
/**
43+
* The template id of the component that resulted in this diagnostic.
44+
*/
45+
templateId: TemplateId;
46+
}
47+
48+
/**
49+
* A `TemplateDiagnostic` with a specific error code.
50+
*/
51+
export type NgTemplateDiagnostic<T extends ErrorCode> = TemplateDiagnostic&{__ngCode: T};
52+
3153
/**
3254
* Metadata required in addition to a component class in order to generate a type check block (TCB)
3355
* for that component.

‎packages/compiler-cli/src/ngtsc/typecheck/api/checker.ts

Copy file name to clipboardExpand all lines: packages/compiler-cli/src/ngtsc/typecheck/api/checker.ts
+2-2Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import {TextAttribute} from '@angular/compiler/src/render3/r3_ast';
1212
import * as ts from 'typescript';
1313
import {ErrorCode} from '../../diagnostics';
1414

15-
import {FullTemplateMapping, TypeCheckableDirectiveMeta} from './api';
15+
import {FullTemplateMapping, NgTemplateDiagnostic, TypeCheckableDirectiveMeta} from './api';
1616
import {GlobalCompletion} from './completion';
1717
import {DirectiveInScope, PipeInScope} from './scope';
1818
import {DirectiveSymbol, ElementSymbol, ShimLocation, Symbol, TemplateSymbol} from './symbols';
@@ -175,7 +175,7 @@ export interface TemplateTypeChecker {
175175
start: number,
176176
end: number,
177177
sourceFile: ts.SourceFile,
178-
}[]): ts.Diagnostic;
178+
}[]): NgTemplateDiagnostic<T>;
179179
}
180180

181181
/**

‎packages/compiler-cli/src/ngtsc/typecheck/diagnostics/src/diagnostic.ts

Copy file name to clipboardExpand all lines: packages/compiler-cli/src/ngtsc/typecheck/diagnostics/src/diagnostic.ts
+1-17Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -9,23 +9,7 @@
99
import {ParseSourceSpan} from '@angular/compiler';
1010
import * as ts from 'typescript';
1111

12-
import {ExternalTemplateSourceMapping, TemplateId, TemplateSourceMapping} from '../../api';
13-
14-
/**
15-
* A `ts.Diagnostic` with additional information about the diagnostic related to template
16-
* type-checking.
17-
*/
18-
export interface TemplateDiagnostic extends ts.Diagnostic {
19-
/**
20-
* The component with the template that resulted in this diagnostic.
21-
*/
22-
componentFile: ts.SourceFile;
23-
24-
/**
25-
* The template id of the component that resulted in this diagnostic.
26-
*/
27-
templateId: TemplateId;
28-
}
12+
import {ExternalTemplateSourceMapping, TemplateDiagnostic, TemplateId, TemplateSourceMapping} from '../../api';
2913

3014
/**
3115
* Constructs a `ts.Diagnostic` for a given `ParseSourceSpan` within a template.

‎packages/compiler-cli/src/ngtsc/typecheck/extended/api/api.ts

Copy file name to clipboardExpand all lines: packages/compiler-cli/src/ngtsc/typecheck/extended/api/api.ts
+2-7Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,7 @@ import {TmplAstNode} from '@angular/compiler';
1010
import * as ts from 'typescript';
1111

1212
import {ErrorCode} from '../../../diagnostics';
13-
import {TemplateTypeChecker} from '../../api';
14-
15-
/**
16-
* A `ts.Diangostic` with a specific error code.
17-
*/
18-
export type TemplateDiagnostic<T extends ErrorCode> = ts.Diagnostic&{code: T};
13+
import {NgTemplateDiagnostic, TemplateTypeChecker} from '../../api';
1914

2015
/**
2116
* A Template Check receives information about the template it's checking and returns
@@ -26,7 +21,7 @@ export interface TemplateCheck<T extends ErrorCode> {
2621
code: T;
2722

2823
/** Runs check and returns information about the diagnostics to be generated. */
29-
run(ctx: TemplateContext, template: TmplAstNode[]): TemplateDiagnostic<T>[];
24+
run(ctx: TemplateContext, template: TmplAstNode[]): NgTemplateDiagnostic<T>[];
3025
}
3126

3227
/**

‎packages/compiler-cli/src/ngtsc/typecheck/extended/api/extended_template_checker.ts

Copy file name to clipboardExpand all lines: packages/compiler-cli/src/ngtsc/typecheck/extended/api/extended_template_checker.ts
+2-1Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
*/
88

99
import * as ts from 'typescript';
10+
import {TemplateDiagnostic} from '../../api';
1011

1112
/**
1213
* Interface to generate extended template diangostics from the component tempaltes.
@@ -15,5 +16,5 @@ export interface ExtendedTemplateChecker {
1516
/**
1617
* Run `TemplateCheck`s for a component and return the generated `ts.Diagnostic`s.
1718
*/
18-
getExtendedTemplateDiagnosticsForComponent(component: ts.ClassDeclaration): ts.Diagnostic[];
19+
getExtendedTemplateDiagnosticsForComponent(component: ts.ClassDeclaration): TemplateDiagnostic[];
1920
}

‎packages/compiler-cli/src/ngtsc/typecheck/extended/src/extended_template_checker.ts

Copy file name to clipboardExpand all lines: packages/compiler-cli/src/ngtsc/typecheck/extended/src/extended_template_checker.ts
+5-5Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
import * as ts from 'typescript';
1010

1111
import {ErrorCode} from '../../../diagnostics';
12-
import {TemplateTypeChecker} from '../../api';
12+
import {TemplateDiagnostic, TemplateTypeChecker} from '../../api';
1313
import {ExtendedTemplateChecker, TemplateCheck, TemplateContext} from '../api';
1414

1515
export class ExtendedTemplateCheckerImpl implements ExtendedTemplateChecker {
@@ -18,15 +18,15 @@ export class ExtendedTemplateCheckerImpl implements ExtendedTemplateChecker {
1818
private readonly typeChecker: ts.TypeChecker,
1919
private readonly templateChecks: TemplateCheck<ErrorCode>[]) {}
2020

21-
getExtendedTemplateDiagnosticsForComponent(component: ts.ClassDeclaration): ts.Diagnostic[] {
21+
getExtendedTemplateDiagnosticsForComponent(component: ts.ClassDeclaration): TemplateDiagnostic[] {
2222
const template = this.templateTypeChecker.getTemplate(component);
2323
// Skip checks if component has no template. This can happen if the user writes a
2424
// `@Component()` but doesn't add the template, could happen in the language service
2525
// when users are in the middle of typing code.
2626
if (template === null) {
2727
return [];
2828
}
29-
const diagnostics: ts.Diagnostic[] = [];
29+
const diagnostics: TemplateDiagnostic[] = [];
3030

3131
const ctx = {
3232
templateTypeChecker: this.templateTypeChecker,
@@ -78,8 +78,8 @@ export class ExtendedTemplateCheckerImpl implements ExtendedTemplateChecker {
7878
// TODO(danieltrevino): handle duplicated diagnostics when they are being generated
7979
// to avoid extra work (could be directly in the visitor).
8080
// https://github.com/angular/angular/pull/42984#discussion_r684823926
81-
function deduplicateDiagnostics(diagnostics: ts.Diagnostic[]): ts.Diagnostic[] {
82-
const result: ts.Diagnostic[] = [];
81+
function deduplicateDiagnostics<T extends ts.Diagnostic>(diagnostics: T[]): T[] {
82+
const result: T[] = [];
8383
for (const newDiag of diagnostics) {
8484
const isDuplicateDiag = result.some(existingDiag => areDiagnosticsEqual(newDiag, existingDiag));
8585
if (!isDuplicateDiag) {

‎packages/compiler-cli/src/ngtsc/typecheck/extended/src/template_checks/invalid_banana_in_box/BUILD.bazel

Copy file name to clipboardExpand all lines: packages/compiler-cli/src/ngtsc/typecheck/extended/src/template_checks/invalid_banana_in_box/BUILD.bazel
+1Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ ts_library(
77
deps = [
88
"//packages/compiler",
99
"//packages/compiler-cli/src/ngtsc/diagnostics",
10+
"//packages/compiler-cli/src/ngtsc/typecheck/api",
1011
"//packages/compiler-cli/src/ngtsc/typecheck/extended/api",
1112
"@npm//typescript",
1213
],

‎packages/compiler-cli/src/ngtsc/typecheck/extended/src/template_checks/invalid_banana_in_box/index.ts

Copy file name to clipboardExpand all lines: packages/compiler-cli/src/ngtsc/typecheck/extended/src/template_checks/invalid_banana_in_box/index.ts
+11-10Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,10 @@
88

99
import {TmplAstBoundEvent, TmplAstNode, TmplAstRecursiveVisitor} from '@angular/compiler';
1010
import * as ts from 'typescript';
11+
1112
import {ErrorCode} from '../../../../../diagnostics';
12-
import {TemplateCheck, TemplateContext, TemplateDiagnostic} from '../../../api';
13+
import {NgTemplateDiagnostic} from '../../../../api';
14+
import {TemplateCheck, TemplateContext} from '../../../api';
1315

1416
/**
1517
* Ensures the two-way binding syntax is correct.
@@ -20,15 +22,15 @@ export class InvalidBananaInBoxCheck implements TemplateCheck<ErrorCode.INVALID_
2022
code: ErrorCode.INVALID_BANANA_IN_BOX = 8101;
2123

2224
run(ctx: TemplateContext,
23-
template: TmplAstNode[]): TemplateDiagnostic<ErrorCode.INVALID_BANANA_IN_BOX>[] {
25+
template: TmplAstNode[]): NgTemplateDiagnostic<ErrorCode.INVALID_BANANA_IN_BOX>[] {
2426
const visitor = new BananaVisitor(ctx);
2527

2628
return visitor.getDiagnostics(template);
2729
}
2830
}
2931

3032
class BananaVisitor extends TmplAstRecursiveVisitor {
31-
private diagnostics: ts.Diagnostic[] = [];
33+
private diagnostics: NgTemplateDiagnostic<ErrorCode.INVALID_BANANA_IN_BOX>[] = [];
3234

3335
constructor(public readonly ctx: TemplateContext) {
3436
super();
@@ -45,17 +47,16 @@ class BananaVisitor extends TmplAstRecursiveVisitor {
4547
if (name.startsWith('[') && name.endsWith(']')) {
4648
const boundSyntax = boundEvent.sourceSpan.toString();
4749
const expectedBoundSyntax = boundSyntax.replace(`(${name})`, `[(${name.slice(1, -1)})]`);
48-
this.diagnostics.push(
49-
this.ctx.templateTypeChecker.makeTemplateDiagnostic<ErrorCode.INVALID_BANANA_IN_BOX>(
50-
this.ctx.component, boundEvent.sourceSpan, ts.DiagnosticCategory.Warning,
51-
ErrorCode.INVALID_BANANA_IN_BOX,
52-
`In the two-way binding syntax the parentheses should be inside the brackets, ex. '${
53-
expectedBoundSyntax}'.
50+
this.diagnostics.push(this.ctx.templateTypeChecker.makeTemplateDiagnostic(
51+
this.ctx.component, boundEvent.sourceSpan, ts.DiagnosticCategory.Warning,
52+
ErrorCode.INVALID_BANANA_IN_BOX,
53+
`In the two-way binding syntax the parentheses should be inside the brackets, ex. '${
54+
expectedBoundSyntax}'.
5455
Find more at https://angular.io/guide/two-way-binding`));
5556
}
5657
}
5758

58-
getDiagnostics(template: TmplAstNode[]): ts.Diagnostic[] {
59+
getDiagnostics(template: TmplAstNode[]): NgTemplateDiagnostic<ErrorCode.INVALID_BANANA_IN_BOX>[] {
5960
this.diagnostics = [];
6061
for (const node of template) {
6162
node.visit(this);

‎packages/compiler-cli/src/ngtsc/typecheck/extended/test/template_checks/invalid_banana_in_box/spec.ts

Copy file name to clipboardExpand all lines: packages/compiler-cli/src/ngtsc/typecheck/extended/test/template_checks/invalid_banana_in_box/spec.ts
+4-4Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
*/
88

99
import * as ts from 'typescript';
10-
import {ErrorCode} from '../../../../../diagnostics';
10+
import {ErrorCode, ngErrorCode} from '../../../../../diagnostics';
1111
import {absoluteFrom, getSourceFileOrError} from '../../../../../file_system';
1212
import {runInEachFileSystem} from '../../../../../file_system/testing';
1313
import {getSourceCodeForDiagnostic} from '../../../../../testing';
@@ -33,7 +33,7 @@ runInEachFileSystem(() => {
3333
const diags = extendedTemplateChecker.getExtendedTemplateDiagnosticsForComponent(component);
3434
expect(diags.length).toBe(1);
3535
expect(diags[0].category).toBe(ts.DiagnosticCategory.Warning);
36-
expect(diags[0].code).toBe(ErrorCode.INVALID_BANANA_IN_BOX);
36+
expect(diags[0].code).toBe(ngErrorCode(ErrorCode.INVALID_BANANA_IN_BOX));
3737
expect(getSourceCodeForDiagnostic(diags[0])).toBe('([notARealThing])="var1"');
3838
});
3939

@@ -94,10 +94,10 @@ runInEachFileSystem(() => {
9494
const diags = extendedTemplateChecker.getExtendedTemplateDiagnosticsForComponent(component);
9595
expect(diags.length).toBe(2);
9696
expect(diags[0].category).toBe(ts.DiagnosticCategory.Warning);
97-
expect(diags[0].code).toBe(ErrorCode.INVALID_BANANA_IN_BOX);
97+
expect(diags[0].code).toBe(ngErrorCode(ErrorCode.INVALID_BANANA_IN_BOX));
9898
expect(getSourceCodeForDiagnostic(diags[0])).toBe('([notARealThing])="var1"');
9999
expect(diags[1].category).toBe(ts.DiagnosticCategory.Warning);
100-
expect(diags[1].code).toBe(ErrorCode.INVALID_BANANA_IN_BOX);
100+
expect(diags[1].code).toBe(ngErrorCode(ErrorCode.INVALID_BANANA_IN_BOX));
101101
expect(getSourceCodeForDiagnostic(diags[1])).toBe('([notARealThing2])="var1"');
102102
});
103103
});

‎packages/compiler-cli/src/ngtsc/typecheck/src/checker.ts

Copy file name to clipboardExpand all lines: packages/compiler-cli/src/ngtsc/typecheck/src/checker.ts
+10-6Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
import {AST, CssSelector, DomElementSchemaRegistry, LiteralPrimitive, MethodCall, ParseError, ParseSourceSpan, parseTemplate, PropertyRead, SafeMethodCall, SafePropertyRead, TmplAstElement, TmplAstNode, TmplAstReference, TmplAstTemplate, TmplAstVariable} from '@angular/compiler';
1010
import {TextAttribute} from '@angular/compiler/src/render3/r3_ast';
1111
import * as ts from 'typescript';
12-
import {ErrorCode} from '../../diagnostics';
12+
import {ErrorCode, ngErrorCode} from '../../diagnostics';
1313

1414
import {absoluteFrom, absoluteFromSourceFile, AbsoluteFsPath, getSourceFileOrError} from '../../file_system';
1515
import {Reference, ReferenceEmitter} from '../../imports';
@@ -20,8 +20,8 @@ import {ClassDeclaration, isNamedClassDeclaration, ReflectionHost} from '../../r
2020
import {ComponentScopeReader, TypeCheckScopeRegistry} from '../../scope';
2121
import {isShim} from '../../shims';
2222
import {getSourceFileOrNull, isSymbolWithValueDeclaration} from '../../util/src/typescript';
23-
import {DirectiveInScope, ElementSymbol, FullTemplateMapping, GlobalCompletion, OptimizeFor, PipeInScope, ProgramTypeCheckAdapter, ShimLocation, Symbol, TemplateId, TemplateSymbol, TemplateTypeChecker, TypeCheckableDirectiveMeta, TypeCheckingConfig} from '../api';
24-
import {makeTemplateDiagnostic, TemplateDiagnostic} from '../diagnostics';
23+
import {DirectiveInScope, ElementSymbol, FullTemplateMapping, GlobalCompletion, NgTemplateDiagnostic, OptimizeFor, PipeInScope, ProgramTypeCheckAdapter, ShimLocation, Symbol, TemplateDiagnostic, TemplateId, TemplateSymbol, TemplateTypeChecker, TypeCheckableDirectiveMeta, TypeCheckingConfig} from '../api';
24+
import {makeTemplateDiagnostic} from '../diagnostics';
2525

2626
import {CompletionEngine} from './completion';
2727
import {InliningMode, ShimTypeCheckingData, TemplateData, TypeCheckContextImpl, TypeCheckingHost} from './context';
@@ -316,14 +316,18 @@ export class TemplateTypeCheckerImpl implements TemplateTypeChecker {
316316
start: number,
317317
end: number,
318318
sourceFile: ts.SourceFile,
319-
}[]): TemplateDiagnostic {
319+
}[]): NgTemplateDiagnostic<T> {
320320
const sfPath = absoluteFromSourceFile(clazz.getSourceFile());
321321
const fileRecord = this.state.get(sfPath)!;
322322
const templateId = fileRecord.sourceManager.getTemplateId(clazz);
323323
const mapping = fileRecord.sourceManager.getSourceMapping(templateId);
324324

325-
return makeTemplateDiagnostic(
326-
templateId, mapping, sourceSpan, category, errorCode, message, relatedInformation);
325+
return {
326+
...makeTemplateDiagnostic(
327+
templateId, mapping, sourceSpan, category, ngErrorCode(errorCode), message,
328+
relatedInformation),
329+
__ngCode: errorCode
330+
};
327331
}
328332

329333
private getOrCreateCompletionEngine(component: ts.ClassDeclaration): CompletionEngine|null {

‎packages/compiler-cli/src/ngtsc/typecheck/src/context.ts

Copy file name to clipboardExpand all lines: packages/compiler-cli/src/ngtsc/typecheck/src/context.ts
+2-2Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ import {PerfEvent, PerfRecorder} from '../../perf';
1616
import {FileUpdate} from '../../program_driver';
1717
import {ClassDeclaration, ReflectionHost} from '../../reflection';
1818
import {ImportManager} from '../../translator';
19-
import {TemplateId, TemplateSourceMapping, TypeCheckableDirectiveMeta, TypeCheckBlockMetadata, TypeCheckContext, TypeCheckingConfig, TypeCtorMetadata} from '../api';
20-
import {makeTemplateDiagnostic, TemplateDiagnostic} from '../diagnostics';
19+
import {TemplateDiagnostic, TemplateId, TemplateSourceMapping, TypeCheckableDirectiveMeta, TypeCheckBlockMetadata, TypeCheckContext, TypeCheckingConfig, TypeCtorMetadata} from '../api';
20+
import {makeTemplateDiagnostic} from '../diagnostics';
2121

2222
import {DomSchemaChecker, RegistryDomSchemaChecker} from './dom';
2323
import {Environment} from './environment';

‎packages/compiler-cli/src/ngtsc/typecheck/src/diagnostics.ts

Copy file name to clipboardExpand all lines: packages/compiler-cli/src/ngtsc/typecheck/src/diagnostics.ts
+2-2Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
*/
88
import {AbsoluteSourceSpan, ParseSourceSpan} from '@angular/compiler';
99
import * as ts from 'typescript';
10-
import {TemplateId} from '../api';
11-
import {makeTemplateDiagnostic, TemplateDiagnostic} from '../diagnostics';
10+
import {TemplateDiagnostic, TemplateId} from '../api';
11+
import {makeTemplateDiagnostic} from '../diagnostics';
1212
import {getTemplateMapping, TemplateSourceResolver} from './tcb_util';
1313

1414

‎packages/compiler-cli/src/ngtsc/typecheck/src/dom.ts

Copy file name to clipboardExpand all lines: packages/compiler-cli/src/ngtsc/typecheck/src/dom.ts
+2-2Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ import {DomElementSchemaRegistry, ParseSourceSpan, SchemaMetadata, TmplAstElemen
1010
import * as ts from 'typescript';
1111

1212
import {ErrorCode, ngErrorCode} from '../../diagnostics';
13-
import {TemplateId} from '../api';
14-
import {makeTemplateDiagnostic, TemplateDiagnostic} from '../diagnostics';
13+
import {TemplateDiagnostic, TemplateId} from '../api';
14+
import {makeTemplateDiagnostic} from '../diagnostics';
1515

1616
import {TemplateSourceResolver} from './tcb_util';
1717

‎packages/compiler-cli/src/ngtsc/typecheck/src/oob.ts

Copy file name to clipboardExpand all lines: packages/compiler-cli/src/ngtsc/typecheck/src/oob.ts
+2-2Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ import * as ts from 'typescript';
1212

1313
import {ErrorCode, makeDiagnostic, makeRelatedInformation, ngErrorCode} from '../../diagnostics';
1414
import {ClassDeclaration} from '../../reflection';
15-
import {TemplateId} from '../api';
16-
import {makeTemplateDiagnostic, TemplateDiagnostic} from '../diagnostics';
15+
import {TemplateDiagnostic, TemplateId} from '../api';
16+
import {makeTemplateDiagnostic} from '../diagnostics';
1717

1818
import {TemplateSourceResolver} from './tcb_util';
1919

‎packages/compiler-cli/src/ngtsc/typecheck/testing/BUILD.bazel

Copy file name to clipboardExpand all lines: packages/compiler-cli/src/ngtsc/typecheck/testing/BUILD.bazel
-1Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ ts_library(
2121
"//packages/compiler-cli/src/ngtsc/testing",
2222
"//packages/compiler-cli/src/ngtsc/typecheck",
2323
"//packages/compiler-cli/src/ngtsc/typecheck/api",
24-
"//packages/compiler-cli/src/ngtsc/typecheck/diagnostics",
2524
"//packages/compiler-cli/src/ngtsc/util",
2625
"@npm//typescript",
2726
],

‎packages/compiler-cli/src/ngtsc/typecheck/testing/index.ts

Copy file name to clipboardExpand all lines: packages/compiler-cli/src/ngtsc/typecheck/testing/index.ts
+1-2Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,8 @@ import {ClassDeclaration, isNamedClassDeclaration, TypeScriptReflectionHost} fro
2020
import {ComponentScopeReader, LocalModuleScope, ScopeData, TypeCheckScopeRegistry} from '../../scope';
2121
import {makeProgram} from '../../testing';
2222
import {getRootDirs} from '../../util/src/typescript';
23-
import {ProgramTypeCheckAdapter, TemplateTypeChecker, TypeCheckContext} from '../api';
23+
import {ProgramTypeCheckAdapter, TemplateDiagnostic, TemplateTypeChecker, TypeCheckContext} from '../api';
2424
import {TemplateId, TemplateSourceMapping, TypeCheckableDirectiveMeta, TypeCheckBlockMetadata, TypeCheckingConfig} from '../api/api';
25-
import {TemplateDiagnostic} from '../diagnostics';
2625
import {TemplateTypeCheckerImpl} from '../src/checker';
2726
import {DomSchemaChecker} from '../src/dom';
2827
import {Environment} from '../src/environment';

‎packages/compiler-cli/test/ngtsc/extended_template_diagnostics_spec.ts

Copy file name to clipboardExpand all lines: packages/compiler-cli/test/ngtsc/extended_template_diagnostics_spec.ts
+3-3Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
*/
88

99
import * as ts from 'typescript';
10-
import {ErrorCode} from '../../src/ngtsc/diagnostics';
10+
import {ErrorCode, ngErrorCode} from '../../src/ngtsc/diagnostics';
1111
import {runInEachFileSystem} from '../../src/ngtsc/file_system/testing';
1212
import {getSourceCodeForDiagnostic, loadStandardTestFiles} from '../../src/ngtsc/testing';
1313

@@ -39,7 +39,7 @@ runInEachFileSystem(() => {
3939
const diags = env.driveDiagnostics();
4040
expect(diags.length).toBe(1);
4141
expect(diags[0].category).toBe(ts.DiagnosticCategory.Warning);
42-
expect(diags[0].code).toBe(ErrorCode.INVALID_BANANA_IN_BOX);
42+
expect(diags[0].code).toBe(ngErrorCode(ErrorCode.INVALID_BANANA_IN_BOX));
4343
expect(getSourceCodeForDiagnostic(diags[0])).toBe('([notARealThing])="bar"');
4444
});
4545

@@ -62,7 +62,7 @@ runInEachFileSystem(() => {
6262
const diags = env.driveDiagnostics();
6363
expect(diags.length).toBe(1);
6464
expect(diags[0].category).toBe(ts.DiagnosticCategory.Warning);
65-
expect(diags[0].code).toBe(ErrorCode.INVALID_BANANA_IN_BOX);
65+
expect(diags[0].code).toBe(ngErrorCode(ErrorCode.INVALID_BANANA_IN_BOX));
6666
expect(getSourceCodeForDiagnostic(diags[0])).toBe('([notARealThing])="bar"');
6767
});
6868

‎packages/language-service/ivy/test/diagnostic_spec.ts

Copy file name to clipboardExpand all lines: packages/language-service/ivy/test/diagnostic_spec.ts
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -380,7 +380,7 @@ describe('getSemanticDiagnostics', () => {
380380

381381
const diags = project.getDiagnosticsForFile('app.ts');
382382
expect(diags.length).toEqual(1);
383-
expect(diags[0].code).toEqual(ErrorCode.INVALID_BANANA_IN_BOX);
383+
expect(diags[0].code).toEqual(ngErrorCode(ErrorCode.INVALID_BANANA_IN_BOX));
384384
expect(diags[0].category).toEqual(ts.DiagnosticCategory.Warning);
385385
});
386386

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.