@angular/core 19.2.9 → 19.2.10

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-DlbccpYq.d.ts +1 -1
  2. package/fesm2022/core.mjs +21 -21
  3. package/fesm2022/core.mjs.map +1 -1
  4. package/fesm2022/primitives/di.mjs +1 -1
  5. package/fesm2022/primitives/event-dispatch.mjs +2 -2
  6. package/fesm2022/primitives/event-dispatch.mjs.map +1 -1
  7. package/fesm2022/primitives/signals.mjs +1 -1
  8. package/fesm2022/rxjs-interop.mjs +1 -1
  9. package/fesm2022/testing.mjs +1 -1
  10. package/fesm2022/untracked-BKcld_ew.mjs +1 -1
  11. package/index.d.ts +2 -2
  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-COqnCltX.js → apply_import_manager-DdHXpkne.js} +3 -3
  19. package/schematics/bundles/{checker-BNmiXJIJ.js → checker-CGGdizaF.js} +12 -14
  20. package/schematics/bundles/cleanup-unused-imports.js +5 -5
  21. package/schematics/bundles/{compiler_host-BafHjBMK.js → compiler_host-BmQrIxJT.js} +2 -2
  22. package/schematics/bundles/control-flow-migration.js +3 -3
  23. package/schematics/bundles/explicit-standalone-flag.js +3 -3
  24. package/schematics/bundles/imports-CIX-JgAN.js +1 -1
  25. package/schematics/bundles/{index-CAJ-Rm56.js → index-BF06LaCS.js} +12 -12
  26. package/schematics/bundles/{index-rvZ5aROS.js → index-DGcgCgNa.js} +4 -4
  27. package/schematics/bundles/inject-migration.js +3 -3
  28. package/schematics/bundles/leading_space-D9nQ8UQC.js +1 -1
  29. package/schematics/bundles/{migrate_ts_type_references-BIV-FPWl.js → migrate_ts_type_references-CE_V0IM9.js} +5 -5
  30. package/schematics/bundles/ng_decorators-DznZ5jMl.js +1 -1
  31. package/schematics/bundles/nodes-B16H9JUd.js +1 -1
  32. package/schematics/bundles/output-migration.js +6 -6
  33. package/schematics/bundles/pending-tasks.js +3 -3
  34. package/schematics/bundles/{project_paths-A9I0g_ID.js → project_paths-CmS2U6KE.js} +3 -3
  35. package/schematics/bundles/project_tsconfig_paths-CDVxT6Ov.js +1 -1
  36. package/schematics/bundles/property_name-BBwFuqMe.js +1 -1
  37. package/schematics/bundles/provide-initializer.js +3 -3
  38. package/schematics/bundles/route-lazy-loading.js +3 -3
  39. package/schematics/bundles/self-closing-tags-migration.js +4 -4
  40. package/schematics/bundles/signal-input-migration.js +7 -7
  41. package/schematics/bundles/signal-queries-migration.js +7 -7
  42. package/schematics/bundles/signals.js +7 -7
  43. package/schematics/bundles/standalone-migration.js +4 -4
  44. package/testing/index.d.ts +1 -1
  45. package/weak_ref.d-DWHPG08n.d.ts +1 -1
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v19.2.9
2
+ * @license Angular v19.2.10
3
3
  * (c) 2010-2025 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
package/fesm2022/core.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v19.2.9
2
+ * @license Angular v19.2.10
3
3
  * (c) 2010-2025 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -2140,7 +2140,7 @@ class R3Injector extends EnvironmentInjector {
2140
2140
  }
2141
2141
  // If a record was found, get the instance for it and return it.
2142
2142
  if (record != null /* NOT null || undefined */) {
2143
- return this.hydrate(token, record);
2143
+ return this.hydrate(token, record, flags);
2144
2144
  }
2145
2145
  }
2146
2146
  // Select the next injector based on the Self flag - if self is set, the next injector is
@@ -2263,7 +2263,7 @@ class R3Injector extends EnvironmentInjector {
2263
2263
  }
2264
2264
  this.records.set(token, record);
2265
2265
  }
2266
- hydrate(token, record) {
2266
+ hydrate(token, record, flags) {
2267
2267
  const prevConsumer = setActiveConsumer(null);
2268
2268
  try {
2269
2269
  if (record.value === CIRCULAR) {
@@ -2273,12 +2273,12 @@ class R3Injector extends EnvironmentInjector {
2273
2273
  record.value = CIRCULAR;
2274
2274
  if (ngDevMode) {
2275
2275
  runInInjectorProfilerContext(this, token, () => {
2276
- record.value = record.factory();
2276
+ record.value = record.factory(undefined, flags);
2277
2277
  emitInstanceCreatedByInjectorEvent(record.value);
2278
2278
  });
2279
2279
  }
2280
2280
  else {
2281
- record.value = record.factory();
2281
+ record.value = record.factory(undefined, flags);
2282
2282
  }
2283
2283
  }
2284
2284
  if (typeof record.value === 'object' && record.value && hasOnDestroy(record.value)) {
@@ -2379,7 +2379,7 @@ function providerToFactory(provider, ngModuleType, providers) {
2379
2379
  factory = () => provider.useFactory(...injectArgs(provider.deps || []));
2380
2380
  }
2381
2381
  else if (isExistingProvider(provider)) {
2382
- factory = () => ɵɵinject(resolveForwardRef(provider.useExisting));
2382
+ factory = (_, flags) => ɵɵinject(resolveForwardRef(provider.useExisting), flags !== undefined && flags & InjectFlags.Optional ? InjectFlags.Optional : undefined);
2383
2383
  }
2384
2384
  else {
2385
2385
  const classRef = resolveForwardRef(provider &&
@@ -5245,7 +5245,7 @@ function searchTokensOnInjector(injectorIndex, lView, token, previousTView, flag
5245
5245
  const isHostSpecialCase = flags & InjectFlags.Host && hostTElementNode === tNode;
5246
5246
  const injectableIdx = locateDirectiveOrProvider(tNode, currentTView, token, canAccessViewProviders, isHostSpecialCase);
5247
5247
  if (injectableIdx !== null) {
5248
- return getNodeInjectable(lView, currentTView, injectableIdx, tNode);
5248
+ return getNodeInjectable(lView, currentTView, injectableIdx, tNode, flags);
5249
5249
  }
5250
5250
  else {
5251
5251
  return NOT_FOUND;
@@ -5295,7 +5295,7 @@ function locateDirectiveOrProvider(tNode, tView, token, canAccessViewProviders,
5295
5295
  * cached `injectable`. Otherwise if it detects that the value is still a factory it
5296
5296
  * instantiates the `injectable` and caches the value.
5297
5297
  */
5298
- function getNodeInjectable(lView, tView, index, tNode) {
5298
+ function getNodeInjectable(lView, tView, index, tNode, flags) {
5299
5299
  let value = lView[index];
5300
5300
  const tData = tView.data;
5301
5301
  if (value instanceof NodeInjectorFactory) {
@@ -5322,7 +5322,7 @@ function getNodeInjectable(lView, tView, index, tNode) {
5322
5322
  ngDevMode &&
5323
5323
  assertEqual(success, true, "Because flags do not contain `SkipSelf' we expect this to always succeed.");
5324
5324
  try {
5325
- value = lView[index] = factory.factory(undefined, tData, lView, tNode);
5325
+ value = lView[index] = factory.factory(undefined, flags, tData, lView, tNode);
5326
5326
  ngDevMode && emitInstanceCreatedByInjectorEvent(value);
5327
5327
  // This code path is hit for both directives and providers.
5328
5328
  // For perf reasons, we want to avoid searching for hooks on providers.
@@ -17944,7 +17944,7 @@ class ComponentFactory extends ComponentFactory$1 {
17944
17944
  const cmpDef = this.componentDef;
17945
17945
  ngDevMode && verifyNotAnOrphanComponent(cmpDef);
17946
17946
  const tAttributes = rootSelectorOrNode
17947
- ? ['ng-version', '19.2.9']
17947
+ ? ['ng-version', '19.2.10']
17948
17948
  : // Extract attributes and classes from the first selector only to match VE behavior.
17949
17949
  extractAttrsAndClassesFromSelector(this.componentDef.selectors[0]);
17950
17950
  // Create the root view. Uses empty TView and ContentTemplate.
@@ -23912,8 +23912,7 @@ function triggerResourceLoading(tDetails, lView, tNode) {
23912
23912
  }
23913
23913
  }
23914
23914
  // Indicate that an application is not stable and has a pending task.
23915
- const pendingTasks = injector.get(PendingTasksInternal);
23916
- const taskId = pendingTasks.add();
23915
+ const removeTask = injector.get(PendingTasks).add();
23917
23916
  // The `dependenciesFn` might be `null` when all dependencies within
23918
23917
  // a given defer block were eagerly referenced elsewhere in a file,
23919
23918
  // thus no dynamic `import()`s were produced.
@@ -23921,7 +23920,7 @@ function triggerResourceLoading(tDetails, lView, tNode) {
23921
23920
  tDetails.loadingPromise = Promise.resolve().then(() => {
23922
23921
  tDetails.loadingPromise = null;
23923
23922
  tDetails.loadingState = DeferDependenciesLoadingState.COMPLETE;
23924
- pendingTasks.remove(taskId);
23923
+ removeTask();
23925
23924
  });
23926
23925
  return tDetails.loadingPromise;
23927
23926
  }
@@ -23949,10 +23948,6 @@ function triggerResourceLoading(tDetails, lView, tNode) {
23949
23948
  break;
23950
23949
  }
23951
23950
  }
23952
- // Loading is completed, we no longer need the loading Promise
23953
- // and a pending task should also be removed.
23954
- tDetails.loadingPromise = null;
23955
- pendingTasks.remove(taskId);
23956
23951
  if (failed) {
23957
23952
  tDetails.loadingState = DeferDependenciesLoadingState.FAILED;
23958
23953
  if (tDetails.errorTmplIndex === null) {
@@ -23981,7 +23976,12 @@ function triggerResourceLoading(tDetails, lView, tNode) {
23981
23976
  }
23982
23977
  }
23983
23978
  });
23984
- return tDetails.loadingPromise;
23979
+ return tDetails.loadingPromise.finally(() => {
23980
+ // Loading is completed, we no longer need the loading Promise
23981
+ // and a pending task should also be removed.
23982
+ tDetails.loadingPromise = null;
23983
+ removeTask();
23984
+ });
23985
23985
  }
23986
23986
  /**
23987
23987
  * Defines whether we should proceed with triggering a given defer block.
@@ -32422,7 +32422,7 @@ function indexOf(item, arr, begin, end) {
32422
32422
  /**
32423
32423
  * Use this with `multi` `providers`.
32424
32424
  */
32425
- function multiProvidersFactoryResolver(_, tData, lData, tNode) {
32425
+ function multiProvidersFactoryResolver(_, flags, tData, lData, tNode) {
32426
32426
  return multiResolve(this.multi, []);
32427
32427
  }
32428
32428
  /**
@@ -32430,7 +32430,7 @@ function multiProvidersFactoryResolver(_, tData, lData, tNode) {
32430
32430
  *
32431
32431
  * This factory knows how to concatenate itself with the existing `multi` `providers`.
32432
32432
  */
32433
- function multiViewProvidersFactoryResolver(_, tData, lView, tNode) {
32433
+ function multiViewProvidersFactoryResolver(_, _flags, _tData, lView, tNode) {
32434
32434
  const factories = this.multi;
32435
32435
  let result;
32436
32436
  if (this.providerFactory) {
@@ -34683,7 +34683,7 @@ class Version {
34683
34683
  /**
34684
34684
  * @publicApi
34685
34685
  */
34686
- const VERSION = new Version('19.2.9');
34686
+ const VERSION = new Version('19.2.10');
34687
34687
 
34688
34688
  /**
34689
34689
  * Combination of NgModuleFactory and ComponentFactories.