@angular/core 19.0.1 → 19.0.2

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 (32) hide show
  1. package/fesm2022/core.mjs +201 -210
  2. package/fesm2022/core.mjs.map +1 -1
  3. package/fesm2022/primitives/event-dispatch.mjs +1 -1
  4. package/fesm2022/primitives/signals.mjs +1 -1
  5. package/fesm2022/rxjs-interop.mjs +1 -1
  6. package/fesm2022/testing.mjs +4 -4
  7. package/index.d.ts +56 -38
  8. package/package.json +1 -1
  9. package/primitives/event-dispatch/index.d.ts +1 -1
  10. package/primitives/signals/index.d.ts +1 -1
  11. package/rxjs-interop/index.d.ts +1 -1
  12. package/schematics/bundles/{checker-3cbc9cc1.js → checker-a00b735e.js} +22 -23
  13. package/schematics/bundles/{combine_units-c36a3065.js → combine_units-60865867.js} +3 -3
  14. package/schematics/bundles/{compiler_host-087c5caa.js → compiler_host-3e96c3f7.js} +2 -2
  15. package/schematics/bundles/control-flow-migration.js +3 -3
  16. package/schematics/bundles/explicit-standalone-flag.js +5 -5
  17. package/schematics/bundles/{imports-4ac08251.js → imports-44987700.js} +1 -1
  18. package/schematics/bundles/inject-migration.js +60 -39
  19. package/schematics/bundles/{leading_space-d190b83b.js → leading_space-6e7a8ec6.js} +1 -1
  20. package/schematics/bundles/{migrate_ts_type_references-bb0c286a.js → migrate_ts_type_references-676612f5.js} +5 -5
  21. package/schematics/bundles/{nodes-0e7d45ca.js → nodes-b12e919a.js} +2 -2
  22. package/schematics/bundles/output-migration.js +5 -5
  23. package/schematics/bundles/pending-tasks.js +5 -5
  24. package/schematics/bundles/{program-561595c4.js → program-a6be5d4a.js} +53 -29
  25. package/schematics/bundles/{project_tsconfig_paths-e9ccccbf.js → project_tsconfig_paths-6c9cde78.js} +1 -1
  26. package/schematics/bundles/provide-initializer.js +5 -5
  27. package/schematics/bundles/route-lazy-loading.js +4 -4
  28. package/schematics/bundles/signal-input-migration.js +7 -7
  29. package/schematics/bundles/signal-queries-migration.js +7 -7
  30. package/schematics/bundles/signals.js +7 -7
  31. package/schematics/bundles/standalone-migration.js +8 -8
  32. package/testing/index.d.ts +1 -1
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v19.0.1
2
+ * @license Angular v19.0.2
3
3
  * (c) 2010-2024 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v19.0.1
2
+ * @license Angular v19.0.2
3
3
  * (c) 2010-2024 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v19.0.1
2
+ * @license Angular v19.0.2
3
3
  * (c) 2010-2024 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v19.0.1
2
+ * @license Angular v19.0.2
3
3
  * (c) 2010-2024 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -175,10 +175,10 @@ class TestBedApplicationErrorHandler {
175
175
  throw e;
176
176
  }
177
177
  }
178
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: TestBedApplicationErrorHandler, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
179
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: TestBedApplicationErrorHandler });
178
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.2", ngImport: i0, type: TestBedApplicationErrorHandler, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
179
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.2", ngImport: i0, type: TestBedApplicationErrorHandler });
180
180
  }
181
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: TestBedApplicationErrorHandler, decorators: [{
181
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.2", ngImport: i0, type: TestBedApplicationErrorHandler, decorators: [{
182
182
  type: Injectable
183
183
  }] });
184
184
 
package/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v19.0.1
2
+ * @license Angular v19.0.2
3
3
  * (c) 2010-2024 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -98,7 +98,7 @@ export declare interface AfterContentInit {
98
98
  * - `read`
99
99
  * Use this phase to **read** from the DOM. **Never** write to the DOM in this phase.
100
100
  *
101
- * <div class="alert is-critical">
101
+ * <div class="docs-alert docs-alert-critical">
102
102
  *
103
103
  * You should prefer using the `read` and `write` phases over the `earlyRead` and `mixedReadWrite`
104
104
  * phases when possible, to avoid performance degradation.
@@ -125,7 +125,7 @@ export declare interface AfterContentInit {
125
125
  * manual DOM access, ensuring the best experience for the end users of your application
126
126
  * or library.
127
127
  *
128
- * <div class="alert is-important">
128
+ * <div class="docs-alert docs-alert-important">
129
129
  *
130
130
  * Components are not guaranteed to be [hydrated](guide/hydration) before the callback runs.
131
131
  * You must use caution when directly reading or writing the DOM and layout.
@@ -173,7 +173,7 @@ export declare function afterNextRender<E = never, W = never, M = never>(spec: {
173
173
  * Register a callback to be invoked the next time the application finishes rendering, during the
174
174
  * `mixedReadWrite` phase.
175
175
  *
176
- * <div class="alert is-critical">
176
+ * <div class="docs-alert docs-alert-critical">
177
177
  *
178
178
  * You should prefer specifying an explicit phase for the callback instead, or you risk significant
179
179
  * performance degradation.
@@ -185,7 +185,7 @@ export declare function afterNextRender<E = never, W = never, M = never>(spec: {
185
185
  * - on browser platforms only
186
186
  * - during the `mixedReadWrite` phase
187
187
  *
188
- * <div class="alert is-important">
188
+ * <div class="docs-alert docs-alert-important">
189
189
  *
190
190
  * Components are not guaranteed to be [hydrated](guide/hydration) before the callback runs.
191
191
  * You must use caution when directly reading or writing the DOM and layout.
@@ -239,7 +239,7 @@ export declare function afterNextRender(callback: VoidFunction, options?: AfterR
239
239
  * - `read`
240
240
  * Use this phase to **read** from the DOM. **Never** write to the DOM in this phase.
241
241
  *
242
- * <div class="alert is-critical">
242
+ * <div class="docs-alert docs-alert-critical">
243
243
  *
244
244
  * You should prefer using the `read` and `write` phases over the `earlyRead` and `mixedReadWrite`
245
245
  * phases when possible, to avoid performance degradation.
@@ -266,7 +266,7 @@ export declare function afterNextRender(callback: VoidFunction, options?: AfterR
266
266
  * manual DOM access, ensuring the best experience for the end users of your application
267
267
  * or library.
268
268
  *
269
- * <div class="alert is-important">
269
+ * <div class="docs-alert docs-alert-important">
270
270
  *
271
271
  * Components are not guaranteed to be [hydrated](guide/hydration) before the callback runs.
272
272
  * You must use caution when directly reading or writing the DOM and layout.
@@ -312,7 +312,7 @@ export declare function afterRender<E = never, W = never, M = never>(spec: {
312
312
  * Register a callback to be invoked each time the application finishes rendering, during the
313
313
  * `mixedReadWrite` phase.
314
314
  *
315
- * <div class="alert is-critical">
315
+ * <div class="docs-alert docs-alert-critical">
316
316
  *
317
317
  * You should prefer specifying an explicit phase for the callback instead, or you risk significant
318
318
  * performance degradation.
@@ -325,7 +325,7 @@ export declare function afterRender<E = never, W = never, M = never>(spec: {
325
325
  * - on browser platforms only
326
326
  * - during the `mixedReadWrite` phase
327
327
  *
328
- * <div class="alert is-important">
328
+ * <div class="docs-alert docs-alert-important">
329
329
  *
330
330
  * Components are not guaranteed to be [hydrated](guide/hydration) before the callback runs.
331
331
  * You must use caution when directly reading or writing the DOM and layout.
@@ -366,7 +366,7 @@ export declare function afterRender(callback: VoidFunction, options?: AfterRende
366
366
  * Register an effect that, when triggered, is invoked when the application finishes rendering, during the
367
367
  * `mixedReadWrite` phase.
368
368
  *
369
- * <div class="alert is-critical">
369
+ * <div class="docs-alert docs-alert-critical">
370
370
  *
371
371
  * You should prefer specifying an explicit phase for the effect instead, or you risk significant
372
372
  * performance degradation.
@@ -379,7 +379,7 @@ export declare function afterRender(callback: VoidFunction, options?: AfterRende
379
379
  * - on browser platforms only
380
380
  * - during the `mixedReadWrite` phase
381
381
  *
382
- * <div class="alert is-important">
382
+ * <div class="docs-alert docs-alert-important">
383
383
  *
384
384
  * Components are not guaranteed to be [hydrated](guide/hydration) before the callback runs.
385
385
  * You must use caution when directly reading or writing the DOM and layout.
@@ -408,7 +408,7 @@ export declare function afterRenderEffect(callback: (onCleanup: EffectCleanupReg
408
408
  * - `read`
409
409
  * Use this phase to **read** from the DOM. **Never** write to the DOM in this phase.
410
410
  *
411
- * <div class="alert is-critical">
411
+ * <div class="docs-alert docs-alert-critical">
412
412
  *
413
413
  * You should prefer using the `read` and `write` phases over the `earlyRead` and `mixedReadWrite`
414
414
  * phases when possible, to avoid performance degradation.
@@ -436,7 +436,7 @@ export declare function afterRenderEffect(callback: (onCleanup: EffectCleanupReg
436
436
  * manual DOM access, ensuring the best experience for the end users of your application
437
437
  * or library.
438
438
  *
439
- * <div class="alert is-important">
439
+ * <div class="docs-alert docs-alert-important">
440
440
  *
441
441
  * Components are not guaranteed to be [hydrated](guide/hydration) before the callback runs.
442
442
  * You must use caution when directly reading or writing the DOM and layout.
@@ -514,7 +514,7 @@ export declare interface AfterRenderOptions {
514
514
  /**
515
515
  * The phase the callback should be invoked in.
516
516
  *
517
- * <div class="alert is-critical">
517
+ * <div class="docs-alert docs-alert-critical">
518
518
  *
519
519
  * Defaults to `AfterRenderPhase.MixedReadWrite`. You should choose a more specific
520
520
  * phase instead. See `AfterRenderPhase` for more information.
@@ -557,7 +557,7 @@ export declare enum AfterRenderPhase {
557
557
  * `AfterRenderPhase.EarlyRead` phase if reading can wait until after the write phase.
558
558
  * **Never** write to the DOM in this phase.
559
559
  *
560
- * <div class="alert is-important">
560
+ * <div class="docs-alert docs-alert-important">
561
561
  *
562
562
  * Using this value can degrade performance.
563
563
  * Instead, prefer using built-in browser functionality when possible.
@@ -575,7 +575,7 @@ export declare enum AfterRenderPhase {
575
575
  * DOM, that haven't been refactored to use a different phase. **Never** use this phase if
576
576
  * it is possible to divide the work among the other phases instead.
577
577
  *
578
- * <div class="alert is-critical">
578
+ * <div class="docs-alert docs-alert-critical">
579
579
  *
580
580
  * Using this value can **significantly** degrade performance.
581
581
  * Instead, prefer dividing work into the appropriate phase callbacks.
@@ -1023,6 +1023,7 @@ export declare class ApplicationRef {
1023
1023
  */
1024
1024
  whenStable(): Promise<void>;
1025
1025
  private readonly _injector;
1026
+ private _rendererFactory;
1026
1027
  /**
1027
1028
  * The `EnvironmentInjector` used to create this application.
1028
1029
  */
@@ -2975,7 +2976,7 @@ declare const DECLARATION_VIEW = 14;
2975
2976
  *
2976
2977
  * See the [i18n guide](guide/i18n/locale-id) for more information.
2977
2978
  *
2978
- * <div class="alert is-helpful">
2979
+ * <div class="docs-alert docs-alert-helpful">
2979
2980
  *
2980
2981
  * **Deprecation notice:**
2981
2982
  *
@@ -5872,7 +5873,7 @@ export declare enum InjectFlags {
5872
5873
  * `InjectionToken` is parameterized on `T` which is the type of object which will be returned by
5873
5874
  * the `Injector`. This provides an additional level of type safety.
5874
5875
  *
5875
- * <div class="alert is-helpful">
5876
+ * <div class="docs-alert docs-alert-helpful">
5876
5877
  *
5877
5878
  * **Important Note**: Ensure that you use the same instance of the `InjectionToken` in both the
5878
5879
  * provider and the injection call. Creating a new instance of `InjectionToken` in different places,
@@ -7246,7 +7247,7 @@ declare const enum LViewFlags {
7246
7247
  /** Whether or not this view is the root view */
7247
7248
  IsRoot = 512,
7248
7249
  /**
7249
- * Whether this moved LView was needs to be refreshed. Similar to the Dirty flag, but used for
7250
+ * Whether this moved LView needs to be refreshed. Similar to the Dirty flag, but used for
7250
7251
  * transplanted and signal views where the parent/ancestor views are not marked dirty as well.
7251
7252
  * i.e. "Refresh just this view". Used in conjunction with the HAS_CHILD_VIEWS_TO_REFRESH
7252
7253
  * flag.
@@ -7956,14 +7957,13 @@ export declare interface NgZoneOptions {
7956
7957
  *
7957
7958
  * When button is clicked, because of the event bubbling, both
7958
7959
  * event handlers will be called and 2 change detections will be
7959
- * triggered. We can coalesce such kind of events to only trigger
7960
+ * triggered. We can coalesce such kind of events to trigger
7960
7961
  * change detection only once.
7961
7962
  *
7962
- * By default, this option will be false. So the events will not be
7963
- * coalesced and the change detection will be triggered multiple times.
7964
- * And if this option be set to true, the change detection will be
7965
- * triggered async by scheduling a animation frame. So in the case above,
7966
- * the change detection will only be triggered once.
7963
+ * By default, this option is set to false, meaning events will
7964
+ * not be coalesced, and change detection will be triggered multiple times.
7965
+ * If this option is set to true, change detection will be triggered
7966
+ * once in the scenario described above.
7967
7967
  */
7968
7968
  eventCoalescing?: boolean;
7969
7969
  /**
@@ -10460,6 +10460,25 @@ declare interface TDeferBlockDetails {
10460
10460
  * List of prefetch triggers for a given block
10461
10461
  */
10462
10462
  prefetchTriggers: Set<DeferBlockTrigger> | null;
10463
+ /**
10464
+ * Defer block flags, which should be used for all
10465
+ * instances of a given defer block (the flags that should be
10466
+ * placed into the `TDeferDetails` at runtime).
10467
+ */
10468
+ flags: TDeferDetailsFlags;
10469
+ }
10470
+
10471
+ /**
10472
+ * Specifies defer block flags, which should be used for all
10473
+ * instances of a given defer block (the flags that should be
10474
+ * placed into the `TDeferDetails` at runtime).
10475
+ */
10476
+ declare const enum TDeferDetailsFlags {
10477
+ Default = 0,
10478
+ /**
10479
+ * Whether or not the defer block has hydrate triggers.
10480
+ */
10481
+ HasHydrateTriggers = 1
10463
10482
  }
10464
10483
 
10465
10484
  /** Static data for an <ng-container> */
@@ -14719,6 +14738,10 @@ export declare interface ɵTracingService<T extends ɵTracingSnapshot> {
14719
14738
  * used when additional work is performed that was scheduled in this context.
14720
14739
  *
14721
14740
  * @param linkedSnapshot Optional snapshot to use link to the current context.
14741
+ * The caller is no longer responsible for calling dispose on the linkedSnapshot.
14742
+ *
14743
+ * @return The tracing snapshot. The caller is responsible for diposing of the
14744
+ * snapshot.
14722
14745
  */
14723
14746
  snapshot(linkedSnapshot: T | null): T;
14724
14747
  }
@@ -14726,6 +14749,8 @@ export declare interface ɵTracingService<T extends ɵTracingSnapshot> {
14726
14749
  /** A single tracing snapshot. */
14727
14750
  export declare interface ɵTracingSnapshot {
14728
14751
  run<T>(action: ɵTracingAction, fn: () => T): T;
14752
+ /** Disposes of the tracing snapshot. Must be run exactly once per TracingSnapshot. */
14753
+ dispose(): void;
14729
14754
  }
14730
14755
 
14731
14756
  /**
@@ -15012,16 +15037,6 @@ export declare class ɵViewRef<T> implements EmbeddedViewRef<T>, ChangeDetectorR
15012
15037
  attachToAppRef(appRef: ApplicationRef): void;
15013
15038
  }
15014
15039
 
15015
- /**
15016
- * Returns a Promise that resolves when the application becomes stable after this method is called
15017
- * the first time.
15018
- *
15019
- * Note: this function is unused in the FW code, but it's still present since the CLI code relies
15020
- * on it currently (see https://github.com/angular/angular-cli/blob/20411f696eb52c500e096e3dfc5e195185794edc/packages/angular/ssr/src/routes/ng-routes.ts#L435).
15021
- * Remove this function once CLI code is updated to use `ApplicationRef.whenStable` instead.
15022
- */
15023
- export declare function ɵwhenStable(applicationRef: ApplicationRef): Promise<void>;
15024
-
15025
15040
  /**
15026
15041
  * Returns a set of providers required to setup hydration support
15027
15042
  * for an application that is server side rendered. This function is
@@ -15846,10 +15861,13 @@ export declare function ɵɵdeclareLet(index: number): typeof ɵɵdeclareLet;
15846
15861
  * placeholder block.
15847
15862
  * @param enableTimerScheduling Function that enables timer-related scheduling if `after`
15848
15863
  * or `minimum` parameters are setup on the `@loading` or `@placeholder` blocks.
15864
+ * @param flags A set of flags to define a particular behavior (e.g. to indicate that
15865
+ * hydrate triggers are present and regular triggers should be deactivated
15866
+ * in certain scenarios).
15849
15867
  *
15850
15868
  * @codeGenApi
15851
15869
  */
15852
- export declare function ɵɵdefer(index: number, primaryTmplIndex: number, dependencyResolverFn?: DependencyResolverFn | null, loadingTmplIndex?: number | null, placeholderTmplIndex?: number | null, errorTmplIndex?: number | null, loadingConfigIndex?: number | null, placeholderConfigIndex?: number | null, enableTimerScheduling?: typeof ɵɵdeferEnableTimerScheduling): void;
15870
+ export declare function ɵɵdefer(index: number, primaryTmplIndex: number, dependencyResolverFn?: DependencyResolverFn | null, loadingTmplIndex?: number | null, placeholderTmplIndex?: number | null, errorTmplIndex?: number | null, loadingConfigIndex?: number | null, placeholderConfigIndex?: number | null, enableTimerScheduling?: typeof ɵɵdeferEnableTimerScheduling, flags?: TDeferDetailsFlags | null): void;
15853
15871
 
15854
15872
  /**
15855
15873
  * Enables timer-related scheduling if `after` or `minimum` parameters are setup
@@ -17663,11 +17681,11 @@ export declare function ɵɵrepeaterTrackByIndex(index: number): number;
17663
17681
  * Replaces the metadata of a component type and re-renders all live instances of the component.
17664
17682
  * @param type Class whose metadata will be replaced.
17665
17683
  * @param applyMetadata Callback that will apply a new set of metadata on the `type` when invoked.
17666
- * @param environment Core runtime environment to use when applying the HMR update.
17684
+ * @param environment Syntehtic namespace imports that need to be passed along to the callback.
17667
17685
  * @param locals Local symbols from the source location that have to be exposed to the callback.
17668
17686
  * @codeGenApi
17669
17687
  */
17670
- export declare function ɵɵreplaceMetadata(type: Type<unknown>, applyMetadata: (...args: [Type<unknown>, Record<string, unknown>, ...unknown[]]) => void, environment: Record<string, unknown>, locals: unknown[]): void;
17688
+ export declare function ɵɵreplaceMetadata(type: Type<unknown>, applyMetadata: (...args: [Type<unknown>, unknown[], ...unknown[]]) => void, namespaces: unknown[], locals: unknown[]): void;
17671
17689
 
17672
17690
  /**
17673
17691
  * Clears the view set in `ɵɵrestoreView` from memory. Returns the passed in
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@angular/core",
3
- "version": "19.0.1",
3
+ "version": "19.0.2",
4
4
  "description": "Angular - the core framework",
5
5
  "author": "angular",
6
6
  "license": "MIT",
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v19.0.1
2
+ * @license Angular v19.0.2
3
3
  * (c) 2010-2024 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v19.0.1
2
+ * @license Angular v19.0.2
3
3
  * (c) 2010-2024 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v19.0.1
2
+ * @license Angular v19.0.2
3
3
  * (c) 2010-2024 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.0.1
3
+ * @license Angular v19.0.2
4
4
  * (c) 2010-2024 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -10693,6 +10693,7 @@ function createDeferOp(xref, main, mainSlot, ownResolverFn, resolverFn, sourceSp
10693
10693
  errorSlot: null,
10694
10694
  ownResolverFn,
10695
10695
  resolverFn,
10696
+ flags: null,
10696
10697
  sourceSpan,
10697
10698
  ...NEW_OP,
10698
10699
  ...TRAIT_CONSUMES_SLOT,
@@ -22110,7 +22111,7 @@ function text(slot, initialValue, sourceSpan) {
22110
22111
  }
22111
22112
  return call(Identifiers.text, args, sourceSpan);
22112
22113
  }
22113
- function defer(selfSlot, primarySlot, dependencyResolverFn, loadingSlot, placeholderSlot, errorSlot, loadingConfig, placeholderConfig, enableTimerScheduling, sourceSpan) {
22114
+ function defer(selfSlot, primarySlot, dependencyResolverFn, loadingSlot, placeholderSlot, errorSlot, loadingConfig, placeholderConfig, enableTimerScheduling, sourceSpan, flags) {
22114
22115
  const args = [
22115
22116
  literal$1(selfSlot),
22116
22117
  literal$1(primarySlot),
@@ -22121,6 +22122,7 @@ function defer(selfSlot, primarySlot, dependencyResolverFn, loadingSlot, placeho
22121
22122
  loadingConfig ?? literal$1(null),
22122
22123
  placeholderConfig ?? literal$1(null),
22123
22124
  enableTimerScheduling ? importExpr(Identifiers.deferEnableTimerScheduling) : literal$1(null),
22125
+ literal$1(flags),
22124
22126
  ];
22125
22127
  let expr;
22126
22128
  while ((expr = args[args.length - 1]) !== null &&
@@ -22714,7 +22716,7 @@ function reifyCreateOperations(unit, ops) {
22714
22716
  break;
22715
22717
  case OpKind.Defer:
22716
22718
  const timerScheduling = !!op.loadingMinimumTime || !!op.loadingAfterTime || !!op.placeholderMinimumTime;
22717
- OpList.replace(op, defer(op.handle.slot, op.mainSlot.slot, op.resolverFn, op.loadingSlot?.slot ?? null, op.placeholderSlot?.slot ?? null, op.errorSlot?.slot ?? null, op.loadingConfig, op.placeholderConfig, timerScheduling, op.sourceSpan));
22719
+ OpList.replace(op, defer(op.handle.slot, op.mainSlot.slot, op.resolverFn, op.loadingSlot?.slot ?? null, op.placeholderSlot?.slot ?? null, op.errorSlot?.slot ?? null, op.loadingConfig, op.placeholderConfig, timerScheduling, op.sourceSpan, op.flags));
22718
22720
  break;
22719
22721
  case OpKind.DeferOn:
22720
22722
  let args = [];
@@ -25293,6 +25295,7 @@ function ingestDeferBlock(unit, deferBlock) {
25293
25295
  deferOp.placeholderMinimumTime = deferBlock.placeholder?.minimumTime ?? null;
25294
25296
  deferOp.loadingMinimumTime = deferBlock.loading?.minimumTime ?? null;
25295
25297
  deferOp.loadingAfterTime = deferBlock.loading?.afterTime ?? null;
25298
+ deferOp.flags = calcDeferBlockFlags(deferBlock);
25296
25299
  unit.create.push(deferOp);
25297
25300
  // Configure all defer `on` conditions.
25298
25301
  // TODO: refactor prefetch triggers to use a separate op type, with a shared superclass. This will
@@ -25312,6 +25315,12 @@ function ingestDeferBlock(unit, deferBlock) {
25312
25315
  unit.create.push(deferOnOps);
25313
25316
  unit.update.push(deferWhenOps);
25314
25317
  }
25318
+ function calcDeferBlockFlags(deferBlockDetails) {
25319
+ if (Object.keys(deferBlockDetails.hydrateTriggers).length > 0) {
25320
+ return 1 /* ir.TDeferDetailsFlags.HasHydrateTriggers */;
25321
+ }
25322
+ return null;
25323
+ }
25315
25324
  function ingestDeferTriggers(modifier, triggers, onOps, whenOps, unit, deferXref) {
25316
25325
  if (triggers.idle !== undefined) {
25317
25326
  const deferOnOp = createDeferOnOp(deferXref, { kind: DeferTriggerKind.Idle }, modifier, triggers.idle.sourceSpan);
@@ -26161,13 +26170,11 @@ class BindingParser {
26161
26170
  _interpolationConfig;
26162
26171
  _schemaRegistry;
26163
26172
  errors;
26164
- _allowInvalidAssignmentEvents;
26165
- constructor(_exprParser, _interpolationConfig, _schemaRegistry, errors, _allowInvalidAssignmentEvents = false) {
26173
+ constructor(_exprParser, _interpolationConfig, _schemaRegistry, errors) {
26166
26174
  this._exprParser = _exprParser;
26167
26175
  this._interpolationConfig = _interpolationConfig;
26168
26176
  this._schemaRegistry = _schemaRegistry;
26169
26177
  this.errors = errors;
26170
- this._allowInvalidAssignmentEvents = _allowInvalidAssignmentEvents;
26171
26178
  }
26172
26179
  get interpolationConfig() {
26173
26180
  return this._interpolationConfig;
@@ -26551,16 +26558,7 @@ class BindingParser {
26551
26558
  if (ast instanceof PropertyRead || ast instanceof KeyedRead) {
26552
26559
  return true;
26553
26560
  }
26554
- // TODO(crisbeto): this logic is only here to support the automated migration away
26555
- // from invalid bindings. It should be removed once the migration is deleted.
26556
- if (!this._allowInvalidAssignmentEvents) {
26557
- return false;
26558
- }
26559
- if (ast instanceof Binary) {
26560
- return ((ast.operation === '&&' || ast.operation === '||' || ast.operation === '??') &&
26561
- (ast.right instanceof PropertyRead || ast.right instanceof KeyedRead));
26562
- }
26563
- return ast instanceof Conditional || ast instanceof PrefixNot;
26561
+ return false;
26564
26562
  }
26565
26563
  }
26566
26564
  function isAnimationLabel(name) {
@@ -28184,8 +28182,8 @@ const LEADING_TRIVIA_CHARS = [' ', '\n', '\r', '\t'];
28184
28182
  * @param options options to modify how the template is parsed
28185
28183
  */
28186
28184
  function parseTemplate(template, templateUrl, options = {}) {
28187
- const { interpolationConfig, preserveWhitespaces, enableI18nLegacyMessageIdFormat, allowInvalidAssignmentEvents, } = options;
28188
- const bindingParser = makeBindingParser(interpolationConfig, allowInvalidAssignmentEvents);
28185
+ const { interpolationConfig, preserveWhitespaces, enableI18nLegacyMessageIdFormat } = options;
28186
+ const bindingParser = makeBindingParser(interpolationConfig);
28189
28187
  const htmlParser = new HtmlParser();
28190
28188
  const parseResult = htmlParser.parse(template, templateUrl, {
28191
28189
  leadingTriviaChars: LEADING_TRIVIA_CHARS,
@@ -28291,8 +28289,8 @@ const elementRegistry = new DomElementSchemaRegistry();
28291
28289
  /**
28292
28290
  * Construct a `BindingParser` with a default configuration.
28293
28291
  */
28294
- function makeBindingParser(interpolationConfig = DEFAULT_INTERPOLATION_CONFIG, allowInvalidAssignmentEvents = false) {
28295
- return new BindingParser(new Parser(new Lexer()), interpolationConfig, elementRegistry, [], allowInvalidAssignmentEvents);
28292
+ function makeBindingParser(interpolationConfig = DEFAULT_INTERPOLATION_CONFIG) {
28293
+ return new BindingParser(new Parser(new Lexer()), interpolationConfig, elementRegistry, []);
28296
28294
  }
28297
28295
 
28298
28296
  const COMPONENT_VARIABLE = '%COMP%';
@@ -30323,7 +30321,7 @@ function publishFacade(global) {
30323
30321
  * @description
30324
30322
  * Entry point for all public APIs of the compiler package.
30325
30323
  */
30326
- new Version('19.0.1');
30324
+ new Version('19.0.2');
30327
30325
 
30328
30326
  const _I18N_ATTR = 'i18n';
30329
30327
  const _I18N_ATTR_PREFIX = 'i18n-';
@@ -31731,7 +31729,7 @@ class NodeJSPathManipulation {
31731
31729
  // G3-ESM-MARKER: G3 uses CommonJS, but externally everything in ESM.
31732
31730
  // CommonJS/ESM interop for determining the current file name and containing dir.
31733
31731
  const isCommonJS = typeof __filename !== 'undefined';
31734
- const currentFileUrl = isCommonJS ? null : (typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT' && document.currentScript.src || new URL('checker-3cbc9cc1.js', document.baseURI).href));
31732
+ const currentFileUrl = isCommonJS ? null : (typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT' && document.currentScript.src || new URL('checker-a00b735e.js', document.baseURI).href));
31735
31733
  const currentFileName = isCommonJS ? __filename : url.fileURLToPath(currentFileUrl);
31736
31734
  /**
31737
31735
  * A wrapper around the Node.js file-system that supports readonly operations and path manipulation.
@@ -32340,7 +32338,7 @@ const patchedReferencedAliasesSymbol = Symbol('patchedReferencedAliases');
32340
32338
  * results in a slow-down due to the type checker being involved multiple times. The CLI worked
32341
32339
  * around this import preserving issue by having another complex post-process step that detects and
32342
32340
  * elides unused imports. Note that these unused imports could cause unused chunks being generated
32343
- * by Webpack if the application or library is not marked as side-effect free.
32341
+ * by webpack if the application or library is not marked as side-effect free.
32344
32342
  *
32345
32343
  * This is not ideal though, as we basically re-implement the complex import usage resolution
32346
32344
  * from TypeScript. We can do better by letting TypeScript do the import eliding, but providing
@@ -45815,6 +45813,7 @@ exports.DEFAULT_INTERPOLATION_CONFIG = DEFAULT_INTERPOLATION_CONFIG;
45815
45813
  exports.DYNAMIC_TYPE = DYNAMIC_TYPE;
45816
45814
  exports.Declaration = Declaration;
45817
45815
  exports.DeclareFunctionStmt = DeclareFunctionStmt;
45816
+ exports.DeclareVarStmt = DeclareVarStmt;
45818
45817
  exports.DefaultImportTracker = DefaultImportTracker;
45819
45818
  exports.DefinitionMap = DefinitionMap;
45820
45819
  exports.DomElementSchemaRegistry = DomElementSchemaRegistry;
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.0.1
3
+ * @license Angular v19.0.2
4
4
  * (c) 2010-2024 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -10,8 +10,8 @@ var core = require('@angular-devkit/core');
10
10
  var posixPath = require('node:path/posix');
11
11
  var os = require('os');
12
12
  var ts = require('typescript');
13
- var checker = require('./checker-3cbc9cc1.js');
14
- var program = require('./program-561595c4.js');
13
+ var checker = require('./checker-a00b735e.js');
14
+ var program = require('./program-a6be5d4a.js');
15
15
  require('path');
16
16
 
17
17
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -1,13 +1,13 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.0.1
3
+ * @license Angular v19.0.2
4
4
  * (c) 2010-2024 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
7
7
  'use strict';
8
8
 
9
9
  var ts = require('typescript');
10
- var checker = require('./checker-3cbc9cc1.js');
10
+ var checker = require('./checker-a00b735e.js');
11
11
  require('os');
12
12
  var p = require('path');
13
13
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.0.1
3
+ * @license Angular v19.0.2
4
4
  * (c) 2010-2024 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -10,8 +10,8 @@ Object.defineProperty(exports, '__esModule', { value: true });
10
10
 
11
11
  var schematics = require('@angular-devkit/schematics');
12
12
  var p = require('path');
13
- var compiler_host = require('./compiler_host-087c5caa.js');
14
- var checker = require('./checker-3cbc9cc1.js');
13
+ var compiler_host = require('./compiler_host-3e96c3f7.js');
14
+ var checker = require('./checker-a00b735e.js');
15
15
  var ts = require('typescript');
16
16
  require('os');
17
17
  require('fs');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.0.1
3
+ * @license Angular v19.0.2
4
4
  * (c) 2010-2024 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -10,12 +10,12 @@ Object.defineProperty(exports, '__esModule', { value: true });
10
10
 
11
11
  var schematics = require('@angular-devkit/schematics');
12
12
  var p = require('path');
13
- var project_tsconfig_paths = require('./project_tsconfig_paths-e9ccccbf.js');
14
- var compiler_host = require('./compiler_host-087c5caa.js');
13
+ var project_tsconfig_paths = require('./project_tsconfig_paths-6c9cde78.js');
14
+ var compiler_host = require('./compiler_host-3e96c3f7.js');
15
15
  var ts = require('typescript');
16
- var imports = require('./imports-4ac08251.js');
16
+ var imports = require('./imports-44987700.js');
17
17
  require('@angular-devkit/core');
18
- require('./checker-3cbc9cc1.js');
18
+ require('./checker-a00b735e.js');
19
19
  require('os');
20
20
  require('fs');
21
21
  require('module');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.0.1
3
+ * @license Angular v19.0.2
4
4
  * (c) 2010-2024 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */