@angular/core 21.2.7 → 21.2.9

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 (64) hide show
  1. package/fesm2022/_attribute-chunk.mjs +1 -1
  2. package/fesm2022/_debug_node-chunk.mjs +24 -6
  3. package/fesm2022/_debug_node-chunk.mjs.map +1 -1
  4. package/fesm2022/_effect-chunk.mjs +1 -1
  5. package/fesm2022/_effect-chunk2.mjs +2 -2
  6. package/fesm2022/_effect-chunk2.mjs.map +1 -1
  7. package/fesm2022/_not_found-chunk.mjs +1 -1
  8. package/fesm2022/_resource-chunk.mjs +1 -1
  9. package/fesm2022/_untracked-chunk.mjs +1 -1
  10. package/fesm2022/_weak_ref-chunk.mjs +1 -1
  11. package/fesm2022/core.mjs +1 -1
  12. package/fesm2022/primitives-di.mjs +1 -1
  13. package/fesm2022/primitives-event-dispatch.mjs +1 -5
  14. package/fesm2022/primitives-event-dispatch.mjs.map +1 -1
  15. package/fesm2022/primitives-signals.mjs +1 -1
  16. package/fesm2022/rxjs-interop.mjs +1 -1
  17. package/fesm2022/testing.mjs +1 -1
  18. package/package.json +2 -2
  19. package/schematics/bundles/add-bootstrap-context-to-server-main.cjs +1 -1
  20. package/schematics/bundles/application-config-core.cjs +1 -1
  21. package/schematics/bundles/apply_import_manager-CxA_YYgB.cjs +1 -1
  22. package/schematics/bundles/bootstrap-options-migration.cjs +1 -1
  23. package/schematics/bundles/cleanup-unused-imports.cjs +1 -1
  24. package/schematics/bundles/common-to-standalone-migration.cjs +1 -1
  25. package/schematics/bundles/compiler_host-CY14HvaP.cjs +1 -1
  26. package/schematics/bundles/control-flow-migration.cjs +1 -1
  27. package/schematics/bundles/imports-CVmcbVA9.cjs +1 -1
  28. package/schematics/bundles/{index-BtLcQH8g.cjs → index-DADA7AvC.cjs} +7 -3
  29. package/schematics/bundles/inject-migration.cjs +1 -1
  30. package/schematics/bundles/leading_space-BTPRV0wu.cjs +1 -1
  31. package/schematics/bundles/{migrate_ts_type_references-MWoZx-Cb.cjs → migrate_ts_type_references-CJvpTtkh.cjs} +2 -2
  32. package/schematics/bundles/ng_component_template-BOuKAnQd.cjs +1 -1
  33. package/schematics/bundles/ng_decorators-DYy6II6x.cjs +1 -1
  34. package/schematics/bundles/ngclass-to-class-migration.cjs +1 -1
  35. package/schematics/bundles/ngstyle-to-style-migration.cjs +1 -1
  36. package/schematics/bundles/nodes-ZSQ7WZRB.cjs +1 -1
  37. package/schematics/bundles/output-migration.cjs +2 -2
  38. package/schematics/bundles/parse_html-C8eKA9px.cjs +1 -1
  39. package/schematics/bundles/project_paths-D2V-Uh2L.cjs +1 -1
  40. package/schematics/bundles/project_tsconfig_paths-DkkMibv-.cjs +1 -1
  41. package/schematics/bundles/property_name-BCpALNpZ.cjs +1 -1
  42. package/schematics/bundles/route-lazy-loading.cjs +1 -1
  43. package/schematics/bundles/router-current-navigation.cjs +1 -1
  44. package/schematics/bundles/router-last-successful-navigation.cjs +1 -1
  45. package/schematics/bundles/router-testing-module-migration.cjs +1 -1
  46. package/schematics/bundles/self-closing-tags-migration.cjs +1 -1
  47. package/schematics/bundles/signal-input-migration.cjs +3 -3
  48. package/schematics/bundles/signal-queries-migration.cjs +3 -3
  49. package/schematics/bundles/signals.cjs +3 -3
  50. package/schematics/bundles/standalone-migration.cjs +29 -17
  51. package/schematics/bundles/symbol-DZeHSR-V.cjs +1 -1
  52. package/types/_api-chunk.d.ts +1 -1
  53. package/types/_chrome_dev_tools_performance-chunk.d.ts +1 -1
  54. package/types/_discovery-chunk.d.ts +1 -1
  55. package/types/_effect-chunk.d.ts +1 -1
  56. package/types/_event_dispatcher-chunk.d.ts +1 -1
  57. package/types/_formatter-chunk.d.ts +1 -1
  58. package/types/_weak_ref-chunk.d.ts +1 -1
  59. package/types/core.d.ts +2 -2
  60. package/types/primitives-di.d.ts +1 -1
  61. package/types/primitives-event-dispatch.d.ts +1 -1
  62. package/types/primitives-signals.d.ts +1 -1
  63. package/types/rxjs-interop.d.ts +1 -1
  64. package/types/testing.d.ts +1 -1
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v21.2.7
2
+ * @license Angular v21.2.9
3
3
  * (c) 2010-2026 Google LLC. https://angular.dev/
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v21.2.7
2
+ * @license Angular v21.2.9
3
3
  * (c) 2010-2026 Google LLC. https://angular.dev/
4
4
  * License: MIT
5
5
  */
@@ -1997,7 +1997,7 @@ class TransferState {
1997
1997
  }
1998
1998
  }
1999
1999
  }
2000
- return JSON.stringify(this.store).replace(/</g, '\\u003C');
2000
+ return JSON.stringify(this.store).replace(/</g, '\\u003C').replace(/\//g, '\\u002F');
2001
2001
  }
2002
2002
  }
2003
2003
  function retrieveTransferredState(doc, appId) {
@@ -8747,7 +8747,7 @@ class ComponentFactory extends ComponentFactory$1 {
8747
8747
  }
8748
8748
  }
8749
8749
  function createRootTView(rootSelectorOrNode, componentDef, componentBindings, directives) {
8750
- const tAttributes = rootSelectorOrNode ? ['ng-version', '21.2.7'] : extractAttrsAndClassesFromSelector(componentDef.selectors[0]);
8750
+ const tAttributes = rootSelectorOrNode ? ['ng-version', '21.2.9'] : extractAttrsAndClassesFromSelector(componentDef.selectors[0]);
8751
8751
  let creationBindings = null;
8752
8752
  let updateBindings = null;
8753
8753
  let varsToAllocate = 0;
@@ -9094,7 +9094,10 @@ function populateDehydratedViewsInLContainerImpl(lContainer, tNode, hostLView) {
9094
9094
  }
9095
9095
  const currentRNode = getSegmentHead(hydrationInfo, noOffsetIndex);
9096
9096
  const serializedViews = hydrationInfo.data[CONTAINERS]?.[noOffsetIndex];
9097
- ngDevMode && assertDefined(serializedViews, 'Unexpected state: no hydration info available for a given TNode, ' + 'which represents a view container.');
9097
+ if (serializedViews === undefined) {
9098
+ ngDevMode && console.warn('Unexpected state: no hydration info available for a given TNode, ' + 'which represents a view container.');
9099
+ return false;
9100
+ }
9098
9101
  const [commentNode, dehydratedViews] = locateDehydratedViewsInContainer(currentRNode, serializedViews);
9099
9102
  if (ngDevMode) {
9100
9103
  validateMatchingNode(commentNode, Node.COMMENT_NODE, null, hostLView, tNode, true);
@@ -12602,9 +12605,11 @@ function triggerResourceLoading(tDetails, lView, tNode) {
12602
12605
  }
12603
12606
  tDetails.loadingPromise = Promise.allSettled(dependenciesFn()).then(results => {
12604
12607
  let failed = false;
12608
+ let failedReason = null;
12605
12609
  const directiveDefs = [];
12606
12610
  const pipeDefs = [];
12607
- for (const result of results) {
12611
+ for (let i = 0; i < results.length; i++) {
12612
+ const result = results[i];
12608
12613
  if (result.status === 'fulfilled') {
12609
12614
  const dependency = result.value;
12610
12615
  const directiveDef = getComponentDef(dependency) || getDirectiveDef(dependency);
@@ -12618,6 +12623,7 @@ function triggerResourceLoading(tDetails, lView, tNode) {
12618
12623
  }
12619
12624
  } else {
12620
12625
  failed = true;
12626
+ failedReason = result.reason instanceof Error ? result.reason : new Error(String(result.reason));
12621
12627
  break;
12622
12628
  }
12623
12629
  }
@@ -12625,7 +12631,19 @@ function triggerResourceLoading(tDetails, lView, tNode) {
12625
12631
  tDetails.loadingState = DeferDependenciesLoadingState.FAILED;
12626
12632
  if (tDetails.errorTmplIndex === null) {
12627
12633
  const templateLocation = ngDevMode ? getTemplateLocationDetails(lView) : '';
12628
- const error = new RuntimeError(-750, ngDevMode && 'Loading dependencies for `@defer` block failed, ' + `but no \`@error\` block was configured${templateLocation}. ` + 'Consider using the `@error` block to render an error state.');
12634
+ let errorMsg = '';
12635
+ if (ngDevMode) {
12636
+ errorMsg = 'Loading dependencies for `@defer` block failed, ' + `but no \`@error\` block was configured${templateLocation}. ` + 'Consider using the `@error` block to render an error state.';
12637
+ const depsFn = tDetails.dependencyResolverFn;
12638
+ const errorReason = failedReason?.message;
12639
+ if (depsFn) {
12640
+ errorMsg += `\n\nAngular tried to invoke the following dependency function (compiler-generated):\n` + `\`\`\`\n${depsFn.toString()}\n\`\`\``;
12641
+ }
12642
+ if (errorReason) {
12643
+ errorMsg += depsFn ? `\n\nbut it resulted in the following error:\n\n${errorReason}` : `\n\nThe loading resulted in the following error:\n\n${errorReason}`;
12644
+ }
12645
+ }
12646
+ const error = new RuntimeError(-750, errorMsg);
12629
12647
  handleUncaughtError(lView, error);
12630
12648
  }
12631
12649
  } else {