@angular/core 20.0.0-rc.0 → 20.0.0-rc.2

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 (75) hide show
  1. package/{api.d-CRxC7NlU.d.ts → api.d-B0vztftH.d.ts} +15 -15
  2. package/{chrome_dev_tools_performance.d-B0FzTuRf.d.ts → chrome_dev_tools_performance.d-DvzAxqBc.d.ts} +9 -29
  3. package/{discovery.d-CBxzK1ay.d.ts → discovery.d-Cf_r2Ojk.d.ts} +7 -13
  4. package/{event_dispatcher.d-DlbccpYq.d.ts → event_dispatcher.d-BReQpZfC.d.ts} +27 -1
  5. package/fesm2022/attribute-BWp59EjE.mjs +1 -1
  6. package/fesm2022/attribute-BWp59EjE.mjs.map +1 -1
  7. package/fesm2022/core.mjs +21 -14
  8. package/fesm2022/core.mjs.map +1 -1
  9. package/fesm2022/{debug_node-3mmnD06K.mjs → debug_node-Nc-zr65s.mjs} +11161 -11262
  10. package/fesm2022/debug_node-Nc-zr65s.mjs.map +1 -0
  11. package/fesm2022/primitives/di.mjs +1 -1
  12. package/fesm2022/primitives/di.mjs.map +1 -1
  13. package/fesm2022/primitives/event-dispatch.mjs +3 -2
  14. package/fesm2022/primitives/event-dispatch.mjs.map +1 -1
  15. package/fesm2022/primitives/signals.mjs +1 -1
  16. package/fesm2022/primitives/signals.mjs.map +1 -1
  17. package/fesm2022/{resource-nrAenwIA.mjs → resource-DOwetGLU.mjs} +64 -14
  18. package/fesm2022/resource-DOwetGLU.mjs.map +1 -0
  19. package/fesm2022/{root_effect_scheduler-B_EWGyLU.mjs → root_effect_scheduler-BgGHQ80j.mjs} +29 -17
  20. package/fesm2022/root_effect_scheduler-BgGHQ80j.mjs.map +1 -0
  21. package/fesm2022/rxjs-interop.mjs +27 -12
  22. package/fesm2022/rxjs-interop.mjs.map +1 -1
  23. package/fesm2022/signal-ePSl6jXn.mjs +1 -1
  24. package/fesm2022/signal-ePSl6jXn.mjs.map +1 -1
  25. package/fesm2022/testing.mjs +86 -77
  26. package/fesm2022/testing.mjs.map +1 -1
  27. package/fesm2022/untracked-2ouAFbCz.mjs +1 -1
  28. package/fesm2022/untracked-2ouAFbCz.mjs.map +1 -1
  29. package/fesm2022/weak_ref-BaIq-pgY.mjs +1 -1
  30. package/fesm2022/weak_ref-BaIq-pgY.mjs.map +1 -1
  31. package/graph.d-BcIOep_B.d.ts +1 -1
  32. package/index.d.ts +205 -325
  33. package/package.json +3 -3
  34. package/primitives/di/index.d.ts +1 -1
  35. package/primitives/event-dispatch/index.d.ts +3 -3
  36. package/primitives/signals/index.d.ts +1 -1
  37. package/rxjs-interop/index.d.ts +4 -4
  38. package/schematics/bundles/{apply_import_manager-Coc7Hewu.js → apply_import_manager-BqwxKJiu.cjs} +3 -3
  39. package/schematics/bundles/{change_tracker-CDJPOAni.js → change_tracker-B1qegJFu.cjs} +3 -3
  40. package/schematics/bundles/{checker-BAl7CJ0l.js → checker-DmucNdBi.cjs} +55 -45
  41. package/schematics/bundles/{cleanup-unused-imports.js → cleanup-unused-imports.cjs} +30 -62
  42. package/schematics/bundles/{compiler-BSv6JWRF.js → compiler-DPq1iS19.cjs} +142 -95
  43. package/schematics/bundles/{compiler_host-CAfDJO3W.js → compiler_host-CAfDJO3W.cjs} +1 -1
  44. package/schematics/bundles/{control-flow-migration.js → control-flow-migration.cjs} +4 -4
  45. package/schematics/bundles/{document-core.js → document-core.cjs} +9 -9
  46. package/schematics/bundles/{imports-CIX-JgAN.js → imports-CIX-JgAN.cjs} +1 -1
  47. package/schematics/bundles/{index-CxuDmkeg.js → index-1H-qYSW6.cjs} +101 -37
  48. package/schematics/bundles/{index-CnKffIJ6.js → index-CFmTQ_wx.cjs} +29 -20
  49. package/schematics/bundles/{inject-flags.js → inject-flags.cjs} +9 -9
  50. package/schematics/bundles/{inject-migration.js → inject-migration.cjs} +9 -9
  51. package/schematics/bundles/{leading_space-D9nQ8UQC.js → leading_space-D9nQ8UQC.cjs} +1 -1
  52. package/schematics/bundles/{migrate_ts_type_references-DE1AlxIs.js → migrate_ts_type_references-B2aJNuIK.cjs} +7 -7
  53. package/schematics/bundles/{ng_decorators-DznZ5jMl.js → ng_decorators-B5HCqr20.cjs} +2 -2
  54. package/schematics/bundles/{nodes-B16H9JUd.js → nodes-B16H9JUd.cjs} +1 -1
  55. package/schematics/bundles/{output-migration.js → output-migration.cjs} +14 -17
  56. package/schematics/bundles/{project_paths-Bl-H7Vlb.js → project_paths-DmvzlTQL.cjs} +71 -42
  57. package/schematics/bundles/{project_tsconfig_paths-CDVxT6Ov.js → project_tsconfig_paths-CDVxT6Ov.cjs} +1 -1
  58. package/schematics/bundles/{property_name-BBwFuqMe.js → property_name-BBwFuqMe.cjs} +1 -1
  59. package/schematics/bundles/{route-lazy-loading.js → route-lazy-loading.cjs} +7 -7
  60. package/schematics/bundles/{self-closing-tags-migration.js → self-closing-tags-migration.cjs} +17 -34
  61. package/schematics/bundles/{signal-input-migration.js → signal-input-migration.cjs} +28 -27
  62. package/schematics/bundles/{signal-queries-migration.js → signal-queries-migration.cjs} +18 -21
  63. package/schematics/bundles/{signals.js → signals.cjs} +13 -13
  64. package/schematics/bundles/{standalone-migration.js → standalone-migration.cjs} +11 -11
  65. package/schematics/bundles/{symbol-VPWguRxr.js → symbol-VPWguRxr.cjs} +1 -1
  66. package/schematics/bundles/{test-bed-get.js → test-bed-get.cjs} +9 -9
  67. package/schematics/collection.json +9 -9
  68. package/schematics/migrations.json +4 -4
  69. package/signal.d-D6VJ67xi.d.ts +1 -1
  70. package/testing/index.d.ts +21 -7
  71. package/weak_ref.d-eGOEP9S1.d.ts +1 -1
  72. package/fesm2022/debug_node-3mmnD06K.mjs.map +0 -1
  73. package/fesm2022/resource-nrAenwIA.mjs.map +0 -1
  74. package/fesm2022/root_effect_scheduler-B_EWGyLU.mjs.map +0 -1
  75. package/schematics/package.json +0 -3
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v20.0.0-rc.0
3
+ * @license Angular v20.0.0-rc.2
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -496,6 +496,28 @@ function parseSelectorToR3Selector(selector) {
496
496
  return selector ? CssSelector.parse(selector).map(parserSelectorToR3Selector) : [];
497
497
  }
498
498
 
499
+ exports.FactoryTarget = void 0;
500
+ (function (FactoryTarget) {
501
+ FactoryTarget[FactoryTarget["Directive"] = 0] = "Directive";
502
+ FactoryTarget[FactoryTarget["Component"] = 1] = "Component";
503
+ FactoryTarget[FactoryTarget["Injectable"] = 2] = "Injectable";
504
+ FactoryTarget[FactoryTarget["Pipe"] = 3] = "Pipe";
505
+ FactoryTarget[FactoryTarget["NgModule"] = 4] = "NgModule";
506
+ })(exports.FactoryTarget || (exports.FactoryTarget = {}));
507
+ var R3TemplateDependencyKind;
508
+ (function (R3TemplateDependencyKind) {
509
+ R3TemplateDependencyKind[R3TemplateDependencyKind["Directive"] = 0] = "Directive";
510
+ R3TemplateDependencyKind[R3TemplateDependencyKind["Pipe"] = 1] = "Pipe";
511
+ R3TemplateDependencyKind[R3TemplateDependencyKind["NgModule"] = 2] = "NgModule";
512
+ })(R3TemplateDependencyKind || (R3TemplateDependencyKind = {}));
513
+ var ViewEncapsulation;
514
+ (function (ViewEncapsulation) {
515
+ ViewEncapsulation[ViewEncapsulation["Emulated"] = 0] = "Emulated";
516
+ // Historically the 1 value was for `Native` encapsulation which has been removed as of v11.
517
+ ViewEncapsulation[ViewEncapsulation["None"] = 2] = "None";
518
+ ViewEncapsulation[ViewEncapsulation["ShadowDom"] = 3] = "ShadowDom";
519
+ })(ViewEncapsulation || (ViewEncapsulation = {}));
520
+
499
521
  /**
500
522
  * A lazily created TextEncoder instance for converting strings into UTF-8 bytes
501
523
  */
@@ -2532,42 +2554,6 @@ class Identifiers {
2532
2554
  moduleName: CORE,
2533
2555
  };
2534
2556
  static attribute = { name: 'ɵɵattribute', moduleName: CORE };
2535
- static attributeInterpolate1 = {
2536
- name: 'ɵɵattributeInterpolate1',
2537
- moduleName: CORE,
2538
- };
2539
- static attributeInterpolate2 = {
2540
- name: 'ɵɵattributeInterpolate2',
2541
- moduleName: CORE,
2542
- };
2543
- static attributeInterpolate3 = {
2544
- name: 'ɵɵattributeInterpolate3',
2545
- moduleName: CORE,
2546
- };
2547
- static attributeInterpolate4 = {
2548
- name: 'ɵɵattributeInterpolate4',
2549
- moduleName: CORE,
2550
- };
2551
- static attributeInterpolate5 = {
2552
- name: 'ɵɵattributeInterpolate5',
2553
- moduleName: CORE,
2554
- };
2555
- static attributeInterpolate6 = {
2556
- name: 'ɵɵattributeInterpolate6',
2557
- moduleName: CORE,
2558
- };
2559
- static attributeInterpolate7 = {
2560
- name: 'ɵɵattributeInterpolate7',
2561
- moduleName: CORE,
2562
- };
2563
- static attributeInterpolate8 = {
2564
- name: 'ɵɵattributeInterpolate8',
2565
- moduleName: CORE,
2566
- };
2567
- static attributeInterpolateV = {
2568
- name: 'ɵɵattributeInterpolateV',
2569
- moduleName: CORE,
2570
- };
2571
2557
  static classProp = { name: 'ɵɵclassProp', moduleName: CORE };
2572
2558
  static elementContainerStart = {
2573
2559
  name: 'ɵɵelementContainerStart',
@@ -2689,6 +2675,46 @@ class Identifiers {
2689
2675
  name: 'ɵɵstylePropInterpolateV',
2690
2676
  moduleName: CORE,
2691
2677
  };
2678
+ static interpolate = {
2679
+ name: 'ɵɵinterpolate',
2680
+ moduleName: CORE,
2681
+ };
2682
+ static interpolate1 = {
2683
+ name: 'ɵɵinterpolate1',
2684
+ moduleName: CORE,
2685
+ };
2686
+ static interpolate2 = {
2687
+ name: 'ɵɵinterpolate2',
2688
+ moduleName: CORE,
2689
+ };
2690
+ static interpolate3 = {
2691
+ name: 'ɵɵinterpolate3',
2692
+ moduleName: CORE,
2693
+ };
2694
+ static interpolate4 = {
2695
+ name: 'ɵɵinterpolate4',
2696
+ moduleName: CORE,
2697
+ };
2698
+ static interpolate5 = {
2699
+ name: 'ɵɵinterpolate5',
2700
+ moduleName: CORE,
2701
+ };
2702
+ static interpolate6 = {
2703
+ name: 'ɵɵinterpolate6',
2704
+ moduleName: CORE,
2705
+ };
2706
+ static interpolate7 = {
2707
+ name: 'ɵɵinterpolate7',
2708
+ moduleName: CORE,
2709
+ };
2710
+ static interpolate8 = {
2711
+ name: 'ɵɵinterpolate8',
2712
+ moduleName: CORE,
2713
+ };
2714
+ static interpolateV = {
2715
+ name: 'ɵɵinterpolateV',
2716
+ moduleName: CORE,
2717
+ };
2692
2718
  static nextContext = { name: 'ɵɵnextContext', moduleName: CORE };
2693
2719
  static resetView = { name: 'ɵɵresetView', moduleName: CORE };
2694
2720
  static templateCreate = { name: 'ɵɵtemplate', moduleName: CORE };
@@ -2867,6 +2893,10 @@ class Identifiers {
2867
2893
  static forwardRef = { name: 'forwardRef', moduleName: CORE };
2868
2894
  static resolveForwardRef = { name: 'resolveForwardRef', moduleName: CORE };
2869
2895
  static replaceMetadata = { name: 'ɵɵreplaceMetadata', moduleName: CORE };
2896
+ static getReplaceMetadataURL = {
2897
+ name: 'ɵɵgetReplaceMetadataURL',
2898
+ moduleName: CORE,
2899
+ };
2870
2900
  static ɵɵdefineInjectable = { name: 'ɵɵdefineInjectable', moduleName: CORE };
2871
2901
  static declareInjectable = { name: 'ɵɵngDeclareInjectable', moduleName: CORE };
2872
2902
  static InjectableDeclaration = {
@@ -3882,14 +3912,6 @@ var R3FactoryDelegateType;
3882
3912
  R3FactoryDelegateType[R3FactoryDelegateType["Class"] = 0] = "Class";
3883
3913
  R3FactoryDelegateType[R3FactoryDelegateType["Function"] = 1] = "Function";
3884
3914
  })(R3FactoryDelegateType || (R3FactoryDelegateType = {}));
3885
- exports.FactoryTarget = void 0;
3886
- (function (FactoryTarget) {
3887
- FactoryTarget[FactoryTarget["Directive"] = 0] = "Directive";
3888
- FactoryTarget[FactoryTarget["Component"] = 1] = "Component";
3889
- FactoryTarget[FactoryTarget["Injectable"] = 2] = "Injectable";
3890
- FactoryTarget[FactoryTarget["Pipe"] = 3] = "Pipe";
3891
- FactoryTarget[FactoryTarget["NgModule"] = 4] = "NgModule";
3892
- })(exports.FactoryTarget || (exports.FactoryTarget = {}));
3893
3915
  /**
3894
3916
  * Construct a factory function expression for the given `R3FactoryMetadata`.
3895
3917
  */
@@ -11601,7 +11623,23 @@ function assignI18nSlotDependencies(job) {
11601
11623
  i18nExpressionsInProgress.push(opToRemove);
11602
11624
  continue;
11603
11625
  }
11626
+ let hasDifferentTarget = false;
11604
11627
  if (hasDependsOnSlotContextTrait(updateOp) && updateOp.target !== createOp.xref) {
11628
+ hasDifferentTarget = true;
11629
+ }
11630
+ else if (
11631
+ // Some expressions may consume slots as well (e.g. `storeLet`).
11632
+ updateOp.kind === OpKind.Statement ||
11633
+ updateOp.kind === OpKind.Variable) {
11634
+ visitExpressionsInOp(updateOp, (expr) => {
11635
+ if (!hasDifferentTarget &&
11636
+ hasDependsOnSlotContextTrait(expr) &&
11637
+ expr.target !== createOp.xref) {
11638
+ hasDifferentTarget = true;
11639
+ }
11640
+ });
11641
+ }
11642
+ if (hasDifferentTarget) {
11605
11643
  break;
11606
11644
  }
11607
11645
  updateOp = updateOp.next;
@@ -23452,13 +23490,10 @@ function propertyInterpolate(name, strings, expressions, sanitizer, sourceSpan)
23452
23490
  }
23453
23491
  return callVariadicInstruction(PROPERTY_INTERPOLATE_CONFIG, [literal(name)], interpolationArgs, extraArgs, sourceSpan);
23454
23492
  }
23455
- function attributeInterpolate(name, strings, expressions, sanitizer, sourceSpan) {
23493
+ function attributeInterpolate(name, strings, expressions, sanitizer, namespace, sourceSpan) {
23456
23494
  const interpolationArgs = collateInterpolationArgs(strings, expressions);
23457
- const extraArgs = [];
23458
- if (sanitizer !== null) {
23459
- extraArgs.push(sanitizer);
23460
- }
23461
- return callVariadicInstruction(ATTRIBUTE_INTERPOLATE_CONFIG, [literal(name)], interpolationArgs, extraArgs, sourceSpan);
23495
+ const value = callVariadicInstructionExpr(VALUE_INTERPOLATE_CONFIG, [], interpolationArgs, [], sourceSpan);
23496
+ return attribute(name, value, sanitizer, namespace);
23462
23497
  }
23463
23498
  function stylePropInterpolate(name, strings, expressions, unit, sourceSpan) {
23464
23499
  const interpolationArgs = collateInterpolationArgs(strings, expressions);
@@ -23570,6 +23605,26 @@ const PROPERTY_INTERPOLATE_CONFIG = {
23570
23605
  return (n - 1) / 2;
23571
23606
  },
23572
23607
  };
23608
+ const VALUE_INTERPOLATE_CONFIG = {
23609
+ constant: [
23610
+ Identifiers.interpolate,
23611
+ Identifiers.interpolate1,
23612
+ Identifiers.interpolate2,
23613
+ Identifiers.interpolate3,
23614
+ Identifiers.interpolate4,
23615
+ Identifiers.interpolate5,
23616
+ Identifiers.interpolate6,
23617
+ Identifiers.interpolate7,
23618
+ Identifiers.interpolate8,
23619
+ ],
23620
+ variable: Identifiers.interpolateV,
23621
+ mapping: (n) => {
23622
+ if (n % 2 === 0) {
23623
+ throw new Error(`Expected odd number of arguments`);
23624
+ }
23625
+ return (n - 1) / 2;
23626
+ },
23627
+ };
23573
23628
  /**
23574
23629
  * `InterpolationConfig` for the `stylePropInterpolate` instruction.
23575
23630
  */
@@ -23593,29 +23648,6 @@ const STYLE_PROP_INTERPOLATE_CONFIG = {
23593
23648
  return (n - 1) / 2;
23594
23649
  },
23595
23650
  };
23596
- /**
23597
- * `InterpolationConfig` for the `attributeInterpolate` instruction.
23598
- */
23599
- const ATTRIBUTE_INTERPOLATE_CONFIG = {
23600
- constant: [
23601
- Identifiers.attribute,
23602
- Identifiers.attributeInterpolate1,
23603
- Identifiers.attributeInterpolate2,
23604
- Identifiers.attributeInterpolate3,
23605
- Identifiers.attributeInterpolate4,
23606
- Identifiers.attributeInterpolate5,
23607
- Identifiers.attributeInterpolate6,
23608
- Identifiers.attributeInterpolate7,
23609
- Identifiers.attributeInterpolate8,
23610
- ],
23611
- variable: Identifiers.attributeInterpolateV,
23612
- mapping: (n) => {
23613
- if (n % 2 === 0) {
23614
- throw new Error(`Expected odd number of arguments`);
23615
- }
23616
- return (n - 1) / 2;
23617
- },
23618
- };
23619
23651
  /**
23620
23652
  * `InterpolationConfig` for the `styleMapInterpolate` instruction.
23621
23653
  */
@@ -24014,7 +24046,7 @@ function reifyUpdateOperations(_unit, ops) {
24014
24046
  break;
24015
24047
  case OpKind.Attribute:
24016
24048
  if (op.expression instanceof Interpolation) {
24017
- OpList.replace(op, attributeInterpolate(op.name, op.expression.strings, op.expression.expressions, op.sanitizer, op.sourceSpan));
24049
+ OpList.replace(op, attributeInterpolate(op.name, op.expression.strings, op.expression.expressions, op.sanitizer, op.namespace, op.sourceSpan));
24018
24050
  }
24019
24051
  else {
24020
24052
  OpList.replace(op, attribute(op.name, op.expression, op.sanitizer, op.namespace));
@@ -25057,11 +25089,16 @@ function allocateSlots(job) {
25057
25089
  */
25058
25090
  function optimizeStoreLet(job) {
25059
25091
  const letUsedExternally = new Set();
25092
+ const declareLetOps = new Map();
25060
25093
  // Since `@let` declarations can be referenced in child views, both in
25061
25094
  // the creation block (via listeners) and in the update block, we have
25062
25095
  // to look through all the ops to find the references.
25063
25096
  for (const unit of job.units) {
25064
25097
  for (const op of unit.ops()) {
25098
+ // Take advantage that we're already looking through all the ops and track some more info.
25099
+ if (op.kind === OpKind.DeclareLet) {
25100
+ declareLetOps.set(op.xref, op);
25101
+ }
25065
25102
  visitExpressionsInOp(op, (expr) => {
25066
25103
  if (expr instanceof ContextLetReferenceExpr) {
25067
25104
  letUsedExternally.add(expr.target);
@@ -25069,15 +25106,35 @@ function optimizeStoreLet(job) {
25069
25106
  });
25070
25107
  }
25071
25108
  }
25072
- // TODO(crisbeto): potentially remove the unused calls completely, pending discussion.
25073
25109
  for (const unit of job.units) {
25074
25110
  for (const op of unit.update) {
25075
- transformExpressionsInOp(op, (expression) => expression instanceof StoreLetExpr && !letUsedExternally.has(expression.target)
25076
- ? expression.value
25077
- : expression, VisitorContextFlag.None);
25111
+ transformExpressionsInOp(op, (expr) => {
25112
+ // If a @let isn't used in other views, we don't have to store its value.
25113
+ if (expr instanceof StoreLetExpr && !letUsedExternally.has(expr.target)) {
25114
+ // Furthermore, if the @let isn't using pipes, we can also drop its declareLet op.
25115
+ // We need to keep the declareLet if there are pipes, because they can use DI which
25116
+ // requires the TNode created by declareLet.
25117
+ if (!hasPipe(expr)) {
25118
+ OpList.remove(declareLetOps.get(expr.target));
25119
+ }
25120
+ return expr.value;
25121
+ }
25122
+ return expr;
25123
+ }, VisitorContextFlag.None);
25078
25124
  }
25079
25125
  }
25080
25126
  }
25127
+ /** Determines if a `storeLet` expression contains a pipe. */
25128
+ function hasPipe(root) {
25129
+ let result = false;
25130
+ transformExpressionsInExpression(root, (expr) => {
25131
+ if (expr instanceof PipeBindingExpr || expr instanceof PipeBindingVariadicExpr) {
25132
+ result = true;
25133
+ }
25134
+ return expr;
25135
+ }, VisitorContextFlag.None);
25136
+ return result;
25137
+ }
25081
25138
 
25082
25139
  /**
25083
25140
  * In most cases we can drop user added parentheses from expressions. However, in some cases
@@ -26036,11 +26093,6 @@ const phases = [
26036
26093
  { kind: CompilationJobKind.Tmpl, fn: generateConditionalExpressions },
26037
26094
  { kind: CompilationJobKind.Tmpl, fn: createPipes },
26038
26095
  { kind: CompilationJobKind.Tmpl, fn: configureDeferInstructions },
26039
- { kind: CompilationJobKind.Tmpl, fn: convertI18nText },
26040
- { kind: CompilationJobKind.Tmpl, fn: convertI18nBindings },
26041
- { kind: CompilationJobKind.Tmpl, fn: removeUnusedI18nAttributesOps },
26042
- { kind: CompilationJobKind.Tmpl, fn: assignI18nSlotDependencies },
26043
- { kind: CompilationJobKind.Tmpl, fn: applyI18nExpressions },
26044
26096
  { kind: CompilationJobKind.Tmpl, fn: createVariadicPipes },
26045
26097
  { kind: CompilationJobKind.Both, fn: generatePureLiteralStructures },
26046
26098
  { kind: CompilationJobKind.Tmpl, fn: generateProjectionDefs },
@@ -26063,6 +26115,11 @@ const phases = [
26063
26115
  { kind: CompilationJobKind.Both, fn: generateTemporaryVariables },
26064
26116
  { kind: CompilationJobKind.Both, fn: optimizeVariables },
26065
26117
  { kind: CompilationJobKind.Both, fn: optimizeStoreLet },
26118
+ { kind: CompilationJobKind.Tmpl, fn: convertI18nText },
26119
+ { kind: CompilationJobKind.Tmpl, fn: convertI18nBindings },
26120
+ { kind: CompilationJobKind.Tmpl, fn: removeUnusedI18nAttributesOps },
26121
+ { kind: CompilationJobKind.Tmpl, fn: assignI18nSlotDependencies },
26122
+ { kind: CompilationJobKind.Tmpl, fn: applyI18nExpressions },
26066
26123
  { kind: CompilationJobKind.Tmpl, fn: allocateSlots },
26067
26124
  { kind: CompilationJobKind.Tmpl, fn: resolveI18nElementPlaceholders },
26068
26125
  { kind: CompilationJobKind.Tmpl, fn: resolveI18nExpressionPlaceholders },
@@ -32350,21 +32407,12 @@ function isAttrNode(ast) {
32350
32407
  return ast.length === 1 && ast[0] instanceof Attribute;
32351
32408
  }
32352
32409
 
32353
- var FactoryTarget;
32354
- (function (FactoryTarget) {
32355
- FactoryTarget[FactoryTarget["Directive"] = 0] = "Directive";
32356
- FactoryTarget[FactoryTarget["Component"] = 1] = "Component";
32357
- FactoryTarget[FactoryTarget["Injectable"] = 2] = "Injectable";
32358
- FactoryTarget[FactoryTarget["Pipe"] = 3] = "Pipe";
32359
- FactoryTarget[FactoryTarget["NgModule"] = 4] = "NgModule";
32360
- })(FactoryTarget || (FactoryTarget = {}));
32361
-
32362
32410
  /**
32363
32411
  * @module
32364
32412
  * @description
32365
32413
  * Entry point for all public APIs of the compiler package.
32366
32414
  */
32367
- new Version('20.0.0-rc.0');
32415
+ new Version('20.0.0-rc.2');
32368
32416
 
32369
32417
  //////////////////////////////////////
32370
32418
  // THIS FILE HAS GLOBAL SIDE EFFECT //
@@ -32442,7 +32490,6 @@ exports.Identifiers = Identifiers;
32442
32490
  exports.IfBlock = IfBlock;
32443
32491
  exports.IfBlockBranch = IfBlockBranch;
32444
32492
  exports.ImplicitReceiver = ImplicitReceiver;
32445
- exports.InstantiateExpr = InstantiateExpr;
32446
32493
  exports.Interpolation = Interpolation$1;
32447
32494
  exports.InterpolationConfig = InterpolationConfig;
32448
32495
  exports.InvokeFunctionExpr = InvokeFunctionExpr;
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v20.0.0-rc.0
3
+ * @license Angular v20.0.0-rc.2
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v20.0.0-rc.0
3
+ * @license Angular v20.0.0-rc.2
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -8,10 +8,10 @@
8
8
 
9
9
  var schematics = require('@angular-devkit/schematics');
10
10
  var p = require('path');
11
- var compiler_host = require('./compiler_host-CAfDJO3W.js');
12
- var compiler = require('./compiler-BSv6JWRF.js');
11
+ var compiler_host = require('./compiler_host-CAfDJO3W.cjs');
12
+ var compiler = require('./compiler-DPq1iS19.cjs');
13
13
  var ts = require('typescript');
14
- var project_tsconfig_paths = require('./project_tsconfig_paths-CDVxT6Ov.js');
14
+ var project_tsconfig_paths = require('./project_tsconfig_paths-CDVxT6Ov.cjs');
15
15
  require('@angular-devkit/core');
16
16
 
17
17
  function lookupIdentifiersInSourceFile(sourceFile, names) {
@@ -1,27 +1,27 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v20.0.0-rc.0
3
+ * @license Angular v20.0.0-rc.2
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
7
7
  'use strict';
8
8
 
9
- require('./compiler-BSv6JWRF.js');
9
+ require('./compiler-DPq1iS19.cjs');
10
10
  require('typescript');
11
- var checker = require('./checker-BAl7CJ0l.js');
11
+ var checker = require('./checker-DmucNdBi.cjs');
12
12
  require('os');
13
- var apply_import_manager = require('./apply_import_manager-Coc7Hewu.js');
14
- require('./index-CxuDmkeg.js');
13
+ var apply_import_manager = require('./apply_import_manager-BqwxKJiu.cjs');
14
+ require('./index-1H-qYSW6.cjs');
15
15
  require('path');
16
- var project_paths = require('./project_paths-Bl-H7Vlb.js');
17
- var imports = require('./imports-CIX-JgAN.js');
16
+ var project_paths = require('./project_paths-DmvzlTQL.cjs');
17
+ var imports = require('./imports-CIX-JgAN.cjs');
18
18
  require('@angular-devkit/core');
19
19
  require('node:path/posix');
20
20
  require('fs');
21
21
  require('module');
22
22
  require('url');
23
23
  require('@angular-devkit/schematics');
24
- require('./project_tsconfig_paths-CDVxT6Ov.js');
24
+ require('./project_tsconfig_paths-CDVxT6Ov.cjs');
25
25
 
26
26
  /** Migration that moves the import of `DOCUMENT` from `core` to `common`. */
27
27
  class DocumentCoreMigration extends project_paths.TsurgeFunnelMigration {
@@ -73,7 +73,7 @@ class DocumentCoreMigration extends project_paths.TsurgeFunnelMigration {
73
73
  return project_paths.confirmAsSerializable(combinedData);
74
74
  }
75
75
  async stats() {
76
- return { counters: {} };
76
+ return project_paths.confirmAsSerializable({});
77
77
  }
78
78
  }
79
79
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v20.0.0-rc.0
3
+ * @license Angular v20.0.0-rc.2
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */