@angular/core 21.0.0-next.5 → 21.0.0-next.6

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 (87) hide show
  1. package/fesm2022/{attribute.mjs → _attribute-chunk.mjs} +2 -2
  2. package/fesm2022/_attribute-chunk.mjs.map +1 -0
  3. package/fesm2022/{debug_node.mjs → _debug_node-chunk.mjs} +17 -7
  4. package/fesm2022/_debug_node-chunk.mjs.map +1 -0
  5. package/fesm2022/{effect.mjs → _effect-chunk.mjs} +3 -3
  6. package/fesm2022/_effect-chunk.mjs.map +1 -0
  7. package/fesm2022/{not_found.mjs → _not_found-chunk.mjs} +2 -2
  8. package/fesm2022/_not_found-chunk.mjs.map +1 -0
  9. package/fesm2022/{resource.mjs → _resource-chunk.mjs} +5 -5
  10. package/fesm2022/_resource-chunk.mjs.map +1 -0
  11. package/fesm2022/{root_effect_scheduler.mjs → _root_effect_scheduler-chunk.mjs} +5 -5
  12. package/fesm2022/_root_effect_scheduler-chunk.mjs.map +1 -0
  13. package/fesm2022/{signal.mjs → _signal-chunk.mjs} +9 -9
  14. package/fesm2022/_signal-chunk.mjs.map +1 -0
  15. package/fesm2022/{weak_ref.mjs → _weak_ref-chunk.mjs} +2 -2
  16. package/fesm2022/_weak_ref-chunk.mjs.map +1 -0
  17. package/fesm2022/core.mjs +13 -13
  18. package/fesm2022/core.mjs.map +1 -1
  19. package/fesm2022/{primitives/di.mjs → primitives-di.mjs} +3 -3
  20. package/fesm2022/primitives-di.mjs.map +1 -0
  21. package/fesm2022/{primitives/event-dispatch.mjs → primitives-event-dispatch.mjs} +3 -3
  22. package/fesm2022/primitives-event-dispatch.mjs.map +1 -0
  23. package/fesm2022/primitives-signals.mjs +221 -0
  24. package/fesm2022/primitives-signals.mjs.map +1 -0
  25. package/fesm2022/rxjs-interop.mjs +6 -6
  26. package/fesm2022/rxjs-interop.mjs.map +1 -1
  27. package/fesm2022/testing.mjs +6 -6
  28. package/fesm2022/testing.mjs.map +1 -1
  29. package/package.json +12 -12
  30. package/schematics/bundles/add-bootstrap-context-to-server-main.cjs +5 -5
  31. package/schematics/bundles/application-config-core.cjs +5 -5
  32. package/schematics/bundles/{apply_import_manager-Bx60Uquz.cjs → apply_import_manager-pLtndDki.cjs} +3 -3
  33. package/schematics/bundles/bootstrap-options-migration.cjs +5 -5
  34. package/schematics/bundles/cleanup-unused-imports.cjs +5 -5
  35. package/schematics/bundles/{compiler_host-Aouk-n4F.cjs → compiler_host-BJEh7-L1.cjs} +2 -2
  36. package/schematics/bundles/control-flow-migration.cjs +4 -4
  37. package/schematics/bundles/imports-DwPXlGFl.cjs +1 -1
  38. package/schematics/bundles/{index-Bb6iejCd.cjs → index-DCfgOEYE.cjs} +32 -36
  39. package/schematics/bundles/{index-BZQb51Qf.cjs → index-bqpULzLD.cjs} +4 -6
  40. package/schematics/bundles/inject-migration.cjs +3 -3
  41. package/schematics/bundles/leading_space-D9nQ8UQC.cjs +1 -1
  42. package/schematics/bundles/{migrate_ts_type_references-By2ZtKls.cjs → migrate_ts_type_references-COE6BA7E.cjs} +5 -5
  43. package/schematics/bundles/{ng_component_template-B4M8mTyv.cjs → ng_component_template-pDoKlgPP.cjs} +2 -2
  44. package/schematics/bundles/ng_decorators-BI0uV7KI.cjs +1 -1
  45. package/schematics/bundles/ngclass-to-class-migration.cjs +7 -7
  46. package/schematics/bundles/ngstyle-to-style-migration.cjs +7 -7
  47. package/schematics/bundles/nodes-B16H9JUd.cjs +1 -1
  48. package/schematics/bundles/output-migration.cjs +6 -6
  49. package/schematics/bundles/{parse_html-7Wl_HDnw.cjs → parse_html-B6fblY_V.cjs} +2 -2
  50. package/schematics/bundles/{project_paths-Dr2s3Pq3.cjs → project_paths-i0Wjiiq1.cjs} +3 -3
  51. package/schematics/bundles/{project_tsconfig_paths-DX9KHLn9.cjs → project_tsconfig_paths-sFatqIE5.cjs} +75 -132
  52. package/schematics/bundles/property_name-BBwFuqMe.cjs +1 -1
  53. package/schematics/bundles/route-lazy-loading.cjs +3 -3
  54. package/schematics/bundles/router-current-navigation.cjs +4 -4
  55. package/schematics/bundles/router-last-successful-navigation.cjs +4 -4
  56. package/schematics/bundles/self-closing-tags-migration.cjs +6 -6
  57. package/schematics/bundles/signal-input-migration.cjs +67 -8
  58. package/schematics/bundles/signal-queries-migration.cjs +7 -7
  59. package/schematics/bundles/signals.cjs +7 -7
  60. package/schematics/bundles/standalone-migration.cjs +60 -40
  61. package/schematics/bundles/symbol-BObKoqes.cjs +1 -1
  62. package/schematics/migrations.json +1 -2
  63. package/{api.d.d.ts → types/_api-chunk.d.ts} +2 -2
  64. package/{chrome_dev_tools_performance.d.d.ts → types/_chrome_dev_tools_performance-chunk.d.ts} +3 -3
  65. package/{discovery.d.d.ts → types/_discovery-chunk.d.ts} +5 -5
  66. package/{effect.d.d.ts → types/_effect-chunk.d.ts} +2 -2
  67. package/{event_dispatcher.d.d.ts → types/_event_dispatcher-chunk.d.ts} +1 -1
  68. package/{graph.d.d.ts → types/_formatter-chunk.d.ts} +14 -2
  69. package/{weak_ref.d.d.ts → types/_weak_ref-chunk.d.ts} +1 -1
  70. package/{index.d.ts → types/core.d.ts} +13 -13
  71. package/{primitives/di/index.d.ts → types/primitives-di.d.ts} +1 -1
  72. package/{primitives/event-dispatch/index.d.ts → types/primitives-event-dispatch.d.ts} +3 -3
  73. package/{primitives/signals/index.d.ts → types/primitives-signals.d.ts} +6 -6
  74. package/{rxjs-interop/index.d.ts → types/rxjs-interop.d.ts} +5 -5
  75. package/{testing/index.d.ts → types/testing.d.ts} +6 -6
  76. package/fesm2022/attribute.mjs.map +0 -1
  77. package/fesm2022/debug_node.mjs.map +0 -1
  78. package/fesm2022/effect.mjs.map +0 -1
  79. package/fesm2022/not_found.mjs.map +0 -1
  80. package/fesm2022/primitives/di.mjs.map +0 -1
  81. package/fesm2022/primitives/event-dispatch.mjs.map +0 -1
  82. package/fesm2022/primitives/signals.mjs +0 -88
  83. package/fesm2022/primitives/signals.mjs.map +0 -1
  84. package/fesm2022/resource.mjs.map +0 -1
  85. package/fesm2022/root_effect_scheduler.mjs.map +0 -1
  86. package/fesm2022/signal.mjs.map +0 -1
  87. package/fesm2022/weak_ref.mjs.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@angular/core",
3
- "version": "21.0.0-next.5",
3
+ "version": "21.0.0-next.6",
4
4
  "description": "Angular - the core framework",
5
5
  "author": "angular",
6
6
  "license": "MIT",
@@ -18,27 +18,27 @@
18
18
  "default": "./package.json"
19
19
  },
20
20
  ".": {
21
- "types": "./index.d.ts",
21
+ "types": "./types/core.d.ts",
22
22
  "default": "./fesm2022/core.mjs"
23
23
  },
24
24
  "./primitives/di": {
25
- "types": "./primitives/di/index.d.ts",
26
- "default": "./fesm2022/primitives/di.mjs"
25
+ "types": "./types/primitives-di.d.ts",
26
+ "default": "./fesm2022/primitives-di.mjs"
27
27
  },
28
28
  "./primitives/event-dispatch": {
29
- "types": "./primitives/event-dispatch/index.d.ts",
30
- "default": "./fesm2022/primitives/event-dispatch.mjs"
29
+ "types": "./types/primitives-event-dispatch.d.ts",
30
+ "default": "./fesm2022/primitives-event-dispatch.mjs"
31
31
  },
32
32
  "./primitives/signals": {
33
- "types": "./primitives/signals/index.d.ts",
34
- "default": "./fesm2022/primitives/signals.mjs"
33
+ "types": "./types/primitives-signals.d.ts",
34
+ "default": "./fesm2022/primitives-signals.mjs"
35
35
  },
36
36
  "./rxjs-interop": {
37
- "types": "./rxjs-interop/index.d.ts",
37
+ "types": "./types/rxjs-interop.d.ts",
38
38
  "default": "./fesm2022/rxjs-interop.mjs"
39
39
  },
40
40
  "./testing": {
41
- "types": "./testing/index.d.ts",
41
+ "types": "./types/testing.d.ts",
42
42
  "default": "./fesm2022/testing.mjs"
43
43
  }
44
44
  },
@@ -46,7 +46,7 @@
46
46
  "tslib": "^2.3.0"
47
47
  },
48
48
  "peerDependencies": {
49
- "@angular/compiler": "21.0.0-next.5",
49
+ "@angular/compiler": "21.0.0-next.6",
50
50
  "rxjs": "^6.5.3 || ^7.4.0",
51
51
  "zone.js": "~0.15.0"
52
52
  },
@@ -87,6 +87,6 @@
87
87
  "schematics": "./schematics/collection.json",
88
88
  "sideEffects": false,
89
89
  "module": "./fesm2022/core.mjs",
90
- "typings": "./index.d.ts",
90
+ "typings": "./types/core.d.ts",
91
91
  "type": "module"
92
92
  }
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v21.0.0-next.5
3
+ * @license Angular v21.0.0-next.6
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -8,12 +8,12 @@
8
8
 
9
9
  require('@angular-devkit/core');
10
10
  require('node:path/posix');
11
- var project_paths = require('./project_paths-Dr2s3Pq3.cjs');
12
- var project_tsconfig_paths = require('./project_tsconfig_paths-DX9KHLn9.cjs');
11
+ var project_paths = require('./project_paths-i0Wjiiq1.cjs');
12
+ var project_tsconfig_paths = require('./project_tsconfig_paths-sFatqIE5.cjs');
13
13
  var ts = require('typescript');
14
14
  require('os');
15
- var apply_import_manager = require('./apply_import_manager-Bx60Uquz.cjs');
16
- require('./index-Bb6iejCd.cjs');
15
+ var apply_import_manager = require('./apply_import_manager-pLtndDki.cjs');
16
+ require('./index-DCfgOEYE.cjs');
17
17
  require('path');
18
18
  require('node:path');
19
19
  require('@angular-devkit/schematics');
@@ -1,19 +1,19 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v21.0.0-next.5
3
+ * @license Angular v21.0.0-next.6
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
7
7
  'use strict';
8
8
 
9
- var project_tsconfig_paths = require('./project_tsconfig_paths-DX9KHLn9.cjs');
9
+ var project_tsconfig_paths = require('./project_tsconfig_paths-sFatqIE5.cjs');
10
10
  require('typescript');
11
11
  require('os');
12
- var apply_import_manager = require('./apply_import_manager-Bx60Uquz.cjs');
13
- require('./index-Bb6iejCd.cjs');
12
+ var apply_import_manager = require('./apply_import_manager-pLtndDki.cjs');
13
+ require('./index-DCfgOEYE.cjs');
14
14
  require('path');
15
15
  require('node:path');
16
- var project_paths = require('./project_paths-Dr2s3Pq3.cjs');
16
+ var project_paths = require('./project_paths-i0Wjiiq1.cjs');
17
17
  var imports = require('./imports-DwPXlGFl.cjs');
18
18
  require('@angular-devkit/core');
19
19
  require('node:path/posix');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v21.0.0-next.5
3
+ * @license Angular v21.0.0-next.6
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -8,8 +8,8 @@
8
8
 
9
9
  var ts = require('typescript');
10
10
  require('os');
11
- var project_tsconfig_paths = require('./project_tsconfig_paths-DX9KHLn9.cjs');
12
- var project_paths = require('./project_paths-Dr2s3Pq3.cjs');
11
+ var project_tsconfig_paths = require('./project_tsconfig_paths-sFatqIE5.cjs');
12
+ var project_paths = require('./project_paths-i0Wjiiq1.cjs');
13
13
 
14
14
  /**
15
15
  * Applies import manager changes, and writes them as replacements the
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v21.0.0-next.5
3
+ * @license Angular v21.0.0-next.6
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -8,14 +8,14 @@
8
8
 
9
9
  require('@angular-devkit/core');
10
10
  require('node:path/posix');
11
- var project_paths = require('./project_paths-Dr2s3Pq3.cjs');
11
+ var project_paths = require('./project_paths-i0Wjiiq1.cjs');
12
12
  require('os');
13
13
  var ts = require('typescript');
14
- var project_tsconfig_paths = require('./project_tsconfig_paths-DX9KHLn9.cjs');
15
- var index = require('./index-Bb6iejCd.cjs');
14
+ var project_tsconfig_paths = require('./project_tsconfig_paths-sFatqIE5.cjs');
15
+ var index = require('./index-DCfgOEYE.cjs');
16
16
  require('path');
17
17
  require('node:path');
18
- var apply_import_manager = require('./apply_import_manager-Bx60Uquz.cjs');
18
+ var apply_import_manager = require('./apply_import_manager-pLtndDki.cjs');
19
19
  var property_name = require('./property_name-BBwFuqMe.cjs');
20
20
  var imports = require('./imports-DwPXlGFl.cjs');
21
21
  var symbol = require('./symbol-BObKoqes.cjs');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v21.0.0-next.5
3
+ * @license Angular v21.0.0-next.6
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -8,14 +8,14 @@
8
8
 
9
9
  require('@angular-devkit/core');
10
10
  require('node:path/posix');
11
- var project_paths = require('./project_paths-Dr2s3Pq3.cjs');
11
+ var project_paths = require('./project_paths-i0Wjiiq1.cjs');
12
12
  var ts = require('typescript');
13
13
  require('os');
14
- var project_tsconfig_paths = require('./project_tsconfig_paths-DX9KHLn9.cjs');
15
- var index = require('./index-Bb6iejCd.cjs');
14
+ var project_tsconfig_paths = require('./project_tsconfig_paths-sFatqIE5.cjs');
15
+ var index = require('./index-DCfgOEYE.cjs');
16
16
  require('path');
17
17
  require('node:path');
18
- var apply_import_manager = require('./apply_import_manager-Bx60Uquz.cjs');
18
+ var apply_import_manager = require('./apply_import_manager-pLtndDki.cjs');
19
19
  require('@angular-devkit/schematics');
20
20
  require('fs');
21
21
  require('module');
@@ -1,13 +1,13 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v21.0.0-next.5
3
+ * @license Angular v21.0.0-next.6
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
7
7
  'use strict';
8
8
 
9
9
  var ts = require('typescript');
10
- var project_tsconfig_paths = require('./project_tsconfig_paths-DX9KHLn9.cjs');
10
+ var project_tsconfig_paths = require('./project_tsconfig_paths-sFatqIE5.cjs');
11
11
  require('os');
12
12
  var p = require('path');
13
13
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v21.0.0-next.5
3
+ * @license Angular v21.0.0-next.6
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-Aouk-n4F.cjs');
12
- var project_tsconfig_paths = require('./project_tsconfig_paths-DX9KHLn9.cjs');
11
+ var compiler_host = require('./compiler_host-BJEh7-L1.cjs');
12
+ var project_tsconfig_paths = require('./project_tsconfig_paths-sFatqIE5.cjs');
13
13
  var ts = require('typescript');
14
- var parse_html = require('./parse_html-7Wl_HDnw.cjs');
14
+ var parse_html = require('./parse_html-B6fblY_V.cjs');
15
15
  require('os');
16
16
  require('fs');
17
17
  require('module');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v21.0.0-next.5
3
+ * @license Angular v21.0.0-next.6
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v21.0.0-next.5
3
+ * @license Angular v21.0.0-next.6
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
7
7
  'use strict';
8
8
 
9
- var project_tsconfig_paths = require('./project_tsconfig_paths-DX9KHLn9.cjs');
9
+ var project_tsconfig_paths = require('./project_tsconfig_paths-sFatqIE5.cjs');
10
10
  var ts = require('typescript');
11
11
  var p = require('path');
12
12
  require('os');
@@ -727,11 +727,8 @@ class MessageBundle {
727
727
  this._locale = _locale;
728
728
  this._preserveWhitespace = _preserveWhitespace;
729
729
  }
730
- updateFromTemplate(source, url, interpolationConfig) {
731
- const htmlParserResult = this._htmlParser.parse(source, url, {
732
- tokenizeExpansionForms: true,
733
- interpolationConfig,
734
- });
730
+ updateFromTemplate(source, url) {
731
+ const htmlParserResult = this._htmlParser.parse(source, url, { tokenizeExpansionForms: true });
735
732
  if (htmlParserResult.errors.length) {
736
733
  return htmlParserResult.errors;
737
734
  }
@@ -741,7 +738,7 @@ class MessageBundle {
741
738
  const rootNodes = this._preserveWhitespace
742
739
  ? htmlParserResult.rootNodes
743
740
  : project_tsconfig_paths.visitAllWithSiblings(new project_tsconfig_paths.WhitespaceVisitor(/* preserveSignificantWhitespace */ false), htmlParserResult.rootNodes);
744
- const i18nParserResult = project_tsconfig_paths.extractMessages(rootNodes, interpolationConfig, this._implicitTags, this._implicitAttrs,
741
+ const i18nParserResult = project_tsconfig_paths.extractMessages(rootNodes, this._implicitTags, this._implicitAttrs,
745
742
  /* preserveSignificantWhitespace */ this._preserveWhitespace);
746
743
  if (i18nParserResult.errors.length) {
747
744
  return i18nParserResult.errors;
@@ -891,7 +888,7 @@ const MINIMUM_PARTIAL_LINKER_DEFER_SUPPORT_VERSION = '18.0.0';
891
888
  function compileDeclareClassMetadata(metadata) {
892
889
  const definitionMap = new project_tsconfig_paths.DefinitionMap();
893
890
  definitionMap.set('minVersion', project_tsconfig_paths.literal(MINIMUM_PARTIAL_LINKER_VERSION$5));
894
- definitionMap.set('version', project_tsconfig_paths.literal('21.0.0-next.5'));
891
+ definitionMap.set('version', project_tsconfig_paths.literal('21.0.0-next.6'));
895
892
  definitionMap.set('ngImport', project_tsconfig_paths.importExpr(project_tsconfig_paths.Identifiers.core));
896
893
  definitionMap.set('type', metadata.type);
897
894
  definitionMap.set('decorators', metadata.decorators);
@@ -909,7 +906,7 @@ function compileComponentDeclareClassMetadata(metadata, dependencies) {
909
906
  callbackReturnDefinitionMap.set('ctorParameters', metadata.ctorParameters ?? project_tsconfig_paths.literal(null));
910
907
  callbackReturnDefinitionMap.set('propDecorators', metadata.propDecorators ?? project_tsconfig_paths.literal(null));
911
908
  definitionMap.set('minVersion', project_tsconfig_paths.literal(MINIMUM_PARTIAL_LINKER_DEFER_SUPPORT_VERSION));
912
- definitionMap.set('version', project_tsconfig_paths.literal('21.0.0-next.5'));
909
+ definitionMap.set('version', project_tsconfig_paths.literal('21.0.0-next.6'));
913
910
  definitionMap.set('ngImport', project_tsconfig_paths.importExpr(project_tsconfig_paths.Identifiers.core));
914
911
  definitionMap.set('type', metadata.type);
915
912
  definitionMap.set('resolveDeferredDeps', compileComponentMetadataAsyncResolver(dependencies));
@@ -1004,7 +1001,7 @@ function createDirectiveDefinitionMap(meta) {
1004
1001
  const definitionMap = new project_tsconfig_paths.DefinitionMap();
1005
1002
  const minVersion = getMinimumVersionForPartialOutput(meta);
1006
1003
  definitionMap.set('minVersion', project_tsconfig_paths.literal(minVersion));
1007
- definitionMap.set('version', project_tsconfig_paths.literal('21.0.0-next.5'));
1004
+ definitionMap.set('version', project_tsconfig_paths.literal('21.0.0-next.6'));
1008
1005
  // e.g. `type: MyDirective`
1009
1006
  definitionMap.set('type', meta.type.value);
1010
1007
  if (meta.isStandalone !== undefined) {
@@ -1274,9 +1271,6 @@ function createComponentDefinitionMap(meta, template, templateInfo) {
1274
1271
  if (meta.encapsulation !== project_tsconfig_paths.ViewEncapsulation.Emulated) {
1275
1272
  definitionMap.set('encapsulation', project_tsconfig_paths.importExpr(project_tsconfig_paths.Identifiers.ViewEncapsulation).prop(project_tsconfig_paths.ViewEncapsulation[meta.encapsulation]));
1276
1273
  }
1277
- if (meta.interpolation !== project_tsconfig_paths.DEFAULT_INTERPOLATION_CONFIG) {
1278
- definitionMap.set('interpolation', project_tsconfig_paths.literalArr([project_tsconfig_paths.literal(meta.interpolation.start), project_tsconfig_paths.literal(meta.interpolation.end)]));
1279
- }
1280
1274
  if (template.preserveWhitespaces === true) {
1281
1275
  definitionMap.set('preserveWhitespaces', project_tsconfig_paths.literal(true));
1282
1276
  }
@@ -1420,7 +1414,7 @@ const MINIMUM_PARTIAL_LINKER_VERSION$4 = '12.0.0';
1420
1414
  function compileDeclareFactoryFunction(meta) {
1421
1415
  const definitionMap = new project_tsconfig_paths.DefinitionMap();
1422
1416
  definitionMap.set('minVersion', project_tsconfig_paths.literal(MINIMUM_PARTIAL_LINKER_VERSION$4));
1423
- definitionMap.set('version', project_tsconfig_paths.literal('21.0.0-next.5'));
1417
+ definitionMap.set('version', project_tsconfig_paths.literal('21.0.0-next.6'));
1424
1418
  definitionMap.set('ngImport', project_tsconfig_paths.importExpr(project_tsconfig_paths.Identifiers.core));
1425
1419
  definitionMap.set('type', meta.type.value);
1426
1420
  definitionMap.set('deps', compileDependencies(meta.deps));
@@ -1455,7 +1449,7 @@ function compileDeclareInjectableFromMetadata(meta) {
1455
1449
  function createInjectableDefinitionMap(meta) {
1456
1450
  const definitionMap = new project_tsconfig_paths.DefinitionMap();
1457
1451
  definitionMap.set('minVersion', project_tsconfig_paths.literal(MINIMUM_PARTIAL_LINKER_VERSION$3));
1458
- definitionMap.set('version', project_tsconfig_paths.literal('21.0.0-next.5'));
1452
+ definitionMap.set('version', project_tsconfig_paths.literal('21.0.0-next.6'));
1459
1453
  definitionMap.set('ngImport', project_tsconfig_paths.importExpr(project_tsconfig_paths.Identifiers.core));
1460
1454
  definitionMap.set('type', meta.type.value);
1461
1455
  // Only generate providedIn property if it has a non-null value
@@ -1506,7 +1500,7 @@ function compileDeclareInjectorFromMetadata(meta) {
1506
1500
  function createInjectorDefinitionMap(meta) {
1507
1501
  const definitionMap = new project_tsconfig_paths.DefinitionMap();
1508
1502
  definitionMap.set('minVersion', project_tsconfig_paths.literal(MINIMUM_PARTIAL_LINKER_VERSION$2));
1509
- definitionMap.set('version', project_tsconfig_paths.literal('21.0.0-next.5'));
1503
+ definitionMap.set('version', project_tsconfig_paths.literal('21.0.0-next.6'));
1510
1504
  definitionMap.set('ngImport', project_tsconfig_paths.importExpr(project_tsconfig_paths.Identifiers.core));
1511
1505
  definitionMap.set('type', meta.type.value);
1512
1506
  definitionMap.set('providers', meta.providers);
@@ -1539,7 +1533,7 @@ function createNgModuleDefinitionMap(meta) {
1539
1533
  throw new Error('Invalid path! Local compilation mode should not get into the partial compilation path');
1540
1534
  }
1541
1535
  definitionMap.set('minVersion', project_tsconfig_paths.literal(MINIMUM_PARTIAL_LINKER_VERSION$1));
1542
- definitionMap.set('version', project_tsconfig_paths.literal('21.0.0-next.5'));
1536
+ definitionMap.set('version', project_tsconfig_paths.literal('21.0.0-next.6'));
1543
1537
  definitionMap.set('ngImport', project_tsconfig_paths.importExpr(project_tsconfig_paths.Identifiers.core));
1544
1538
  definitionMap.set('type', meta.type.value);
1545
1539
  // We only generate the keys in the metadata if the arrays contain values.
@@ -1590,7 +1584,7 @@ function compileDeclarePipeFromMetadata(meta) {
1590
1584
  function createPipeDefinitionMap(meta) {
1591
1585
  const definitionMap = new project_tsconfig_paths.DefinitionMap();
1592
1586
  definitionMap.set('minVersion', project_tsconfig_paths.literal(MINIMUM_PARTIAL_LINKER_VERSION));
1593
- definitionMap.set('version', project_tsconfig_paths.literal('21.0.0-next.5'));
1587
+ definitionMap.set('version', project_tsconfig_paths.literal('21.0.0-next.6'));
1594
1588
  definitionMap.set('ngImport', project_tsconfig_paths.importExpr(project_tsconfig_paths.Identifiers.core));
1595
1589
  // e.g. `type: MyPipe`
1596
1590
  definitionMap.set('type', meta.type.value);
@@ -5128,16 +5122,22 @@ function nodeArrayFromDecoratorsArray(decorators) {
5128
5122
  }
5129
5123
 
5130
5124
  function insertDebugNameIntoCallExpression(callExpression, debugName) {
5131
- const signalExpressionHasNoArguments = callExpression.arguments.length === 0;
5132
5125
  const signalExpressionIsRequired = isRequiredSignalFunction(callExpression.expression);
5133
5126
  let configPosition = signalExpressionIsRequired ? 0 : 1;
5134
- // If the call expression has no arguments, we pretend that the config object is at position 0.
5127
+ const nodeArgs = Array.from(callExpression.arguments);
5128
+ // 1. If the call expression has no arguments, we pretend that the config object is at position 0.
5135
5129
  // We do this so that we can insert a spread element at the start of the args list in a way where
5136
5130
  // undefined can be the first argument but still get tree-shaken out in production builds.
5137
- if (signalExpressionHasNoArguments) {
5131
+ // or
5132
+ // 2. Since `linkedSignal` with computation uses a single object for both computation logic
5133
+ // and options (unlike other signal-based primitives), we set the argument position to 0, i.e.
5134
+ // reusing the computation logic object.
5135
+ const signalExpressionHasNoArguments = callExpression.arguments.length === 0;
5136
+ const isLinkedSignal = callExpression.expression.getText() === 'linkedSignal';
5137
+ const isComputationLinkedSignal = isLinkedSignal && nodeArgs[0].kind === ts.SyntaxKind.ObjectLiteralExpression;
5138
+ if (signalExpressionHasNoArguments || isComputationLinkedSignal) {
5138
5139
  configPosition = 0;
5139
5140
  }
5140
- const nodeArgs = Array.from(callExpression.arguments);
5141
5141
  let existingArgument = nodeArgs[configPosition];
5142
5142
  if (existingArgument === undefined) {
5143
5143
  existingArgument = ts.factory.createObjectLiteralExpression([]);
@@ -5186,12 +5186,15 @@ function insertDebugNameIntoCallExpression(callExpression, debugName) {
5186
5186
  /* question token */ undefined, devModeCase,
5187
5187
  /* colon token */ undefined, nonDevModeCase)));
5188
5188
  let transformedSignalArgs;
5189
- if (signalExpressionIsRequired || signalExpressionHasNoArguments) {
5189
+ if (signalExpressionIsRequired || signalExpressionHasNoArguments || isComputationLinkedSignal) {
5190
5190
  // 1. If the call expression is a required signal function, there is no args other than the config object.
5191
5191
  // So we just use the spread element as the only argument.
5192
5192
  // or
5193
5193
  // 2. If the call expression has no arguments (ex. input(), model(), etc), we already added the undefined
5194
5194
  // identifier in the spread element above. So we use that spread Element as is.
5195
+ // or
5196
+ // 3. We are transforming a `linkedSignal` with computation (i.e. we have a single object for both
5197
+ // logic and options).
5195
5198
  transformedSignalArgs = ts.factory.createNodeArray([spreadElementContainingUpdatedOptions]);
5196
5199
  }
5197
5200
  else {
@@ -5329,6 +5332,7 @@ function expressionIsUsingAngularCoreImportedSymbol(program, expression) {
5329
5332
  const signalFunctions = new Set([
5330
5333
  'signal',
5331
5334
  'computed',
5335
+ 'linkedSignal',
5332
5336
  'input',
5333
5337
  'model',
5334
5338
  'viewChild',
@@ -9171,7 +9175,6 @@ function createEmptyTemplate(componentClass, component, containingFile) {
9171
9175
  declaration: templateUrl
9172
9176
  ? {
9173
9177
  isInline: false,
9174
- interpolationConfig: project_tsconfig_paths.InterpolationConfig.fromArray(null),
9175
9178
  preserveWhitespaces: false,
9176
9179
  templateUrlExpression: templateUrl,
9177
9180
  templateUrl: 'missing.ng.html',
@@ -9179,7 +9182,6 @@ function createEmptyTemplate(componentClass, component, containingFile) {
9179
9182
  }
9180
9183
  : {
9181
9184
  isInline: true,
9182
- interpolationConfig: project_tsconfig_paths.InterpolationConfig.fromArray(null),
9183
9185
  preserveWhitespaces: false,
9184
9186
  expression: template,
9185
9187
  templateUrl: containingFile,
@@ -9191,7 +9193,6 @@ function parseExtractedTemplate(template, sourceStr, sourceParseRange, escapedSt
9191
9193
  // We always normalize line endings if the template has been escaped (i.e. is inline).
9192
9194
  const i18nNormalizeLineEndingsInICUs = escapedString || options.i18nNormalizeLineEndingsInICUs;
9193
9195
  const commonParseOptions = {
9194
- interpolationConfig: template.interpolationConfig,
9195
9196
  range: sourceParseRange ?? undefined,
9196
9197
  enableI18nLegacyMessageIdFormat: options.enableI18nLegacyMessageIdFormat,
9197
9198
  i18nNormalizeLineEndingsInICUs,
@@ -9243,7 +9244,6 @@ function parseTemplateDeclaration(node, decorator, component, containingFile, ev
9243
9244
  }
9244
9245
  preserveWhitespaces = value;
9245
9246
  }
9246
- let interpolationConfig = project_tsconfig_paths.DEFAULT_INTERPOLATION_CONFIG;
9247
9247
  if (component.has('interpolation')) {
9248
9248
  const expr = component.get('interpolation');
9249
9249
  const value = evaluator.evaluate(expr);
@@ -9252,7 +9252,6 @@ function parseTemplateDeclaration(node, decorator, component, containingFile, ev
9252
9252
  !value.every((element) => typeof element === 'string')) {
9253
9253
  throw project_tsconfig_paths.createValueHasWrongTypeError(expr, value, 'interpolation must be an array with 2 elements of string type');
9254
9254
  }
9255
- interpolationConfig = project_tsconfig_paths.InterpolationConfig.fromArray(value);
9256
9255
  }
9257
9256
  if (component.has('templateUrl')) {
9258
9257
  const templateUrlExpr = component.get('templateUrl');
@@ -9264,7 +9263,6 @@ function parseTemplateDeclaration(node, decorator, component, containingFile, ev
9264
9263
  const resourceUrl = resourceLoader.resolve(templateUrl, containingFile);
9265
9264
  return {
9266
9265
  isInline: false,
9267
- interpolationConfig,
9268
9266
  preserveWhitespaces,
9269
9267
  templateUrl,
9270
9268
  templateUrlExpression: templateUrlExpr,
@@ -9283,7 +9281,6 @@ function parseTemplateDeclaration(node, decorator, component, containingFile, ev
9283
9281
  else if (component.has('template')) {
9284
9282
  return {
9285
9283
  isInline: true,
9286
- interpolationConfig,
9287
9284
  preserveWhitespaces,
9288
9285
  expression: component.get('template'),
9289
9286
  templateUrl: containingFile,
@@ -10721,7 +10718,6 @@ class ComponentDecoratorHandler {
10721
10718
  template,
10722
10719
  encapsulation,
10723
10720
  changeDetection,
10724
- interpolation: template.interpolationConfig ?? project_tsconfig_paths.DEFAULT_INTERPOLATION_CONFIG,
10725
10721
  styles,
10726
10722
  externalStyles,
10727
10723
  // These will be replaced during the compilation step, after all `NgModule`s have been
@@ -10987,7 +10983,7 @@ class ComponentDecoratorHandler {
10987
10983
  return { data };
10988
10984
  }
10989
10985
  xi18n(ctx, node, analysis) {
10990
- ctx.updateFromTemplate(analysis.template.content, analysis.template.declaration.resolvedTemplateUrl, analysis.template.interpolationConfig ?? project_tsconfig_paths.DEFAULT_INTERPOLATION_CONFIG);
10986
+ ctx.updateFromTemplate(analysis.template.content, analysis.template.declaration.resolvedTemplateUrl);
10991
10987
  }
10992
10988
  updateResources(node, analysis) {
10993
10989
  const containingFile = node.getSourceFile().fileName;
@@ -11736,7 +11732,7 @@ class ComponentDecoratorHandler {
11736
11732
  }
11737
11733
  /** Creates a new binding parser. */
11738
11734
  getNewBindingParser() {
11739
- return project_tsconfig_paths.makeBindingParser(undefined, this.enableSelectorless);
11735
+ return project_tsconfig_paths.makeBindingParser(this.enableSelectorless);
11740
11736
  }
11741
11737
  }
11742
11738
  function createMatcherFromScope(scope, hostDirectivesResolver) {
@@ -12325,7 +12321,7 @@ class PipeDecoratorHandler {
12325
12321
  * @description
12326
12322
  * Entry point for all public APIs of the compiler-cli package.
12327
12323
  */
12328
- new project_tsconfig_paths.Version('21.0.0-next.5');
12324
+ new project_tsconfig_paths.Version('21.0.0-next.6');
12329
12325
 
12330
12326
  /**
12331
12327
  * Whether a given decorator should be treated as an Angular decorator.
@@ -20429,7 +20425,7 @@ var semver = /*@__PURE__*/getDefaultExportFromCjs(semverExports);
20429
20425
  * @param minVersion Minimum required version for the feature.
20430
20426
  */
20431
20427
  function coreVersionSupportsFeature(coreVersion, minVersion) {
20432
- // A version of `21.0.0-next.5` usually means that core is at head so it supports
20428
+ // A version of `21.0.0-next.6` usually means that core is at head so it supports
20433
20429
  // all features. Use string interpolation prevent the placeholder from being replaced
20434
20430
  // with the current version during build time.
20435
20431
  if (coreVersion === `0.0.0-${'PLACEHOLDER'}`) {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v21.0.0-next.5
3
+ * @license Angular v21.0.0-next.6
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -8,11 +8,11 @@
8
8
 
9
9
  var ts = require('typescript');
10
10
  require('os');
11
- var project_tsconfig_paths = require('./project_tsconfig_paths-DX9KHLn9.cjs');
12
- var index = require('./index-Bb6iejCd.cjs');
11
+ var project_tsconfig_paths = require('./project_tsconfig_paths-sFatqIE5.cjs');
12
+ var index = require('./index-DCfgOEYE.cjs');
13
13
  require('path');
14
14
  require('node:path');
15
- var project_paths = require('./project_paths-Dr2s3Pq3.cjs');
15
+ var project_paths = require('./project_paths-i0Wjiiq1.cjs');
16
16
 
17
17
  function getMemberName(member) {
18
18
  if (member.name === undefined) {
@@ -651,7 +651,6 @@ function attemptExtractTemplateDefinition(node, checker, reflector, resourceLoad
651
651
  return {
652
652
  isInline: true,
653
653
  expression: templateProp,
654
- interpolationConfig: project_tsconfig_paths.DEFAULT_INTERPOLATION_CONFIG,
655
654
  preserveWhitespaces: false,
656
655
  resolvedTemplateUrl: containingFile,
657
656
  templateUrl: containingFile,
@@ -665,7 +664,6 @@ function attemptExtractTemplateDefinition(node, checker, reflector, resourceLoad
665
664
  if (typeof templateUrl === 'string') {
666
665
  return {
667
666
  isInline: false,
668
- interpolationConfig: project_tsconfig_paths.DEFAULT_INTERPOLATION_CONFIG,
669
667
  preserveWhitespaces: false,
670
668
  templateUrlExpression: templateUrlProp,
671
669
  templateUrl,
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v21.0.0-next.5
3
+ * @license Angular v21.0.0-next.6
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -8,13 +8,13 @@
8
8
 
9
9
  var schematics = require('@angular-devkit/schematics');
10
10
  var p = require('path');
11
- var compiler_host = require('./compiler_host-Aouk-n4F.cjs');
11
+ var compiler_host = require('./compiler_host-BJEh7-L1.cjs');
12
12
  var ts = require('typescript');
13
13
  var ng_decorators = require('./ng_decorators-BI0uV7KI.cjs');
14
14
  var imports = require('./imports-DwPXlGFl.cjs');
15
15
  var nodes = require('./nodes-B16H9JUd.cjs');
16
16
  var leading_space = require('./leading_space-D9nQ8UQC.cjs');
17
- var project_tsconfig_paths = require('./project_tsconfig_paths-DX9KHLn9.cjs');
17
+ var project_tsconfig_paths = require('./project_tsconfig_paths-sFatqIE5.cjs');
18
18
  require('os');
19
19
  require('fs');
20
20
  require('module');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v21.0.0-next.5
3
+ * @license Angular v21.0.0-next.6
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -1,19 +1,19 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v21.0.0-next.5
3
+ * @license Angular v21.0.0-next.6
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
7
7
  'use strict';
8
8
 
9
- var project_tsconfig_paths = require('./project_tsconfig_paths-DX9KHLn9.cjs');
9
+ var project_tsconfig_paths = require('./project_tsconfig_paths-sFatqIE5.cjs');
10
10
  var ts = require('typescript');
11
11
  require('os');
12
12
  var assert = require('assert');
13
- var index = require('./index-BZQb51Qf.cjs');
14
- var project_paths = require('./project_paths-Dr2s3Pq3.cjs');
13
+ var index = require('./index-bqpULzLD.cjs');
14
+ var project_paths = require('./project_paths-i0Wjiiq1.cjs');
15
15
  var leading_space = require('./leading_space-D9nQ8UQC.cjs');
16
- require('./index-Bb6iejCd.cjs');
16
+ require('./index-DCfgOEYE.cjs');
17
17
  require('path');
18
18
  require('node:path');
19
19
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v21.0.0-next.5
3
+ * @license Angular v21.0.0-next.6
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -10,7 +10,7 @@ var ts = require('typescript');
10
10
  var ng_decorators = require('./ng_decorators-BI0uV7KI.cjs');
11
11
  var property_name = require('./property_name-BBwFuqMe.cjs');
12
12
  require('os');
13
- var project_tsconfig_paths = require('./project_tsconfig_paths-DX9KHLn9.cjs');
13
+ var project_tsconfig_paths = require('./project_tsconfig_paths-sFatqIE5.cjs');
14
14
 
15
15
  /**
16
16
  * Unwraps a given expression TypeScript node. Expressions can be wrapped within multiple
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v21.0.0-next.5
3
+ * @license Angular v21.0.0-next.6
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */