@angular/core 18.2.7 → 18.2.8

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 (30) hide show
  1. package/esm2022/src/linker/view_ref.mjs +1 -1
  2. package/esm2022/src/platform/bootstrap.mjs +8 -4
  3. package/esm2022/src/platform/platform_ref.mjs +6 -2
  4. package/esm2022/src/render3/after_render/manager.mjs +4 -1
  5. package/esm2022/src/render3/component_ref.mjs +1 -1
  6. package/esm2022/src/render3/view_ref.mjs +1 -1
  7. package/esm2022/src/version.mjs +1 -1
  8. package/esm2022/testing/src/application_error_handler.mjs +3 -3
  9. package/esm2022/testing/src/component_fixture.mjs +1 -1
  10. package/esm2022/testing/src/logger.mjs +3 -3
  11. package/fesm2022/core.mjs +18 -7
  12. package/fesm2022/core.mjs.map +1 -1
  13. package/fesm2022/primitives/event-dispatch.mjs +1 -1
  14. package/fesm2022/primitives/signals.mjs +1 -1
  15. package/fesm2022/rxjs-interop.mjs +1 -1
  16. package/fesm2022/testing.mjs +4 -4
  17. package/fesm2022/testing.mjs.map +1 -1
  18. package/index.d.ts +2 -12
  19. package/package.json +1 -1
  20. package/primitives/event-dispatch/index.d.ts +1 -1
  21. package/primitives/signals/index.d.ts +1 -1
  22. package/rxjs-interop/index.d.ts +1 -1
  23. package/schematics/migrations/after-render-phase/bundle.js +64 -22
  24. package/schematics/migrations/http-providers/bundle.js +64 -22
  25. package/schematics/migrations/invalid-two-way-bindings/bundle.js +64 -22
  26. package/schematics/ng-generate/control-flow-migration/bundle.js +64 -22
  27. package/schematics/ng-generate/inject-migration/bundle.js +64 -22
  28. package/schematics/ng-generate/route-lazy-loading/bundle.js +64 -22
  29. package/schematics/ng-generate/standalone-migration/bundle.js +79 -34
  30. package/testing/index.d.ts +3 -1
package/fesm2022/core.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v18.2.7
2
+ * @license Angular v18.2.8
3
3
  * (c) 2010-2024 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -16946,7 +16946,7 @@ function createRootComponent(componentView, rootComponentDef, rootDirectives, ho
16946
16946
  function setRootNodeAttributes(hostRenderer, componentDef, hostRNode, rootSelectorOrNode) {
16947
16947
  if (rootSelectorOrNode) {
16948
16948
  // The placeholder will be replaced with the actual version at build time.
16949
- setUpAttributes(hostRenderer, hostRNode, ['ng-version', '18.2.7']);
16949
+ setUpAttributes(hostRenderer, hostRNode, ['ng-version', '18.2.8']);
16950
16950
  }
16951
16951
  else {
16952
16952
  // If host element is created as a part of this function call (i.e. `rootSelectorOrNode`
@@ -19638,6 +19638,9 @@ class AfterRenderImpl {
19638
19638
  sequence.afterRun();
19639
19639
  if (sequence.once) {
19640
19640
  this.sequences.delete(sequence);
19641
+ // Destroy the sequence so its on destroy callbacks can be cleaned up
19642
+ // immediately, instead of waiting until the injector is destroyed.
19643
+ sequence.destroy();
19641
19644
  }
19642
19645
  }
19643
19646
  for (const sequence of this.deferredRegistrations) {
@@ -31037,7 +31040,7 @@ class Version {
31037
31040
  /**
31038
31041
  * @publicApi
31039
31042
  */
31040
- const VERSION = new Version('18.2.7');
31043
+ const VERSION = new Version('18.2.8');
31041
31044
 
31042
31045
  /*
31043
31046
  * This file exists to support compilation of @angular/core in Ivy mode.
@@ -33984,7 +33987,7 @@ function logOversizedImageWarning(src) {
33984
33987
  const PLATFORM_DESTROY_LISTENERS = new InjectionToken(ngDevMode ? 'PlatformDestroyListeners' : '');
33985
33988
 
33986
33989
  function isApplicationBootstrapConfig(config) {
33987
- return !!config.platformInjector;
33990
+ return !config.moduleRef;
33988
33991
  }
33989
33992
  function bootstrap(config) {
33990
33993
  const envInjector = isApplicationBootstrapConfig(config)
@@ -34019,9 +34022,9 @@ function bootstrap(config) {
34019
34022
  },
34020
34023
  });
34021
34024
  });
34025
+ // If the whole platform is destroyed, invoke the `destroy` method
34026
+ // for all bootstrapped applications as well.
34022
34027
  if (isApplicationBootstrapConfig(config)) {
34023
- // If the whole platform is destroyed, invoke the `destroy` method
34024
- // for all bootstrapped applications as well.
34025
34028
  const destroyListener = () => envInjector.destroy();
34026
34029
  const onPlatformDestroyListeners = config.platformInjector.get(PLATFORM_DESTROY_LISTENERS);
34027
34030
  onPlatformDestroyListeners.add(destroyListener);
@@ -34031,9 +34034,13 @@ function bootstrap(config) {
34031
34034
  });
34032
34035
  }
34033
34036
  else {
34037
+ const destroyListener = () => config.moduleRef.destroy();
34038
+ const onPlatformDestroyListeners = config.platformInjector.get(PLATFORM_DESTROY_LISTENERS);
34039
+ onPlatformDestroyListeners.add(destroyListener);
34034
34040
  config.moduleRef.onDestroy(() => {
34035
34041
  remove(config.allPlatformModules, config.moduleRef);
34036
34042
  onErrorSubscription.unsubscribe();
34043
+ onPlatformDestroyListeners.delete(destroyListener);
34037
34044
  });
34038
34045
  }
34039
34046
  return _callAndReportToErrorHandler(exceptionHandler, ngZone, () => {
@@ -34120,7 +34127,11 @@ class PlatformRef {
34120
34127
  { provide: ChangeDetectionScheduler, useExisting: ChangeDetectionSchedulerImpl },
34121
34128
  ];
34122
34129
  const moduleRef = createNgModuleRefWithProviders(moduleFactory.moduleType, this.injector, allAppProviders);
34123
- return bootstrap({ moduleRef, allPlatformModules: this._modules });
34130
+ return bootstrap({
34131
+ moduleRef,
34132
+ allPlatformModules: this._modules,
34133
+ platformInjector: this.injector,
34134
+ });
34124
34135
  }
34125
34136
  /**
34126
34137
  * Creates an instance of an `@NgModule` for a given platform.