@angular/compiler-cli 19.1.5 → 19.2.0-next.1

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 (32) hide show
  1. package/bundles/{chunk-KEYCV7GA.js → chunk-2LUVAZUS.js} +3 -3
  2. package/bundles/{chunk-ADWOXAAC.js → chunk-5COTWN7J.js} +2 -2
  3. package/bundles/{chunk-DNXA7U6Z.js → chunk-LPSGMAO4.js} +4 -4
  4. package/bundles/{chunk-DNKJBJUY.js → chunk-NVY57P6E.js} +3 -3
  5. package/bundles/{chunk-K5NXWRJU.js → chunk-QAZCJIR5.js} +45 -64
  6. package/bundles/chunk-QAZCJIR5.js.map +6 -0
  7. package/bundles/{chunk-EEK4TGRE.js → chunk-SLXP6HEG.js} +2 -2
  8. package/bundles/{chunk-WKHF7UQD.js → chunk-T2AA53RT.js} +33 -15
  9. package/bundles/{chunk-WKHF7UQD.js.map → chunk-T2AA53RT.js.map} +1 -1
  10. package/bundles/index.js +6 -6
  11. package/bundles/linker/babel/index.js +6 -3
  12. package/bundles/linker/babel/index.js.map +1 -1
  13. package/bundles/linker/index.js +2 -2
  14. package/bundles/private/migrations.js +2 -2
  15. package/bundles/private/tooling.js +4 -4
  16. package/bundles/src/bin/ng_xi18n.js +5 -5
  17. package/bundles/src/bin/ngc.js +5 -5
  18. package/bundles_metadata.json +1 -1
  19. package/linker/babel/src/ast/babel_ast_factory.d.ts +1 -0
  20. package/linker/src/file_linker/partial_linkers/util.d.ts +1 -1
  21. package/package.json +2 -2
  22. package/src/ngtsc/hmr/src/extract_dependencies.d.ts +4 -8
  23. package/src/ngtsc/hmr/src/metadata.d.ts +1 -2
  24. package/src/ngtsc/translator/src/api/ast_factory.d.ts +11 -0
  25. package/src/ngtsc/translator/src/translator.d.ts +4 -1
  26. package/src/ngtsc/translator/src/typescript_ast_factory.d.ts +1 -0
  27. package/bundles/chunk-K5NXWRJU.js.map +0 -6
  28. /package/bundles/{chunk-KEYCV7GA.js.map → chunk-2LUVAZUS.js.map} +0 -0
  29. /package/bundles/{chunk-ADWOXAAC.js.map → chunk-5COTWN7J.js.map} +0 -0
  30. /package/bundles/{chunk-DNXA7U6Z.js.map → chunk-LPSGMAO4.js.map} +0 -0
  31. /package/bundles/{chunk-DNKJBJUY.js.map → chunk-NVY57P6E.js.map} +0 -0
  32. /package/bundles/{chunk-EEK4TGRE.js.map → chunk-SLXP6HEG.js.map} +0 -0
@@ -5,7 +5,7 @@
5
5
  import {
6
6
  Context,
7
7
  ExpressionTranslatorVisitor
8
- } from "./chunk-WKHF7UQD.js";
8
+ } from "./chunk-T2AA53RT.js";
9
9
  import {
10
10
  SourceFileLoader
11
11
  } from "./chunk-5UDS2TPQ.js";
@@ -311,7 +311,7 @@ import { compileDirectiveFromMetadata, makeBindingParser, ParseLocation, ParseSo
311
311
  // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/linker/src/file_linker/partial_linkers/util.mjs
312
312
  import { createMayBeForwardRefExpression, outputAst as o2 } from "@angular/compiler";
313
313
  import semver from "semver";
314
- var PLACEHOLDER_VERSION = "19.1.5";
314
+ var PLACEHOLDER_VERSION = "19.2.0-next.1";
315
315
  function wrapReference(wrapped) {
316
316
  return { value: wrapped, type: wrapped };
317
317
  }
@@ -1150,4 +1150,4 @@ export {
1150
1150
  * Use of this source code is governed by an MIT-style license that can be
1151
1151
  * found in the LICENSE file at https://angular.dev/license
1152
1152
  */
1153
- //# sourceMappingURL=chunk-KEYCV7GA.js.map
1153
+ //# sourceMappingURL=chunk-2LUVAZUS.js.map
@@ -12,7 +12,7 @@ import {
12
12
  formatDiagnostics,
13
13
  performCompilation,
14
14
  readConfiguration
15
- } from "./chunk-DNXA7U6Z.js";
15
+ } from "./chunk-LPSGMAO4.js";
16
16
 
17
17
  // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/main.mjs
18
18
  import ts2 from "typescript";
@@ -363,4 +363,4 @@ export {
363
363
  * Use of this source code is governed by an MIT-style license that can be
364
364
  * found in the LICENSE file at https://angular.dev/license
365
365
  */
366
- //# sourceMappingURL=chunk-ADWOXAAC.js.map
366
+ //# sourceMappingURL=chunk-5COTWN7J.js.map
@@ -4,7 +4,7 @@
4
4
 
5
5
  import {
6
6
  angularJitApplicationTransform
7
- } from "./chunk-DNKJBJUY.js";
7
+ } from "./chunk-NVY57P6E.js";
8
8
  import {
9
9
  CompilationMode,
10
10
  ComponentDecoratorHandler,
@@ -51,7 +51,7 @@ import {
51
51
  retagAllTsFiles,
52
52
  tryParseInitializerApi,
53
53
  untagAllTsFiles
54
- } from "./chunk-K5NXWRJU.js";
54
+ } from "./chunk-QAZCJIR5.js";
55
55
  import {
56
56
  AbsoluteModuleStrategy,
57
57
  AliasStrategy,
@@ -87,7 +87,7 @@ import {
87
87
  relativePathBetween,
88
88
  replaceTsWithNgInErrors,
89
89
  toUnredirectedSourceFile
90
- } from "./chunk-WKHF7UQD.js";
90
+ } from "./chunk-T2AA53RT.js";
91
91
  import {
92
92
  ActivePerfRecorder,
93
93
  DelegatingPerfRecorder,
@@ -5034,4 +5034,4 @@ export {
5034
5034
  * Use of this source code is governed by an MIT-style license that can be
5035
5035
  * found in the LICENSE file at https://angular.dev/license
5036
5036
  */
5037
- //# sourceMappingURL=chunk-DNXA7U6Z.js.map
5037
+ //# sourceMappingURL=chunk-LPSGMAO4.js.map
@@ -10,7 +10,7 @@ import {
10
10
  tryParseSignalInputMapping,
11
11
  tryParseSignalModelMapping,
12
12
  tryParseSignalQueryFromInitializer
13
- } from "./chunk-K5NXWRJU.js";
13
+ } from "./chunk-QAZCJIR5.js";
14
14
  import {
15
15
  ImportManager,
16
16
  ImportedSymbolsTracker,
@@ -18,7 +18,7 @@ import {
18
18
  isAliasImportDeclaration,
19
19
  loadIsReferencedAliasDeclarationPatch,
20
20
  reflectClassMember
21
- } from "./chunk-WKHF7UQD.js";
21
+ } from "./chunk-T2AA53RT.js";
22
22
 
23
23
  // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/jit/src/downlevel_decorators_transform.mjs
24
24
  import ts from "typescript";
@@ -536,4 +536,4 @@ export {
536
536
  * Use of this source code is governed by an MIT-style license that can be
537
537
  * found in the LICENSE file at https://angular.dev/license
538
538
  */
539
- //# sourceMappingURL=chunk-DNKJBJUY.js.map
539
+ //# sourceMappingURL=chunk-NVY57P6E.js.map
@@ -48,7 +48,7 @@ import {
48
48
  translateStatement,
49
49
  translateType,
50
50
  typeNodeToValueExpr
51
- } from "./chunk-WKHF7UQD.js";
51
+ } from "./chunk-T2AA53RT.js";
52
52
  import {
53
53
  PerfCheckpoint,
54
54
  PerfEvent,
@@ -741,10 +741,10 @@ var StaticInterpreter = class {
741
741
  visitEnumDeclaration(node, context) {
742
742
  const enumRef = this.getReference(node, context);
743
743
  const map = /* @__PURE__ */ new Map();
744
- node.members.forEach((member, index) => {
744
+ node.members.forEach((member) => {
745
745
  const name = this.stringNameFromPropertyName(member.name, context);
746
746
  if (name !== void 0) {
747
- const resolved = member.initializer ? this.visit(member.initializer, context) : index;
747
+ const resolved = member.initializer && this.visit(member.initializer, context);
748
748
  map.set(name, new EnumValue(enumRef, name, resolved));
749
749
  }
750
750
  });
@@ -10132,6 +10132,29 @@ var AstTranslator = class {
10132
10132
  addParseSpanInfo(node, ast.sourceSpan);
10133
10133
  return node;
10134
10134
  }
10135
+ visitTemplateLiteral(ast) {
10136
+ const length = ast.elements.length;
10137
+ const head = ast.elements[0];
10138
+ let result;
10139
+ if (length === 1) {
10140
+ result = ts40.factory.createNoSubstitutionTemplateLiteral(head.text);
10141
+ } else {
10142
+ const spans = [];
10143
+ const tailIndex = length - 1;
10144
+ for (let i = 1; i < tailIndex; i++) {
10145
+ const middle = ts40.factory.createTemplateMiddle(ast.elements[i].text);
10146
+ spans.push(ts40.factory.createTemplateSpan(this.translate(ast.expressions[i - 1]), middle));
10147
+ }
10148
+ const resolvedExpression = this.translate(ast.expressions[tailIndex - 1]);
10149
+ const templateTail = ts40.factory.createTemplateTail(ast.elements[tailIndex].text);
10150
+ spans.push(ts40.factory.createTemplateSpan(resolvedExpression, templateTail));
10151
+ result = ts40.factory.createTemplateExpression(ts40.factory.createTemplateHead(head.text), spans);
10152
+ }
10153
+ return result;
10154
+ }
10155
+ visitTemplateLiteralElement(ast, context) {
10156
+ throw new Error("Method not implemented");
10157
+ }
10135
10158
  convertToSafeCall(ast, expr, args) {
10136
10159
  if (this.config.strictSafeNavigationTypes) {
10137
10160
  const call = ts40.factory.createCallExpression(ts40.factory.createNonNullExpression(expr), void 0, args);
@@ -10214,6 +10237,12 @@ var _VeSafeLhsInferenceBugDetector = class {
10214
10237
  visitSafeKeyedRead(ast) {
10215
10238
  return false;
10216
10239
  }
10240
+ visitTemplateLiteral(ast, context) {
10241
+ return false;
10242
+ }
10243
+ visitTemplateLiteralElement(ast, context) {
10244
+ return false;
10245
+ }
10217
10246
  };
10218
10247
  var VeSafeLhsInferenceBugDetector = _VeSafeLhsInferenceBugDetector;
10219
10248
  __publicField(VeSafeLhsInferenceBugDetector, "SINGLETON", new _VeSafeLhsInferenceBugDetector());
@@ -13638,7 +13667,7 @@ import { outputAst as o3 } from "@angular/compiler";
13638
13667
  // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/hmr/src/extract_dependencies.mjs
13639
13668
  import { outputAst as o2 } from "@angular/compiler";
13640
13669
  import ts45 from "typescript";
13641
- function extractHmrDependencies(node, definition, factory, deferBlockMetadata, classMetadata, debugInfo, reflection, evaluator) {
13670
+ function extractHmrDependencies(node, definition, factory, deferBlockMetadata, classMetadata, debugInfo) {
13642
13671
  var _a, _b;
13643
13672
  const name = ts45.isClassDeclaration(node) && node.name ? node.name.text : null;
13644
13673
  const visitor = new PotentialTopLevelReadsVisitor();
@@ -13655,55 +13684,19 @@ function extractHmrDependencies(node, definition, factory, deferBlockMetadata, c
13655
13684
  (_b = deferBlockMetadata.dependenciesFn) == null ? void 0 : _b.visitExpression(visitor, null);
13656
13685
  }
13657
13686
  const availableTopLevel = getTopLevelDeclarationNames(sourceFile);
13658
- const local = [];
13659
- const seenLocals = /* @__PURE__ */ new Set();
13660
- for (const readNode of visitor.allReads) {
13661
- const readName = readNode instanceof o2.ReadVarExpr ? readNode.name : readNode.text;
13662
- if (readName !== name && !seenLocals.has(readName) && availableTopLevel.has(readName)) {
13663
- const runtimeRepresentation = getRuntimeRepresentation(readNode, reflection, evaluator);
13664
- if (runtimeRepresentation === null) {
13665
- return null;
13666
- }
13667
- local.push({ name: readName, runtimeRepresentation });
13668
- seenLocals.add(readName);
13669
- }
13670
- }
13671
13687
  return {
13672
- local,
13688
+ local: Array.from(visitor.allReads).filter((r) => r !== name && availableTopLevel.has(r)),
13673
13689
  external: Array.from(visitor.namespaceReads, (name2, index) => ({
13674
13690
  moduleName: name2,
13675
13691
  assignedName: `\u0275hmr${index}`
13676
13692
  }))
13677
13693
  };
13678
13694
  }
13679
- function getRuntimeRepresentation(node, reflection, evaluator) {
13680
- if (node instanceof o2.ReadVarExpr) {
13681
- return o2.variable(node.name);
13682
- }
13683
- if (isConstEnumReference(node, reflection)) {
13684
- const evaluated = evaluator.evaluate(node);
13685
- if (evaluated instanceof Map) {
13686
- const members = [];
13687
- for (const [name, value] of evaluated.entries()) {
13688
- if (value instanceof EnumValue && (value.resolved == null || typeof value.resolved === "string" || typeof value.resolved === "boolean" || typeof value.resolved === "number")) {
13689
- members.push({
13690
- key: name,
13691
- quoted: false,
13692
- value: o2.literal(value.resolved)
13693
- });
13694
- } else {
13695
- return null;
13696
- }
13697
- }
13698
- return o2.literalMap(members);
13699
- }
13700
- }
13701
- return o2.variable(node.text);
13702
- }
13703
13695
  function getTopLevelDeclarationNames(sourceFile) {
13696
+ var _a;
13704
13697
  const results = /* @__PURE__ */ new Set();
13705
13698
  for (const node of sourceFile.statements) {
13706
- if (ts45.isClassDeclaration(node) || ts45.isFunctionDeclaration(node) || ts45.isEnumDeclaration(node)) {
13699
+ if (ts45.isClassDeclaration(node) || ts45.isFunctionDeclaration(node) || ts45.isEnumDeclaration(node) && !((_a = node.modifiers) == null ? void 0 : _a.some((m) => m.kind === ts45.SyntaxKind.ConstKeyword))) {
13707
13700
  if (node.name) {
13708
13701
  results.add(node.name.text);
13709
13702
  }
@@ -13761,7 +13754,7 @@ var PotentialTopLevelReadsVisitor = class extends o2.RecursiveAstVisitor {
13761
13754
  super.visitExternalExpr(ast, context);
13762
13755
  }
13763
13756
  visitReadVarExpr(ast, context) {
13764
- this.allReads.add(ast);
13757
+ this.allReads.add(ast.name);
13765
13758
  super.visitReadVarExpr(ast, context);
13766
13759
  }
13767
13760
  visitWrappedNodeExpr(ast, context) {
@@ -13772,7 +13765,7 @@ var PotentialTopLevelReadsVisitor = class extends o2.RecursiveAstVisitor {
13772
13765
  }
13773
13766
  addAllTopLevelIdentifiers = (node) => {
13774
13767
  if (ts45.isIdentifier(node) && this.isTopLevelIdentifierReference(node)) {
13775
- this.allReads.add(node);
13768
+ this.allReads.add(node.text);
13776
13769
  } else {
13777
13770
  ts45.forEachChild(node, this.addAllTopLevelIdentifiers);
13778
13771
  }
@@ -13837,27 +13830,15 @@ var PotentialTopLevelReadsVisitor = class extends o2.RecursiveAstVisitor {
13837
13830
  return !!value && typeof value.kind === "number";
13838
13831
  }
13839
13832
  };
13840
- function isConstEnumReference(node, reflection) {
13841
- var _a;
13842
- const parent = node.parent;
13843
- if (!parent || !ts45.isPropertyAccessExpression(parent) || parent.expression !== node || !ts45.isIdentifier(parent.name)) {
13844
- return false;
13845
- }
13846
- const declaration = reflection.getDeclarationOfIdentifier(node);
13847
- return declaration !== null && ts45.isEnumDeclaration(declaration.node) && !!((_a = declaration.node.modifiers) == null ? void 0 : _a.some((m) => m.kind === ts45.SyntaxKind.ConstKeyword));
13848
- }
13849
13833
 
13850
13834
  // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/hmr/src/metadata.mjs
13851
- function extractHmrMetatadata(clazz, reflection, evaluator, compilerHost, rootDirs, definition, factory, deferBlockMetadata, classMetadata, debugInfo) {
13835
+ function extractHmrMetatadata(clazz, reflection, compilerHost, rootDirs, definition, factory, deferBlockMetadata, classMetadata, debugInfo) {
13852
13836
  if (!reflection.isClass(clazz)) {
13853
13837
  return null;
13854
13838
  }
13855
13839
  const sourceFile = clazz.getSourceFile();
13856
13840
  const filePath = getProjectRelativePath(sourceFile.fileName, rootDirs, compilerHost) || compilerHost.getCanonicalFileName(sourceFile.fileName);
13857
- const dependencies = extractHmrDependencies(clazz, definition, factory, deferBlockMetadata, classMetadata, debugInfo, reflection, evaluator);
13858
- if (dependencies === null) {
13859
- return null;
13860
- }
13841
+ const dependencies = extractHmrDependencies(clazz, definition, factory, deferBlockMetadata, classMetadata, debugInfo);
13861
13842
  const meta = {
13862
13843
  type: new o3.WrappedNodeExpr(clazz.name),
13863
13844
  className: clazz.name.text,
@@ -14769,7 +14750,7 @@ var ComponentDecoratorHandler = class {
14769
14750
  const inputTransformFields = compileInputTransformFields(analysis.inputs);
14770
14751
  const classMetadata = analysis.classMetadata !== null ? compileComponentClassMetadata(analysis.classMetadata, perComponentDeferredDeps).toStmt() : null;
14771
14752
  const debugInfo = analysis.classDebugInfo !== null ? compileClassDebugInfo(analysis.classDebugInfo).toStmt() : null;
14772
- const hmrMeta = this.enableHmr ? extractHmrMetatadata(node, this.reflector, this.evaluator, this.compilerHost, this.rootDirs, def, fac, defer, classMetadata, debugInfo) : null;
14753
+ const hmrMeta = this.enableHmr ? extractHmrMetatadata(node, this.reflector, this.compilerHost, this.rootDirs, def, fac, defer, classMetadata, debugInfo) : null;
14773
14754
  const hmrInitializer = hmrMeta ? compileHmrInitializer(hmrMeta).toStmt() : null;
14774
14755
  const deferrableImports = this.canDeferDeps ? this.deferredSymbolTracker.getDeferrableImportDecls() : null;
14775
14756
  return compileResults(fac, def, classMetadata, "\u0275cmp", inputTransformFields, deferrableImports, debugInfo, hmrInitializer);
@@ -14795,7 +14776,7 @@ var ComponentDecoratorHandler = class {
14795
14776
  const inputTransformFields = compileInputTransformFields(analysis.inputs);
14796
14777
  const def = compileDeclareComponentFromMetadata(meta, analysis.template, templateInfo);
14797
14778
  const classMetadata = analysis.classMetadata !== null ? compileComponentDeclareClassMetadata(analysis.classMetadata, perComponentDeferredDeps).toStmt() : null;
14798
- const hmrMeta = this.enableHmr ? extractHmrMetatadata(node, this.reflector, this.evaluator, this.compilerHost, this.rootDirs, def, fac, defer, classMetadata, null) : null;
14779
+ const hmrMeta = this.enableHmr ? extractHmrMetatadata(node, this.reflector, this.compilerHost, this.rootDirs, def, fac, defer, classMetadata, null) : null;
14799
14780
  const hmrInitializer = hmrMeta ? compileHmrInitializer(hmrMeta).toStmt() : null;
14800
14781
  const deferrableImports = this.canDeferDeps ? this.deferredSymbolTracker.getDeferrableImportDecls() : null;
14801
14782
  return compileResults(fac, def, classMetadata, "\u0275cmp", inputTransformFields, deferrableImports, null, hmrInitializer);
@@ -14816,7 +14797,7 @@ var ComponentDecoratorHandler = class {
14816
14797
  const inputTransformFields = compileInputTransformFields(analysis.inputs);
14817
14798
  const classMetadata = analysis.classMetadata !== null ? compileComponentClassMetadata(analysis.classMetadata, deferrableTypes).toStmt() : null;
14818
14799
  const debugInfo = analysis.classDebugInfo !== null ? compileClassDebugInfo(analysis.classDebugInfo).toStmt() : null;
14819
- const hmrMeta = this.enableHmr ? extractHmrMetatadata(node, this.reflector, this.evaluator, this.compilerHost, this.rootDirs, def, fac, defer, classMetadata, debugInfo) : null;
14800
+ const hmrMeta = this.enableHmr ? extractHmrMetatadata(node, this.reflector, this.compilerHost, this.rootDirs, def, fac, defer, classMetadata, debugInfo) : null;
14820
14801
  const hmrInitializer = hmrMeta ? compileHmrInitializer(hmrMeta).toStmt() : null;
14821
14802
  const deferrableImports = this.canDeferDeps ? this.deferredSymbolTracker.getDeferrableImportDecls() : null;
14822
14803
  return compileResults(fac, def, classMetadata, "\u0275cmp", inputTransformFields, deferrableImports, debugInfo, hmrInitializer);
@@ -14836,7 +14817,7 @@ var ComponentDecoratorHandler = class {
14836
14817
  const def = compileComponentFromMetadata(meta, pool, makeBindingParser2());
14837
14818
  const classMetadata = analysis.classMetadata !== null ? compileComponentClassMetadata(analysis.classMetadata, null).toStmt() : null;
14838
14819
  const debugInfo = analysis.classDebugInfo !== null ? compileClassDebugInfo(analysis.classDebugInfo).toStmt() : null;
14839
- const hmrMeta = this.enableHmr ? extractHmrMetatadata(node, this.reflector, this.evaluator, this.compilerHost, this.rootDirs, def, fac, defer, classMetadata, debugInfo) : null;
14820
+ const hmrMeta = this.enableHmr ? extractHmrMetatadata(node, this.reflector, this.compilerHost, this.rootDirs, def, fac, defer, classMetadata, debugInfo) : null;
14840
14821
  const res = compileResults(fac, def, classMetadata, "\u0275cmp", null, null, debugInfo, null);
14841
14822
  return hmrMeta === null || res.length === 0 ? null : getHmrUpdateDeclaration(res, pool.statements, hmrMeta, node.getSourceFile());
14842
14823
  }
@@ -15566,4 +15547,4 @@ export {
15566
15547
  * Use of this source code is governed by an MIT-style license that can be
15567
15548
  * found in the LICENSE file at https://angular.dev/license
15568
15549
  */
15569
- //# sourceMappingURL=chunk-K5NXWRJU.js.map
15550
+ //# sourceMappingURL=chunk-QAZCJIR5.js.map