@angular/core 17.2.1 → 17.2.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 (33) hide show
  1. package/esm2022/src/application/application_ref.mjs +18 -5
  2. package/esm2022/src/cached_injector_service.mjs +49 -0
  3. package/esm2022/src/core_private_export.mjs +2 -1
  4. package/esm2022/src/defer/instructions.mjs +29 -3
  5. package/esm2022/src/defer/interfaces.mjs +1 -1
  6. package/esm2022/src/metadata/di.mjs +1 -1
  7. package/esm2022/src/render3/after_render_hooks.mjs +8 -5
  8. package/esm2022/src/render3/component_ref.mjs +3 -3
  9. package/esm2022/src/render3/instructions/shared.mjs +6 -3
  10. package/esm2022/src/render3/queue_state_update.mjs +41 -0
  11. package/esm2022/src/render3/reactivity/computed.mjs +3 -1
  12. package/esm2022/src/render3/reactivity/effect.mjs +3 -1
  13. package/esm2022/src/render3/reactivity/signal.mjs +3 -1
  14. package/esm2022/src/version.mjs +1 -1
  15. package/esm2022/testing/src/logger.mjs +3 -3
  16. package/fesm2022/core.mjs +223 -107
  17. package/fesm2022/core.mjs.map +1 -1
  18. package/fesm2022/primitives/signals.mjs +1 -1
  19. package/fesm2022/rxjs-interop.mjs +1 -1
  20. package/fesm2022/testing.mjs +1 -1
  21. package/index.d.ts +37 -10
  22. package/package.json +1 -1
  23. package/primitives/signals/index.d.ts +1 -1
  24. package/rxjs-interop/index.d.ts +1 -1
  25. package/schematics/migrations/block-template-entities/bundle.js +184 -175
  26. package/schematics/migrations/block-template-entities/bundle.js.map +2 -2
  27. package/schematics/migrations/compiler-options/bundle.js +13 -13
  28. package/schematics/migrations/transfer-state/bundle.js +13 -13
  29. package/schematics/ng-generate/control-flow-migration/bundle.js +197 -188
  30. package/schematics/ng-generate/control-flow-migration/bundle.js.map +2 -2
  31. package/schematics/ng-generate/standalone-migration/bundle.js +3372 -3237
  32. package/schematics/ng-generate/standalone-migration/bundle.js.map +4 -4
  33. package/testing/index.d.ts +1 -1
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v17.2.1
2
+ * @license Angular v17.2.3
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.2.1
2
+ * @license Angular v17.2.3
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.2.1
2
+ * @license Angular v17.2.3
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
package/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v17.2.1
2
+ * @license Angular v17.2.3
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -5695,6 +5695,12 @@ declare interface InternalAfterNextRenderOptions {
5695
5695
  * If this is not provided, the current injection context will be used instead (via `inject`).
5696
5696
  */
5697
5697
  injector?: Injector;
5698
+ /**
5699
+ * When true, the hook will execute both on client and on the server.
5700
+ *
5701
+ * When false or undefined, the hook only executes in the browser.
5702
+ */
5703
+ runOnServer?: boolean;
5698
5704
  }
5699
5705
 
5700
5706
  /**
@@ -9208,6 +9214,11 @@ declare interface TDeferBlockDetails {
9208
9214
  * which all await the same set of dependencies.
9209
9215
  */
9210
9216
  loadingPromise: Promise<unknown> | null;
9217
+ /**
9218
+ * List of providers collected from all NgModules that were imported by
9219
+ * standalone components used within this defer block.
9220
+ */
9221
+ providers: Provider[] | null;
9211
9222
  }
9212
9223
 
9213
9224
  /** Static data for an <ng-container> */
