@angular-eslint/bundled-angular-compiler 20.3.1-alpha.2 → 20.3.1-alpha.21

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.
Files changed (2) hide show
  1. package/dist/index.js +170 -195
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -133,6 +133,7 @@ __export(index_exports, {
133
133
  RecursiveVisitor: () => RecursiveVisitor2,
134
134
  ResourceLoader: () => ResourceLoader,
135
135
  ReturnStatement: () => ReturnStatement,
136
+ SCHEMA: () => SCHEMA,
136
137
  SECURITY_SCHEMA: () => SECURITY_SCHEMA,
137
138
  STRING_TYPE: () => STRING_TYPE,
138
139
  SafeCall: () => SafeCall,
@@ -218,6 +219,7 @@ __export(index_exports, {
218
219
  Xmb: () => Xmb,
219
220
  XmlParser: () => XmlParser,
220
221
  Xtb: () => Xtb,
222
+ _ATTR_TO_PROP: () => _ATTR_TO_PROP,
221
223
  compileClassDebugInfo: () => compileClassDebugInfo,
222
224
  compileClassMetadata: () => compileClassMetadata,
223
225
  compileComponentClassMetadata: () => compileComponentClassMetadata,
@@ -279,7 +281,7 @@ __export(index_exports, {
279
281
  });
280
282
  module.exports = __toCommonJS(index_exports);
281
283
 
282
- // ../../node_modules/.pnpm/@angular+compiler@20.3.0/node_modules/@angular/compiler/fesm2022/compiler.mjs
284
+ // ../../node_modules/.pnpm/@angular+compiler@20.3.3/node_modules/@angular/compiler/fesm2022/compiler.mjs
283
285
  var _SELECTOR_REGEXP = new RegExp(
284
286
  `(\\:not\\()|(([\\.\\#]?)[-\\w]+)|(?:\\[([-.\\w*\\\\$]+)(?:=(["']?)([^\\]"']*)\\5)?\\])|(\\))|(\\s*,\\s*)`,
285
287
  // 8: ","
@@ -3216,10 +3218,6 @@ var Identifiers = class {
3216
3218
  name: "\u0275\u0275ExternalStylesFeature",
3217
3219
  moduleName: CORE
3218
3220
  };
3219
- static AnimationsFeature = {
3220
- name: "\u0275\u0275AnimationsFeature",
3221
- moduleName: CORE
3222
- };
3223
3221
  static listener = { name: "\u0275\u0275listener", moduleName: CORE };
3224
3222
  static getInheritedFactory = {
3225
3223
  name: "\u0275\u0275getInheritedFactory",
@@ -11125,6 +11123,11 @@ function extractAttributeOp(unit, op, elements) {
11125
11123
  }
11126
11124
  }
11127
11125
  __name(extractAttributeOp, "extractAttributeOp");
11126
+ var ARIA_PREFIX = "aria-";
11127
+ function isAriaAttribute(name) {
11128
+ return name.startsWith(ARIA_PREFIX) && name.length > ARIA_PREFIX.length;
11129
+ }
11130
+ __name(isAriaAttribute, "isAriaAttribute");
11128
11131
  function lookupElement$2(elements, xref) {
11129
11132
  const el = elements.get(xref);
11130
11133
  if (el === void 0) {
@@ -11184,7 +11187,22 @@ function specializeBindings(job) {
11184
11187
  break;
11185
11188
  case BindingKind.Property:
11186
11189
  case BindingKind.LegacyAnimation:
11187
- if (job.kind === CompilationJobKind.Host) {
11190
+ if (job.mode === TemplateCompilationMode.DomOnly && isAriaAttribute(op.name)) {
11191
+ OpList.replace(op, createAttributeOp(
11192
+ op.target,
11193
+ /* namespace= */
11194
+ null,
11195
+ op.name,
11196
+ op.expression,
11197
+ op.securityContext,
11198
+ /* isTextAttribute= */
11199
+ false,
11200
+ op.isStructuralTemplateAttribute,
11201
+ op.templateKind,
11202
+ op.i18nMessage,
11203
+ op.sourceSpan
11204
+ ));
11205
+ } else if (job.kind === CompilationJobKind.Host) {
11188
11206
  OpList.replace(op, createDomPropertyOp(op.name, op.expression, op.bindingKind, op.i18nContext, op.securityContext, op.sourceSpan));
11189
11207
  } else {
11190
11208
  OpList.replace(op, createPropertyOp(op.target, op.name, op.expression, op.bindingKind, op.securityContext, op.isStructuralTemplateAttribute, op.templateKind, op.i18nContext, op.i18nMessage, op.sourceSpan));
@@ -17161,9 +17179,6 @@ var Token = class {
17161
17179
  isTemplateLiteralInterpolationStart() {
17162
17180
  return this.isOperator("${");
17163
17181
  }
17164
- isTemplateLiteralInterpolationEnd() {
17165
- return this.isOperator("}");
17166
- }
17167
17182
  toString() {
17168
17183
  switch (this.type) {
17169
17184
  case TokenType.Character:
@@ -17344,7 +17359,7 @@ var _Scanner = class {
17344
17359
  this.advance();
17345
17360
  const currentBrace = this.braceStack.pop();
17346
17361
  if (currentBrace === "interpolation") {
17347
- this.tokens.push(newOperatorToken(start, this.index, "}"));
17362
+ this.tokens.push(newCharacterToken(start, this.index, $RBRACE));
17348
17363
  return this.scanTemplateLiteralPart(this.index);
17349
17364
  }
17350
17365
  return newCharacterToken(start, this.index, code);
@@ -18677,12 +18692,14 @@ var _ParseAST = class {
18677
18692
  }
18678
18693
  } else if (token.isTemplateLiteralInterpolationStart()) {
18679
18694
  this.advance();
18695
+ this.rbracesExpected++;
18680
18696
  const expression = this.parsePipe();
18681
18697
  if (expression instanceof EmptyExpr$1) {
18682
18698
  this.error("Template literal interpolation cannot be empty");
18683
18699
  } else {
18684
18700
  expressions.push(expression);
18685
18701
  }
18702
+ this.rbracesExpected--;
18686
18703
  } else {
18687
18704
  this.advance();
18688
18705
  }
@@ -18993,7 +19010,7 @@ var NUMBER = "number";
18993
19010
  var STRING = "string";
18994
19011
  var OBJECT = "object";
18995
19012
  var SCHEMA = [
18996
- "[Element]|textContent,%ariaAtomic,%ariaAutoComplete,%ariaBusy,%ariaChecked,%ariaColCount,%ariaColIndex,%ariaColSpan,%ariaCurrent,%ariaDescription,%ariaDisabled,%ariaExpanded,%ariaHasPopup,%ariaHidden,%ariaKeyShortcuts,%ariaLabel,%ariaLevel,%ariaLive,%ariaModal,%ariaMultiLine,%ariaMultiSelectable,%ariaOrientation,%ariaPlaceholder,%ariaPosInSet,%ariaPressed,%ariaReadOnly,%ariaRelevant,%ariaRequired,%ariaRoleDescription,%ariaRowCount,%ariaRowIndex,%ariaRowSpan,%ariaSelected,%ariaSetSize,%ariaSort,%ariaValueMax,%ariaValueMin,%ariaValueNow,%ariaValueText,%classList,className,elementTiming,id,innerHTML,*beforecopy,*beforecut,*beforepaste,*fullscreenchange,*fullscreenerror,*search,*webkitfullscreenchange,*webkitfullscreenerror,outerHTML,%part,#scrollLeft,#scrollTop,slot,*message,*mozfullscreenchange,*mozfullscreenerror,*mozpointerlockchange,*mozpointerlockerror,*webglcontextcreationerror,*webglcontextlost,*webglcontextrestored",
19013
+ "[Element]|textContent,%ariaAtomic,%ariaAutoComplete,%ariaBusy,%ariaChecked,%ariaColCount,%ariaColIndex,%ariaColSpan,%ariaCurrent,%ariaDescription,%ariaDisabled,%ariaExpanded,%ariaHasPopup,%ariaHidden,%ariaInvalid,%ariaKeyShortcuts,%ariaLabel,%ariaLevel,%ariaLive,%ariaModal,%ariaMultiLine,%ariaMultiSelectable,%ariaOrientation,%ariaPlaceholder,%ariaPosInSet,%ariaPressed,%ariaReadOnly,%ariaRelevant,%ariaRequired,%ariaRoleDescription,%ariaRowCount,%ariaRowIndex,%ariaRowSpan,%ariaSelected,%ariaSetSize,%ariaSort,%ariaValueMax,%ariaValueMin,%ariaValueNow,%ariaValueText,%classList,className,elementTiming,id,innerHTML,*beforecopy,*beforecut,*beforepaste,*fullscreenchange,*fullscreenerror,*search,*webkitfullscreenchange,*webkitfullscreenerror,outerHTML,%part,#scrollLeft,#scrollTop,slot,*message,*mozfullscreenchange,*mozfullscreenerror,*mozpointerlockchange,*mozpointerlockerror,*webglcontextcreationerror,*webglcontextlost,*webglcontextrestored",
18997
19014
  "[HTMLElement]^[Element]|accessKey,autocapitalize,!autofocus,contentEditable,dir,!draggable,enterKeyHint,!hidden,!inert,innerText,inputMode,lang,nonce,*abort,*animationend,*animationiteration,*animationstart,*auxclick,*beforexrselect,*blur,*cancel,*canplay,*canplaythrough,*change,*click,*close,*contextmenu,*copy,*cuechange,*cut,*dblclick,*drag,*dragend,*dragenter,*dragleave,*dragover,*dragstart,*drop,*durationchange,*emptied,*ended,*error,*focus,*formdata,*gotpointercapture,*input,*invalid,*keydown,*keypress,*keyup,*load,*loadeddata,*loadedmetadata,*loadstart,*lostpointercapture,*mousedown,*mouseenter,*mouseleave,*mousemove,*mouseout,*mouseover,*mouseup,*mousewheel,*paste,*pause,*play,*playing,*pointercancel,*pointerdown,*pointerenter,*pointerleave,*pointermove,*pointerout,*pointerover,*pointerrawupdate,*pointerup,*progress,*ratechange,*reset,*resize,*scroll,*securitypolicyviolation,*seeked,*seeking,*select,*selectionchange,*selectstart,*slotchange,*stalled,*submit,*suspend,*timeupdate,*toggle,*transitioncancel,*transitionend,*transitionrun,*transitionstart,*volumechange,*waiting,*webkitanimationend,*webkitanimationiteration,*webkitanimationstart,*webkittransitionend,*wheel,outerText,!spellcheck,%style,#tabIndex,title,!translate,virtualKeyboardPolicy",
18998
19015
  "abbr,address,article,aside,b,bdi,bdo,cite,content,code,dd,dfn,dt,em,figcaption,figure,footer,header,hgroup,i,kbd,main,mark,nav,noscript,rb,rp,rt,rtc,ruby,s,samp,search,section,small,strong,sub,sup,u,var,wbr^[HTMLElement]|accessKey,autocapitalize,!autofocus,contentEditable,dir,!draggable,enterKeyHint,!hidden,innerText,inputMode,lang,nonce,*abort,*animationend,*animationiteration,*animationstart,*auxclick,*beforexrselect,*blur,*cancel,*canplay,*canplaythrough,*change,*click,*close,*contextmenu,*copy,*cuechange,*cut,*dblclick,*drag,*dragend,*dragenter,*dragleave,*dragover,*dragstart,*drop,*durationchange,*emptied,*ended,*error,*focus,*formdata,*gotpointercapture,*input,*invalid,*keydown,*keypress,*keyup,*load,*loadeddata,*loadedmetadata,*loadstart,*lostpointercapture,*mousedown,*mouseenter,*mouseleave,*mousemove,*mouseout,*mouseover,*mouseup,*mousewheel,*paste,*pause,*play,*playing,*pointercancel,*pointerdown,*pointerenter,*pointerleave,*pointermove,*pointerout,*pointerover,*pointerrawupdate,*pointerup,*progress,*ratechange,*reset,*resize,*scroll,*securitypolicyviolation,*seeked,*seeking,*select,*selectionchange,*selectstart,*slotchange,*stalled,*submit,*suspend,*timeupdate,*toggle,*transitioncancel,*transitionend,*transitionrun,*transitionstart,*volumechange,*waiting,*webkitanimationend,*webkitanimationiteration,*webkitanimationstart,*webkittransitionend,*wheel,outerText,!spellcheck,%style,#tabIndex,title,!translate,virtualKeyboardPolicy",
18999
19016
  "media^[HTMLElement]|!autoplay,!controls,%controlsList,%crossOrigin,#currentTime,!defaultMuted,#defaultPlaybackRate,!disableRemotePlayback,!loop,!muted,*encrypted,*waitingforkey,#playbackRate,preload,!preservesPitch,src,%srcObject,#volume",
@@ -22104,7 +22121,6 @@ function callVariadicInstruction(config, baseArgs, interpolationArgs, extraArgs,
22104
22121
  return createStatementOp(callVariadicInstructionExpr(config, baseArgs, interpolationArgs, extraArgs, sourceSpan).toStmt());
22105
22122
  }
22106
22123
  __name(callVariadicInstruction, "callVariadicInstruction");
22107
- var ARIA_PREFIX = "aria";
22108
22124
  var GLOBAL_TARGET_RESOLVERS = /* @__PURE__ */ new Map([
22109
22125
  ["window", Identifiers.resolveWindow],
22110
22126
  ["document", Identifiers.resolveDocument],
@@ -22442,20 +22458,12 @@ function reifyUpdateOperations(unit, ops) {
22442
22458
  }
22443
22459
  }
22444
22460
  __name(reifyUpdateOperations, "reifyUpdateOperations");
22445
- function ariaAttrName(name) {
22446
- return name.charAt(ARIA_PREFIX.length) !== "-" ? ARIA_PREFIX + "-" + name.slice(ARIA_PREFIX.length).toLowerCase() : name;
22447
- }
22448
- __name(ariaAttrName, "ariaAttrName");
22449
- function isAriaProperty(name) {
22450
- return name.startsWith(ARIA_PREFIX) && name.length > ARIA_PREFIX.length;
22451
- }
22452
- __name(isAriaProperty, "isAriaProperty");
22453
22461
  function reifyDomProperty(op) {
22454
- return isAriaProperty(op.name) ? attribute(ariaAttrName(op.name), op.expression, null, null, op.sourceSpan) : domProperty(DOM_PROPERTY_REMAPPING.get(op.name) ?? op.name, op.expression, op.sanitizer, op.sourceSpan);
22462
+ return domProperty(DOM_PROPERTY_REMAPPING.get(op.name) ?? op.name, op.expression, op.sanitizer, op.sourceSpan);
22455
22463
  }
22456
22464
  __name(reifyDomProperty, "reifyDomProperty");
22457
22465
  function reifyProperty(op) {
22458
- return isAriaProperty(op.name) ? ariaProperty(op.name, op.expression, op.sourceSpan) : property(op.name, op.expression, op.sanitizer, op.sourceSpan);
22466
+ return isAriaAttribute(op.name) ? ariaProperty(op.name, op.expression, op.sourceSpan) : property(op.name, op.expression, op.sanitizer, op.sourceSpan);
22459
22467
  }
22460
22468
  __name(reifyProperty, "reifyProperty");
22461
22469
  function reifyIrExpression(expr) {
@@ -26481,6 +26489,13 @@ var HtmlAstToIvyAst = class {
26481
26489
  ], children, references, variables, element2.isSelfClosing, element2.sourceSpan, element2.startSourceSpan, element2.endSourceSpan, element2.i18n);
26482
26490
  } else {
26483
26491
  const attrs = this.categorizePropertyAttributes(element2.name, parsedProperties, i18nAttrsMeta);
26492
+ if (element2.name === "ng-container") {
26493
+ for (const bound of attrs.bound) {
26494
+ if (bound.type === BindingType.Attribute) {
26495
+ this.reportError(`Attribute bindings are not supported on ng-container. Use property bindings instead.`, bound.sourceSpan);
26496
+ }
26497
+ }
26498
+ }
26484
26499
  parsedElement = new Element$1(element2.name, attributes, attrs.bound, boundEvents, directives, children, references, element2.isSelfClosing, element2.sourceSpan, element2.startSourceSpan, element2.endSourceSpan, element2.isVoid, element2.i18n);
26485
26500
  }
26486
26501
  if (elementHasInlineTemplate) {
@@ -27159,162 +27174,9 @@ function makeBindingParser(interpolationConfig = DEFAULT_INTERPOLATION_CONFIG, s
27159
27174
  return new BindingParser(new Parser2(new Lexer(), selectorlessEnabled), interpolationConfig, elementRegistry, []);
27160
27175
  }
27161
27176
  __name(makeBindingParser, "makeBindingParser");
27162
- var CombinedRecursiveAstVisitor = class extends RecursiveAstVisitor2 {
27163
- static {
27164
- __name(this, "CombinedRecursiveAstVisitor");
27165
- }
27166
- visit(node) {
27167
- if (node instanceof ASTWithSource) {
27168
- this.visit(node.ast);
27169
- } else {
27170
- node.visit(this);
27171
- }
27172
- }
27173
- visitElement(element2) {
27174
- this.visitAllTemplateNodes(element2.attributes);
27175
- this.visitAllTemplateNodes(element2.inputs);
27176
- this.visitAllTemplateNodes(element2.outputs);
27177
- this.visitAllTemplateNodes(element2.directives);
27178
- this.visitAllTemplateNodes(element2.references);
27179
- this.visitAllTemplateNodes(element2.children);
27180
- }
27181
- visitTemplate(template2) {
27182
- this.visitAllTemplateNodes(template2.attributes);
27183
- this.visitAllTemplateNodes(template2.inputs);
27184
- this.visitAllTemplateNodes(template2.outputs);
27185
- this.visitAllTemplateNodes(template2.directives);
27186
- this.visitAllTemplateNodes(template2.templateAttrs);
27187
- this.visitAllTemplateNodes(template2.variables);
27188
- this.visitAllTemplateNodes(template2.references);
27189
- this.visitAllTemplateNodes(template2.children);
27190
- }
27191
- visitContent(content) {
27192
- this.visitAllTemplateNodes(content.children);
27193
- }
27194
- visitBoundAttribute(attribute2) {
27195
- this.visit(attribute2.value);
27196
- }
27197
- visitBoundEvent(attribute2) {
27198
- this.visit(attribute2.handler);
27199
- }
27200
- visitBoundText(text2) {
27201
- this.visit(text2.value);
27202
- }
27203
- visitIcu(icu) {
27204
- Object.keys(icu.vars).forEach((key) => this.visit(icu.vars[key]));
27205
- Object.keys(icu.placeholders).forEach((key) => this.visit(icu.placeholders[key]));
27206
- }
27207
- visitDeferredBlock(deferred) {
27208
- deferred.visitAll(this);
27209
- }
27210
- visitDeferredTrigger(trigger) {
27211
- if (trigger instanceof BoundDeferredTrigger) {
27212
- this.visit(trigger.value);
27213
- }
27214
- }
27215
- visitDeferredBlockPlaceholder(block) {
27216
- this.visitAllTemplateNodes(block.children);
27217
- }
27218
- visitDeferredBlockError(block) {
27219
- this.visitAllTemplateNodes(block.children);
27220
- }
27221
- visitDeferredBlockLoading(block) {
27222
- this.visitAllTemplateNodes(block.children);
27223
- }
27224
- visitSwitchBlock(block) {
27225
- this.visit(block.expression);
27226
- this.visitAllTemplateNodes(block.cases);
27227
- }
27228
- visitSwitchBlockCase(block) {
27229
- block.expression && this.visit(block.expression);
27230
- this.visitAllTemplateNodes(block.children);
27231
- }
27232
- visitForLoopBlock(block) {
27233
- block.item.visit(this);
27234
- this.visitAllTemplateNodes(block.contextVariables);
27235
- this.visit(block.expression);
27236
- this.visitAllTemplateNodes(block.children);
27237
- block.empty?.visit(this);
27238
- }
27239
- visitForLoopBlockEmpty(block) {
27240
- this.visitAllTemplateNodes(block.children);
27241
- }
27242
- visitIfBlock(block) {
27243
- this.visitAllTemplateNodes(block.branches);
27244
- }
27245
- visitIfBlockBranch(block) {
27246
- block.expression && this.visit(block.expression);
27247
- block.expressionAlias?.visit(this);
27248
- this.visitAllTemplateNodes(block.children);
27249
- }
27250
- visitLetDeclaration(decl) {
27251
- this.visit(decl.value);
27252
- }
27253
- visitComponent(component) {
27254
- this.visitAllTemplateNodes(component.attributes);
27255
- this.visitAllTemplateNodes(component.inputs);
27256
- this.visitAllTemplateNodes(component.outputs);
27257
- this.visitAllTemplateNodes(component.directives);
27258
- this.visitAllTemplateNodes(component.references);
27259
- this.visitAllTemplateNodes(component.children);
27260
- }
27261
- visitDirective(directive) {
27262
- this.visitAllTemplateNodes(directive.attributes);
27263
- this.visitAllTemplateNodes(directive.inputs);
27264
- this.visitAllTemplateNodes(directive.outputs);
27265
- this.visitAllTemplateNodes(directive.references);
27266
- }
27267
- visitVariable(variable2) {
27268
- }
27269
- visitReference(reference2) {
27270
- }
27271
- visitTextAttribute(attribute2) {
27272
- }
27273
- visitText(text2) {
27274
- }
27275
- visitUnknownBlock(block) {
27276
- }
27277
- visitAllTemplateNodes(nodes) {
27278
- for (const node of nodes) {
27279
- this.visit(node);
27280
- }
27281
- }
27282
- };
27283
- var ANIMATE_LEAVE$1 = `animate.leave`;
27284
- function analyzeTemplateForAnimations(template2) {
27285
- const analyzer = new AnimationsAnalyzer();
27286
- visitAll$1(analyzer, template2);
27287
- return analyzer.hasAnimations;
27288
- }
27289
- __name(analyzeTemplateForAnimations, "analyzeTemplateForAnimations");
27290
- var AnimationsAnalyzer = class extends CombinedRecursiveAstVisitor {
27291
- static {
27292
- __name(this, "AnimationsAnalyzer");
27293
- }
27294
- hasAnimations = false;
27295
- visitElement(element2) {
27296
- for (const attr of element2.attributes) {
27297
- if (attr.name === ANIMATE_LEAVE$1) {
27298
- this.hasAnimations = true;
27299
- }
27300
- }
27301
- for (const input of element2.inputs) {
27302
- if (input.name === ANIMATE_LEAVE$1) {
27303
- this.hasAnimations = true;
27304
- }
27305
- }
27306
- for (const output of element2.outputs) {
27307
- if (output.name === ANIMATE_LEAVE$1) {
27308
- this.hasAnimations = true;
27309
- }
27310
- }
27311
- super.visitElement(element2);
27312
- }
27313
- };
27314
27177
  var COMPONENT_VARIABLE = "%COMP%";
27315
27178
  var HOST_ATTR = `_nghost-${COMPONENT_VARIABLE}`;
27316
27179
  var CONTENT_ATTR = `_ngcontent-${COMPONENT_VARIABLE}`;
27317
- var ANIMATE_LEAVE = `animate.leave`;
27318
27180
  function baseDirectiveFields(meta, constantPool, bindingParser) {
27319
27181
  const definitionMap = new DefinitionMap();
27320
27182
  const selectors = parseSelectorToR3Selector(meta.selector);
@@ -27343,10 +27205,6 @@ function baseDirectiveFields(meta, constantPool, bindingParser) {
27343
27205
  return definitionMap;
27344
27206
  }
27345
27207
  __name(baseDirectiveFields, "baseDirectiveFields");
27346
- function hasAnimationHostBinding(meta) {
27347
- return meta.host.attributes[ANIMATE_LEAVE] !== void 0 || meta.host.properties[ANIMATE_LEAVE] !== void 0 || meta.host.listeners[ANIMATE_LEAVE] !== void 0;
27348
- }
27349
- __name(hasAnimationHostBinding, "hasAnimationHostBinding");
27350
27208
  function addFeatures(definitionMap, meta) {
27351
27209
  const features = [];
27352
27210
  const providers = meta.providers;
@@ -27374,12 +27232,6 @@ function addFeatures(definitionMap, meta) {
27374
27232
  const externalStyleNodes = meta.externalStyles.map((externalStyle) => literal(externalStyle));
27375
27233
  features.push(importExpr(Identifiers.ExternalStylesFeature).callFn([literalArr(externalStyleNodes)]));
27376
27234
  }
27377
- const template2 = meta.template;
27378
- if (hasAnimationHostBinding(meta) || template2 && template2.nodes.length > 0) {
27379
- if (hasAnimationHostBinding(meta) || analyzeTemplateForAnimations(template2.nodes)) {
27380
- features.push(importExpr(Identifiers.AnimationsFeature).callFn([]));
27381
- }
27382
- }
27383
27235
  if (features.length) {
27384
27236
  definitionMap.set("features", literalArr(features));
27385
27237
  }
@@ -27748,6 +27600,127 @@ function compileDeferResolverFunction(meta) {
27748
27600
  return arrowFn([], literalArr(depExpressions));
27749
27601
  }
27750
27602
  __name(compileDeferResolverFunction, "compileDeferResolverFunction");
27603
+ var CombinedRecursiveAstVisitor = class extends RecursiveAstVisitor2 {
27604
+ static {
27605
+ __name(this, "CombinedRecursiveAstVisitor");
27606
+ }
27607
+ visit(node) {
27608
+ if (node instanceof ASTWithSource) {
27609
+ this.visit(node.ast);
27610
+ } else {
27611
+ node.visit(this);
27612
+ }
27613
+ }
27614
+ visitElement(element2) {
27615
+ this.visitAllTemplateNodes(element2.attributes);
27616
+ this.visitAllTemplateNodes(element2.inputs);
27617
+ this.visitAllTemplateNodes(element2.outputs);
27618
+ this.visitAllTemplateNodes(element2.directives);
27619
+ this.visitAllTemplateNodes(element2.references);
27620
+ this.visitAllTemplateNodes(element2.children);
27621
+ }
27622
+ visitTemplate(template2) {
27623
+ this.visitAllTemplateNodes(template2.attributes);
27624
+ this.visitAllTemplateNodes(template2.inputs);
27625
+ this.visitAllTemplateNodes(template2.outputs);
27626
+ this.visitAllTemplateNodes(template2.directives);
27627
+ this.visitAllTemplateNodes(template2.templateAttrs);
27628
+ this.visitAllTemplateNodes(template2.variables);
27629
+ this.visitAllTemplateNodes(template2.references);
27630
+ this.visitAllTemplateNodes(template2.children);
27631
+ }
27632
+ visitContent(content) {
27633
+ this.visitAllTemplateNodes(content.children);
27634
+ }
27635
+ visitBoundAttribute(attribute2) {
27636
+ this.visit(attribute2.value);
27637
+ }
27638
+ visitBoundEvent(attribute2) {
27639
+ this.visit(attribute2.handler);
27640
+ }
27641
+ visitBoundText(text2) {
27642
+ this.visit(text2.value);
27643
+ }
27644
+ visitIcu(icu) {
27645
+ Object.keys(icu.vars).forEach((key) => this.visit(icu.vars[key]));
27646
+ Object.keys(icu.placeholders).forEach((key) => this.visit(icu.placeholders[key]));
27647
+ }
27648
+ visitDeferredBlock(deferred) {
27649
+ deferred.visitAll(this);
27650
+ }
27651
+ visitDeferredTrigger(trigger) {
27652
+ if (trigger instanceof BoundDeferredTrigger) {
27653
+ this.visit(trigger.value);
27654
+ }
27655
+ }
27656
+ visitDeferredBlockPlaceholder(block) {
27657
+ this.visitAllTemplateNodes(block.children);
27658
+ }
27659
+ visitDeferredBlockError(block) {
27660
+ this.visitAllTemplateNodes(block.children);
27661
+ }
27662
+ visitDeferredBlockLoading(block) {
27663
+ this.visitAllTemplateNodes(block.children);
27664
+ }
27665
+ visitSwitchBlock(block) {
27666
+ this.visit(block.expression);
27667
+ this.visitAllTemplateNodes(block.cases);
27668
+ }
27669
+ visitSwitchBlockCase(block) {
27670
+ block.expression && this.visit(block.expression);
27671
+ this.visitAllTemplateNodes(block.children);
27672
+ }
27673
+ visitForLoopBlock(block) {
27674
+ block.item.visit(this);
27675
+ this.visitAllTemplateNodes(block.contextVariables);
27676
+ this.visit(block.expression);
27677
+ this.visitAllTemplateNodes(block.children);
27678
+ block.empty?.visit(this);
27679
+ }
27680
+ visitForLoopBlockEmpty(block) {
27681
+ this.visitAllTemplateNodes(block.children);
27682
+ }
27683
+ visitIfBlock(block) {
27684
+ this.visitAllTemplateNodes(block.branches);
27685
+ }
27686
+ visitIfBlockBranch(block) {
27687
+ block.expression && this.visit(block.expression);
27688
+ block.expressionAlias?.visit(this);
27689
+ this.visitAllTemplateNodes(block.children);
27690
+ }
27691
+ visitLetDeclaration(decl) {
27692
+ this.visit(decl.value);
27693
+ }
27694
+ visitComponent(component) {
27695
+ this.visitAllTemplateNodes(component.attributes);
27696
+ this.visitAllTemplateNodes(component.inputs);
27697
+ this.visitAllTemplateNodes(component.outputs);
27698
+ this.visitAllTemplateNodes(component.directives);
27699
+ this.visitAllTemplateNodes(component.references);
27700
+ this.visitAllTemplateNodes(component.children);
27701
+ }
27702
+ visitDirective(directive) {
27703
+ this.visitAllTemplateNodes(directive.attributes);
27704
+ this.visitAllTemplateNodes(directive.inputs);
27705
+ this.visitAllTemplateNodes(directive.outputs);
27706
+ this.visitAllTemplateNodes(directive.references);
27707
+ }
27708
+ visitVariable(variable2) {
27709
+ }
27710
+ visitReference(reference2) {
27711
+ }
27712
+ visitTextAttribute(attribute2) {
27713
+ }
27714
+ visitText(text2) {
27715
+ }
27716
+ visitUnknownBlock(block) {
27717
+ }
27718
+ visitAllTemplateNodes(nodes) {
27719
+ for (const node of nodes) {
27720
+ this.visit(node);
27721
+ }
27722
+ }
27723
+ };
27751
27724
  function diff(fullList, itemsToExclude) {
27752
27725
  const exclude = new Set(itemsToExclude);
27753
27726
  return fullList.filter((item) => !exclude.has(item));
@@ -30982,7 +30955,7 @@ var MINIMUM_PARTIAL_LINKER_DEFER_SUPPORT_VERSION = "18.0.0";
30982
30955
  function compileDeclareClassMetadata(metadata) {
30983
30956
  const definitionMap = new DefinitionMap();
30984
30957
  definitionMap.set("minVersion", literal(MINIMUM_PARTIAL_LINKER_VERSION$5));
30985
- definitionMap.set("version", literal("20.3.0"));
30958
+ definitionMap.set("version", literal("20.3.3"));
30986
30959
  definitionMap.set("ngImport", importExpr(Identifiers.core));
30987
30960
  definitionMap.set("type", metadata.type);
30988
30961
  definitionMap.set("decorators", metadata.decorators);
@@ -31001,7 +30974,7 @@ function compileComponentDeclareClassMetadata(metadata, dependencies) {
31001
30974
  callbackReturnDefinitionMap.set("ctorParameters", metadata.ctorParameters ?? literal(null));
31002
30975
  callbackReturnDefinitionMap.set("propDecorators", metadata.propDecorators ?? literal(null));
31003
30976
  definitionMap.set("minVersion", literal(MINIMUM_PARTIAL_LINKER_DEFER_SUPPORT_VERSION));
31004
- definitionMap.set("version", literal("20.3.0"));
30977
+ definitionMap.set("version", literal("20.3.3"));
31005
30978
  definitionMap.set("ngImport", importExpr(Identifiers.core));
31006
30979
  definitionMap.set("type", metadata.type);
31007
30980
  definitionMap.set("resolveDeferredDeps", compileComponentMetadataAsyncResolver(dependencies));
@@ -31070,7 +31043,7 @@ function createDirectiveDefinitionMap(meta) {
31070
31043
  const definitionMap = new DefinitionMap();
31071
31044
  const minVersion = getMinimumVersionForPartialOutput(meta);
31072
31045
  definitionMap.set("minVersion", literal(minVersion));
31073
- definitionMap.set("version", literal("20.3.0"));
31046
+ definitionMap.set("version", literal("20.3.3"));
31074
31047
  definitionMap.set("type", meta.type.value);
31075
31048
  if (meta.isStandalone !== void 0) {
31076
31049
  definitionMap.set("isStandalone", literal(meta.isStandalone));
@@ -31397,7 +31370,7 @@ var MINIMUM_PARTIAL_LINKER_VERSION$4 = "12.0.0";
31397
31370
  function compileDeclareFactoryFunction(meta) {
31398
31371
  const definitionMap = new DefinitionMap();
31399
31372
  definitionMap.set("minVersion", literal(MINIMUM_PARTIAL_LINKER_VERSION$4));
31400
- definitionMap.set("version", literal("20.3.0"));
31373
+ definitionMap.set("version", literal("20.3.3"));
31401
31374
  definitionMap.set("ngImport", importExpr(Identifiers.core));
31402
31375
  definitionMap.set("type", meta.type.value);
31403
31376
  definitionMap.set("deps", compileDependencies(meta.deps));
@@ -31420,7 +31393,7 @@ __name(compileDeclareInjectableFromMetadata, "compileDeclareInjectableFromMetada
31420
31393
  function createInjectableDefinitionMap(meta) {
31421
31394
  const definitionMap = new DefinitionMap();
31422
31395
  definitionMap.set("minVersion", literal(MINIMUM_PARTIAL_LINKER_VERSION$3));
31423
- definitionMap.set("version", literal("20.3.0"));
31396
+ definitionMap.set("version", literal("20.3.3"));
31424
31397
  definitionMap.set("ngImport", importExpr(Identifiers.core));
31425
31398
  definitionMap.set("type", meta.type.value);
31426
31399
  if (meta.providedIn !== void 0) {
@@ -31458,7 +31431,7 @@ __name(compileDeclareInjectorFromMetadata, "compileDeclareInjectorFromMetadata")
31458
31431
  function createInjectorDefinitionMap(meta) {
31459
31432
  const definitionMap = new DefinitionMap();
31460
31433
  definitionMap.set("minVersion", literal(MINIMUM_PARTIAL_LINKER_VERSION$2));
31461
- definitionMap.set("version", literal("20.3.0"));
31434
+ definitionMap.set("version", literal("20.3.3"));
31462
31435
  definitionMap.set("ngImport", importExpr(Identifiers.core));
31463
31436
  definitionMap.set("type", meta.type.value);
31464
31437
  definitionMap.set("providers", meta.providers);
@@ -31482,7 +31455,7 @@ function createNgModuleDefinitionMap(meta) {
31482
31455
  throw new Error("Invalid path! Local compilation mode should not get into the partial compilation path");
31483
31456
  }
31484
31457
  definitionMap.set("minVersion", literal(MINIMUM_PARTIAL_LINKER_VERSION$1));
31485
- definitionMap.set("version", literal("20.3.0"));
31458
+ definitionMap.set("version", literal("20.3.3"));
31486
31459
  definitionMap.set("ngImport", importExpr(Identifiers.core));
31487
31460
  definitionMap.set("type", meta.type.value);
31488
31461
  if (meta.bootstrap.length > 0) {
@@ -31517,7 +31490,7 @@ __name(compileDeclarePipeFromMetadata, "compileDeclarePipeFromMetadata");
31517
31490
  function createPipeDefinitionMap(meta) {
31518
31491
  const definitionMap = new DefinitionMap();
31519
31492
  definitionMap.set("minVersion", literal(MINIMUM_PARTIAL_LINKER_VERSION));
31520
- definitionMap.set("version", literal("20.3.0"));
31493
+ definitionMap.set("version", literal("20.3.3"));
31521
31494
  definitionMap.set("ngImport", importExpr(Identifiers.core));
31522
31495
  definitionMap.set("type", meta.type.value);
31523
31496
  if (meta.isStandalone !== void 0) {
@@ -31614,7 +31587,7 @@ function compileHmrUpdateCallback(definitions, constantStatements, meta) {
31614
31587
  return new DeclareFunctionStmt(`${meta.className}_UpdateMetadata`, params, body, null, StmtModifier.Final);
31615
31588
  }
31616
31589
  __name(compileHmrUpdateCallback, "compileHmrUpdateCallback");
31617
- var VERSION = new Version("20.3.0");
31590
+ var VERSION = new Version("20.3.3");
31618
31591
  publishFacade(_global);
31619
31592
  // Annotate the CommonJS export names for ESM import in node:
31620
31593
  0 && (module.exports = {
@@ -31730,6 +31703,7 @@ publishFacade(_global);
31730
31703
  RecursiveVisitor,
31731
31704
  ResourceLoader,
31732
31705
  ReturnStatement,
31706
+ SCHEMA,
31733
31707
  SECURITY_SCHEMA,
31734
31708
  STRING_TYPE,
31735
31709
  SafeCall,
@@ -31815,6 +31789,7 @@ publishFacade(_global);
31815
31789
  Xmb,
31816
31790
  XmlParser,
31817
31791
  Xtb,
31792
+ _ATTR_TO_PROP,
31818
31793
  compileClassDebugInfo,
31819
31794
  compileClassMetadata,
31820
31795
  compileComponentClassMetadata,
@@ -31878,7 +31853,7 @@ publishFacade(_global);
31878
31853
 
31879
31854
  @angular/compiler/fesm2022/compiler.mjs:
31880
31855
  (**
31881
- * @license Angular v20.3.0
31856
+ * @license Angular v20.3.3
31882
31857
  * (c) 2010-2025 Google LLC. https://angular.io/
31883
31858
  * License: MIT
31884
31859
  *)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@angular-eslint/bundled-angular-compiler",
3
- "version": "20.3.1-alpha.2",
3
+ "version": "20.3.1-alpha.21",
4
4
  "description": "A CJS bundled version of @angular/compiler",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",