@angular/core 19.2.12 → 19.2.14

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 (45) hide show
  1. package/event_dispatcher.d-K56StcHr.d.ts +1 -1
  2. package/fesm2022/core.mjs +4 -4
  3. package/fesm2022/core.mjs.map +1 -1
  4. package/fesm2022/primitives/di.mjs +1 -1
  5. package/fesm2022/primitives/event-dispatch.mjs +1 -1
  6. package/fesm2022/primitives/signals.mjs +1 -1
  7. package/fesm2022/rxjs-interop.mjs +1 -1
  8. package/fesm2022/testing.mjs +28 -2
  9. package/fesm2022/testing.mjs.map +1 -1
  10. package/fesm2022/untracked-BKcld_ew.mjs +1 -1
  11. package/index.d.ts +155 -21
  12. package/navigation_types.d-fAxd92YV.d.ts +1 -1
  13. package/package.json +1 -1
  14. package/primitives/di/index.d.ts +1 -1
  15. package/primitives/event-dispatch/index.d.ts +1 -1
  16. package/primitives/signals/index.d.ts +1 -1
  17. package/rxjs-interop/index.d.ts +1 -1
  18. package/schematics/bundles/{apply_import_manager-Celp9ClC.cjs → apply_import_manager-DF0BUe6N.cjs} +3 -3
  19. package/schematics/bundles/{checker-5pyJrZ9G.cjs → checker-BwV9MjSQ.cjs} +8 -10
  20. package/schematics/bundles/cleanup-unused-imports.cjs +69 -60
  21. package/schematics/bundles/{compiler_host-B1Gyeytz.cjs → compiler_host-C55Cczah.cjs} +2 -2
  22. package/schematics/bundles/control-flow-migration.cjs +3 -3
  23. package/schematics/bundles/explicit-standalone-flag.cjs +3 -3
  24. package/schematics/bundles/imports-CIX-JgAN.cjs +1 -1
  25. package/schematics/bundles/{index-DZhSIkG9.cjs → index-B6p5mHIY.cjs} +4 -4
  26. package/schematics/bundles/{index-BIvVb6in.cjs → index-BnJH1Hc7.cjs} +13 -15
  27. package/schematics/bundles/inject-migration.cjs +3 -3
  28. package/schematics/bundles/leading_space-D9nQ8UQC.cjs +1 -1
  29. package/schematics/bundles/{migrate_ts_type_references-CjGOIOBV.cjs → migrate_ts_type_references-DQe6JtwN.cjs} +5 -5
  30. package/schematics/bundles/ng_decorators-B5HCqr20.cjs +1 -1
  31. package/schematics/bundles/nodes-B16H9JUd.cjs +1 -1
  32. package/schematics/bundles/output-migration.cjs +6 -6
  33. package/schematics/bundles/pending-tasks.cjs +3 -3
  34. package/schematics/bundles/{project_paths-HwOMxrvM.cjs → project_paths-DY3SIODd.cjs} +65 -36
  35. package/schematics/bundles/project_tsconfig_paths-CDVxT6Ov.cjs +1 -1
  36. package/schematics/bundles/property_name-BBwFuqMe.cjs +1 -1
  37. package/schematics/bundles/provide-initializer.cjs +3 -3
  38. package/schematics/bundles/route-lazy-loading.cjs +3 -3
  39. package/schematics/bundles/self-closing-tags-migration.cjs +7 -21
  40. package/schematics/bundles/signal-input-migration.cjs +17 -13
  41. package/schematics/bundles/signal-queries-migration.cjs +7 -7
  42. package/schematics/bundles/signals.cjs +7 -7
  43. package/schematics/bundles/standalone-migration.cjs +4 -4
  44. package/testing/index.d.ts +14 -2
  45. package/weak_ref.d-DWHPG08n.d.ts +1 -1
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.2.12
3
+ * @license Angular v19.2.14
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -8,13 +8,14 @@
8
8
 
9
9
  require('@angular-devkit/core');
10
10
  require('node:path/posix');
11
- var project_paths = require('./project_paths-HwOMxrvM.cjs');
11
+ var project_paths = require('./project_paths-DY3SIODd.cjs');
12
12
  var ts = require('typescript');
13
13
  require('os');
14
- var checker = require('./checker-5pyJrZ9G.cjs');
15
- var index = require('./index-BIvVb6in.cjs');
14
+ var checker = require('./checker-BwV9MjSQ.cjs');
15
+ var index = require('./index-BnJH1Hc7.cjs');
16
16
  require('path');
17
- var apply_import_manager = require('./apply_import_manager-Celp9ClC.cjs');
17
+ var apply_import_manager = require('./apply_import_manager-DF0BUe6N.cjs');
18
+ var leading_space = require('./leading_space-D9nQ8UQC.cjs');
18
19
  require('@angular-devkit/schematics');
19
20
  require('./project_tsconfig_paths-CDVxT6Ov.cjs');
20
21
  require('fs');
@@ -37,61 +38,42 @@ class UnusedImportsMigration extends project_paths.TsurgeFunnelMigration {
37
38
  async analyze(info) {
38
39
  const nodePositions = new Map();
39
40
  const replacements = [];
40
- const removedIdentifiers = [];
41
+ let removedImports = 0;
41
42
  let changedFiles = 0;
42
43
  info.ngCompiler?.getDiagnostics().forEach((diag) => {
43
44
  if (diag.file !== undefined &&
44
45
  diag.start !== undefined &&
45
46
  diag.length !== undefined &&
46
47
  diag.code === checker.ngErrorCode(checker.ErrorCode.UNUSED_STANDALONE_IMPORTS)) {
48
+ // Skip files that aren't owned by this compilation unit.
49
+ if (!info.sourceFiles.includes(diag.file)) {
50
+ return;
51
+ }
47
52
  if (!nodePositions.has(diag.file)) {
48
53
  nodePositions.set(diag.file, new Set());
49
54
  }
50
- nodePositions.get(diag.file).add(this.getNodeID(diag.start, diag.length));
55
+ nodePositions.get(diag.file).add(this.getNodeKey(diag.start, diag.length));
51
56
  }
52
57
  });
53
58
  nodePositions.forEach((locations, sourceFile) => {
54
59
  const resolvedLocations = this.resolveRemovalLocations(sourceFile, locations);
55
60
  const usageAnalysis = this.analyzeUsages(sourceFile, resolvedLocations);
56
61
  if (resolvedLocations.allRemovedIdentifiers.size > 0) {
62
+ removedImports += resolvedLocations.allRemovedIdentifiers.size;
57
63
  changedFiles++;
58
- resolvedLocations.allRemovedIdentifiers.forEach((identifier) => {
59
- removedIdentifiers.push(this.getNodeID(identifier.getStart(), identifier.getWidth()));
60
- });
61
64
  }
62
65
  this.generateReplacements(sourceFile, resolvedLocations, usageAnalysis, info, replacements);
63
66
  });
64
- return project_paths.confirmAsSerializable({ replacements, removedIdentifiers, changedFiles });
67
+ return project_paths.confirmAsSerializable({ replacements, removedImports, changedFiles });
65
68
  }
66
69
  async migrate(globalData) {
67
70
  return project_paths.confirmAsSerializable(globalData);
68
71
  }
69
72
  async combine(unitA, unitB) {
70
- const combinedReplacements = [];
71
- const combinedRemovedIdentifiers = [];
72
- const seenReplacements = new Set();
73
- const seenIdentifiers = new Set();
74
- const changedFileIds = new Set();
75
- [unitA, unitB].forEach((unit) => {
76
- for (const replacement of unit.replacements) {
77
- const key = this.getReplacementID(replacement);
78
- changedFileIds.add(replacement.projectFile.id);
79
- if (!seenReplacements.has(key)) {
80
- seenReplacements.add(key);
81
- combinedReplacements.push(replacement);
82
- }
83
- }
84
- for (const identifier of unit.removedIdentifiers) {
85
- if (!seenIdentifiers.has(identifier)) {
86
- seenIdentifiers.add(identifier);
87
- combinedRemovedIdentifiers.push(identifier);
88
- }
89
- }
90
- });
91
73
  return project_paths.confirmAsSerializable({
92
- replacements: combinedReplacements,
93
- removedIdentifiers: combinedRemovedIdentifiers,
94
- changedFiles: changedFileIds.size,
74
+ replacements: [...unitA.replacements, ...unitB.replacements],
75
+ removedImports: unitA.removedImports + unitB.removedImports,
76
+ changedFiles: unitA.changedFiles + unitB.changedFiles,
95
77
  });
96
78
  }
97
79
  async globalMeta(combinedData) {
@@ -100,20 +82,15 @@ class UnusedImportsMigration extends project_paths.TsurgeFunnelMigration {
100
82
  async stats(globalMetadata) {
101
83
  return {
102
84
  counters: {
103
- removedImports: globalMetadata.removedIdentifiers.length,
85
+ removedImports: globalMetadata.removedImports,
104
86
  changedFiles: globalMetadata.changedFiles,
105
87
  },
106
88
  };
107
89
  }
108
- /** Gets an ID that can be used to look up a node based on its location. */
109
- getNodeID(start, length) {
90
+ /** Gets a key that can be used to look up a node based on its location. */
91
+ getNodeKey(start, length) {
110
92
  return `${start}/${length}`;
111
93
  }
112
- /** Gets a unique ID for a replacement. */
113
- getReplacementID(replacement) {
114
- const { position, end, toInsert } = replacement.update.data;
115
- return replacement.projectFile.id + '/' + position + '/' + end + '/' + toInsert;
116
- }
117
94
  /**
118
95
  * Resolves a set of node locations to the actual AST nodes that need to be migrated.
119
96
  * @param sourceFile File in which to resolve the locations.
@@ -135,7 +112,7 @@ class UnusedImportsMigration extends project_paths.TsurgeFunnelMigration {
135
112
  if (!parent) {
136
113
  return;
137
114
  }
138
- if (locations.has(this.getNodeID(node.getStart(), node.getWidth()))) {
115
+ if (locations.has(this.getNodeKey(node.getStart(), node.getWidth()))) {
139
116
  // When the entire array needs to be cleared, the diagnostic is
140
117
  // reported on the property assignment, rather than an array element.
141
118
  if (ts.isPropertyAssignment(parent) &&
@@ -144,7 +121,7 @@ class UnusedImportsMigration extends project_paths.TsurgeFunnelMigration {
144
121
  result.fullRemovals.add(parent.initializer);
145
122
  parent.initializer.elements.forEach((element) => {
146
123
  if (ts.isIdentifier(element)) {
147
- result.allRemovedIdentifiers.add(element);
124
+ result.allRemovedIdentifiers.add(element.text);
148
125
  }
149
126
  });
150
127
  }
@@ -153,7 +130,7 @@ class UnusedImportsMigration extends project_paths.TsurgeFunnelMigration {
153
130
  result.partialRemovals.set(parent, new Set());
154
131
  }
155
132
  result.partialRemovals.get(parent).add(node);
156
- result.allRemovedIdentifiers.add(node);
133
+ result.allRemovedIdentifiers.add(node.text);
157
134
  }
158
135
  }
159
136
  };
@@ -220,6 +197,7 @@ class UnusedImportsMigration extends project_paths.TsurgeFunnelMigration {
220
197
  const { fullRemovals, partialRemovals, allRemovedIdentifiers } = removalLocations;
221
198
  const { importedSymbols, identifierCounts } = usages;
222
199
  const importManager = new checker.ImportManager();
200
+ const sourceText = sourceFile.getFullText();
223
201
  // Replace full arrays with empty ones. This allows preserves more of the user's formatting.
224
202
  fullRemovals.forEach((node) => {
225
203
  replacements.push(new project_paths.Replacement(project_paths.projectFile(sourceFile, info), new project_paths.TextUpdate({
@@ -229,13 +207,10 @@ class UnusedImportsMigration extends project_paths.TsurgeFunnelMigration {
229
207
  })));
230
208
  });
231
209
  // Filter out the unused identifiers from an array.
232
- partialRemovals.forEach((toRemove, node) => {
233
- const newNode = ts.factory.updateArrayLiteralExpression(node, node.elements.filter((el) => !toRemove.has(el)));
234
- replacements.push(new project_paths.Replacement(project_paths.projectFile(sourceFile, info), new project_paths.TextUpdate({
235
- position: node.getStart(),
236
- end: node.getEnd(),
237
- toInsert: this.printer.printNode(ts.EmitHint.Unspecified, newNode, sourceFile),
238
- })));
210
+ partialRemovals.forEach((toRemove, parent) => {
211
+ toRemove.forEach((node) => {
212
+ replacements.push(new project_paths.Replacement(project_paths.projectFile(sourceFile, info), getArrayElementRemovalUpdate(node, parent, sourceText)));
213
+ });
239
214
  });
240
215
  // Attempt to clean up unused import declarations. Note that this isn't foolproof, because we
241
216
  // do the matching based on identifier text, rather than going through the type checker which
@@ -247,19 +222,53 @@ class UnusedImportsMigration extends project_paths.TsurgeFunnelMigration {
247
222
  names.forEach((symbolName, localName) => {
248
223
  // Note that in the `identifierCounts` lookup both zero and undefined
249
224
  // are valid and mean that the identifiers isn't being used anymore.
250
- if (!identifierCounts.get(localName)) {
251
- for (const identifier of allRemovedIdentifiers) {
252
- if (identifier.text === localName) {
253
- importManager.removeImport(sourceFile, symbolName, moduleName);
254
- break;
255
- }
256
- }
225
+ if (allRemovedIdentifiers.has(localName) && !identifierCounts.get(localName)) {
226
+ importManager.removeImport(sourceFile, symbolName, moduleName);
257
227
  }
258
228
  });
259
229
  });
260
230
  apply_import_manager.applyImportManagerChanges(importManager, replacements, [sourceFile], info);
261
231
  }
262
232
  }
233
+ /** Generates a `TextUpdate` for the removal of an array element. */
234
+ function getArrayElementRemovalUpdate(node, parent, sourceText) {
235
+ let position = node.getStart();
236
+ let end = node.getEnd();
237
+ let toInsert = '';
238
+ const whitespaceOrLineFeed = /\s/;
239
+ // Usually the way we'd remove the nodes would be to recreate the `parent` while excluding
240
+ // the nodes that should be removed. The problem with this is that it'll strip out comments
241
+ // inside the array which can have special meaning internally. We work around it by removing
242
+ // only the node's own offsets. This comes with another problem in that it won't remove the commas
243
+ // that separate array elements which in turn can look weird if left in place (e.g.
244
+ // `[One, Two, Three, Four]` can turn into `[One,,Four]`). To account for them, we start with the
245
+ // node's end offset and then expand it to include trailing commas, whitespace and line breaks.
246
+ for (let i = end; i < sourceText.length; i++) {
247
+ if (sourceText[i] === ',' || whitespaceOrLineFeed.test(sourceText[i])) {
248
+ end++;
249
+ }
250
+ else {
251
+ break;
252
+ }
253
+ }
254
+ // If we're removing the last element in the array, adjust the starting offset so that
255
+ // it includes the previous comma on the same line. This avoids turning something like
256
+ // `[One, Two, Three]` into `[One,]`. We only do this within the same like, because
257
+ // trailing comma at the end of the line is fine.
258
+ if (parent.elements[parent.elements.length - 1] === node) {
259
+ for (let i = position - 1; i >= 0; i--) {
260
+ if (sourceText[i] === ',' || sourceText[i] === ' ') {
261
+ position--;
262
+ }
263
+ else {
264
+ break;
265
+ }
266
+ }
267
+ // Replace the node with its leading whitespace to preserve the formatting.
268
+ toInsert = leading_space.getLeadingLineWhitespaceOfNode(node);
269
+ }
270
+ return new project_paths.TextUpdate({ position, end, toInsert });
271
+ }
263
272
 
264
273
  function migrate() {
265
274
  return async (tree, context) => {
@@ -1,13 +1,13 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.2.12
3
+ * @license Angular v19.2.14
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 checker = require('./checker-5pyJrZ9G.cjs');
10
+ var checker = require('./checker-BwV9MjSQ.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 v19.2.12
3
+ * @license Angular v19.2.14
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 schematics = require('@angular-devkit/schematics');
10
10
  var p = require('path');
11
- var compiler_host = require('./compiler_host-B1Gyeytz.cjs');
12
- var checker = require('./checker-5pyJrZ9G.cjs');
11
+ var compiler_host = require('./compiler_host-C55Cczah.cjs');
12
+ var checker = require('./checker-BwV9MjSQ.cjs');
13
13
  var ts = require('typescript');
14
14
  require('os');
15
15
  require('fs');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.2.12
3
+ * @license Angular v19.2.14
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -9,11 +9,11 @@
9
9
  var schematics = require('@angular-devkit/schematics');
10
10
  var p = require('path');
11
11
  var project_tsconfig_paths = require('./project_tsconfig_paths-CDVxT6Ov.cjs');
12
- var compiler_host = require('./compiler_host-B1Gyeytz.cjs');
12
+ var compiler_host = require('./compiler_host-C55Cczah.cjs');
13
13
  var ts = require('typescript');
14
14
  var imports = require('./imports-CIX-JgAN.cjs');
15
15
  require('@angular-devkit/core');
16
- require('./checker-5pyJrZ9G.cjs');
16
+ require('./checker-BwV9MjSQ.cjs');
17
17
  require('os');
18
18
  require('fs');
19
19
  require('module');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.2.12
3
+ * @license Angular v19.2.14
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.2.12
3
+ * @license Angular v19.2.14
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 ts = require('typescript');
10
10
  require('os');
11
- var checker = require('./checker-5pyJrZ9G.cjs');
12
- var index = require('./index-BIvVb6in.cjs');
11
+ var checker = require('./checker-BwV9MjSQ.cjs');
12
+ var index = require('./index-BnJH1Hc7.cjs');
13
13
  require('path');
14
- var project_paths = require('./project_paths-HwOMxrvM.cjs');
14
+ var project_paths = require('./project_paths-DY3SIODd.cjs');
15
15
 
16
16
  function getMemberName(member) {
17
17
  if (member.name === undefined) {
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.2.12
3
+ * @license Angular v19.2.14
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
7
7
  'use strict';
8
8
 
9
- var checker = require('./checker-5pyJrZ9G.cjs');
9
+ var checker = require('./checker-BwV9MjSQ.cjs');
10
10
  var ts = require('typescript');
11
11
  var p = require('path');
12
12
  require('os');
@@ -1005,7 +1005,7 @@ const MINIMUM_PARTIAL_LINKER_DEFER_SUPPORT_VERSION = '18.0.0';
1005
1005
  function compileDeclareClassMetadata(metadata) {
1006
1006
  const definitionMap = new checker.DefinitionMap();
1007
1007
  definitionMap.set('minVersion', checker.literal(MINIMUM_PARTIAL_LINKER_VERSION$5));
1008
- definitionMap.set('version', checker.literal('19.2.12'));
1008
+ definitionMap.set('version', checker.literal('19.2.14'));
1009
1009
  definitionMap.set('ngImport', checker.importExpr(checker.Identifiers.core));
1010
1010
  definitionMap.set('type', metadata.type);
1011
1011
  definitionMap.set('decorators', metadata.decorators);
@@ -1023,7 +1023,7 @@ function compileComponentDeclareClassMetadata(metadata, dependencies) {
1023
1023
  callbackReturnDefinitionMap.set('ctorParameters', metadata.ctorParameters ?? checker.literal(null));
1024
1024
  callbackReturnDefinitionMap.set('propDecorators', metadata.propDecorators ?? checker.literal(null));
1025
1025
  definitionMap.set('minVersion', checker.literal(MINIMUM_PARTIAL_LINKER_DEFER_SUPPORT_VERSION));
1026
- definitionMap.set('version', checker.literal('19.2.12'));
1026
+ definitionMap.set('version', checker.literal('19.2.14'));
1027
1027
  definitionMap.set('ngImport', checker.importExpr(checker.Identifiers.core));
1028
1028
  definitionMap.set('type', metadata.type);
1029
1029
  definitionMap.set('resolveDeferredDeps', compileComponentMetadataAsyncResolver(dependencies));
@@ -1118,7 +1118,7 @@ function createDirectiveDefinitionMap(meta) {
1118
1118
  const definitionMap = new checker.DefinitionMap();
1119
1119
  const minVersion = getMinimumVersionForPartialOutput(meta);
1120
1120
  definitionMap.set('minVersion', checker.literal(minVersion));
1121
- definitionMap.set('version', checker.literal('19.2.12'));
1121
+ definitionMap.set('version', checker.literal('19.2.14'));
1122
1122
  // e.g. `type: MyDirective`
1123
1123
  definitionMap.set('type', meta.type.value);
1124
1124
  if (meta.isStandalone !== undefined) {
@@ -1534,7 +1534,7 @@ const MINIMUM_PARTIAL_LINKER_VERSION$4 = '12.0.0';
1534
1534
  function compileDeclareFactoryFunction(meta) {
1535
1535
  const definitionMap = new checker.DefinitionMap();
1536
1536
  definitionMap.set('minVersion', checker.literal(MINIMUM_PARTIAL_LINKER_VERSION$4));
1537
- definitionMap.set('version', checker.literal('19.2.12'));
1537
+ definitionMap.set('version', checker.literal('19.2.14'));
1538
1538
  definitionMap.set('ngImport', checker.importExpr(checker.Identifiers.core));
1539
1539
  definitionMap.set('type', meta.type.value);
1540
1540
  definitionMap.set('deps', compileDependencies(meta.deps));
@@ -1569,7 +1569,7 @@ function compileDeclareInjectableFromMetadata(meta) {
1569
1569
  function createInjectableDefinitionMap(meta) {
1570
1570
  const definitionMap = new checker.DefinitionMap();
1571
1571
  definitionMap.set('minVersion', checker.literal(MINIMUM_PARTIAL_LINKER_VERSION$3));
1572
- definitionMap.set('version', checker.literal('19.2.12'));
1572
+ definitionMap.set('version', checker.literal('19.2.14'));
1573
1573
  definitionMap.set('ngImport', checker.importExpr(checker.Identifiers.core));
1574
1574
  definitionMap.set('type', meta.type.value);
1575
1575
  // Only generate providedIn property if it has a non-null value
@@ -1620,7 +1620,7 @@ function compileDeclareInjectorFromMetadata(meta) {
1620
1620
  function createInjectorDefinitionMap(meta) {
1621
1621
  const definitionMap = new checker.DefinitionMap();
1622
1622
  definitionMap.set('minVersion', checker.literal(MINIMUM_PARTIAL_LINKER_VERSION$2));
1623
- definitionMap.set('version', checker.literal('19.2.12'));
1623
+ definitionMap.set('version', checker.literal('19.2.14'));
1624
1624
  definitionMap.set('ngImport', checker.importExpr(checker.Identifiers.core));
1625
1625
  definitionMap.set('type', meta.type.value);
1626
1626
  definitionMap.set('providers', meta.providers);
@@ -1653,7 +1653,7 @@ function createNgModuleDefinitionMap(meta) {
1653
1653
  throw new Error('Invalid path! Local compilation mode should not get into the partial compilation path');
1654
1654
  }
1655
1655
  definitionMap.set('minVersion', checker.literal(MINIMUM_PARTIAL_LINKER_VERSION$1));
1656
- definitionMap.set('version', checker.literal('19.2.12'));
1656
+ definitionMap.set('version', checker.literal('19.2.14'));
1657
1657
  definitionMap.set('ngImport', checker.importExpr(checker.Identifiers.core));
1658
1658
  definitionMap.set('type', meta.type.value);
1659
1659
  // We only generate the keys in the metadata if the arrays contain values.
@@ -1704,7 +1704,7 @@ function compileDeclarePipeFromMetadata(meta) {
1704
1704
  function createPipeDefinitionMap(meta) {
1705
1705
  const definitionMap = new checker.DefinitionMap();
1706
1706
  definitionMap.set('minVersion', checker.literal(MINIMUM_PARTIAL_LINKER_VERSION));
1707
- definitionMap.set('version', checker.literal('19.2.12'));
1707
+ definitionMap.set('version', checker.literal('19.2.14'));
1708
1708
  definitionMap.set('ngImport', checker.importExpr(checker.Identifiers.core));
1709
1709
  // e.g. `type: MyPipe`
1710
1710
  definitionMap.set('type', meta.type.value);
@@ -10730,7 +10730,7 @@ class PipeDecoratorHandler {
10730
10730
  * @description
10731
10731
  * Entry point for all public APIs of the compiler-cli package.
10732
10732
  */
10733
- new checker.Version('19.2.12');
10733
+ new checker.Version('19.2.14');
10734
10734
 
10735
10735
  /**
10736
10736
  * Whether a given decorator should be treated as an Angular decorator.
@@ -15845,9 +15845,7 @@ class SourceFileValidator {
15845
15845
  rules;
15846
15846
  constructor(reflector, importedSymbolsTracker, templateTypeChecker, typeCheckingConfig) {
15847
15847
  this.rules = [new InitializerApiUsageRule(reflector, importedSymbolsTracker)];
15848
- {
15849
- this.rules.push(new UnusedStandaloneImportsRule(templateTypeChecker, typeCheckingConfig, importedSymbolsTracker));
15850
- }
15848
+ this.rules.push(new UnusedStandaloneImportsRule(templateTypeChecker, typeCheckingConfig, importedSymbolsTracker));
15851
15849
  }
15852
15850
  /**
15853
15851
  * Gets the diagnostics for a specific file, or null if the file is valid.
@@ -18585,7 +18583,7 @@ var semver = /*@__PURE__*/getDefaultExportFromCjs(semverExports);
18585
18583
  * @param minVersion Minimum required version for the feature.
18586
18584
  */
18587
18585
  function coreVersionSupportsFeature(coreVersion, minVersion) {
18588
- // A version of `19.2.12` usually means that core is at head so it supports
18586
+ // A version of `19.2.14` usually means that core is at head so it supports
18589
18587
  // all features. Use string interpolation prevent the placeholder from being replaced
18590
18588
  // with the current version during build time.
18591
18589
  if (coreVersion === `0.0.0-${'PLACEHOLDER'}`) {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.2.12
3
+ * @license Angular v19.2.14
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-B1Gyeytz.cjs');
11
+ var compiler_host = require('./compiler_host-C55Cczah.cjs');
12
12
  var ts = require('typescript');
13
13
  var ng_decorators = require('./ng_decorators-B5HCqr20.cjs');
14
14
  var imports = require('./imports-CIX-JgAN.cjs');
15
15
  var nodes = require('./nodes-B16H9JUd.cjs');
16
16
  var leading_space = require('./leading_space-D9nQ8UQC.cjs');
17
- require('./checker-5pyJrZ9G.cjs');
17
+ require('./checker-BwV9MjSQ.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 v19.2.12
3
+ * @license Angular v19.2.14
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 v19.2.12
3
+ * @license Angular v19.2.14
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
7
7
  'use strict';
8
8
 
9
- var checker = require('./checker-5pyJrZ9G.cjs');
9
+ var checker = require('./checker-BwV9MjSQ.cjs');
10
10
  var ts = require('typescript');
11
11
  require('os');
12
12
  var assert = require('assert');
13
- var index = require('./index-DZhSIkG9.cjs');
14
- var project_paths = require('./project_paths-HwOMxrvM.cjs');
13
+ var index = require('./index-B6p5mHIY.cjs');
14
+ var project_paths = require('./project_paths-DY3SIODd.cjs');
15
15
  var leading_space = require('./leading_space-D9nQ8UQC.cjs');
16
- require('./index-BIvVb6in.cjs');
16
+ require('./index-BnJH1Hc7.cjs');
17
17
  require('path');
18
18
 
19
19
  /**
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.2.12
3
+ * @license Angular v19.2.14
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.2.12
3
+ * @license Angular v19.2.14
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.2.12
3
+ * @license Angular v19.2.14
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -8,12 +8,12 @@
8
8
 
9
9
  var ts = require('typescript');
10
10
  require('os');
11
- var checker = require('./checker-5pyJrZ9G.cjs');
12
- var index$1 = require('./index-BIvVb6in.cjs');
11
+ var checker = require('./checker-BwV9MjSQ.cjs');
12
+ var index$1 = require('./index-BnJH1Hc7.cjs');
13
13
  require('path');
14
- var project_paths = require('./project_paths-HwOMxrvM.cjs');
15
- var apply_import_manager = require('./apply_import_manager-Celp9ClC.cjs');
16
- var index = require('./index-DZhSIkG9.cjs');
14
+ var project_paths = require('./project_paths-DY3SIODd.cjs');
15
+ var apply_import_manager = require('./apply_import_manager-DF0BUe6N.cjs');
16
+ var index = require('./index-B6p5mHIY.cjs');
17
17
  require('@angular-devkit/core');
18
18
  require('node:path/posix');
19
19
  require('fs');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.2.12
3
+ * @license Angular v19.2.14
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -9,11 +9,11 @@
9
9
  var schematics = require('@angular-devkit/schematics');
10
10
  var p = require('path');
11
11
  var project_tsconfig_paths = require('./project_tsconfig_paths-CDVxT6Ov.cjs');
12
- var compiler_host = require('./compiler_host-B1Gyeytz.cjs');
12
+ var compiler_host = require('./compiler_host-C55Cczah.cjs');
13
13
  var ts = require('typescript');
14
14
  var imports = require('./imports-CIX-JgAN.cjs');
15
15
  require('@angular-devkit/core');
16
- require('./checker-5pyJrZ9G.cjs');
16
+ require('./checker-BwV9MjSQ.cjs');
17
17
  require('os');
18
18
  require('fs');
19
19
  require('module');