@@ -10906,16 +10917,14 @@ export declare interface ViewChildDecorator {
10906
10917
  * * Any provider defined through a string token (e.g. `{provide: 'token', useValue: 'val'}`)
10907
10918
  * * `TemplateRef`, `ElementRef`, and `ViewContainerRef`
10908
10919
  *
10909
- * Difference between dynamic and static queries**:
10910
- *
10911
- * | Queries | Details |
10912
- * |:--- |:--- |
10913
- * | Dynamic queries \(`static: false`\) | The query resolves before the `ngAfterViewInit()`
10920
+ * Difference between dynamic and static queries:
10921
+ * * Dynamic queries \(`static: false`\) - The query resolves before the `ngAfterViewInit()`
10914
10922
  * callback is called. The result will be updated for changes to your view, such as changes to
10915
- * `ngIf` and `ngFor` blocks. | | Static queries \(`static: true`\) | The query resolves once
10923
+ * `ngIf` and `ngFor` blocks.
10924
+ * * Static queries \(`static: true`\) - The query resolves once
10916
10925
  * the view has been created, but before change detection runs (before the `ngOnInit()` callback
10917
10926
  * is called). The result, though, will never be updated to reflect changes to your view, such as
10918
- * changes to `ngIf` and `ngFor` blocks. |
10927
+ * changes to `ngIf` and `ngFor` blocks.
10919
10928
  *
10920
10929
  * @usageNotes
10921
10930
  *
@@ -11362,7 +11371,7 @@ export declare interface WritableSignal<T> extends Signal<T> {
11362
11371
  update(updateFn: (value: T) => T): void;
11363
11372
  /**
11364
11373
  * Returns a readonly version of this signal. Readonly signals can be accessed to read their value
11365
- * but can't be changed using set, update or mutate methods. The readonly signals do _not_ have
11374
+ * but can't be changed using set or update methods. The readonly signals do _not_ have
11366
11375
  * any built-in mechanism that would prevent deep-mutation of their value.
11367
11376
  */
11368
11377
  asReadonly(): Signal<T>;
@@ -11383,9 +11392,10 @@ export declare function ɵ_sanitizeUrl(url: string): string;
11383
11392
  */
11384
11393
  export declare class ɵAfterRenderEventManager {
11385
11394
  /**
11386
- * Executes callbacks. Returns `true` if any callbacks executed.
11395
+ * Executes internal and user-provided callbacks.
11387
11396
  */
11388
11397
  execute(): void;
11398
+ executeInternalCallbacks(): void;
11389
11399
  ngOnDestroy(): void;
11390
11400
  /** @nocollapse */
11391
11401
  static ɵprov: unknown;
@@ -12880,6 +12890,23 @@ export declare interface ɵProviderRecord {
12880
12890
 
12881
12891
  export declare function ɵprovideZonelessChangeDetection(): EnvironmentProviders;
12882
12892
 
12893
+ /**
12894
+ * Queue a state update to be performed asynchronously.
12895
+ *
12896
+ * This is useful to safely update application state that is used in an expression that was already
12897
+ * checked during change detection. This defers the update until later and prevents
12898
+ * `ExpressionChangedAfterItHasBeenChecked` errors. Using signals for state is recommended instead,
12899
+ * but it's not always immediately possible to change the state to a signal because it would be a
12900
+ * breaking change. When the callback updates state used in an expression, this needs to be
12901
+ * accompanied by an explicit notification to the framework that something has changed (i.e.
12902
+ * updating a signal or calling `ChangeDetectorRef.markForCheck()`) or may still cause
12903
+ * `ExpressionChangedAfterItHasBeenChecked` in dev mode or fail to synchronize the state to the DOM
12904
+ * in production.
12905
+ */
12906
+ export declare function ɵqueueStateUpdate(callback: VoidFunction, options?: {
12907
+ injector?: Injector;
12908
+ }): void;
12909
+
12883
12910
  export declare function ɵreadHydrationInfo(node: RNode): ɵHydrationInfo | null;
12884
12911
 
12885
12912
  export declare class ɵReflectionCapabilities implements PlatformReflectionCapabilities {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@angular/core",
3
- "version": "17.2.1",
3
+ "version": "17.2.3",
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.2.1
2
+ * @license Angular v17.2.3
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.2.1
2
+ * @license Angular v17.2.3
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */