@angular/core 19.0.5 → 19.0.7

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 (34) hide show
  1. package/LICENSE +1 -1
  2. package/fesm2022/core.mjs +62 -51
  3. package/fesm2022/core.mjs.map +1 -1
  4. package/fesm2022/primitives/event-dispatch.mjs +1 -24
  5. package/fesm2022/primitives/event-dispatch.mjs.map +1 -1
  6. package/fesm2022/primitives/signals.mjs +1 -1
  7. package/fesm2022/rxjs-interop.mjs +1 -1
  8. package/fesm2022/testing.mjs +4 -4
  9. package/index.d.ts +40 -35
  10. package/package.json +1 -1
  11. package/primitives/event-dispatch/index.d.ts +1 -1
  12. package/primitives/signals/index.d.ts +1 -1
  13. package/rxjs-interop/index.d.ts +1 -1
  14. package/schematics/bundles/{checker-eced36c5.js → checker-a3b46ff3.js} +41 -25
  15. package/schematics/bundles/{combine_units-438d7a79.js → combine_units-e4fe9a1e.js} +3 -3
  16. package/schematics/bundles/{compiler_host-82c877de.js → compiler_host-00ae769f.js} +2 -2
  17. package/schematics/bundles/control-flow-migration.js +3 -3
  18. package/schematics/bundles/explicit-standalone-flag.js +5 -5
  19. package/schematics/bundles/{imports-abe29092.js → imports-31a38653.js} +1 -1
  20. package/schematics/bundles/inject-migration.js +6 -6
  21. package/schematics/bundles/{leading_space-d190b83b.js → leading_space-6e7a8ec6.js} +1 -1
  22. package/schematics/bundles/{migrate_ts_type_references-7e102890.js → migrate_ts_type_references-c5fea22f.js} +5 -5
  23. package/schematics/bundles/{nodes-a9f0b985.js → nodes-88c2157f.js} +2 -2
  24. package/schematics/bundles/output-migration.js +5 -5
  25. package/schematics/bundles/pending-tasks.js +5 -5
  26. package/schematics/bundles/{program-c49e652e.js → program-857d3416.js} +89 -33
  27. package/schematics/bundles/{project_tsconfig_paths-e9ccccbf.js → project_tsconfig_paths-6c9cde78.js} +1 -1
  28. package/schematics/bundles/provide-initializer.js +5 -5
  29. package/schematics/bundles/route-lazy-loading.js +4 -4
  30. package/schematics/bundles/signal-input-migration.js +7 -7
  31. package/schematics/bundles/signal-queries-migration.js +13 -7
  32. package/schematics/bundles/signals.js +7 -7
  33. package/schematics/bundles/standalone-migration.js +8 -8
  34. package/testing/index.d.ts +1 -1
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v19.0.5
2
+ * @license Angular v19.0.7
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.5
2
+ * @license Angular v19.0.7
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.5
2
+ * @license Angular v19.0.7
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.5", ngImport: i0, type: TestBedApplicationErrorHandler, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
179
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: TestBedApplicationErrorHandler });
178
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: TestBedApplicationErrorHandler, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
179
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: TestBedApplicationErrorHandler });
180
180
  }
181
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: TestBedApplicationErrorHandler, decorators: [{
181
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", 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.5
2
+ * @license Angular v19.0.7
3
3
  * (c) 2010-2024 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -1170,7 +1170,6 @@ export declare class ApplicationRef {
1170
1170
  * Returns the number of attached views.
1171
1171
  */
1172
1172
  get viewCount(): number;
1173
- private warnIfDestroyed;
1174
1173
  static ɵfac: i0.ɵɵFactoryDeclaration<ApplicationRef, never>;
1175
1174
  static ɵprov: i0.ɵɵInjectableDeclaration<ApplicationRef>;
1176
1175
  }
@@ -1304,7 +1303,7 @@ export declare interface BootstrapOptions {
1304
1303
  * Optionally specify coalescing event change detections or not.
1305
1304
  * Consider the following case.
1306
1305
  *
1307
- * ```
1306
+ * ```html
1308
1307
  * <div (click)="doSomething()">
1309
1308
  * <button (click)="doSomethingElse()"></button>
1310
1309
  * </div>
@@ -1327,7 +1326,7 @@ export declare interface BootstrapOptions {
1327
1326
  * into a single change detection.
1328
1327
  *
1329
1328
  * Consider the following case.
1330
- * ```
1329
+ * ```ts
1331
1330
  * for (let i = 0; i < 10; i ++) {
1332
1331
  * ngZone.run(() => {
1333
1332
  * // do something
@@ -1947,7 +1946,7 @@ declare interface ComponentDefinition<T> extends Omit<DirectiveDefinition<T>, 'f
1947
1946
  *
1948
1947
  * This function has following structure.
1949
1948
  *
1950
- * ```
1949
+ * ```ts
1951
1950
  * function Template<T>(ctx:T, creationMode: boolean) {
1952
1951
  * if (creationMode) {
1953
1952
  * // Contains creation mode instructions.
@@ -6559,7 +6558,7 @@ export declare class IterableDiffers {
6559
6558
  * which will only be applied to the injector for this component and its children.
6560
6559
  * This step is all that's required to make a new {@link IterableDiffer} available.
6561
6560
  *
6562
- * ```
6561
+ * ```ts
6563
6562
  * @Component({
6564
6563
  * viewProviders: [
6565
6564
  * IterableDiffers.extend([new ImmutableListDiffer()])
@@ -6709,7 +6708,7 @@ export declare class KeyValueDiffers {
6709
6708
  * which will only be applied to the injector for this component and its children.
6710
6709
  * This step is all that's required to make a new {@link KeyValueDiffer} available.
6711
6710
  *
6712
- * ```
6711
+ * ```ts
6713
6712
  * @Component({
6714
6713
  * viewProviders: [
6715
6714
  * KeyValueDiffers.extend([new ImmutableMapDiffer()])
@@ -6815,6 +6814,8 @@ export declare function linkedSignal<D>(computation: () => D, options?: {
6815
6814
  * Creates a writable signals whose value is initialized and reset by the linked, reactive computation.
6816
6815
  * This is an advanced API form where the computation has access to the previous value of the signal and the computation result.
6817
6816
  *
6817
+ * Note: The computation is reactive, meaning the linked signal will automatically update whenever any of the signals used within the computation change.
6818
+ *
6818
6819
  * @developerPreview
6819
6820
  */
6820
6821
  export declare function linkedSignal<S, D>(options: {
@@ -6989,7 +6990,7 @@ declare interface LView<T = unknown> extends Array<any> {
6989
6990
  * Store the `TNode` of the location where the current `LView` is inserted into.
6990
6991
  *
6991
6992
  * Given:
6992
- * ```
6993
+ * ```html
6993
6994
  * <div>
6994
6995
  * <ng-template><span></span></ng-template>
6995
6996
  * </div>
@@ -7004,7 +7005,7 @@ declare interface LView<T = unknown> extends Array<any> {
7004
7005
  * insertion information in the `TView` and instead we must store it in the `LView[T_HOST]`.
7005
7006
  *
7006
7007
  * So to determine where is our insertion parent we would execute:
7007
- * ```
7008
+ * ```ts
7008
7009
  * const parentLView = lView[PARENT];
7009
7010
  * const parentTNode = lView[T_HOST];
7010
7011
  * const insertionParent = parentLView[parentTNode.index];
@@ -7090,7 +7091,7 @@ declare interface LView<T = unknown> extends Array<any> {
7090
7091
  * `DECLARATION_VIEW`.
7091
7092
  *
7092
7093
  * Example:
7093
- * ```
7094
+ * ```html
7094
7095
  * <#VIEW #myComp>
7095
7096
  * <div *ngIf="true">
7096
7097
  * <ng-template #myTmpl>...</ng-template>
@@ -7115,7 +7116,7 @@ declare interface LView<T = unknown> extends Array<any> {
7115
7116
  * `DECLARATION_COMPONENT_VIEW` to differentiate them. As in this example.
7116
7117
  *
7117
7118
  * Example showing intra component `LView` movement.
7118
- * ```
7119
+ * ```html
7119
7120
  * <#VIEW #myComp>
7120
7121
  * <div *ngIf="condition; then thenBlock else elseBlock"></div>
7121
7122
  * <ng-template #thenBlock>Content to render when condition is true.</ng-template>
@@ -7125,7 +7126,7 @@ declare interface LView<T = unknown> extends Array<any> {
7125
7126
  * The `thenBlock` and `elseBlock` is moved but not transplanted.
7126
7127
  *
7127
7128
  * Example showing inter component `LView` movement (transplanted view).
7128
- * ```
7129
+ * ```html
7129
7130
  * <#VIEW #myComp>
7130
7131
  * <ng-template #myTmpl>...</ng-template>
7131
7132
  * <insertion-component [template]="myTmpl"></insertion-component>
@@ -7515,7 +7516,7 @@ export declare interface NgModule {
7515
7516
  * The following example defines a class that is injected in
7516
7517
  * the HelloWorld NgModule:
7517
7518
  *
7518
- * ```
7519
+ * ```ts
7519
7520
  * class Greeter {
7520
7521
  * greet(name:string) {
7521
7522
  * return 'Hello ' + name + '!';
@@ -7945,7 +7946,7 @@ export declare interface NgZoneOptions {
7945
7946
  * Optionally specify coalescing event change detections or not.
7946
7947
  * Consider the following case.
7947
7948
  *
7948
- * ```
7949
+ * ```html
7949
7950
  * <div (click)="doSomething()">
7950
7951
  * <button (click)="doSomethingElse()"></button>
7951
7952
  * </div>
@@ -7967,7 +7968,7 @@ export declare interface NgZoneOptions {
7967
7968
  * into a single change detection.
7968
7969
  *
7969
7970
  * Consider the following case.
7970
- * ```
7971
+ * ```ts
7971
7972
  * for (let i = 0; i < 10; i ++) {
7972
7973
  * ngZone.run(() => {
7973
7974
  * // do something
@@ -8386,7 +8387,7 @@ export declare class PendingTasks {
8386
8387
  /**
8387
8388
  * Runs an asynchronous function and blocks the application's stability until the function completes.
8388
8389
  *
8389
- * ```
8390
+ * ```ts
8390
8391
  * pendingTasks.run(async () => {
8391
8392
  * const userData = await fetch('/api/user');
8392
8393
  * this.userData.set(userData);
@@ -8396,7 +8397,7 @@ export declare class PendingTasks {
8396
8397
  * Application stability is at least delayed until the next tick after the `run` method resolves
8397
8398
  * so it is safe to make additional updates to application state that would require UI synchronization:
8398
8399
  *
8399
- * ```
8400
+ * ```ts
8400
8401
  * const userData = await pendingTasks.run(() => fetch('/api/user'));
8401
8402
  * this.userData.set(userData);
8402
8403
  * ```
@@ -10740,7 +10741,7 @@ declare interface TNode {
10740
10741
  * such a case the value stores an array of text nodes to insert.
10741
10742
  *
10742
10743
  * Example:
10743
- * ```
10744
+ * ```html
10744
10745
  * <div i18n>
10745
10746
  * Hello <span>World</span>!
10746
10747
  * </div>
@@ -10753,7 +10754,7 @@ declare interface TNode {
10753
10754
  * `<span>` itself.
10754
10755
  *
10755
10756
  * Pseudo code:
10756
- * ```
10757
+ * ```ts
10757
10758
  * if (insertBeforeIndex === null) {
10758
10759
  * // append as normal
10759
10760
  * } else if (Array.isArray(insertBeforeIndex)) {
@@ -10963,12 +10964,12 @@ declare interface TNode {
10963
10964
  *
10964
10965
  * For easier discussion assume this example:
10965
10966
  * `<parent>`'s view definition:
10966
- * ```
10967
+ * ```html
10967
10968
  * <child id="c1">content1</child>
10968
10969
  * <child id="c2"><span>content2</span></child>
10969
10970
  * ```
10970
10971
  * `<child>`'s view definition:
10971
- * ```
10972
+ * ```html
10972
10973
  * <ng-content id="cont1"></ng-content>
10973
10974
  * ```
10974
10975
  *
@@ -11028,7 +11029,7 @@ declare interface TNode {
11028
11029
  * styling than the instruction.
11029
11030
  *
11030
11031
  * Imagine:
11031
- * ```
11032
+ * ```angular-ts
11032
11033
  * <div style="color: highest;" my-dir>
11033
11034
  *
11034
11035
  * @Directive({
@@ -12641,6 +12642,7 @@ declare class ZoneAwareEffectScheduler implements ɵEffectScheduler {
12641
12642
  private queuedEffectCount;
12642
12643
  private queues;
12643
12644
  schedule(handle: SchedulableEffect): void;
12645
+ remove(handle: SchedulableEffect): void;
12644
12646
  private enqueue;
12645
12647
  /**
12646
12648
  * Run all scheduled effects.
@@ -12737,12 +12739,12 @@ export declare const enum ɵAttributeMarker {
12737
12739
  * ## Example:
12738
12740
  *
12739
12741
  * Given:
12740
- * ```
12741
- * <div class="foo bar baz">...<d/vi>
12742
+ * ```html
12743
+ * <div class="foo bar baz">...</div>
12742
12744
  * ```
12743
12745
  *
12744
12746
  * the generated code is:
12745
- * ```
12747
+ * ```ts
12746
12748
  * var _c1 = [AttributeMarker.Classes, 'foo', 'bar', 'baz'];
12747
12749
  * ```
12748
12750
  */
@@ -12755,12 +12757,12 @@ export declare const enum ɵAttributeMarker {
12755
12757
  * ## Example:
12756
12758
  *
12757
12759
  * Given:
12758
- * ```
12760
+ * ```html
12759
12761
  * <div style="width:100px; height:200px; color:red">...</div>
12760
12762
  * ```
12761
12763
  *
12762
12764
  * the generated code is:
12763
- * ```
12765
+ * ```ts
12764
12766
  * var _c1 = [AttributeMarker.Styles, 'width', '100px', 'height'. '200px', 'color', 'red'];
12765
12767
  * ```
12766
12768
  */
@@ -12770,13 +12772,13 @@ export declare const enum ɵAttributeMarker {
12770
12772
  *
12771
12773
  * For example, given the following HTML:
12772
12774
  *
12773
- * ```
12775
+ * ```html
12774
12776
  * <div moo="car" [foo]="exp" (bar)="doSth()">
12775
12777
  * ```
12776
12778
  *
12777
12779
  * the generated code is:
12778
12780
  *
12779
- * ```
12781
+ * ```ts
12780
12782
  * var _c1 = ['moo', 'car', AttributeMarker.Bindings, 'foo', 'bar'];
12781
12783
  * ```
12782
12784
  */
@@ -12786,7 +12788,7 @@ export declare const enum ɵAttributeMarker {
12786
12788
  *
12787
12789
  * For example, given the following HTML:
12788
12790
  *
12789
- * ```
12791
+ * ```html
12790
12792
  * <div *ngFor="let value of values; trackBy:trackBy" dirA [dirB]="value">
12791
12793
  * ```
12792
12794
  *
@@ -12811,13 +12813,13 @@ export declare const enum ɵAttributeMarker {
12811
12813
  *
12812
12814
  * For example, given the following HTML:
12813
12815
  *
12814
- * ```
12816
+ * ```html
12815
12817
  * <h1 attr="value" ngProjectAs="[title]">
12816
12818
  * ```
12817
12819
  *
12818
12820
  * the generated code for the `element()` instruction would include:
12819
12821
  *
12820
- * ```
12822
+ * ```ts
12821
12823
  * ['attr', 'value', AttributeMarker.ProjectAs, ['', 'title', '']]
12822
12824
  * ```
12823
12825
  */
@@ -12827,14 +12829,15 @@ export declare const enum ɵAttributeMarker {
12827
12829
  *
12828
12830
  * For example, given the following HTML:
12829
12831
  *
12830
- * ```
12832
+ * ```html
12831
12833
  * <div moo="car" foo="value" i18n-foo [bar]="binding" i18n-bar>
12832
12834
  * ```
12833
12835
  *
12834
12836
  * the generated code is:
12835
12837
  *
12836
- * ```
12838
+ * ```ts
12837
12839
  * var _c1 = ['moo', 'car', AttributeMarker.I18n, 'foo', 'bar'];
12840
+ * ```
12838
12841
  */
12839
12842
  I18n = 6
12840
12843
  }
@@ -13452,6 +13455,8 @@ export declare abstract class ɵEffectScheduler {
13452
13455
  * Run any scheduled effects.
13453
13456
  */
13454
13457
  abstract flush(): void;
13458
+ /** Remove a scheduled effect */
13459
+ abstract remove(e: SchedulableEffect): void;
13455
13460
  /** @nocollapse */
13456
13461
  static ɵprov: unknown;
13457
13462
  }
@@ -14531,7 +14536,7 @@ export declare const enum ɵRuntimeErrorCode {
14531
14536
  ASSERTION_NOT_INSIDE_REACTIVE_CONTEXT = -602,
14532
14537
  INVALID_I18N_STRUCTURE = 700,
14533
14538
  MISSING_LOCALE_DATA = 701,
14534
- DEFER_LOADING_FAILED = 750,
14539
+ DEFER_LOADING_FAILED = -750,
14535
14540
  IMPORT_PROVIDERS_FROM_STANDALONE = 800,
14536
14541
  INVALID_DIFFER_INPUT = 900,
14537
14542
  NO_SUPPORTING_DIFFER_FACTORY = 901,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@angular/core",
3
- "version": "19.0.5",
3
+ "version": "19.0.7",
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.5
2
+ * @license Angular v19.0.7
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.5
2
+ * @license Angular v19.0.7
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.5
2
+ * @license Angular v19.0.7
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.5
3
+ * @license Angular v19.0.7
4
4
  * (c) 2010-2024 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -4281,7 +4281,7 @@ class TypeofExpression extends AST {
4281
4281
  this.expression = expression;
4282
4282
  }
4283
4283
  visit(visitor, context = null) {
4284
- return visitor.visitTypeofExpresion(this, context);
4284
+ return visitor.visitTypeofExpression(this, context);
4285
4285
  }
4286
4286
  }
4287
4287
  class NonNullAssert extends AST {
@@ -4441,7 +4441,7 @@ class RecursiveAstVisitor {
4441
4441
  visitPrefixNot(ast, context) {
4442
4442
  this.visit(ast.expression, context);
4443
4443
  }
4444
- visitTypeofExpresion(ast, context) {
4444
+ visitTypeofExpression(ast, context) {
4445
4445
  this.visit(ast.expression, context);
4446
4446
  }
4447
4447
  visitNonNullAssert(ast, context) {
@@ -7346,7 +7346,7 @@ class ShadowCss {
7346
7346
  *
7347
7347
  * For example, we convert this css:
7348
7348
  *
7349
- * ```
7349
+ * ```scss
7350
7350
  * .box {
7351
7351
  * animation: box-animation 1s forwards;
7352
7352
  * }
@@ -7360,7 +7360,7 @@ class ShadowCss {
7360
7360
  *
7361
7361
  * to this:
7362
7362
  *
7363
- * ```
7363
+ * ```scss
7364
7364
  * .box {
7365
7365
  * animation: scopeName_box-animation 1s forwards;
7366
7366
  * }
@@ -7389,7 +7389,7 @@ class ShadowCss {
7389
7389
  *
7390
7390
  * For example, it takes a rule such as:
7391
7391
  *
7392
- * ```
7392
+ * ```scss
7393
7393
  * @keyframes box-animation {
7394
7394
  * to {
7395
7395
  * background-color: green;
@@ -7399,7 +7399,7 @@ class ShadowCss {
7399
7399
  *
7400
7400
  * and returns:
7401
7401
  *
7402
- * ```
7402
+ * ```scss
7403
7403
  * @keyframes scopeName_box-animation {
7404
7404
  * to {
7405
7405
  * background-color: green;
@@ -17742,7 +17742,7 @@ class Parser {
17742
17742
  * parsing errors in case the given expression is invalid.
17743
17743
  *
17744
17744
  * For example,
17745
- * ```
17745
+ * ```html
17746
17746
  * <div *ngFor="let item of items">
17747
17747
  * ^ ^ absoluteValueOffset for `templateValue`
17748
17748
  * absoluteKeyOffset for `templateKey`
@@ -17753,7 +17753,7 @@ class Parser {
17753
17753
  * 3. ngForOf -> items
17754
17754
  *
17755
17755
  * This is apparent from the de-sugared template:
17756
- * ```
17756
+ * ```html
17757
17757
  * <ng-template ngFor let-item [ngForOf]="items">
17758
17758
  * ```
17759
17759
  *
@@ -18610,7 +18610,7 @@ class _ParseAST {
18610
18610
  * parsing errors in case the given expression is invalid.
18611
18611
  *
18612
18612
  * For example,
18613
- * ```
18613
+ * ```html
18614
18614
  * <div *ngFor="let item of items; index as i; trackBy: func">
18615
18615
  * ```
18616
18616
  * contains five bindings:
@@ -19001,7 +19001,7 @@ class SerializeExpressionVisitor {
19001
19001
  .map((e) => e.visit(this, context))
19002
19002
  .join(', ')})`;
19003
19003
  }
19004
- visitTypeofExpresion(ast, context) {
19004
+ visitTypeofExpression(ast, context) {
19005
19005
  return `typeof ${ast.expression.visit(this, context)}`;
19006
19006
  }
19007
19007
  visitASTWithSource(ast, context) {
@@ -26295,7 +26295,7 @@ class BindingParser {
26295
26295
  }
26296
26296
  /**
26297
26297
  * Parses the bindings in a microsyntax expression, e.g.
26298
- * ```
26298
+ * ```html
26299
26299
  * <tag *tplKey="let value1 = prop; let value2 = localVar">
26300
26300
  * ```
26301
26301
  *
@@ -26881,7 +26881,7 @@ function parseForLoopParameters(block, errors, bindingParser) {
26881
26881
  }
26882
26882
  continue;
26883
26883
  }
26884
- errors.push(new ParseError(param.sourceSpan, `Unrecognized @for loop paramater "${param.expression}"`));
26884
+ errors.push(new ParseError(param.sourceSpan, `Unrecognized @for loop parameter "${param.expression}"`));
26885
26885
  }
26886
26886
  return result;
26887
26887
  }
@@ -27028,7 +27028,7 @@ function parseConditionalBlockParameters(block, errors, bindingParser) {
27028
27028
  // For now conditionals can only have an `as` parameter.
27029
27029
  // We may want to rework this later if we add more.
27030
27030
  if (aliasMatch === null) {
27031
- errors.push(new ParseError(param.sourceSpan, `Unrecognized conditional paramater "${param.expression}"`));
27031
+ errors.push(new ParseError(param.sourceSpan, `Unrecognized conditional parameter "${param.expression}"`));
27032
27032
  }
27033
27033
  else if (block.name !== 'if') {
27034
27034
  errors.push(new ParseError(param.sourceSpan, '"as" expression is only allowed on the primary @if block'));
@@ -30321,7 +30321,7 @@ function publishFacade(global) {
30321
30321
  * @description
30322
30322
  * Entry point for all public APIs of the compiler package.
30323
30323
  */
30324
- new Version('19.0.5');
30324
+ new Version('19.0.7');
30325
30325
 
30326
30326
  const _I18N_ATTR = 'i18n';
30327
30327
  const _I18N_ATTR_PREFIX = 'i18n-';
@@ -31025,7 +31025,7 @@ exports.ErrorCode = void 0;
31025
31025
  * The left-hand side of an assignment expression was a template variable. Effectively, the
31026
31026
  * template looked like:
31027
31027
  *
31028
- * ```
31028
+ * ```html
31029
31029
  * <ng-template let-something>
31030
31030
  * <button (click)="something = ...">...</button>
31031
31031
  * </ng-template>
@@ -31729,7 +31729,7 @@ class NodeJSPathManipulation {
31729
31729
  // G3-ESM-MARKER: G3 uses CommonJS, but externally everything in ESM.
31730
31730
  // CommonJS/ESM interop for determining the current file name and containing dir.
31731
31731
  const isCommonJS = typeof __filename !== 'undefined';
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-eced36c5.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-a3b46ff3.js', document.baseURI).href));
31733
31733
  const currentFileName = isCommonJS ? __filename : url.fileURLToPath(currentFileUrl);
31734
31734
  /**
31735
31735
  * A wrapper around the Node.js file-system that supports readonly operations and path manipulation.
@@ -32828,9 +32828,16 @@ function classMemberAccessLevelToString(level) {
32828
32828
  class TypeScriptReflectionHost {
32829
32829
  checker;
32830
32830
  isLocalCompilation;
32831
- constructor(checker, isLocalCompilation = false) {
32831
+ skipPrivateValueDeclarationTypes;
32832
+ /**
32833
+ * @param skipPrivateValueDeclarationTypes Avoids using a value declaration that is considered private (using a ɵ-prefix),
32834
+ * instead using the first available declaration. This is needed for the {@link FormControl} API of
32835
+ * which the type declaration documents the type and the value declaration corresponds with an implementation detail.
32836
+ */
32837
+ constructor(checker, isLocalCompilation = false, skipPrivateValueDeclarationTypes = false) {
32832
32838
  this.checker = checker;
32833
32839
  this.isLocalCompilation = isLocalCompilation;
32840
+ this.skipPrivateValueDeclarationTypes = skipPrivateValueDeclarationTypes;
32834
32841
  }
32835
32842
  getDecoratorsOfDeclaration(declaration) {
32836
32843
  const decorators = ts__default["default"].canHaveDecorators(declaration)
@@ -33057,13 +33064,13 @@ class TypeScriptReflectionHost {
33057
33064
  *
33058
33065
  * For example, if the identifier is the `Directive` part of a qualified type chain like:
33059
33066
  *
33060
- * ```
33067
+ * ```ts
33061
33068
  * core.Directive
33062
33069
  * ```
33063
33070
  *
33064
33071
  * then it might be that `core` is a namespace import such as:
33065
33072
  *
33066
- * ```
33073
+ * ```ts
33067
33074
  * import * as core from 'tslib';
33068
33075
  * ```
33069
33076
  *
@@ -33129,9 +33136,10 @@ class TypeScriptReflectionHost {
33129
33136
  while (symbol.flags & ts__default["default"].SymbolFlags.Alias) {
33130
33137
  symbol = this.checker.getAliasedSymbol(symbol);
33131
33138
  }
33132
- // Look at the resolved Symbol's declarations and pick one of them to return. Value declarations
33133
- // are given precedence over type declarations.
33134
- if (symbol.valueDeclaration !== undefined) {
33139
+ // Look at the resolved Symbol's declarations and pick one of them to return.
33140
+ // Value declarations are given precedence over type declarations if not specified otherwise
33141
+ if (symbol.valueDeclaration !== undefined &&
33142
+ (!this.skipPrivateValueDeclarationTypes || !isPrivateSymbol(this.checker, symbol))) {
33135
33143
  return {
33136
33144
  node: symbol.valueDeclaration,
33137
33145
  viaModule: this._viaModule(symbol.valueDeclaration, originalId, importInfo),
@@ -33442,6 +33450,14 @@ function propertyNameToString(node) {
33442
33450
  return null;
33443
33451
  }
33444
33452
  }
33453
+ /** Determines whether a given symbol represents a private API (symbols with names that start with `ɵ`) */
33454
+ function isPrivateSymbol(typeChecker, symbol) {
33455
+ if (symbol.valueDeclaration !== undefined) {
33456
+ const symbolType = typeChecker.getTypeOfSymbolAtLocation(symbol, symbol.valueDeclaration);
33457
+ return symbolType?.symbol?.name.startsWith('ɵ') === true;
33458
+ }
33459
+ return false;
33460
+ }
33445
33461
  /**
33446
33462
  * Compute the left most identifier in a qualified type chain. E.g. the `a` of `a.b.c.SomeType`.
33447
33463
  * @param qualifiedName The starting property access expression from which we want to compute
@@ -40962,7 +40978,7 @@ class AstTranslator {
40962
40978
  addParseSpanInfo(node, ast.sourceSpan);
40963
40979
  return node;
40964
40980
  }
40965
- visitTypeofExpresion(ast) {
40981
+ visitTypeofExpression(ast) {
40966
40982
  const expression = wrapForDiagnostics(this.translate(ast.expression));
40967
40983
  const node = ts__default["default"].factory.createTypeOfExpression(expression);
40968
40984
  addParseSpanInfo(node, ast.sourceSpan);
@@ -41176,7 +41192,7 @@ class VeSafeLhsInferenceBugDetector {
41176
41192
  visitPrefixNot(ast) {
41177
41193
  return ast.expression.visit(this);
41178
41194
  }
41179
- visitTypeofExpresion(ast) {
41195
+ visitTypeofExpression(ast) {
41180
41196
  return ast.expression.visit(this);
41181
41197
  }
41182
41198
  visitNonNullAssert(ast) {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.0.5
3
+ * @license Angular v19.0.7
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-eced36c5.js');
14
- var program = require('./program-c49e652e.js');
13
+ var checker = require('./checker-a3b46ff3.js');
14
+ var program = require('./program-857d3416.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.5
3
+ * @license Angular v19.0.7
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-eced36c5.js');
10
+ var checker = require('./checker-a3b46ff3.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.5
3
+ * @license Angular v19.0.7
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-82c877de.js');
14
- var checker = require('./checker-eced36c5.js');
13
+ var compiler_host = require('./compiler_host-00ae769f.js');
14
+ var checker = require('./checker-a3b46ff3.js');
15
15
  var ts = require('typescript');
16
16
  require('os');
17
17
  require('fs');