@angular/compiler-cli 20.2.0-next.1 → 20.2.0-next.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -16,7 +16,7 @@ import {
16
16
  tryParseSignalInputMapping,
17
17
  tryParseSignalModelMapping,
18
18
  tryParseSignalQueryFromInitializer
19
- } from "./chunk-TMIC4MKN.js";
19
+ } from "./chunk-5LTXARS2.js";
20
20
 
21
21
  // packages/compiler-cli/src/ngtsc/transform/jit/src/downlevel_decorators_transform.js
22
22
  import ts from "typescript";
@@ -117,6 +117,7 @@ var ErrorCode;
117
117
  ErrorCode2[ErrorCode2["UNPARENTHESIZED_NULLISH_COALESCING"] = 8114] = "UNPARENTHESIZED_NULLISH_COALESCING";
118
118
  ErrorCode2[ErrorCode2["UNINVOKED_TRACK_FUNCTION"] = 8115] = "UNINVOKED_TRACK_FUNCTION";
119
119
  ErrorCode2[ErrorCode2["MISSING_STRUCTURAL_DIRECTIVE"] = 8116] = "MISSING_STRUCTURAL_DIRECTIVE";
120
+ ErrorCode2[ErrorCode2["UNINVOKED_FUNCTION_IN_TEXT_INTERPOLATION"] = 8117] = "UNINVOKED_FUNCTION_IN_TEXT_INTERPOLATION";
120
121
  ErrorCode2[ErrorCode2["INLINE_TCB_REQUIRED"] = 8900] = "INLINE_TCB_REQUIRED";
121
122
  ErrorCode2[ErrorCode2["INLINE_TYPE_CTOR_REQUIRED"] = 8901] = "INLINE_TYPE_CTOR_REQUIRED";
122
123
  ErrorCode2[ErrorCode2["INJECTABLE_DUPLICATE_PROV"] = 9001] = "INJECTABLE_DUPLICATE_PROV";
@@ -241,6 +242,7 @@ var ExtendedTemplateDiagnosticName;
241
242
  ExtendedTemplateDiagnosticName2["UNINVOKED_TRACK_FUNCTION"] = "uninvokedTrackFunction";
242
243
  ExtendedTemplateDiagnosticName2["UNUSED_STANDALONE_IMPORTS"] = "unusedStandaloneImports";
243
244
  ExtendedTemplateDiagnosticName2["UNPARENTHESIZED_NULLISH_COALESCING"] = "unparenthesizedNullishCoalescing";
245
+ ExtendedTemplateDiagnosticName2["UNINVOKED_FUNCTION_IN_TEXT_INTERPOLATION"] = "uninvokedFunctionInTextInterpolation";
244
246
  })(ExtendedTemplateDiagnosticName || (ExtendedTemplateDiagnosticName = {}));
245
247
 
246
248
  // packages/compiler-cli/src/ngtsc/reflection/src/typescript.js
@@ -12317,7 +12319,8 @@ function inferBoundAttribute(name) {
12317
12319
  const attrPrefix = "attr.";
12318
12320
  const classPrefix = "class.";
12319
12321
  const stylePrefix = "style.";
12320
- const animationPrefix = "@";
12322
+ const animationPrefix = "animate.";
12323
+ const legacyAnimationPrefix = "@";
12321
12324
  let attrName;
12322
12325
  let type;
12323
12326
  if (name.startsWith(attrPrefix)) {
@@ -12330,7 +12333,10 @@ function inferBoundAttribute(name) {
12330
12333
  attrName = name.slice(stylePrefix.length);
12331
12334
  type = BindingType.Style;
12332
12335
  } else if (name.startsWith(animationPrefix)) {
12333
- attrName = name.slice(animationPrefix.length);
12336
+ attrName = name;
12337
+ type = BindingType.Animation;
12338
+ } else if (name.startsWith(legacyAnimationPrefix)) {
12339
+ attrName = name.slice(legacyAnimationPrefix.length);
12334
12340
  type = BindingType.LegacyAnimation;
12335
12341
  } else {
12336
12342
  attrName = name;
@@ -14072,7 +14078,7 @@ var TcbDomSchemaCheckerOp = class extends TcbOp {
14072
14078
  continue;
14073
14079
  }
14074
14080
  if (isPropertyBinding && binding.name !== "style" && binding.name !== "class") {
14075
- const propertyName = ATTR_TO_PROP.get(binding.name) ?? binding.name;
14081
+ const propertyName = REGISTRY.getMappedPropName(binding.name);
14076
14082
  if (isTemplateElement) {
14077
14083
  this.tcb.domSchemaChecker.checkTemplateElementProperty(this.tcb.id, this.getTagName(element), propertyName, binding.sourceSpan, this.tcb.schemas, this.tcb.hostIsStandalone);
14078
14084
  } else {
@@ -14202,14 +14208,6 @@ var TcbComponentNodeOp = class extends TcbOp {
14202
14208
  return id;
14203
14209
  }
14204
14210
  };
14205
- var ATTR_TO_PROP = new Map(Object.entries({
14206
- "class": "className",
14207
- "for": "htmlFor",
14208
- "formaction": "formAction",
14209
- "innerHtml": "innerHTML",
14210
- "readonly": "readOnly",
14211
- "tabindex": "tabIndex"
14212
- }));
14213
14211
  var TcbUnclaimedInputsOp = class extends TcbOp {
14214
14212
  tcb;
14215
14213
  scope;
@@ -14240,7 +14238,7 @@ var TcbUnclaimedInputsOp = class extends TcbOp {
14240
14238
  if (elId === null) {
14241
14239
  elId = this.scope.resolve(this.target);
14242
14240
  }
14243
- const propertyName = ATTR_TO_PROP.get(binding.name) ?? binding.name;
14241
+ const propertyName = REGISTRY.getMappedPropName(binding.name);
14244
14242
  const prop = ts60.factory.createElementAccessExpression(elId, ts60.factory.createStringLiteral(propertyName));
14245
14243
  const stmt = ts60.factory.createBinaryExpression(prop, ts60.SyntaxKind.EqualsToken, wrapForDiagnostics(expr));
14246
14244
  addParseSpanInfo(stmt, binding.sourceSpan);
@@ -14356,6 +14354,10 @@ var TcbUnclaimedOutputsOp = class extends TcbOp {
14356
14354
  const eventType = this.tcb.env.config.checkTypeOfAnimationEvents ? this.tcb.env.referenceExternalType("@angular/animations", "AnimationEvent") : 1;
14357
14355
  const handler = tcbCreateEventHandler(output, this.tcb, this.scope, eventType);
14358
14356
  this.scope.addStatement(ts60.factory.createExpressionStatement(handler));
14357
+ } else if (output.type === ParsedEventType2.Animation) {
14358
+ const eventType = this.tcb.env.referenceExternalType("@angular/core", "AnimationCallbackEvent");
14359
+ const handler = tcbCreateEventHandler(output, this.tcb, this.scope, eventType);
14360
+ this.scope.addStatement(ts60.factory.createExpressionStatement(handler));
14359
14361
  } else if (this.tcb.env.config.checkTypeOfDomEvents) {
14360
14362
  let target;
14361
14363
  let domEventAssertion;
@@ -455,7 +455,7 @@ import { compileDirectiveFromMetadata, makeBindingParser, ParseLocation, ParseSo
455
455
  // packages/compiler-cli/linker/src/file_linker/partial_linkers/util.js
456
456
  import { createMayBeForwardRefExpression, outputAst as o2 } from "@angular/compiler";
457
457
  import semver from "semver";
458
- var PLACEHOLDER_VERSION = "20.2.0-next.1";
458
+ var PLACEHOLDER_VERSION = "20.2.0-next.3";
459
459
  function wrapReference(wrapped) {
460
460
  return { value: wrapped, type: wrapped };
461
461
  }
@@ -12,7 +12,7 @@ import {
12
12
  formatDiagnostics,
13
13
  performCompilation,
14
14
  readConfiguration
15
- } from "./chunk-U3R42CLJ.js";
15
+ } from "./chunk-ILJUWTJN.js";
16
16
 
17
17
  // packages/compiler-cli/src/main.js
18
18
  import ts2 from "typescript";
@@ -4,7 +4,7 @@
4
4
 
5
5
  import {
6
6
  angularJitApplicationTransform
7
- } from "./chunk-PLUBZWSY.js";
7
+ } from "./chunk-56QTHZ7G.js";
8
8
  import {
9
9
  AbsoluteModuleStrategy,
10
10
  ActivePerfRecorder,
@@ -92,7 +92,7 @@ import {
92
92
  toUnredirectedSourceFile,
93
93
  tryParseInitializerApi,
94
94
  untagAllTsFiles
95
- } from "./chunk-TMIC4MKN.js";
95
+ } from "./chunk-5LTXARS2.js";
96
96
  import {
97
97
  LogicalFileSystem,
98
98
  absoluteFrom,
@@ -2906,7 +2906,8 @@ var InterpolatedSignalCheck = class extends TemplateCheckWithVisitor {
2906
2906
  (node.type === BindingType.Property || // or a class binding like `[class.myClass]="mySignal"`
2907
2907
  node.type === BindingType.Class || // or a style binding like `[style.width]="mySignal"`
2908
2908
  node.type === BindingType.Style || // or an attribute binding like `[attr.role]="mySignal"`
2909
- node.type === BindingType.Attribute || // or an animation binding like `[@myAnimation]="mySignal"`
2909
+ node.type === BindingType.Attribute || // or an animation binding like `[animate.enter]="mySignal"`
2910
+ node.type === BindingType.Animation || // or an animation binding like `[@myAnimation]="mySignal"`
2910
2911
  node.type === BindingType.LegacyAnimation) && nodeAst
2911
2912
  ) {
2912
2913
  return buildDiagnosticForSignal(ctx, nodeAst, component);
@@ -3421,6 +3422,37 @@ var factory14 = {
3421
3422
  create: () => new UninvokedTrackFunctionCheck()
3422
3423
  };
3423
3424
 
3425
+ // packages/compiler-cli/src/ngtsc/typecheck/extended/checks/uninvoked_function_in_text_interpolation/index.js
3426
+ import { Interpolation as Interpolation2, PropertyRead as PropertyRead5, SafePropertyRead as SafePropertyRead4 } from "@angular/compiler";
3427
+ var UninvokedFunctionInTextInterpolation = class extends TemplateCheckWithVisitor {
3428
+ code = ErrorCode.UNINVOKED_FUNCTION_IN_TEXT_INTERPOLATION;
3429
+ visitNode(ctx, component, node) {
3430
+ if (node instanceof Interpolation2) {
3431
+ return node.expressions.flatMap((item) => assertExpressionInvoked2(item, component, ctx));
3432
+ }
3433
+ return [];
3434
+ }
3435
+ };
3436
+ function assertExpressionInvoked2(expression, component, ctx) {
3437
+ if (!(expression instanceof PropertyRead5) && !(expression instanceof SafePropertyRead4)) {
3438
+ return [];
3439
+ }
3440
+ const symbol = ctx.templateTypeChecker.getSymbolOfNode(expression, component);
3441
+ if (symbol !== null && symbol.kind === SymbolKind.Expression) {
3442
+ if (symbol.tsType.getCallSignatures()?.length > 0) {
3443
+ const errorString = `Function in text interpolation should be invoked: ${expression.name}()`;
3444
+ const templateMapping = ctx.templateTypeChecker.getSourceMappingAtTcbLocation(symbol.tcbLocation);
3445
+ return [ctx.makeTemplateDiagnostic(templateMapping.span, errorString)];
3446
+ }
3447
+ }
3448
+ return [];
3449
+ }
3450
+ var factory15 = {
3451
+ code: ErrorCode.UNINVOKED_FUNCTION_IN_TEXT_INTERPOLATION,
3452
+ name: ExtendedTemplateDiagnosticName.UNINVOKED_FUNCTION_IN_TEXT_INTERPOLATION,
3453
+ create: () => new UninvokedFunctionInTextInterpolation()
3454
+ };
3455
+
3424
3456
  // packages/compiler-cli/src/ngtsc/typecheck/extended/src/extended_template_checker.js
3425
3457
  import ts21 from "typescript";
3426
3458
 
@@ -3439,12 +3471,12 @@ var ExtendedTemplateCheckerImpl = class {
3439
3471
  constructor(templateTypeChecker, typeChecker, templateCheckFactories, options) {
3440
3472
  this.partialCtx = { templateTypeChecker, typeChecker };
3441
3473
  this.templateChecks = /* @__PURE__ */ new Map();
3442
- for (const factory15 of templateCheckFactories) {
3443
- const category = diagnosticLabelToCategory(options?.extendedDiagnostics?.checks?.[factory15.name] ?? options?.extendedDiagnostics?.defaultCategory ?? DiagnosticCategoryLabel.Warning);
3474
+ for (const factory16 of templateCheckFactories) {
3475
+ const category = diagnosticLabelToCategory(options?.extendedDiagnostics?.checks?.[factory16.name] ?? options?.extendedDiagnostics?.defaultCategory ?? DiagnosticCategoryLabel.Warning);
3444
3476
  if (category === null) {
3445
3477
  continue;
3446
3478
  }
3447
- const check = factory15.create(options);
3479
+ const check = factory16.create(options);
3448
3480
  if (check === null) {
3449
3481
  continue;
3450
3482
  }
@@ -3503,16 +3535,17 @@ var ALL_DIAGNOSTIC_FACTORIES = [
3503
3535
  factory13,
3504
3536
  factory8,
3505
3537
  factory12,
3506
- factory14
3538
+ factory14,
3539
+ factory15
3507
3540
  ];
3508
3541
  var SUPPORTED_DIAGNOSTIC_NAMES = /* @__PURE__ */ new Set([
3509
3542
  ExtendedTemplateDiagnosticName.CONTROL_FLOW_PREVENTING_CONTENT_PROJECTION,
3510
3543
  ExtendedTemplateDiagnosticName.UNUSED_STANDALONE_IMPORTS,
3511
- ...ALL_DIAGNOSTIC_FACTORIES.map((factory15) => factory15.name)
3544
+ ...ALL_DIAGNOSTIC_FACTORIES.map((factory16) => factory16.name)
3512
3545
  ]);
3513
3546
 
3514
3547
  // packages/compiler-cli/src/ngtsc/typecheck/template_semantics/src/template_semantics_checker.js
3515
- import { ASTWithSource as ASTWithSource5, ImplicitReceiver as ImplicitReceiver2, ParsedEventType as ParsedEventType2, PropertyRead as PropertyRead5, Binary as Binary3, RecursiveAstVisitor, TmplAstBoundEvent as TmplAstBoundEvent3, TmplAstLetDeclaration as TmplAstLetDeclaration2, TmplAstRecursiveVisitor, TmplAstVariable as TmplAstVariable2 } from "@angular/compiler";
3548
+ import { ASTWithSource as ASTWithSource5, ImplicitReceiver as ImplicitReceiver2, ParsedEventType as ParsedEventType2, PropertyRead as PropertyRead6, Binary as Binary3, RecursiveAstVisitor, TmplAstBoundEvent as TmplAstBoundEvent3, TmplAstLetDeclaration as TmplAstLetDeclaration2, TmplAstRecursiveVisitor, TmplAstVariable as TmplAstVariable2 } from "@angular/compiler";
3516
3549
  import ts22 from "typescript";
3517
3550
  var TemplateSemanticsCheckerImpl = class {
3518
3551
  templateTypeChecker;
@@ -3553,7 +3586,7 @@ var ExpressionsSemanticsVisitor = class extends RecursiveAstVisitor {
3553
3586
  this.diagnostics = diagnostics;
3554
3587
  }
3555
3588
  visitBinary(ast, context) {
3556
- if (Binary3.isAssignmentOperation(ast.operation) && ast.left instanceof PropertyRead5) {
3589
+ if (Binary3.isAssignmentOperation(ast.operation) && ast.left instanceof PropertyRead6) {
3557
3590
  this.checkForIllegalWriteInEventBinding(ast.left, context);
3558
3591
  } else {
3559
3592
  super.visitBinary(ast, context);
package/bundles/index.js CHANGED
@@ -28,7 +28,7 @@ import {
28
28
  isTsDiagnostic,
29
29
  performCompilation,
30
30
  readConfiguration
31
- } from "./chunk-U3R42CLJ.js";
31
+ } from "./chunk-ILJUWTJN.js";
32
32
  import {
33
33
  ConsoleLogger,
34
34
  LogLevel
@@ -37,7 +37,7 @@ import {
37
37
  angularJitApplicationTransform,
38
38
  getDownlevelDecoratorsTransform,
39
39
  getInitializerApiJitTransform
40
- } from "./chunk-PLUBZWSY.js";
40
+ } from "./chunk-56QTHZ7G.js";
41
41
  import {
42
42
  ActivePerfRecorder,
43
43
  ErrorCode,
@@ -46,7 +46,7 @@ import {
46
46
  TsCreateProgramDriver,
47
47
  isLocalCompilationDiagnostics,
48
48
  ngErrorCode
49
- } from "./chunk-TMIC4MKN.js";
49
+ } from "./chunk-5LTXARS2.js";
50
50
  import "./chunk-I2BHWRAU.js";
51
51
  import {
52
52
  InvalidFileSystem,
@@ -77,7 +77,7 @@ import "./chunk-DWRM7PIK.js";
77
77
 
78
78
  // packages/compiler-cli/src/version.js
79
79
  import { Version } from "@angular/compiler";
80
- var VERSION = new Version("20.2.0-next.1");
80
+ var VERSION = new Version("20.2.0-next.3");
81
81
 
82
82
  // packages/compiler-cli/private/tooling.js
83
83
  var GLOBAL_DEFS_FOR_TERSER = {
@@ -13,7 +13,7 @@ import {
13
13
  TypeScriptReflectionHost,
14
14
  createForwardRefResolver,
15
15
  reflectObjectLiteral
16
- } from "../chunk-TMIC4MKN.js";
16
+ } from "../chunk-5LTXARS2.js";
17
17
  import "../chunk-I2BHWRAU.js";
18
18
  import "../chunk-GWZQLAGK.js";
19
19
  import "../chunk-SZY7NM6F.js";
@@ -4,8 +4,8 @@
4
4
 
5
5
  import {
6
6
  angularJitApplicationTransform
7
- } from "../chunk-PLUBZWSY.js";
8
- import "../chunk-TMIC4MKN.js";
7
+ } from "../chunk-56QTHZ7G.js";
8
+ import "../chunk-5LTXARS2.js";
9
9
  import "../chunk-I2BHWRAU.js";
10
10
  import "../chunk-GWZQLAGK.js";
11
11
  import "../chunk-SZY7NM6F.js";
@@ -6,12 +6,12 @@
6
6
  import {
7
7
  main,
8
8
  readCommandLineAndConfiguration
9
- } from "../../chunk-F7QVREVY.js";
9
+ } from "../../chunk-HMCJWY2O.js";
10
10
  import {
11
11
  EmitFlags
12
- } from "../../chunk-U3R42CLJ.js";
13
- import "../../chunk-PLUBZWSY.js";
14
- import "../../chunk-TMIC4MKN.js";
12
+ } from "../../chunk-ILJUWTJN.js";
13
+ import "../../chunk-56QTHZ7G.js";
14
+ import "../../chunk-5LTXARS2.js";
15
15
  import "../../chunk-I2BHWRAU.js";
16
16
  import {
17
17
  setFileSystem
@@ -5,10 +5,10 @@
5
5
 
6
6
  import {
7
7
  main
8
- } from "../../chunk-F7QVREVY.js";
9
- import "../../chunk-U3R42CLJ.js";
10
- import "../../chunk-PLUBZWSY.js";
11
- import "../../chunk-TMIC4MKN.js";
8
+ } from "../../chunk-HMCJWY2O.js";
9
+ import "../../chunk-ILJUWTJN.js";
10
+ import "../../chunk-56QTHZ7G.js";
11
+ import "../../chunk-5LTXARS2.js";
12
12
  import "../../chunk-I2BHWRAU.js";
13
13
  import {
14
14
  setFileSystem
@@ -7,7 +7,7 @@
7
7
  */
8
8
  import { MaybeForwardRefExpression, outputAst as o, R3DeclareDependencyMetadata, R3DependencyMetadata, R3Reference } from '@angular/compiler';
9
9
  import { AstObject, AstValue } from '../../ast/ast_value';
10
- export declare const PLACEHOLDER_VERSION = "20.2.0-next.1";
10
+ export declare const PLACEHOLDER_VERSION = "20.2.0-next.3";
11
11
  export declare function wrapReference<TExpression>(wrapped: o.WrappedNodeExpr<TExpression>): R3Reference;
12
12
  /**
13
13
  * Parses the value of an enum from the AST value's symbol name.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@angular/compiler-cli",
3
- "version": "20.2.0-next.1",
3
+ "version": "20.2.0-next.3",
4
4
  "description": "Angular - the compiler CLI for Node.js",
5
5
  "typings": "index.d.ts",
6
6
  "bin": {
@@ -48,7 +48,7 @@
48
48
  "yargs": "^18.0.0"
49
49
  },
50
50
  "peerDependencies": {
51
- "@angular/compiler": "20.2.0-next.1",
51
+ "@angular/compiler": "20.2.0-next.3",
52
52
  "typescript": ">=5.8 <6.0"
53
53
  },
54
54
  "peerDependenciesMeta": {
@@ -0,0 +1,15 @@
1
+ /*!
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.dev/license
7
+ */
8
+ import { TmplAstNode } from '@angular/compiler';
9
+ /**
10
+ * Analyzes a component's template to determine if it's using animate.enter
11
+ * or animate.leave syntax.
12
+ */
13
+ export declare function analyzeTemplateForAnimations(template: TmplAstNode[]): {
14
+ hasAnimations: boolean;
15
+ };
@@ -511,6 +511,20 @@ export declare enum ErrorCode {
511
511
  * A structural directive is used in a template, but the directive is not imported.
512
512
  */
513
513
  MISSING_STRUCTURAL_DIRECTIVE = 8116,
514
+ /**
515
+ * A function in a text interpolation is not invoked.
516
+ *
517
+ * For example:
518
+ * ```html
519
+ * <p> {{ firstName }} </p>
520
+ * ```
521
+ *
522
+ * The `firstName` function is not invoked. Instead, it should be:
523
+ * ```html
524
+ * <p> {{ firstName() }} </p>
525
+ * ```
526
+ */
527
+ UNINVOKED_FUNCTION_IN_TEXT_INTERPOLATION = 8117,
514
528
  /**
515
529
  * The template type-checking engine would need to generate an inline type check block for a
516
530
  * component, but the current type-checking environment doesn't support it.
@@ -30,5 +30,6 @@ export declare enum ExtendedTemplateDiagnosticName {
30
30
  UNUSED_LET_DECLARATION = "unusedLetDeclaration",
31
31
  UNINVOKED_TRACK_FUNCTION = "uninvokedTrackFunction",
32
32
  UNUSED_STANDALONE_IMPORTS = "unusedStandaloneImports",
33
- UNPARENTHESIZED_NULLISH_COALESCING = "unparenthesizedNullishCoalescing"
33
+ UNPARENTHESIZED_NULLISH_COALESCING = "unparenthesizedNullishCoalescing",
34
+ UNINVOKED_FUNCTION_IN_TEXT_INTERPOLATION = "uninvokedFunctionInTextInterpolation"
34
35
  }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.dev/license
7
+ */
8
+ import { ErrorCode, ExtendedTemplateDiagnosticName } from '../../../../diagnostics';
9
+ import { TemplateCheckFactory } from '../../api';
10
+ export declare const factory: TemplateCheckFactory<ErrorCode.UNINVOKED_FUNCTION_IN_TEXT_INTERPOLATION, ExtendedTemplateDiagnosticName.UNINVOKED_FUNCTION_IN_TEXT_INTERPOLATION>;
@@ -5,9 +5,10 @@
5
5
  * Use of this source code is governed by an MIT-style license that can be
6
6
  * found in the LICENSE file at https://angular.dev/license
7
7
  */
8
- import { ParseSourceSpan, SchemaMetadata, TmplAstHostElement } from '@angular/compiler';
8
+ import { DomElementSchemaRegistry, ParseSourceSpan, SchemaMetadata, TmplAstHostElement } from '@angular/compiler';
9
9
  import { TemplateDiagnostic, TypeCheckId } from '../api';
10
10
  import { TypeCheckSourceResolver } from './tcb_util';
11
+ export declare const REGISTRY: DomElementSchemaRegistry;
11
12
  /**
12
13
  * Checks every non-Angular element/property processed in a template and potentially produces
13
14
  * `ts.Diagnostic`s related to improper usage.