@angular/core 19.2.0-next.0 → 19.2.0-next.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 (37) hide show
  1. package/fesm2022/core.mjs +953 -1124
  2. package/fesm2022/core.mjs.map +1 -1
  3. package/fesm2022/primitives/event-dispatch.mjs +2 -1
  4. package/fesm2022/primitives/event-dispatch.mjs.map +1 -1
  5. package/fesm2022/primitives/signals.mjs +1 -1
  6. package/fesm2022/rxjs-interop.mjs +2 -7
  7. package/fesm2022/rxjs-interop.mjs.map +1 -1
  8. package/fesm2022/testing.mjs +4 -4
  9. package/index.d.ts +42 -23
  10. package/package.json +1 -1
  11. package/primitives/event-dispatch/index.d.ts +1 -1
  12. package/primitives/signals/index.d.ts +1 -1
  13. package/rxjs-interop/index.d.ts +12 -2
  14. package/schematics/bundles/{apply_import_manager-deecd687.js → apply_import_manager-d8ea426b.js} +3 -3
  15. package/schematics/bundles/{checker-78667e44.js → checker-9af84be9.js} +6 -5
  16. package/schematics/bundles/cleanup-unused-imports.js +6 -6
  17. package/schematics/bundles/{compiler_host-38c8eab2.js → compiler_host-dbff2781.js} +2 -2
  18. package/schematics/bundles/control-flow-migration.js +3 -3
  19. package/schematics/bundles/explicit-standalone-flag.js +5 -5
  20. package/schematics/bundles/{imports-abe29092.js → imports-31a38653.js} +1 -1
  21. package/schematics/bundles/{index-6713e562.js → index-23b503a4.js} +4 -4
  22. package/schematics/bundles/{index-de135c2f.js → index-93e324de.js} +4 -4
  23. package/schematics/bundles/inject-migration.js +6 -6
  24. package/schematics/bundles/{leading_space-d190b83b.js → leading_space-6e7a8ec6.js} +1 -1
  25. package/schematics/bundles/{migrate_ts_type_references-e6411f51.js → migrate_ts_type_references-c6615b87.js} +6 -6
  26. package/schematics/bundles/{nodes-a9f0b985.js → nodes-88c2157f.js} +2 -2
  27. package/schematics/bundles/output-migration.js +6 -6
  28. package/schematics/bundles/pending-tasks.js +5 -5
  29. package/schematics/bundles/{program-b0d98952.js → program-66386e72.js} +101 -27
  30. package/schematics/bundles/{project_tsconfig_paths-e9ccccbf.js → project_tsconfig_paths-6c9cde78.js} +1 -1
  31. package/schematics/bundles/provide-initializer.js +5 -5
  32. package/schematics/bundles/route-lazy-loading.js +4 -4
  33. package/schematics/bundles/signal-input-migration.js +8 -8
  34. package/schematics/bundles/signal-queries-migration.js +8 -8
  35. package/schematics/bundles/signals.js +8 -8
  36. package/schematics/bundles/standalone-migration.js +8 -8
  37. package/testing/index.d.ts +1 -1
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.2.0-next.0
3
+ * @license Angular v19.2.0-next.2
4
4
  * (c) 2010-2024 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -10,12 +10,12 @@ Object.defineProperty(exports, '__esModule', { value: true });
10
10
 
11
11
  var schematics = require('@angular-devkit/schematics');
12
12
  var p = require('path');
13
- var compiler_host = require('./compiler_host-38c8eab2.js');
13
+ var compiler_host = require('./compiler_host-dbff2781.js');
14
14
  var ts = require('typescript');
15
- var nodes = require('./nodes-a9f0b985.js');
16
- var imports = require('./imports-abe29092.js');
17
- var leading_space = require('./leading_space-d190b83b.js');
18
- require('./checker-78667e44.js');
15
+ var nodes = require('./nodes-88c2157f.js');
16
+ var imports = require('./imports-31a38653.js');
17
+ var leading_space = require('./leading_space-6e7a8ec6.js');
18
+ require('./checker-9af84be9.js');
19
19
  require('os');
20
20
  require('fs');
21
21
  require('module');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.2.0-next.0
3
+ * @license Angular v19.2.0-next.2
4
4
  * (c) 2010-2024 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -1,19 +1,19 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.2.0-next.0
3
+ * @license Angular v19.2.0-next.2
4
4
  * (c) 2010-2024 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
7
7
  'use strict';
8
8
 
9
- var checker = require('./checker-78667e44.js');
9
+ var checker = require('./checker-9af84be9.js');
10
10
  var ts = require('typescript');
11
11
  require('os');
12
12
  var assert = require('assert');
13
- var index = require('./index-6713e562.js');
14
- var apply_import_manager = require('./apply_import_manager-deecd687.js');
15
- var leading_space = require('./leading_space-d190b83b.js');
16
- require('./program-b0d98952.js');
13
+ var index = require('./index-23b503a4.js');
14
+ var apply_import_manager = require('./apply_import_manager-d8ea426b.js');
15
+ var leading_space = require('./leading_space-6e7a8ec6.js');
16
+ require('./program-66386e72.js');
17
17
  require('path');
18
18
 
19
19
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -1,13 +1,13 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.2.0-next.0
3
+ * @license Angular v19.2.0-next.2
4
4
  * (c) 2010-2024 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 imports = require('./imports-abe29092.js');
10
+ var imports = require('./imports-31a38653.js');
11
11
 
12
12
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
13
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.2.0-next.0
3
+ * @license Angular v19.2.0-next.2
4
4
  * (c) 2010-2024 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -9,14 +9,14 @@
9
9
  Object.defineProperty(exports, '__esModule', { value: true });
10
10
 
11
11
  var schematics = require('@angular-devkit/schematics');
12
- var project_tsconfig_paths = require('./project_tsconfig_paths-e9ccccbf.js');
13
- var apply_import_manager = require('./apply_import_manager-deecd687.js');
12
+ var project_tsconfig_paths = require('./project_tsconfig_paths-6c9cde78.js');
13
+ var apply_import_manager = require('./apply_import_manager-d8ea426b.js');
14
14
  require('os');
15
15
  var ts = require('typescript');
16
- var checker = require('./checker-78667e44.js');
17
- var program = require('./program-b0d98952.js');
16
+ var checker = require('./checker-9af84be9.js');
17
+ var program = require('./program-66386e72.js');
18
18
  require('path');
19
- var index = require('./index-6713e562.js');
19
+ var index = require('./index-23b503a4.js');
20
20
  require('@angular-devkit/core');
21
21
  require('node:path/posix');
22
22
  require('fs');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.2.0-next.0
3
+ * @license Angular v19.2.0-next.2
4
4
  * (c) 2010-2024 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -10,12 +10,12 @@ Object.defineProperty(exports, '__esModule', { value: true });
10
10
 
11
11
  var schematics = require('@angular-devkit/schematics');
12
12
  var p = require('path');
13
- var project_tsconfig_paths = require('./project_tsconfig_paths-e9ccccbf.js');
14
- var compiler_host = require('./compiler_host-38c8eab2.js');
13
+ var project_tsconfig_paths = require('./project_tsconfig_paths-6c9cde78.js');
14
+ var compiler_host = require('./compiler_host-dbff2781.js');
15
15
  var ts = require('typescript');
16
- var imports = require('./imports-abe29092.js');
16
+ var imports = require('./imports-31a38653.js');
17
17
  require('@angular-devkit/core');
18
- require('./checker-78667e44.js');
18
+ require('./checker-9af84be9.js');
19
19
  require('os');
20
20
  require('fs');
21
21
  require('module');
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.2.0-next.0
3
+ * @license Angular v19.2.0-next.2
4
4
  * (c) 2010-2024 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
7
7
  'use strict';
8
8
 
9
- var checker = require('./checker-78667e44.js');
9
+ var checker = require('./checker-9af84be9.js');
10
10
  var ts = require('typescript');
11
11
  var p = require('path');
12
12
  require('os');
@@ -900,7 +900,6 @@ function compileHmrInitializer(meta) {
900
900
  const dataName = 'd';
901
901
  const timestampName = 't';
902
902
  const importCallbackName = `${meta.className}_HmrLoad`;
903
- const locals = meta.localDependencies.map((localName) => checker.variable(localName));
904
903
  const namespaces = meta.namespaceDependencies.map((dep) => {
905
904
  return new checker.ExternalExpr({ moduleName: dep.moduleName, name: null });
906
905
  });
@@ -908,7 +907,12 @@ function compileHmrInitializer(meta) {
908
907
  const defaultRead = checker.variable(moduleName).prop('default');
909
908
  // ɵɵreplaceMetadata(Comp, m.default, [...namespaces], [...locals]);
910
909
  const replaceCall = checker.importExpr(checker.Identifiers.replaceMetadata)
911
- .callFn([meta.type, defaultRead, checker.literalArr(namespaces), checker.literalArr(locals)]);
910
+ .callFn([
911
+ meta.type,
912
+ defaultRead,
913
+ checker.literalArr(namespaces),
914
+ checker.literalArr(meta.localDependencies.map((l) => l.runtimeRepresentation)),
915
+ ]);
912
916
  // (m) => m.default && ɵɵreplaceMetadata(...)
913
917
  const replaceCallback = checker.arrowFn([new checker.FnParam(moduleName)], defaultRead.and(replaceCall));
914
918
  // '<urlPartial>' + encodeURIComponent(t)
@@ -966,8 +970,11 @@ function compileHmrInitializer(meta) {
966
970
  */
967
971
  function compileHmrUpdateCallback(definitions, constantStatements, meta) {
968
972
  const namespaces = 'ɵɵnamespaces';
969
- const params = [meta.className, namespaces, ...meta.localDependencies].map((name) => new checker.FnParam(name, checker.DYNAMIC_TYPE));
973
+ const params = [meta.className, namespaces].map((name) => new checker.FnParam(name, checker.DYNAMIC_TYPE));
970
974
  const body = [];
975
+ for (const local of meta.localDependencies) {
976
+ params.push(new checker.FnParam(local.name));
977
+ }
971
978
  // Declare variables that read out the individual namespaces.
972
979
  for (let i = 0; i < meta.namespaceDependencies.length; i++) {
973
980
  body.push(new checker.DeclareVarStmt(meta.namespaceDependencies[i].assignedName, checker.variable(namespaces).key(checker.literal(i)), checker.DYNAMIC_TYPE, checker.StmtModifier.Final));
@@ -999,7 +1006,7 @@ const MINIMUM_PARTIAL_LINKER_DEFER_SUPPORT_VERSION = '18.0.0';
999
1006
  function compileDeclareClassMetadata(metadata) {
1000
1007
  const definitionMap = new checker.DefinitionMap();
1001
1008
  definitionMap.set('minVersion', checker.literal(MINIMUM_PARTIAL_LINKER_VERSION$5));
1002
- definitionMap.set('version', checker.literal('19.2.0-next.0'));
1009
+ definitionMap.set('version', checker.literal('19.2.0-next.2'));
1003
1010
  definitionMap.set('ngImport', checker.importExpr(checker.Identifiers.core));
1004
1011
  definitionMap.set('type', metadata.type);
1005
1012
  definitionMap.set('decorators', metadata.decorators);
@@ -1017,7 +1024,7 @@ function compileComponentDeclareClassMetadata(metadata, dependencies) {
1017
1024
  callbackReturnDefinitionMap.set('ctorParameters', metadata.ctorParameters ?? checker.literal(null));
1018
1025
  callbackReturnDefinitionMap.set('propDecorators', metadata.propDecorators ?? checker.literal(null));
1019
1026
  definitionMap.set('minVersion', checker.literal(MINIMUM_PARTIAL_LINKER_DEFER_SUPPORT_VERSION));
1020
- definitionMap.set('version', checker.literal('19.2.0-next.0'));
1027
+ definitionMap.set('version', checker.literal('19.2.0-next.2'));
1021
1028
  definitionMap.set('ngImport', checker.importExpr(checker.Identifiers.core));
1022
1029
  definitionMap.set('type', metadata.type);
1023
1030
  definitionMap.set('resolveDeferredDeps', compileComponentMetadataAsyncResolver(dependencies));
@@ -1112,7 +1119,7 @@ function createDirectiveDefinitionMap(meta) {
1112
1119
  const definitionMap = new checker.DefinitionMap();
1113
1120
  const minVersion = getMinimumVersionForPartialOutput(meta);
1114
1121
  definitionMap.set('minVersion', checker.literal(minVersion));
1115
- definitionMap.set('version', checker.literal('19.2.0-next.0'));
1122
+ definitionMap.set('version', checker.literal('19.2.0-next.2'));
1116
1123
  // e.g. `type: MyDirective`
1117
1124
  definitionMap.set('type', meta.type.value);
1118
1125
  if (meta.isStandalone !== undefined) {
@@ -1528,7 +1535,7 @@ const MINIMUM_PARTIAL_LINKER_VERSION$4 = '12.0.0';
1528
1535
  function compileDeclareFactoryFunction(meta) {
1529
1536
  const definitionMap = new checker.DefinitionMap();
1530
1537
  definitionMap.set('minVersion', checker.literal(MINIMUM_PARTIAL_LINKER_VERSION$4));
1531
- definitionMap.set('version', checker.literal('19.2.0-next.0'));
1538
+ definitionMap.set('version', checker.literal('19.2.0-next.2'));
1532
1539
  definitionMap.set('ngImport', checker.importExpr(checker.Identifiers.core));
1533
1540
  definitionMap.set('type', meta.type.value);
1534
1541
  definitionMap.set('deps', compileDependencies(meta.deps));
@@ -1563,7 +1570,7 @@ function compileDeclareInjectableFromMetadata(meta) {
1563
1570
  function createInjectableDefinitionMap(meta) {
1564
1571
  const definitionMap = new checker.DefinitionMap();
1565
1572
  definitionMap.set('minVersion', checker.literal(MINIMUM_PARTIAL_LINKER_VERSION$3));
1566
- definitionMap.set('version', checker.literal('19.2.0-next.0'));
1573
+ definitionMap.set('version', checker.literal('19.2.0-next.2'));
1567
1574
  definitionMap.set('ngImport', checker.importExpr(checker.Identifiers.core));
1568
1575
  definitionMap.set('type', meta.type.value);
1569
1576
  // Only generate providedIn property if it has a non-null value
@@ -1614,7 +1621,7 @@ function compileDeclareInjectorFromMetadata(meta) {
1614
1621
  function createInjectorDefinitionMap(meta) {
1615
1622
  const definitionMap = new checker.DefinitionMap();
1616
1623
  definitionMap.set('minVersion', checker.literal(MINIMUM_PARTIAL_LINKER_VERSION$2));
1617
- definitionMap.set('version', checker.literal('19.2.0-next.0'));
1624
+ definitionMap.set('version', checker.literal('19.2.0-next.2'));
1618
1625
  definitionMap.set('ngImport', checker.importExpr(checker.Identifiers.core));
1619
1626
  definitionMap.set('type', meta.type.value);
1620
1627
  definitionMap.set('providers', meta.providers);
@@ -1647,7 +1654,7 @@ function createNgModuleDefinitionMap(meta) {
1647
1654
  throw new Error('Invalid path! Local compilation mode should not get into the partial compilation path');
1648
1655
  }
1649
1656
  definitionMap.set('minVersion', checker.literal(MINIMUM_PARTIAL_LINKER_VERSION$1));
1650
- definitionMap.set('version', checker.literal('19.2.0-next.0'));
1657
+ definitionMap.set('version', checker.literal('19.2.0-next.2'));
1651
1658
  definitionMap.set('ngImport', checker.importExpr(checker.Identifiers.core));
1652
1659
  definitionMap.set('type', meta.type.value);
1653
1660
  // We only generate the keys in the metadata if the arrays contain values.
@@ -1698,7 +1705,7 @@ function compileDeclarePipeFromMetadata(meta) {
1698
1705
  function createPipeDefinitionMap(meta) {
1699
1706
  const definitionMap = new checker.DefinitionMap();
1700
1707
  definitionMap.set('minVersion', checker.literal(MINIMUM_PARTIAL_LINKER_VERSION));
1701
- definitionMap.set('version', checker.literal('19.2.0-next.0'));
1708
+ definitionMap.set('version', checker.literal('19.2.0-next.2'));
1702
1709
  definitionMap.set('ngImport', checker.importExpr(checker.Identifiers.core));
1703
1710
  // e.g. `type: MyPipe`
1704
1711
  definitionMap.set('type', meta.type.value);
@@ -10140,7 +10147,7 @@ class TsCreateProgramDriver {
10140
10147
  * @param classMetadata Compiled `setClassMetadata` expression, if any.
10141
10148
  * @param debugInfo Compiled `setClassDebugInfo` expression, if any.
10142
10149
  */
10143
- function extractHmrDependencies(node, definition, factory, deferBlockMetadata, classMetadata, debugInfo) {
10150
+ function extractHmrDependencies(node, definition, factory, deferBlockMetadata, classMetadata, debugInfo, reflection, evaluator) {
10144
10151
  const name = ts__default["default"].isClassDeclaration(node) && node.name ? node.name.text : null;
10145
10152
  const visitor = new PotentialTopLevelReadsVisitor();
10146
10153
  const sourceFile = node.getSourceFile();
@@ -10162,14 +10169,64 @@ function extractHmrDependencies(node, definition, factory, deferBlockMetadata, c
10162
10169
  // variables inside of functions. Note that we filter out the class name since it is always
10163
10170
  // defined and it saves us having to repeat this logic wherever the locals are consumed.
10164
10171
  const availableTopLevel = getTopLevelDeclarationNames(sourceFile);
10172
+ const local = [];
10173
+ const seenLocals = new Set();
10174
+ for (const readNode of visitor.allReads) {
10175
+ const readName = readNode instanceof checker.ReadVarExpr ? readNode.name : readNode.text;
10176
+ if (readName !== name && !seenLocals.has(readName) && availableTopLevel.has(readName)) {
10177
+ const runtimeRepresentation = getRuntimeRepresentation(readNode, reflection, evaluator);
10178
+ if (runtimeRepresentation === null) {
10179
+ return null;
10180
+ }
10181
+ local.push({ name: readName, runtimeRepresentation });
10182
+ seenLocals.add(readName);
10183
+ }
10184
+ }
10165
10185
  return {
10166
- local: Array.from(visitor.allReads).filter((r) => r !== name && availableTopLevel.has(r)),
10186
+ local,
10167
10187
  external: Array.from(visitor.namespaceReads, (name, index) => ({
10168
10188
  moduleName: name,
10169
10189
  assignedName: `ɵhmr${index}`,
10170
10190
  })),
10171
10191
  };
10172
10192
  }
10193
+ /**
10194
+ * Gets a node that can be used to represent an identifier in the HMR replacement code at runtime.
10195
+ */
10196
+ function getRuntimeRepresentation(node, reflection, evaluator) {
10197
+ if (node instanceof checker.ReadVarExpr) {
10198
+ return checker.variable(node.name);
10199
+ }
10200
+ // Const enums can't be passed by reference, because their values are inlined.
10201
+ // Pass in an object literal with all of the values instead.
10202
+ if (isConstEnumReference(node, reflection)) {
10203
+ const evaluated = evaluator.evaluate(node);
10204
+ if (evaluated instanceof Map) {
10205
+ const members = [];
10206
+ for (const [name, value] of evaluated.entries()) {
10207
+ if (value instanceof checker.EnumValue &&
10208
+ (value.resolved == null ||
10209
+ typeof value.resolved === 'string' ||
10210
+ typeof value.resolved === 'boolean' ||
10211
+ typeof value.resolved === 'number')) {
10212
+ members.push({
10213
+ key: name,
10214
+ quoted: false,
10215
+ value: checker.literal(value.resolved),
10216
+ });
10217
+ }
10218
+ else {
10219
+ // TS is pretty restrictive about what values can be in a const enum so our evaluator
10220
+ // should be able to handle them, however if we happen to hit such a case, we return null
10221
+ // so the HMR update can be invalidated.
10222
+ return null;
10223
+ }
10224
+ }
10225
+ return checker.literalMap(members);
10226
+ }
10227
+ }
10228
+ return checker.variable(node.text);
10229
+ }
10173
10230
  /**
10174
10231
  * Gets the names of all top-level declarations within the file (imports, declared classes etc).
10175
10232
  * @param sourceFile File in which to search for locals.
@@ -10182,8 +10239,7 @@ function getTopLevelDeclarationNames(sourceFile) {
10182
10239
  // to runtime code. Intentionally excludes interfaces and type declarations.
10183
10240
  if (ts__default["default"].isClassDeclaration(node) ||
10184
10241
  ts__default["default"].isFunctionDeclaration(node) ||
10185
- (ts__default["default"].isEnumDeclaration(node) &&
10186
- !node.modifiers?.some((m) => m.kind === ts__default["default"].SyntaxKind.ConstKeyword))) {
10242
+ ts__default["default"].isEnumDeclaration(node)) {
10187
10243
  if (node.name) {
10188
10244
  results.add(node.name.text);
10189
10245
  }
@@ -10259,7 +10315,7 @@ class PotentialTopLevelReadsVisitor extends checker.RecursiveAstVisitor {
10259
10315
  super.visitExternalExpr(ast, context);
10260
10316
  }
10261
10317
  visitReadVarExpr(ast, context) {
10262
- this.allReads.add(ast.name);
10318
+ this.allReads.add(ast);
10263
10319
  super.visitReadVarExpr(ast, context);
10264
10320
  }
10265
10321
  visitWrappedNodeExpr(ast, context) {
@@ -10274,7 +10330,7 @@ class PotentialTopLevelReadsVisitor extends checker.RecursiveAstVisitor {
10274
10330
  */
10275
10331
  addAllTopLevelIdentifiers = (node) => {
10276
10332
  if (ts__default["default"].isIdentifier(node) && this.isTopLevelIdentifierReference(node)) {
10277
- this.allReads.add(node.text);
10333
+ this.allReads.add(node);
10278
10334
  }
10279
10335
  else {
10280
10336
  ts__default["default"].forEachChild(node, this.addAllTopLevelIdentifiers);
@@ -10388,6 +10444,21 @@ class PotentialTopLevelReadsVisitor extends checker.RecursiveAstVisitor {
10388
10444
  return !!value && typeof value.kind === 'number';
10389
10445
  }
10390
10446
  }
10447
+ /** Checks whether a node is a reference to a const enum. */
10448
+ function isConstEnumReference(node, reflection) {
10449
+ const parent = node.parent;
10450
+ // Only check identifiers that are in the form of `Foo.bar` where `Foo` is the node being checked.
10451
+ if (!parent ||
10452
+ !ts__default["default"].isPropertyAccessExpression(parent) ||
10453
+ parent.expression !== node ||
10454
+ !ts__default["default"].isIdentifier(parent.name)) {
10455
+ return false;
10456
+ }
10457
+ const declaration = reflection.getDeclarationOfIdentifier(node);
10458
+ return (declaration !== null &&
10459
+ ts__default["default"].isEnumDeclaration(declaration.node) &&
10460
+ !!declaration.node.modifiers?.some((m) => m.kind === ts__default["default"].SyntaxKind.ConstKeyword));
10461
+ }
10391
10462
 
10392
10463
  /*!
10393
10464
  * @license
@@ -10408,14 +10479,17 @@ class PotentialTopLevelReadsVisitor extends checker.RecursiveAstVisitor {
10408
10479
  * @param classMetadata Analyzed `setClassMetadata` expression, if any.
10409
10480
  * @param debugInfo Analyzed `setClassDebugInfo` expression, if any.
10410
10481
  */
10411
- function extractHmrMetatadata(clazz, reflection, compilerHost, rootDirs, definition, factory, deferBlockMetadata, classMetadata, debugInfo) {
10482
+ function extractHmrMetatadata(clazz, reflection, evaluator, compilerHost, rootDirs, definition, factory, deferBlockMetadata, classMetadata, debugInfo) {
10412
10483
  if (!reflection.isClass(clazz)) {
10413
10484
  return null;
10414
10485
  }
10415
10486
  const sourceFile = clazz.getSourceFile();
10416
10487
  const filePath = getProjectRelativePath(sourceFile.fileName, rootDirs, compilerHost) ||
10417
10488
  compilerHost.getCanonicalFileName(sourceFile.fileName);
10418
- const dependencies = extractHmrDependencies(clazz, definition, factory, deferBlockMetadata, classMetadata, debugInfo);
10489
+ const dependencies = extractHmrDependencies(clazz, definition, factory, deferBlockMetadata, classMetadata, debugInfo, reflection, evaluator);
10490
+ if (dependencies === null) {
10491
+ return null;
10492
+ }
10419
10493
  const meta = {
10420
10494
  type: new checker.WrappedNodeExpr(clazz.name),
10421
10495
  className: clazz.name.text,
@@ -11552,7 +11626,7 @@ class ComponentDecoratorHandler {
11552
11626
  ? compileClassDebugInfo(analysis.classDebugInfo).toStmt()
11553
11627
  : null;
11554
11628
  const hmrMeta = this.enableHmr
11555
- ? extractHmrMetatadata(node, this.reflector, this.compilerHost, this.rootDirs, def, fac, defer, classMetadata, debugInfo)
11629
+ ? extractHmrMetatadata(node, this.reflector, this.evaluator, this.compilerHost, this.rootDirs, def, fac, defer, classMetadata, debugInfo)
11556
11630
  : null;
11557
11631
  const hmrInitializer = hmrMeta ? compileHmrInitializer(hmrMeta).toStmt() : null;
11558
11632
  const deferrableImports = this.canDeferDeps
@@ -11588,7 +11662,7 @@ class ComponentDecoratorHandler {
11588
11662
  ? compileComponentDeclareClassMetadata(analysis.classMetadata, perComponentDeferredDeps).toStmt()
11589
11663
  : null;
11590
11664
  const hmrMeta = this.enableHmr
11591
- ? extractHmrMetatadata(node, this.reflector, this.compilerHost, this.rootDirs, def, fac, defer, classMetadata, null)
11665
+ ? extractHmrMetatadata(node, this.reflector, this.evaluator, this.compilerHost, this.rootDirs, def, fac, defer, classMetadata, null)
11592
11666
  : null;
11593
11667
  const hmrInitializer = hmrMeta ? compileHmrInitializer(hmrMeta).toStmt() : null;
11594
11668
  const deferrableImports = this.canDeferDeps
@@ -11620,7 +11694,7 @@ class ComponentDecoratorHandler {
11620
11694
  ? compileClassDebugInfo(analysis.classDebugInfo).toStmt()
11621
11695
  : null;
11622
11696
  const hmrMeta = this.enableHmr
11623
- ? extractHmrMetatadata(node, this.reflector, this.compilerHost, this.rootDirs, def, fac, defer, classMetadata, debugInfo)
11697
+ ? extractHmrMetatadata(node, this.reflector, this.evaluator, this.compilerHost, this.rootDirs, def, fac, defer, classMetadata, debugInfo)
11624
11698
  : null;
11625
11699
  const hmrInitializer = hmrMeta ? compileHmrInitializer(hmrMeta).toStmt() : null;
11626
11700
  const deferrableImports = this.canDeferDeps
@@ -11649,7 +11723,7 @@ class ComponentDecoratorHandler {
11649
11723
  ? compileClassDebugInfo(analysis.classDebugInfo).toStmt()
11650
11724
  : null;
11651
11725
  const hmrMeta = this.enableHmr
11652
- ? extractHmrMetatadata(node, this.reflector, this.compilerHost, this.rootDirs, def, fac, defer, classMetadata, debugInfo)
11726
+ ? extractHmrMetatadata(node, this.reflector, this.evaluator, this.compilerHost, this.rootDirs, def, fac, defer, classMetadata, debugInfo)
11653
11727
  : null;
11654
11728
  const res = checker.compileResults(fac, def, classMetadata, 'ɵcmp', null, null, debugInfo, null);
11655
11729
  return hmrMeta === null || res.length === 0
@@ -13352,7 +13426,7 @@ const MIN_TS_VERSION = '5.5.0';
13352
13426
  * Note: this check is disabled in g3, search for
13353
13427
  * `angularCompilerOptions.disableTypeScriptVersionCheck` config param value in g3.
13354
13428
  */
13355
- const MAX_TS_VERSION = '5.8.0';
13429
+ const MAX_TS_VERSION = '5.9.0';
13356
13430
  /**
13357
13431
  * The currently used version of TypeScript, which can be adjusted for testing purposes using
13358
13432
  * `setTypeScriptVersionForTesting` and `restoreTypeScriptVersionForTesting` below.
@@ -20256,7 +20330,7 @@ var semver = /*@__PURE__*/getDefaultExportFromCjs(semverExports);
20256
20330
  * @param minVersion Minimum required version for the feature.
20257
20331
  */
20258
20332
  function coreVersionSupportsFeature(coreVersion, minVersion) {
20259
- // A version of `19.2.0-next.0` usually means that core is at head so it supports
20333
+ // A version of `19.2.0-next.2` usually means that core is at head so it supports
20260
20334
  // all features. Use string interpolation prevent the placeholder from being replaced
20261
20335
  // with the current version during build time.
20262
20336
  if (coreVersion === `0.0.0-${'PLACEHOLDER'}`) {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.2.0-next.0
3
+ * @license Angular v19.2.0-next.2
4
4
  * (c) 2010-2024 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.2.0-next.0
3
+ * @license Angular v19.2.0-next.2
4
4
  * (c) 2010-2024 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -10,12 +10,12 @@ Object.defineProperty(exports, '__esModule', { value: true });
10
10
 
11
11
  var schematics = require('@angular-devkit/schematics');
12
12
  var p = require('path');
13
- var project_tsconfig_paths = require('./project_tsconfig_paths-e9ccccbf.js');
14
- var compiler_host = require('./compiler_host-38c8eab2.js');
13
+ var project_tsconfig_paths = require('./project_tsconfig_paths-6c9cde78.js');
14
+ var compiler_host = require('./compiler_host-dbff2781.js');
15
15
  var ts = require('typescript');
16
- var imports = require('./imports-abe29092.js');
16
+ var imports = require('./imports-31a38653.js');
17
17
  require('@angular-devkit/core');
18
- require('./checker-78667e44.js');
18
+ require('./checker-9af84be9.js');
19
19
  require('os');
20
20
  require('fs');
21
21
  require('module');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.2.0-next.0
3
+ * @license Angular v19.2.0-next.2
4
4
  * (c) 2010-2024 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -11,10 +11,10 @@ Object.defineProperty(exports, '__esModule', { value: true });
11
11
  var schematics = require('@angular-devkit/schematics');
12
12
  var fs = require('fs');
13
13
  var p = require('path');
14
- var compiler_host = require('./compiler_host-38c8eab2.js');
15
- var project_tsconfig_paths = require('./project_tsconfig_paths-e9ccccbf.js');
14
+ var compiler_host = require('./compiler_host-dbff2781.js');
15
+ var project_tsconfig_paths = require('./project_tsconfig_paths-6c9cde78.js');
16
16
  var ts = require('typescript');
17
- var checker = require('./checker-78667e44.js');
17
+ var checker = require('./checker-9af84be9.js');
18
18
  require('os');
19
19
  require('@angular-devkit/core');
20
20
  require('module');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.2.0-next.0
3
+ * @license Angular v19.2.0-next.2
4
4
  * (c) 2010-2024 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -9,17 +9,17 @@
9
9
  Object.defineProperty(exports, '__esModule', { value: true });
10
10
 
11
11
  var schematics = require('@angular-devkit/schematics');
12
- var migrate_ts_type_references = require('./migrate_ts_type_references-e6411f51.js');
12
+ var migrate_ts_type_references = require('./migrate_ts_type_references-c6615b87.js');
13
13
  var ts = require('typescript');
14
14
  require('os');
15
- var checker = require('./checker-78667e44.js');
16
- var program = require('./program-b0d98952.js');
15
+ var checker = require('./checker-9af84be9.js');
16
+ var program = require('./program-66386e72.js');
17
17
  require('path');
18
- var apply_import_manager = require('./apply_import_manager-deecd687.js');
19
- var index = require('./index-6713e562.js');
18
+ var apply_import_manager = require('./apply_import_manager-d8ea426b.js');
19
+ var index = require('./index-23b503a4.js');
20
20
  var assert = require('assert');
21
- var project_tsconfig_paths = require('./project_tsconfig_paths-e9ccccbf.js');
22
- require('./leading_space-d190b83b.js');
21
+ var project_tsconfig_paths = require('./project_tsconfig_paths-6c9cde78.js');
22
+ require('./leading_space-6e7a8ec6.js');
23
23
  require('fs');
24
24
  require('module');
25
25
  require('url');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.2.0-next.0
3
+ * @license Angular v19.2.0-next.2
4
4
  * (c) 2010-2024 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -9,22 +9,22 @@
9
9
  Object.defineProperty(exports, '__esModule', { value: true });
10
10
 
11
11
  var schematics = require('@angular-devkit/schematics');
12
- var project_tsconfig_paths = require('./project_tsconfig_paths-e9ccccbf.js');
13
- var apply_import_manager = require('./apply_import_manager-deecd687.js');
12
+ var project_tsconfig_paths = require('./project_tsconfig_paths-6c9cde78.js');
13
+ var apply_import_manager = require('./apply_import_manager-d8ea426b.js');
14
14
  require('os');
15
15
  var ts = require('typescript');
16
- var checker = require('./checker-78667e44.js');
17
- var program = require('./program-b0d98952.js');
16
+ var checker = require('./checker-9af84be9.js');
17
+ var program = require('./program-66386e72.js');
18
18
  require('path');
19
- var migrate_ts_type_references = require('./migrate_ts_type_references-e6411f51.js');
19
+ var migrate_ts_type_references = require('./migrate_ts_type_references-c6615b87.js');
20
20
  var assert = require('assert');
21
- var index = require('./index-6713e562.js');
21
+ var index = require('./index-23b503a4.js');
22
22
  require('@angular-devkit/core');
23
23
  require('node:path/posix');
24
24
  require('fs');
25
25
  require('module');
26
26
  require('url');
27
- require('./leading_space-d190b83b.js');
27
+ require('./leading_space-6e7a8ec6.js');
28
28
 
29
29
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
30
30
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.2.0-next.0
3
+ * @license Angular v19.2.0-next.2
4
4
  * (c) 2010-2024 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -12,22 +12,22 @@ var schematics = require('@angular-devkit/schematics');
12
12
  var signalQueriesMigration = require('./signal-queries-migration.js');
13
13
  var signalInputMigration = require('./signal-input-migration.js');
14
14
  var outputMigration = require('./output-migration.js');
15
- require('./project_tsconfig_paths-e9ccccbf.js');
15
+ require('./project_tsconfig_paths-6c9cde78.js');
16
16
  require('@angular-devkit/core');
17
- require('./apply_import_manager-deecd687.js');
17
+ require('./apply_import_manager-d8ea426b.js');
18
18
  require('node:path/posix');
19
19
  require('os');
20
20
  require('typescript');
21
- require('./checker-78667e44.js');
21
+ require('./checker-9af84be9.js');
22
22
  require('fs');
23
23
  require('module');
24
24
  require('path');
25
25
  require('url');
26
- require('./program-b0d98952.js');
27
- require('./migrate_ts_type_references-e6411f51.js');
26
+ require('./program-66386e72.js');
27
+ require('./migrate_ts_type_references-c6615b87.js');
28
28
  require('assert');
29
- require('./index-6713e562.js');
30
- require('./leading_space-d190b83b.js');
29
+ require('./index-23b503a4.js');
30
+ require('./leading_space-6e7a8ec6.js');
31
31
 
32
32
  function migrate(options) {
33
33
  // The migrations are independent so we can run them in any order, but we sort them here
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.2.0-next.0
3
+ * @license Angular v19.2.0-next.2
4
4
  * (c) 2010-2024 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -9,17 +9,17 @@
9
9
  Object.defineProperty(exports, '__esModule', { value: true });
10
10
 
11
11
  var schematics = require('@angular-devkit/schematics');
12
- require('./index-de135c2f.js');
12
+ require('./index-93e324de.js');
13
13
  var fs = require('fs');
14
14
  var p = require('path');
15
15
  var ts = require('typescript');
16
- var compiler_host = require('./compiler_host-38c8eab2.js');
17
- var project_tsconfig_paths = require('./project_tsconfig_paths-e9ccccbf.js');
18
- var nodes = require('./nodes-a9f0b985.js');
19
- var imports = require('./imports-abe29092.js');
20
- var checker = require('./checker-78667e44.js');
16
+ var compiler_host = require('./compiler_host-dbff2781.js');
17
+ var project_tsconfig_paths = require('./project_tsconfig_paths-6c9cde78.js');
18
+ var nodes = require('./nodes-88c2157f.js');
19
+ var imports = require('./imports-31a38653.js');
20
+ var checker = require('./checker-9af84be9.js');
21
21
  require('os');
22
- var program = require('./program-b0d98952.js');
22
+ var program = require('./program-66386e72.js');
23
23
  require('@angular-devkit/core');
24
24
  require('module');
25
25
  require('url');