@angular/core 17.0.1 → 17.0.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 (43) hide show
  1. package/esm2022/src/core_private_export.mjs +2 -2
  2. package/esm2022/src/core_render3_private_export.mjs +3 -3
  3. package/esm2022/src/defer/instructions.mjs +3 -3
  4. package/esm2022/src/hydration/api.mjs +3 -3
  5. package/esm2022/src/image_performance_warning.mjs +4 -4
  6. package/esm2022/src/linker/component_factory.mjs +1 -3
  7. package/esm2022/src/render3/after_render_hooks.mjs +4 -4
  8. package/esm2022/src/render3/features/standalone_feature.mjs +3 -6
  9. package/esm2022/src/render3/index.mjs +2 -2
  10. package/esm2022/src/render3/instructions/change_detection.mjs +9 -19
  11. package/esm2022/src/render3/instructions/control_flow.mjs +4 -7
  12. package/esm2022/src/render3/instructions/shared.mjs +4 -5
  13. package/esm2022/src/render3/interfaces/container.mjs +22 -17
  14. package/esm2022/src/render3/interfaces/view.mjs +2 -2
  15. package/esm2022/src/render3/list_reconciliation.mjs +5 -4
  16. package/esm2022/src/render3/metadata.mjs +20 -20
  17. package/esm2022/src/render3/node_manipulation.mjs +3 -3
  18. package/esm2022/src/render3/util/change_detection_utils.mjs +13 -2
  19. package/esm2022/src/render3/util/injector_discovery_utils.mjs +10 -13
  20. package/esm2022/src/render3/util/view_utils.mjs +4 -4
  21. package/esm2022/src/render3/view_ref.mjs +3 -3
  22. package/esm2022/src/util/performance.mjs +9 -4
  23. package/esm2022/src/version.mjs +1 -1
  24. package/esm2022/testing/src/logger.mjs +3 -3
  25. package/esm2022/testing/src/test_bed.mjs +3 -3
  26. package/esm2022/testing/src/test_bed_compiler.mjs +10 -7
  27. package/fesm2022/core.mjs +100 -99
  28. package/fesm2022/core.mjs.map +1 -1
  29. package/fesm2022/primitives/signals.mjs +1 -1
  30. package/fesm2022/rxjs-interop.mjs +1 -1
  31. package/fesm2022/testing.mjs +11 -8
  32. package/fesm2022/testing.mjs.map +1 -1
  33. package/index.d.ts +35 -45
  34. package/package.json +1 -1
  35. package/primitives/signals/index.d.ts +1 -1
  36. package/rxjs-interop/index.d.ts +1 -1
  37. package/schematics/migrations/block-template-entities/bundle.js +187 -98
  38. package/schematics/migrations/block-template-entities/bundle.js.map +4 -4
  39. package/schematics/ng-generate/control-flow-migration/bundle.js +518 -232
  40. package/schematics/ng-generate/control-flow-migration/bundle.js.map +4 -4
  41. package/schematics/ng-generate/standalone-migration/bundle.js +253 -129
  42. package/schematics/ng-generate/standalone-migration/bundle.js.map +4 -4
  43. package/testing/index.d.ts +1 -1
package/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v17.0.1
2
+ * @license Angular v17.0.3
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -1620,8 +1620,6 @@ declare interface ComponentDependencies {
1620
1620
  * Instantiate a factory for a given type of component with `resolveComponentFactory()`.
1621
1621
  * Use the resulting `ComponentFactory.create()` method to create a component of that type.
1622
1622
  *
1623
- * @see [Dynamic Components](guide/dynamic-component-loader)
1624
- *
1625
1623
  * @publicApi
1626
1624
  *
1627
1625
  * @deprecated Angular no longer requires Component factories. Please use other APIs where
@@ -2568,7 +2566,12 @@ declare type DeferredPlaceholderBlockConfig = [minimumTime: number | null];
2568
2566
  */
2569
2567
  export declare const defineInjectable: typeof ɵɵdefineInjectable;
2570
2568
 
2571
- declare const DEHYDRATED_VIEWS = 10;
2569
+ /**
2570
+ * Below are constants for LContainer indices to help us look up LContainer members
2571
+ * without having to remember the specific indices.
2572
+ * Uglify will inline these when minifying so there shouldn't be a cost.
2573
+ */
2574
+ declare const DEHYDRATED_VIEWS = 6;
2572
2575
 
2573
2576
  /**
2574
2577
  * An object that contains hydration-related information serialized
@@ -3948,18 +3951,6 @@ declare type GlobalTargetName = 'document' | 'window' | 'body';
3948
3951
 
3949
3952
  declare type GlobalTargetResolver = (element: any) => EventTarget;
3950
3953
 
3951
- declare const HAS_CHILD_VIEWS_TO_REFRESH = 6;
3952
-
3953
- /**
3954
- * Flag to signify that this `LContainer` may have transplanted views which need to be change
3955
- * detected. (see: `LView[DECLARATION_COMPONENT_VIEW])`.
3956
- *
3957
- * This flag, once set, is never unset for the `LContainer`. This means that when unset we can skip
3958
- * a lot of work in `refreshEmbeddedViews`. But when set we still need to verify
3959
- * that the `MOVED_VIEWS` are transplanted and on-push.
3960
- */
3961
- declare const HAS_TRANSPLANTED_VIEWS = 2;
3962
-
3963
3954
  /**
3964
3955
  * Array of hooks that should be executed for a view and their directive indices.
3965
3956
  *
@@ -5502,13 +5493,8 @@ declare interface LContainer extends Array<any> {
5502
5493
  * efficient way. The value is always set to `true`
5503
5494
  */
5504
5495
  [TYPE]: true;
5505
- /**
5506
- * Flag to signify that this `LContainer` may have transplanted views which need to be change
5507
- * detected. (see: `LView[DECLARATION_COMPONENT_VIEW])`.
5508
- *
5509
- * This flag, once set, is never unset for the `LContainer`.
5510
- */
5511
- [HAS_TRANSPLANTED_VIEWS]: boolean;
5496
+ /** Flags for this container. See LContainerFlags for more info. */
5497
+ [FLAGS]: LContainerFlags;
5512
5498
  /**
5513
5499
  * Access to the parent view is necessary so we can propagate back
5514
5500
  * up from inside a container to parent[NEXT].
@@ -5519,11 +5505,6 @@ declare interface LContainer extends Array<any> {
5519
5505
  * view with the same parent, so we can remove listeners efficiently.
5520
5506
  */
5521
5507
  [NEXT]: LView | LContainer | null;
5522
- /**
5523
- * Indicates that this LContainer has a view underneath it that needs to be refreshed during
5524
- * change detection.
5525
- */
5526
- [HAS_CHILD_VIEWS_TO_REFRESH]: boolean;
5527
5508
  /**
5528
5509
  * A collection of views created based on the underlying `<ng-template>` element but inserted into
5529
5510
  * a different `LContainer`. We need to track views created from a given declaration point since
@@ -5558,6 +5539,23 @@ declare interface LContainer extends Array<any> {
5558
5539
  [DEHYDRATED_VIEWS]: DehydratedContainerView[] | null;
5559
5540
  }
5560
5541
 
5542
+ /** Flags associated with an LContainer (saved in LContainer[FLAGS]) */
5543
+ declare enum LContainerFlags {
5544
+ None = 0,
5545
+ /**
5546
+ * Flag to signify that this `LContainer` may have transplanted views which need to be change
5547
+ * detected. (see: `LView[DECLARATION_COMPONENT_VIEW])`.
5548
+ *
5549
+ * This flag, once set, is never unset for the `LContainer`.
5550
+ */
5551
+ HasTransplantedViews = 2,
5552
+ /**
5553
+ * Indicates that this LContainer has a view underneath it that needs to be refreshed during
5554
+ * change detection.
5555
+ */
5556
+ HasChildViewsToRefresh = 4
5557
+ }
5558
+
5561
5559
  /**
5562
5560
  * Provide this token to set the locale of your application.
5563
5561
  * It is used for i18n extraction, by i18n pipes (DatePipe, I18nPluralPipe, CurrencyPipe,
@@ -11014,7 +11012,7 @@ export declare class ɵConsole {
11014
11012
  * which views are already in the DOM (and don't need to be re-added) and so we can
11015
11013
  * remove views from the DOM when they are no longer required.
11016
11014
  */
11017
- export declare const ɵCONTAINER_HEADER_OFFSET = 11;
11015
+ export declare const ɵCONTAINER_HEADER_OFFSET = 10;
11018
11016
 
11019
11017
  export declare function ɵconvertToBitFlags(flags: InjectOptions | InjectFlags | undefined): InjectFlags | undefined;
11020
11018
 
@@ -11138,15 +11136,6 @@ export declare enum ɵDeferBlockState {
11138
11136
  /** The deps tracker to be used in the current Angular app in dev mode. */
11139
11137
  export declare const ɵdepsTracker: DepsTracker;
11140
11138
 
11141
- /**
11142
- * Synchronously perform change detection on a component (and possibly its sub-components).
11143
- *
11144
- * This function triggers change detection in a synchronous way on a component.
11145
- *
11146
- * @param component The component which the change detection should be performed on.
11147
- */
11148
- export declare function ɵdetectChanges(component: {}): void;
11149
-
11150
11139
 
11151
11140
  export declare function ɵdevModeEqual(a: any, b: any): boolean;
11152
11141
 
@@ -11369,10 +11358,11 @@ export declare function ɵformatRuntimeError<T extends number = ɵRuntimeErrorCo
11369
11358
  export declare function ɵgenerateStandaloneInDeclarationsError(type: Type<any>, location: string): string;
11370
11359
 
11371
11360
  /**
11372
- * If a given component has unresolved async metadata - this function returns a reference to
11373
- * a Promise that represents dependency loading. Otherwise - this function returns `null`.
11361
+ * If a given component has unresolved async metadata - returns a reference
11362
+ * to a function that applies component metadata after resolving defer-loadable
11363
+ * dependencies. Otherwise - this function returns `null`.
11374
11364
  */
11375
- export declare function ɵgetAsyncClassMetadata(type: Type<unknown>): Promise<Array<Type<unknown>>> | null;
11365
+ export declare function ɵgetAsyncClassMetadataFn(type: Type<unknown>): (() => Promise<Array<Type<unknown>>>) | null;
11376
11366
 
11377
11367
  /**
11378
11368
  * Retrieves all defer blocks in a given LView.
@@ -11878,13 +11868,13 @@ export declare function ɵpatchComponentDefWithScope<C>(componentDef: ɵComponen
11878
11868
 
11879
11869
 
11880
11870
  /**
11881
- * A guarded `performance.mark`.
11871
+ * A guarded `performance.mark` for feature marking.
11882
11872
  *
11883
11873
  * This method exists because while all supported browser and node.js version supported by Angular
11884
11874
  * support performance.mark API. This is not the case for other environments such as JSDOM and
11885
11875
  * Cloudflare workers.
11886
11876
  */
11887
- export declare function ɵperformanceMark(markName: string, markOptions?: PerformanceMarkOptions | undefined): PerformanceMark | undefined;
11877
+ export declare function ɵperformanceMarkFeature(feature: string): void;
11888
11878
 
11889
11879
  /**
11890
11880
  * Runtime link information for Pipes.
@@ -12347,13 +12337,13 @@ export declare function ɵsetClassMetadata(type: Type<any>, decorators: any[] |
12347
12337
 
12348
12338
  /**
12349
12339
  * Handles the process of applying metadata info to a component class in case
12350
- * component template had defer blocks (thus some dependencies became deferrable).
12340
+ * component template has defer blocks (thus some dependencies became deferrable).
12351
12341
  *
12352
12342
  * @param type Component class where metadata should be added
12353
12343
  * @param dependencyLoaderFn Function that loads dependencies
12354
12344
  * @param metadataSetterFn Function that forms a scope in which the `setClassMetadata` is invoked
12355
12345
  */
12356
- export declare function ɵsetClassMetadataAsync(type: Type<any>, dependencyLoaderFn: () => Array<Promise<Type<unknown>>>, metadataSetterFn: (...types: Type<unknown>[]) => void): Promise<Array<Type<unknown>>>;
12346
+ export declare function ɵsetClassMetadataAsync(type: Type<any>, dependencyLoaderFn: () => Array<Promise<Type<unknown>>>, metadataSetterFn: (...types: Type<unknown>[]) => void): () => Promise<Array<Type<unknown>>>;
12357
12347
 
12358
12348
  export declare function ɵsetCurrentInjector(injector: Injector | null | undefined): Injector | undefined | null;
12359
12349
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@angular/core",
3
- "version": "17.0.1",
3
+ "version": "17.0.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.0.1
2
+ * @license Angular v17.0.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.0.1
2
+ * @license Angular v17.0.3
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */