@angular/core 19.1.2 → 19.1.3

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 (36) hide show
  1. package/fesm2022/core.mjs +306 -192
  2. package/fesm2022/core.mjs.map +1 -1
  3. package/fesm2022/primitives/event-dispatch.mjs +1 -1
  4. package/fesm2022/primitives/signals.mjs +87 -2
  5. package/fesm2022/primitives/signals.mjs.map +1 -1
  6. package/fesm2022/rxjs-interop.mjs +1 -1
  7. package/fesm2022/testing.mjs +4 -4
  8. package/index.d.ts +1 -1
  9. package/package.json +1 -1
  10. package/primitives/event-dispatch/index.d.ts +1 -1
  11. package/primitives/signals/index.d.ts +42 -1
  12. package/rxjs-interop/index.d.ts +1 -1
  13. package/schematics/bundles/{apply_import_manager-bb1a82ec.js → apply_import_manager-40cd5384.js} +3 -3
  14. package/schematics/bundles/{checker-aa999c96.js → checker-ca858016.js} +40 -7
  15. package/schematics/bundles/cleanup-unused-imports.js +54 -21
  16. package/schematics/bundles/{compiler_host-f0b570c8.js → compiler_host-68e159d5.js} +2 -2
  17. package/schematics/bundles/control-flow-migration.js +3 -3
  18. package/schematics/bundles/explicit-standalone-flag.js +5 -5
  19. package/schematics/bundles/{imports-31a38653.js → imports-abe29092.js} +1 -1
  20. package/schematics/bundles/{index-4830663b.js → index-761b9f6f.js} +4 -4
  21. package/schematics/bundles/{index-4e3d512c.js → index-d05029f9.js} +4 -4
  22. package/schematics/bundles/inject-migration.js +6 -6
  23. package/schematics/bundles/{leading_space-6e7a8ec6.js → leading_space-d190b83b.js} +1 -1
  24. package/schematics/bundles/{migrate_ts_type_references-21d5d831.js → migrate_ts_type_references-8d015538.js} +6 -6
  25. package/schematics/bundles/{nodes-88c2157f.js → nodes-a9f0b985.js} +2 -2
  26. package/schematics/bundles/output-migration.js +6 -6
  27. package/schematics/bundles/pending-tasks.js +5 -5
  28. package/schematics/bundles/{program-57240d08.js → program-8e222816.js} +34 -15
  29. package/schematics/bundles/{project_tsconfig_paths-6c9cde78.js → project_tsconfig_paths-e9ccccbf.js} +1 -1
  30. package/schematics/bundles/provide-initializer.js +5 -5
  31. package/schematics/bundles/route-lazy-loading.js +4 -4
  32. package/schematics/bundles/signal-input-migration.js +8 -8
  33. package/schematics/bundles/signal-queries-migration.js +8 -8
  34. package/schematics/bundles/signals.js +8 -8
  35. package/schematics/bundles/standalone-migration.js +8 -8
  36. package/testing/index.d.ts +1 -1
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.1.2
3
+ * @license Angular v19.1.3
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-6c9cde78.js');
13
- var apply_import_manager = require('./apply_import_manager-bb1a82ec.js');
12
+ var project_tsconfig_paths = require('./project_tsconfig_paths-e9ccccbf.js');
13
+ var apply_import_manager = require('./apply_import_manager-40cd5384.js');
14
14
  require('os');
15
15
  var ts = require('typescript');
16
- var checker = require('./checker-aa999c96.js');
17
- var program = require('./program-57240d08.js');
16
+ var checker = require('./checker-ca858016.js');
17
+ var program = require('./program-8e222816.js');
18
18
  require('path');
19
- require('./index-4830663b.js');
19
+ require('./index-761b9f6f.js');
20
20
  require('@angular-devkit/core');
21
21
  require('node:path/posix');
22
22
  require('fs');
@@ -43,7 +43,7 @@ class UnusedImportsMigration extends apply_import_manager.TsurgeFunnelMigration
43
43
  async analyze(info) {
44
44
  const nodePositions = new Map();
45
45
  const replacements = [];
46
- let removedImports = 0;
46
+ const removedIdentifiers = [];
47
47
  let changedFiles = 0;
48
48
  info.ngCompiler?.getDiagnostics().forEach((diag) => {
49
49
  if (diag.file !== undefined &&
@@ -53,28 +53,51 @@ class UnusedImportsMigration extends apply_import_manager.TsurgeFunnelMigration
53
53
  if (!nodePositions.has(diag.file)) {
54
54
  nodePositions.set(diag.file, new Set());
55
55
  }
56
- nodePositions.get(diag.file).add(this.getNodeKey(diag.start, diag.length));
56
+ nodePositions.get(diag.file).add(this.getNodeID(diag.start, diag.length));
57
57
  }
58
58
  });
59
59
  nodePositions.forEach((locations, sourceFile) => {
60
60
  const resolvedLocations = this.resolveRemovalLocations(sourceFile, locations);
61
61
  const usageAnalysis = this.analyzeUsages(sourceFile, resolvedLocations);
62
62
  if (resolvedLocations.allRemovedIdentifiers.size > 0) {
63
- removedImports += resolvedLocations.allRemovedIdentifiers.size;
64
63
  changedFiles++;
64
+ resolvedLocations.allRemovedIdentifiers.forEach((identifier) => {
65
+ removedIdentifiers.push(this.getNodeID(identifier.getStart(), identifier.getWidth()));
66
+ });
65
67
  }
66
68
  this.generateReplacements(sourceFile, resolvedLocations, usageAnalysis, info, replacements);
67
69
  });
68
- return apply_import_manager.confirmAsSerializable({ replacements, removedImports, changedFiles });
70
+ return apply_import_manager.confirmAsSerializable({ replacements, removedIdentifiers, changedFiles });
69
71
  }
70
72
  async migrate(globalData) {
71
73
  return apply_import_manager.confirmAsSerializable(globalData);
72
74
  }
73
75
  async combine(unitA, unitB) {
76
+ const combinedReplacements = [];
77
+ const combinedRemovedIdentifiers = [];
78
+ const seenReplacements = new Set();
79
+ const seenIdentifiers = new Set();
80
+ const changedFileIds = new Set();
81
+ [unitA, unitB].forEach((unit) => {
82
+ for (const replacement of unit.replacements) {
83
+ const key = this.getReplacementID(replacement);
84
+ changedFileIds.add(replacement.projectFile.id);
85
+ if (!seenReplacements.has(key)) {
86
+ seenReplacements.add(key);
87
+ combinedReplacements.push(replacement);
88
+ }
89
+ }
90
+ for (const identifier of unit.removedIdentifiers) {
91
+ if (!seenIdentifiers.has(identifier)) {
92
+ seenIdentifiers.add(identifier);
93
+ combinedRemovedIdentifiers.push(identifier);
94
+ }
95
+ }
96
+ });
74
97
  return apply_import_manager.confirmAsSerializable({
75
- replacements: [...unitA.replacements, ...unitB.replacements],
76
- removedImports: unitA.removedImports + unitB.removedImports,
77
- changedFiles: unitA.changedFiles + unitB.changedFiles,
98
+ replacements: combinedReplacements,
99
+ removedIdentifiers: combinedRemovedIdentifiers,
100
+ changedFiles: changedFileIds.size,
78
101
  });
79
102
  }
80
103
  async globalMeta(combinedData) {
@@ -83,15 +106,20 @@ class UnusedImportsMigration extends apply_import_manager.TsurgeFunnelMigration
83
106
  async stats(globalMetadata) {
84
107
  return {
85
108
  counters: {
86
- removedImports: globalMetadata.removedImports,
109
+ removedImports: globalMetadata.removedIdentifiers.length,
87
110
  changedFiles: globalMetadata.changedFiles,
88
111
  },
89
112
  };
90
113
  }
91
- /** Gets a key that can be used to look up a node based on its location. */
92
- getNodeKey(start, length) {
114
+ /** Gets an ID that can be used to look up a node based on its location. */
115
+ getNodeID(start, length) {
93
116
  return `${start}/${length}`;
94
117
  }
118
+ /** Gets a unique ID for a replacement. */
119
+ getReplacementID(replacement) {
120
+ const { position, end, toInsert } = replacement.update.data;
121
+ return replacement.projectFile.id + '/' + position + '/' + end + '/' + toInsert;
122
+ }
95
123
  /**
96
124
  * Resolves a set of node locations to the actual AST nodes that need to be migrated.
97
125
  * @param sourceFile File in which to resolve the locations.
@@ -113,7 +141,7 @@ class UnusedImportsMigration extends apply_import_manager.TsurgeFunnelMigration
113
141
  if (!parent) {
114
142
  return;
115
143
  }
116
- if (locations.has(this.getNodeKey(node.getStart(), node.getWidth()))) {
144
+ if (locations.has(this.getNodeID(node.getStart(), node.getWidth()))) {
117
145
  // When the entire array needs to be cleared, the diagnostic is
118
146
  // reported on the property assignment, rather than an array element.
119
147
  if (ts__default["default"].isPropertyAssignment(parent) &&
@@ -122,7 +150,7 @@ class UnusedImportsMigration extends apply_import_manager.TsurgeFunnelMigration
122
150
  result.fullRemovals.add(parent.initializer);
123
151
  parent.initializer.elements.forEach((element) => {
124
152
  if (ts__default["default"].isIdentifier(element)) {
125
- result.allRemovedIdentifiers.add(element.text);
153
+ result.allRemovedIdentifiers.add(element);
126
154
  }
127
155
  });
128
156
  }
@@ -131,7 +159,7 @@ class UnusedImportsMigration extends apply_import_manager.TsurgeFunnelMigration
131
159
  result.partialRemovals.set(parent, new Set());
132
160
  }
133
161
  result.partialRemovals.get(parent).add(node);
134
- result.allRemovedIdentifiers.add(node.text);
162
+ result.allRemovedIdentifiers.add(node);
135
163
  }
136
164
  }
137
165
  };
@@ -225,8 +253,13 @@ class UnusedImportsMigration extends apply_import_manager.TsurgeFunnelMigration
225
253
  names.forEach((symbolName, localName) => {
226
254
  // Note that in the `identifierCounts` lookup both zero and undefined
227
255
  // are valid and mean that the identifiers isn't being used anymore.
228
- if (allRemovedIdentifiers.has(localName) && !identifierCounts.get(localName)) {
229
- importManager.removeImport(sourceFile, symbolName, moduleName);
256
+ if (!identifierCounts.get(localName)) {
257
+ for (const identifier of allRemovedIdentifiers) {
258
+ if (identifier.text === localName) {
259
+ importManager.removeImport(sourceFile, symbolName, moduleName);
260
+ break;
261
+ }
262
+ }
230
263
  }
231
264
  });
232
265
  });
@@ -1,13 +1,13 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.1.2
3
+ * @license Angular v19.1.3
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 checker = require('./checker-aa999c96.js');
10
+ var checker = require('./checker-ca858016.js');
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 v19.1.2
3
+ * @license Angular v19.1.3
4
4
  * (c) 2010-2024 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -10,8 +10,8 @@ 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-f0b570c8.js');
14
- var checker = require('./checker-aa999c96.js');
13
+ var compiler_host = require('./compiler_host-68e159d5.js');
14
+ var checker = require('./checker-ca858016.js');
15
15
  var ts = require('typescript');
16
16
  require('os');
17
17
  require('fs');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.1.2
3
+ * @license Angular v19.1.3
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-6c9cde78.js');
14
- var compiler_host = require('./compiler_host-f0b570c8.js');
13
+ var project_tsconfig_paths = require('./project_tsconfig_paths-e9ccccbf.js');
14
+ var compiler_host = require('./compiler_host-68e159d5.js');
15
15
  var ts = require('typescript');
16
- var imports = require('./imports-31a38653.js');
16
+ var imports = require('./imports-abe29092.js');
17
17
  require('@angular-devkit/core');
18
- require('./checker-aa999c96.js');
18
+ require('./checker-ca858016.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.1.2
3
+ * @license Angular v19.1.3
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.1.2
3
+ * @license Angular v19.1.3
4
4
  * (c) 2010-2024 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -8,8 +8,8 @@
8
8
 
9
9
  require('os');
10
10
  require('typescript');
11
- var checker = require('./checker-aa999c96.js');
12
- require('./program-57240d08.js');
11
+ var checker = require('./checker-ca858016.js');
12
+ require('./program-8e222816.js');
13
13
  require('path');
14
14
 
15
15
  /**
@@ -17,7 +17,7 @@ require('path');
17
17
  * @description
18
18
  * Entry point for all public APIs of the compiler-cli package.
19
19
  */
20
- new checker.Version('19.1.2');
20
+ new checker.Version('19.1.3');
21
21
 
22
22
  var LogLevel;
23
23
  (function (LogLevel) {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.1.2
3
+ * @license Angular v19.1.3
4
4
  * (c) 2010-2024 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -8,10 +8,10 @@
8
8
 
9
9
  var ts = require('typescript');
10
10
  require('os');
11
- var checker = require('./checker-aa999c96.js');
12
- var program = require('./program-57240d08.js');
11
+ var checker = require('./checker-ca858016.js');
12
+ var program = require('./program-8e222816.js');
13
13
  require('path');
14
- var apply_import_manager = require('./apply_import_manager-bb1a82ec.js');
14
+ var apply_import_manager = require('./apply_import_manager-40cd5384.js');
15
15
 
16
16
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
17
17
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.1.2
3
+ * @license Angular v19.1.3
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-f0b570c8.js');
13
+ var compiler_host = require('./compiler_host-68e159d5.js');
14
14
  var ts = require('typescript');
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-aa999c96.js');
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-ca858016.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.1.2
3
+ * @license Angular v19.1.3
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.1.2
3
+ * @license Angular v19.1.3
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-aa999c96.js');
9
+ var checker = require('./checker-ca858016.js');
10
10
  var ts = require('typescript');
11
11
  require('os');
12
12
  var assert = require('assert');
13
- var index = require('./index-4e3d512c.js');
14
- var apply_import_manager = require('./apply_import_manager-bb1a82ec.js');
15
- var leading_space = require('./leading_space-6e7a8ec6.js');
16
- require('./program-57240d08.js');
13
+ var index = require('./index-d05029f9.js');
14
+ var apply_import_manager = require('./apply_import_manager-40cd5384.js');
15
+ var leading_space = require('./leading_space-d190b83b.js');
16
+ require('./program-8e222816.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.1.2
3
+ * @license Angular v19.1.3
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-31a38653.js');
10
+ var imports = require('./imports-abe29092.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.1.2
3
+ * @license Angular v19.1.3
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-6c9cde78.js');
13
- var apply_import_manager = require('./apply_import_manager-bb1a82ec.js');
12
+ var project_tsconfig_paths = require('./project_tsconfig_paths-e9ccccbf.js');
13
+ var apply_import_manager = require('./apply_import_manager-40cd5384.js');
14
14
  require('os');
15
15
  var ts = require('typescript');
16
- var checker = require('./checker-aa999c96.js');
17
- var program = require('./program-57240d08.js');
16
+ var checker = require('./checker-ca858016.js');
17
+ var program = require('./program-8e222816.js');
18
18
  require('path');
19
- var index = require('./index-4e3d512c.js');
19
+ var index = require('./index-d05029f9.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.1.2
3
+ * @license Angular v19.1.3
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-6c9cde78.js');
14
- var compiler_host = require('./compiler_host-f0b570c8.js');
13
+ var project_tsconfig_paths = require('./project_tsconfig_paths-e9ccccbf.js');
14
+ var compiler_host = require('./compiler_host-68e159d5.js');
15
15
  var ts = require('typescript');
16
- var imports = require('./imports-31a38653.js');
16
+ var imports = require('./imports-abe29092.js');
17
17
  require('@angular-devkit/core');
18
- require('./checker-aa999c96.js');
18
+ require('./checker-ca858016.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.1.2
3
+ * @license Angular v19.1.3
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-aa999c96.js');
9
+ var checker = require('./checker-ca858016.js');
10
10
  var ts = require('typescript');
11
11
  var p = require('path');
12
12
  require('os');
@@ -999,7 +999,7 @@ const MINIMUM_PARTIAL_LINKER_DEFER_SUPPORT_VERSION = '18.0.0';
999
999
  function compileDeclareClassMetadata(metadata) {
1000
1000
  const definitionMap = new checker.DefinitionMap();
1001
1001
  definitionMap.set('minVersion', checker.literal(MINIMUM_PARTIAL_LINKER_VERSION$5));
1002
- definitionMap.set('version', checker.literal('19.1.2'));
1002
+ definitionMap.set('version', checker.literal('19.1.3'));
1003
1003
  definitionMap.set('ngImport', checker.importExpr(checker.Identifiers.core));
1004
1004
  definitionMap.set('type', metadata.type);
1005
1005
  definitionMap.set('decorators', metadata.decorators);
@@ -1017,7 +1017,7 @@ function compileComponentDeclareClassMetadata(metadata, dependencies) {
1017
1017
  callbackReturnDefinitionMap.set('ctorParameters', metadata.ctorParameters ?? checker.literal(null));
1018
1018
  callbackReturnDefinitionMap.set('propDecorators', metadata.propDecorators ?? checker.literal(null));
1019
1019
  definitionMap.set('minVersion', checker.literal(MINIMUM_PARTIAL_LINKER_DEFER_SUPPORT_VERSION));
1020
- definitionMap.set('version', checker.literal('19.1.2'));
1020
+ definitionMap.set('version', checker.literal('19.1.3'));
1021
1021
  definitionMap.set('ngImport', checker.importExpr(checker.Identifiers.core));
1022
1022
  definitionMap.set('type', metadata.type);
1023
1023
  definitionMap.set('resolveDeferredDeps', compileComponentMetadataAsyncResolver(dependencies));
@@ -1112,7 +1112,7 @@ function createDirectiveDefinitionMap(meta) {
1112
1112
  const definitionMap = new checker.DefinitionMap();
1113
1113
  const minVersion = getMinimumVersionForPartialOutput(meta);
1114
1114
  definitionMap.set('minVersion', checker.literal(minVersion));
1115
- definitionMap.set('version', checker.literal('19.1.2'));
1115
+ definitionMap.set('version', checker.literal('19.1.3'));
1116
1116
  // e.g. `type: MyDirective`
1117
1117
  definitionMap.set('type', meta.type.value);
1118
1118
  if (meta.isStandalone !== undefined) {
@@ -1528,7 +1528,7 @@ const MINIMUM_PARTIAL_LINKER_VERSION$4 = '12.0.0';
1528
1528
  function compileDeclareFactoryFunction(meta) {
1529
1529
  const definitionMap = new checker.DefinitionMap();
1530
1530
  definitionMap.set('minVersion', checker.literal(MINIMUM_PARTIAL_LINKER_VERSION$4));
1531
- definitionMap.set('version', checker.literal('19.1.2'));
1531
+ definitionMap.set('version', checker.literal('19.1.3'));
1532
1532
  definitionMap.set('ngImport', checker.importExpr(checker.Identifiers.core));
1533
1533
  definitionMap.set('type', meta.type.value);
1534
1534
  definitionMap.set('deps', compileDependencies(meta.deps));
@@ -1563,7 +1563,7 @@ function compileDeclareInjectableFromMetadata(meta) {
1563
1563
  function createInjectableDefinitionMap(meta) {
1564
1564
  const definitionMap = new checker.DefinitionMap();
1565
1565
  definitionMap.set('minVersion', checker.literal(MINIMUM_PARTIAL_LINKER_VERSION$3));
1566
- definitionMap.set('version', checker.literal('19.1.2'));
1566
+ definitionMap.set('version', checker.literal('19.1.3'));
1567
1567
  definitionMap.set('ngImport', checker.importExpr(checker.Identifiers.core));
1568
1568
  definitionMap.set('type', meta.type.value);
1569
1569
  // Only generate providedIn property if it has a non-null value
@@ -1614,7 +1614,7 @@ function compileDeclareInjectorFromMetadata(meta) {
1614
1614
  function createInjectorDefinitionMap(meta) {
1615
1615
  const definitionMap = new checker.DefinitionMap();
1616
1616
  definitionMap.set('minVersion', checker.literal(MINIMUM_PARTIAL_LINKER_VERSION$2));
1617
- definitionMap.set('version', checker.literal('19.1.2'));
1617
+ definitionMap.set('version', checker.literal('19.1.3'));
1618
1618
  definitionMap.set('ngImport', checker.importExpr(checker.Identifiers.core));
1619
1619
  definitionMap.set('type', meta.type.value);
1620
1620
  definitionMap.set('providers', meta.providers);
@@ -1647,7 +1647,7 @@ function createNgModuleDefinitionMap(meta) {
1647
1647
  throw new Error('Invalid path! Local compilation mode should not get into the partial compilation path');
1648
1648
  }
1649
1649
  definitionMap.set('minVersion', checker.literal(MINIMUM_PARTIAL_LINKER_VERSION$1));
1650
- definitionMap.set('version', checker.literal('19.1.2'));
1650
+ definitionMap.set('version', checker.literal('19.1.3'));
1651
1651
  definitionMap.set('ngImport', checker.importExpr(checker.Identifiers.core));
1652
1652
  definitionMap.set('type', meta.type.value);
1653
1653
  // We only generate the keys in the metadata if the arrays contain values.
@@ -1698,7 +1698,7 @@ function compileDeclarePipeFromMetadata(meta) {
1698
1698
  function createPipeDefinitionMap(meta) {
1699
1699
  const definitionMap = new checker.DefinitionMap();
1700
1700
  definitionMap.set('minVersion', checker.literal(MINIMUM_PARTIAL_LINKER_VERSION));
1701
- definitionMap.set('version', checker.literal('19.1.2'));
1701
+ definitionMap.set('version', checker.literal('19.1.3'));
1702
1702
  definitionMap.set('ngImport', checker.importExpr(checker.Identifiers.core));
1703
1703
  // e.g. `type: MyPipe`
1704
1704
  definitionMap.set('type', meta.type.value);
@@ -10284,10 +10284,11 @@ class PotentialTopLevelReadsVisitor extends checker.RecursiveAstVisitor {
10284
10284
  * TypeScript identifiers are used both when referring to a variable (e.g. `console.log(foo)`)
10285
10285
  * and for names (e.g. `{foo: 123}`). This function determines if the identifier is a top-level
10286
10286
  * variable read, rather than a nested name.
10287
- * @param node Identifier to check.
10287
+ * @param identifier Identifier to check.
10288
10288
  */
10289
- isTopLevelIdentifierReference(node) {
10290
- const parent = node.parent;
10289
+ isTopLevelIdentifierReference(identifier) {
10290
+ let node = identifier;
10291
+ let parent = node.parent;
10291
10292
  // The parent might be undefined for a synthetic node or if `setParentNodes` is set to false
10292
10293
  // when the SourceFile was created. We can account for such cases using the type checker, at
10293
10294
  // the expense of performance. At the moment of writing, we're keeping it simple since the
@@ -10295,6 +10296,14 @@ class PotentialTopLevelReadsVisitor extends checker.RecursiveAstVisitor {
10295
10296
  if (!parent) {
10296
10297
  return false;
10297
10298
  }
10299
+ // Unwrap parenthesized identifiers, but use the closest parenthesized expression
10300
+ // as the reference node so that we can check cases like `{prop: ((value))}`.
10301
+ if (ts__default["default"].isParenthesizedExpression(parent) && parent.expression === node) {
10302
+ while (parent && ts__default["default"].isParenthesizedExpression(parent)) {
10303
+ node = parent;
10304
+ parent = parent.parent;
10305
+ }
10306
+ }
10298
10307
  // Identifier referenced at the top level. Unlikely.
10299
10308
  if (ts__default["default"].isSourceFile(parent)) {
10300
10309
  return true;
@@ -10318,7 +10327,8 @@ class PotentialTopLevelReadsVisitor extends checker.RecursiveAstVisitor {
10318
10327
  ts__default["default"].isWhileStatement(parent) ||
10319
10328
  ts__default["default"].isSwitchStatement(parent) ||
10320
10329
  ts__default["default"].isCaseClause(parent) ||
10321
- ts__default["default"].isThrowStatement(parent)) {
10330
+ ts__default["default"].isThrowStatement(parent) ||
10331
+ ts__default["default"].isNewExpression(parent)) {
10322
10332
  return parent.expression === node;
10323
10333
  }
10324
10334
  // Identifier used in an array is only top-level if it's one of the elements.
@@ -10365,6 +10375,9 @@ class PotentialTopLevelReadsVisitor extends checker.RecursiveAstVisitor {
10365
10375
  if (ts__default["default"].isImportSpecifier(parent) || ts__default["default"].isExportSpecifier(parent)) {
10366
10376
  return (parent.propertyName || parent.name) === node;
10367
10377
  }
10378
+ if (ts__default["default"].isConditionalExpression(parent)) {
10379
+ return parent.condition === node || parent.whenFalse === node || parent.whenTrue === node;
10380
+ }
10368
10381
  // Otherwise it's not top-level.
10369
10382
  return false;
10370
10383
  }
@@ -11240,6 +11253,12 @@ class ComponentDecoratorHandler {
11240
11253
  if (dep.ref.node !== node) {
11241
11254
  eagerlyUsed.add(dep.ref.node);
11242
11255
  }
11256
+ else {
11257
+ const used = bound.getEagerlyUsedDirectives();
11258
+ if (used.some((current) => current.ref.node === node)) {
11259
+ eagerlyUsed.add(node);
11260
+ }
11261
+ }
11243
11262
  }
11244
11263
  }
11245
11264
  else {
@@ -20237,7 +20256,7 @@ var semver = /*@__PURE__*/getDefaultExportFromCjs(semverExports);
20237
20256
  * @param minVersion Minimum required version for the feature.
20238
20257
  */
20239
20258
  function coreVersionSupportsFeature(coreVersion, minVersion) {
20240
- // A version of `19.1.2` usually means that core is at head so it supports
20259
+ // A version of `19.1.3` usually means that core is at head so it supports
20241
20260
  // all features. Use string interpolation prevent the placeholder from being replaced
20242
20261
  // with the current version during build time.
20243
20262
  if (coreVersion === `0.0.0-${'PLACEHOLDER'}`) {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.1.2
3
+ * @license Angular v19.1.3
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.1.2
3
+ * @license Angular v19.1.3
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-6c9cde78.js');
14
- var compiler_host = require('./compiler_host-f0b570c8.js');
13
+ var project_tsconfig_paths = require('./project_tsconfig_paths-e9ccccbf.js');
14
+ var compiler_host = require('./compiler_host-68e159d5.js');
15
15
  var ts = require('typescript');
16
- var imports = require('./imports-31a38653.js');
16
+ var imports = require('./imports-abe29092.js');
17
17
  require('@angular-devkit/core');
18
- require('./checker-aa999c96.js');
18
+ require('./checker-ca858016.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.1.2
3
+ * @license Angular v19.1.3
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-f0b570c8.js');
15
- var project_tsconfig_paths = require('./project_tsconfig_paths-6c9cde78.js');
14
+ var compiler_host = require('./compiler_host-68e159d5.js');
15
+ var project_tsconfig_paths = require('./project_tsconfig_paths-e9ccccbf.js');
16
16
  var ts = require('typescript');
17
- var checker = require('./checker-aa999c96.js');
17
+ var checker = require('./checker-ca858016.js');
18
18
  require('os');
19
19
  require('@angular-devkit/core');
20
20
  require('module');