@angular/core 17.0.6 → 17.0.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 (71) hide show
  1. package/esm2022/primitives/signals/src/signal.mjs +2 -9
  2. package/esm2022/src/application/application_config.mjs +21 -0
  3. package/esm2022/src/application/application_init.mjs +188 -0
  4. package/esm2022/src/application/application_module.mjs +29 -0
  5. package/esm2022/src/application/application_ref.mjs +505 -0
  6. package/esm2022/src/application/application_tokens.mjs +121 -0
  7. package/esm2022/src/application/create_application.mjs +102 -0
  8. package/esm2022/src/change_detection/flags.mjs +16 -0
  9. package/esm2022/src/change_detection/scheduling/ng_zone_scheduling.mjs +164 -0
  10. package/esm2022/src/change_detection/scheduling/zoneless_scheduling.mjs +13 -0
  11. package/esm2022/src/core.mjs +10 -7
  12. package/esm2022/src/core_private_export.mjs +8 -4
  13. package/esm2022/src/core_reactivity_export_internal.mjs +2 -2
  14. package/esm2022/src/core_render3_private_export.mjs +2 -2
  15. package/esm2022/src/error_handler.mjs +15 -1
  16. package/esm2022/src/event_emitter.mjs +1 -2
  17. package/esm2022/src/hydration/annotate.mjs +1 -1
  18. package/esm2022/src/hydration/api.mjs +2 -2
  19. package/esm2022/src/hydration/cleanup.mjs +1 -1
  20. package/esm2022/src/image_performance_warning.mjs +2 -2
  21. package/esm2022/src/linker/query_list.mjs +8 -6
  22. package/esm2022/src/metadata/do_bootstrap.mjs +1 -1
  23. package/esm2022/src/pending_tasks.mjs +57 -0
  24. package/esm2022/src/platform/platform.mjs +135 -0
  25. package/esm2022/src/platform/platform_core_providers.mjs +15 -0
  26. package/esm2022/src/platform/platform_ref.mjs +179 -0
  27. package/esm2022/src/render3/after_render_hooks.mjs +2 -2
  28. package/esm2022/src/render3/component_ref.mjs +13 -9
  29. package/esm2022/src/render3/instructions/change_detection.mjs +2 -4
  30. package/esm2022/src/render3/instructions/mark_view_dirty.mjs +3 -2
  31. package/esm2022/src/render3/instructions/shared.mjs +3 -2
  32. package/esm2022/src/render3/interfaces/view.mjs +1 -1
  33. package/esm2022/src/render3/list_reconciliation.mjs +58 -24
  34. package/esm2022/src/render3/util/change_detection_utils.mjs +3 -1
  35. package/esm2022/src/render3/util/misc_utils.mjs +2 -2
  36. package/esm2022/src/render3/util/view_utils.mjs +18 -5
  37. package/esm2022/src/render3/view_ref.mjs +8 -1
  38. package/esm2022/src/transfer_state.mjs +2 -2
  39. package/esm2022/src/util/performance.mjs +2 -2
  40. package/esm2022/src/version.mjs +6 -5
  41. package/esm2022/src/zone/ng_zone.mjs +10 -61
  42. package/esm2022/testing/src/component_fixture.mjs +20 -36
  43. package/esm2022/testing/src/logger.mjs +3 -3
  44. package/esm2022/testing/src/test_bed.mjs +5 -6
  45. package/fesm2022/core.mjs +1409 -1340
  46. package/fesm2022/core.mjs.map +1 -1
  47. package/fesm2022/primitives/signals.mjs +2 -9
  48. package/fesm2022/primitives/signals.mjs.map +1 -1
  49. package/fesm2022/rxjs-interop.mjs +1 -1
  50. package/fesm2022/testing.mjs +46 -64
  51. package/fesm2022/testing.mjs.map +1 -1
  52. package/index.d.ts +50 -35
  53. package/package.json +1 -1
  54. package/primitives/signals/index.d.ts +1 -1
  55. package/rxjs-interop/index.d.ts +1 -1
  56. package/schematics/migrations/block-template-entities/bundle.js +863 -673
  57. package/schematics/migrations/block-template-entities/bundle.js.map +4 -4
  58. package/schematics/migrations/compiler-options/bundle.js +13 -13
  59. package/schematics/migrations/transfer-state/bundle.js +13 -13
  60. package/schematics/ng-generate/control-flow-migration/bundle.js +1175 -782
  61. package/schematics/ng-generate/control-flow-migration/bundle.js.map +4 -4
  62. package/schematics/ng-generate/standalone-migration/bundle.js +1168 -933
  63. package/schematics/ng-generate/standalone-migration/bundle.js.map +4 -4
  64. package/testing/index.d.ts +6 -10
  65. package/esm2022/src/application_config.mjs +0 -21
  66. package/esm2022/src/application_init.mjs +0 -188
  67. package/esm2022/src/application_module.mjs +0 -29
  68. package/esm2022/src/application_ref.mjs +0 -997
  69. package/esm2022/src/application_tokens.mjs +0 -121
  70. package/esm2022/src/initial_render_pending_tasks.mjs +0 -49
  71. package/esm2022/src/platform_core_providers.mjs +0 -15
package/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v17.0.6
2
+ * @license Angular v17.0.8
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -642,7 +642,6 @@ export declare class ApplicationRef {
642
642
  private _destroyed;
643
643
  private _destroyListeners;
644
644
  private readonly internalErrorHandler;
645
- private readonly zoneIsStable;
646
645
  /**
647
646
  * Indicates whether this instance was destroyed.
648
647
  */
@@ -3615,7 +3614,6 @@ export declare type EnvironmentProviders = {
3615
3614
  ɵbrand: 'EnvironmentProviders';
3616
3615
  };
3617
3616
 
3618
-
3619
3617
  /**
3620
3618
  * Provides a hook for centralized exception handling.
3621
3619
  *
@@ -3848,6 +3846,16 @@ export declare interface FactorySansProvider {
3848
3846
 
3849
3847
  declare const FLAGS = 2;
3850
3848
 
3849
+ /**
3850
+ * Interface to an `EffectScheduler` capable of running scheduled effects synchronously.
3851
+ */
3852
+ declare interface FlushableEffectRunner {
3853
+ /**
3854
+ * Run any scheduled effects.
3855
+ */
3856
+ flush(): void;
3857
+ }
3858
+
3851
3859
  /**
3852
3860
  * Allows to refer to references which are not yet defined.
3853
3861
  *
@@ -5912,9 +5920,11 @@ declare interface LViewEnvironment {
5912
5920
  /** An optional custom sanitizer. */
5913
5921
  sanitizer: Sanitizer | null;
5914
5922
  /** Container for reactivity system `effect`s. */
5915
- inlineEffectRunner: ɵFlushableEffectRunner | null;
5923
+ inlineEffectRunner: FlushableEffectRunner | null;
5916
5924
  /** Container for after render hooks */
5917
5925
  afterRenderEventManager: ɵAfterRenderEventManager | null;
5926
+ /** Scheduler for change detection to notify when application state changes. */
5927
+ changeDetectionScheduler: ɵChangeDetectionScheduler | null;
5918
5928
  }
5919
5929
 
5920
5930
  /** Flags associated with an LView (saved in LView[FLAGS]) */
@@ -10844,6 +10854,14 @@ export declare const enum ɵBypassType {
10844
10854
  Style = "Style"
10845
10855
  }
10846
10856
 
10857
+
10858
+ /**
10859
+ * Injectable that is notified when an `LView` is made aware of changes to application state.
10860
+ */
10861
+ export declare abstract class ɵChangeDetectionScheduler {
10862
+ abstract notify(): void;
10863
+ }
10864
+
10847
10865
  export declare function ɵclearResolutionOfComponentResourcesQueue(): Map<Type<any>, Component>;
10848
10866
 
10849
10867
  /**
@@ -11337,16 +11355,6 @@ export declare const enum ɵExtraLocaleDataIndex {
11337
11355
  */
11338
11356
  export declare function ɵfindLocaleData(locale: string): any;
11339
11357
 
11340
- /**
11341
- * Interface to an `EffectScheduler` capable of running scheduled effects synchronously.
11342
- */
11343
- export declare interface ɵFlushableEffectRunner {
11344
- /**
11345
- * Run any scheduled effects.
11346
- */
11347
- flush(): void;
11348
- }
11349
-
11350
11358
  /**
11351
11359
  * Loops over queued module definitions, if a given module definition has all of its
11352
11360
  * declarations resolved, it dequeues that module definition and sets the scope on
@@ -11404,6 +11412,9 @@ export declare function ɵgetDeferBlocks(lView: LView, deferBlocks: ɵDeferBlock
11404
11412
  */
11405
11413
  export declare function ɵgetDirectives(node: Node): {}[];
11406
11414
 
11415
+
11416
+ export declare function ɵgetEnsureDirtyViewsAreAlwaysReachable(): boolean;
11417
+
11407
11418
  /**
11408
11419
  * Retrieves the host element of a component or directive instance.
11409
11420
  * The host element is the DOM element that matched the selector of the directive.
@@ -11515,26 +11526,6 @@ export declare type ɵImageConfig = {
11515
11526
  disableImageLazyLoadWarning?: boolean;
11516
11527
  };
11517
11528
 
11518
- /**
11519
- * *Internal* service that keeps track of pending tasks happening in the system
11520
- * during the initial rendering. No tasks are tracked after an initial
11521
- * rendering.
11522
- *
11523
- * This information is needed to make sure that the serialization on the server
11524
- * is delayed until all tasks in the queue (such as an initial navigation or a
11525
- * pending HTTP request) are completed.
11526
- */
11527
- export declare class ɵInitialRenderPendingTasks implements OnDestroy {
11528
- private taskId;
11529
- private pendingTasks;
11530
- hasPendingTasks: BehaviorSubject<boolean>;
11531
- add(): number;
11532
- remove(taskId: number): void;
11533
- ngOnDestroy(): void;
11534
- static ɵfac: i0.ɵɵFactoryDeclaration<ɵInitialRenderPendingTasks, never>;
11535
- static ɵprov: i0.ɵɵInjectableDeclaration<ɵInitialRenderPendingTasks>;
11536
- }
11537
-
11538
11529
  /** Returns a ChangeDetectorRef (a.k.a. a ViewRef) */
11539
11530
  export declare function ɵinjectChangeDetectorRef(flags: InjectFlags): ChangeDetectorRef;
11540
11531
 
@@ -11871,6 +11862,28 @@ export declare const ɵNOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR: {};
11871
11862
  */
11872
11863
  export declare function ɵpatchComponentDefWithScope<C>(componentDef: ɵComponentDef<C>, transitiveScopes: ɵNgModuleTransitiveScopes): void;
11873
11864
 
11865
+ /**
11866
+ * *Internal* service that keeps track of pending tasks happening in the system.
11867
+ *
11868
+ * This information is needed to make sure that the serialization on the server
11869
+ * is delayed until all tasks in the queue (such as an initial navigation or a
11870
+ * pending HTTP request) are completed.
11871
+ *
11872
+ * Pending tasks continue to contribute to the stableness of `ApplicationRef`
11873
+ * throughout the lifetime of the application.
11874
+ */
11875
+ export declare class ɵPendingTasks implements OnDestroy {
11876
+ private taskId;
11877
+ private pendingTasks;
11878
+ private get _hasPendingTasks();
11879
+ hasPendingTasks: BehaviorSubject<boolean>;
11880
+ add(): number;
11881
+ remove(taskId: number): void;
11882
+ ngOnDestroy(): void;
11883
+ static ɵfac: i0.ɵɵFactoryDeclaration<ɵPendingTasks, never>;
11884
+ static ɵprov: i0.ɵɵInjectableDeclaration<ɵPendingTasks>;
11885
+ }
11886
+
11874
11887
 
11875
11888
  /**
11876
11889
  * A guarded `performance.mark` for feature marking.
@@ -12362,6 +12375,8 @@ export declare function ɵsetCurrentInjector(injector: Injector | null | undefin
12362
12375
  */
12363
12376
  export declare function ɵsetDocument(document: Document | undefined): void;
12364
12377
 
12378
+ export declare function ɵsetEnsureDirtyViewsAreAlwaysReachable(v: boolean): void;
12379
+
12365
12380
  export declare function ɵsetInjectorProfilerContext(context: ɵInjectorProfilerContext): ɵInjectorProfilerContext;
12366
12381
 
12367
12382
 
@@ -12731,7 +12746,7 @@ export declare const ɵXSS_SECURITY_URL = "https://g.co/ng/security#xss";
12731
12746
  * An `EffectScheduler` which is capable of queueing scheduled effects per-zone, and flushing them
12732
12747
  * as an explicit operation.
12733
12748
  */
12734
- export declare class ɵZoneAwareQueueingScheduler implements ɵEffectScheduler, ɵFlushableEffectRunner {
12749
+ export declare class ɵZoneAwareQueueingScheduler implements ɵEffectScheduler, FlushableEffectRunner {
12735
12750
  private queuedEffectCount;
12736
12751
  private queues;
12737
12752
  scheduleEffect(handle: SchedulableEffect): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@angular/core",
3
- "version": "17.0.6",
3
+ "version": "17.0.8",
4
4
  "description": "Angular - the core framework",
5
5
  "author": "angular",
6
6
  "license": "MIT",
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v17.0.6
2
+ * @license Angular v17.0.8
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v17.0.6
2
+ * @license Angular v17.0.8
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */