@angular/core 20.3.5 → 20.3.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 (58) hide show
  1. package/api.d.d.ts +1 -1
  2. package/chrome_dev_tools_performance.d.d.ts +20 -12
  3. package/discovery.d.d.ts +2 -2
  4. package/effect.d.d.ts +1 -1
  5. package/event_dispatcher.d.d.ts +1 -1
  6. package/fesm2022/attribute.mjs +1 -1
  7. package/fesm2022/core.mjs +1 -1
  8. package/fesm2022/debug_node.mjs +8779 -8770
  9. package/fesm2022/debug_node.mjs.map +1 -1
  10. package/fesm2022/effect.mjs +1 -1
  11. package/fesm2022/not_found.mjs +1 -1
  12. package/fesm2022/primitives/di.mjs +1 -1
  13. package/fesm2022/primitives/event-dispatch.mjs +1 -1
  14. package/fesm2022/primitives/signals.mjs +1 -1
  15. package/fesm2022/resource.mjs +1 -1
  16. package/fesm2022/root_effect_scheduler.mjs +17 -15
  17. package/fesm2022/root_effect_scheduler.mjs.map +1 -1
  18. package/fesm2022/rxjs-interop.mjs +1 -1
  19. package/fesm2022/signal.mjs +1 -1
  20. package/fesm2022/testing.mjs +1 -1
  21. package/fesm2022/weak_ref.mjs +1 -1
  22. package/formatter.d.d.ts +1 -1
  23. package/index.d.ts +4 -4
  24. package/package.json +2 -2
  25. package/primitives/di/index.d.ts +1 -1
  26. package/primitives/event-dispatch/index.d.ts +1 -1
  27. package/primitives/signals/index.d.ts +1 -1
  28. package/rxjs-interop/index.d.ts +1 -1
  29. package/schematics/bundles/add-bootstrap-context-to-server-main.cjs +5 -5
  30. package/schematics/bundles/{apply_import_manager-_3Mx7H7A.cjs → apply_import_manager-uyMcu5_H.cjs} +3 -3
  31. package/schematics/bundles/cleanup-unused-imports.cjs +5 -5
  32. package/schematics/bundles/{compiler_host-DXiKJabk.cjs → compiler_host-BUlxIpWP.cjs} +2 -2
  33. package/schematics/bundles/control-flow-migration.cjs +3 -3
  34. package/schematics/bundles/document-core.cjs +5 -5
  35. package/schematics/bundles/imports-CIX-JgAN.cjs +1 -1
  36. package/schematics/bundles/{index-BDeOF3Gn.cjs → index-Cqmu1RX0.cjs} +110 -64
  37. package/schematics/bundles/{index-C8BhVtUr.cjs → index-D_ZnW9ls.cjs} +4 -4
  38. package/schematics/bundles/inject-flags.cjs +5 -5
  39. package/schematics/bundles/inject-migration.cjs +3 -3
  40. package/schematics/bundles/leading_space-D9nQ8UQC.cjs +1 -1
  41. package/schematics/bundles/{migrate_ts_type_references-BlSjvHVC.cjs → migrate_ts_type_references-BhSLr3ZT.cjs} +5 -5
  42. package/schematics/bundles/ng_decorators-B5HCqr20.cjs +1 -1
  43. package/schematics/bundles/nodes-B16H9JUd.cjs +1 -1
  44. package/schematics/bundles/output-migration.cjs +6 -6
  45. package/schematics/bundles/{project_paths-C8LDPZ5A.cjs → project_paths-C69HW-da.cjs} +3 -3
  46. package/schematics/bundles/{project_tsconfig_paths-tTmeFlcz.cjs → project_tsconfig_paths-C1bhMy6X.cjs} +4 -4
  47. package/schematics/bundles/property_name-BBwFuqMe.cjs +1 -1
  48. package/schematics/bundles/route-lazy-loading.cjs +3 -3
  49. package/schematics/bundles/router-current-navigation.cjs +4 -4
  50. package/schematics/bundles/self-closing-tags-migration.cjs +4 -4
  51. package/schematics/bundles/signal-input-migration.cjs +7 -7
  52. package/schematics/bundles/signal-queries-migration.cjs +7 -7
  53. package/schematics/bundles/signals.cjs +7 -7
  54. package/schematics/bundles/standalone-migration.cjs +4 -4
  55. package/schematics/bundles/symbol-VPWguRxr.cjs +1 -1
  56. package/schematics/bundles/test-bed-get.cjs +4 -4
  57. package/testing/index.d.ts +1 -1
  58. package/weak_ref.d.d.ts +1 -1
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v20.3.5
2
+ * @license Angular v20.3.7
3
3
  * (c) 2010-2025 Google LLC. https://angular.dev/
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v20.3.5
2
+ * @license Angular v20.3.7
3
3
  * (c) 2010-2025 Google LLC. https://angular.dev/
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v20.3.5
2
+ * @license Angular v20.3.7
3
3
  * (c) 2010-2025 Google LLC. https://angular.dev/
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v20.3.5
2
+ * @license Angular v20.3.7
3
3
  * (c) 2010-2025 Google LLC. https://angular.dev/
4
4
  * License: MIT
5
5
  */
package/formatter.d.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v20.3.5
2
+ * @license Angular v20.3.7
3
3
  * (c) 2010-2025 Google LLC. https://angular.dev/
4
4
  * License: MIT
5
5
  */
package/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v20.3.5
2
+ * @license Angular v20.3.7
3
3
  * (c) 2010-2025 Google LLC. https://angular.dev/
4
4
  * License: MIT
5
5
  */
@@ -1432,7 +1432,7 @@ interface InjectDecorator {
1432
1432
  *
1433
1433
  * {@example core/di/ts/metadata_spec.ts region='InjectWithoutDecorator'}
1434
1434
  *
1435
- * @see [Dependency Injection Guide](guide/di/dependency-injection
1435
+ * @see [Dependency Injection Guide](guide/di/dependency-injection)
1436
1436
  *
1437
1437
  */
1438
1438
  (token: any): any;
@@ -1476,7 +1476,7 @@ interface OptionalDecorator {
1476
1476
  *
1477
1477
  * {@example core/di/ts/metadata_spec.ts region='Optional'}
1478
1478
  *
1479
- * @see [Dependency Injection Guide](guide/di/dependency-injection.
1479
+ * @see [Dependency Injection Guide](guide/di/dependency-injection)
1480
1480
  */
1481
1481
  (): any;
1482
1482
  new (): Optional;
@@ -1729,7 +1729,7 @@ interface InjectableDecorator {
1729
1729
  * provided and injected as a dependency.
1730
1730
  *
1731
1731
  * @see [Introduction to Services and DI](guide/di)
1732
- * @see [Dependency Injection Guide](guide/di/dependency-injection
1732
+ * @see [Dependency Injection Guide](guide/di/dependency-injection)
1733
1733
  *
1734
1734
  * @usageNotes
1735
1735
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@angular/core",
3
- "version": "20.3.5",
3
+ "version": "20.3.7",
4
4
  "description": "Angular - the core framework",
5
5
  "author": "angular",
6
6
  "license": "MIT",
@@ -46,7 +46,7 @@
46
46
  "tslib": "^2.3.0"
47
47
  },
48
48
  "peerDependencies": {
49
- "@angular/compiler": "20.3.5",
49
+ "@angular/compiler": "20.3.7",
50
50
  "rxjs": "^6.5.3 || ^7.4.0",
51
51
  "zone.js": "~0.15.0"
52
52
  },
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v20.3.5
2
+ * @license Angular v20.3.7
3
3
  * (c) 2010-2025 Google LLC. https://angular.dev/
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v20.3.5
2
+ * @license Angular v20.3.7
3
3
  * (c) 2010-2025 Google LLC. https://angular.dev/
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v20.3.5
2
+ * @license Angular v20.3.7
3
3
  * (c) 2010-2025 Google LLC. https://angular.dev/
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v20.3.5
2
+ * @license Angular v20.3.7
3
3
  * (c) 2010-2025 Google LLC. https://angular.dev/
4
4
  * License: MIT
5
5
  */
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v20.3.5
3
+ * @license Angular v20.3.7
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -8,12 +8,12 @@
8
8
 
9
9
  require('@angular-devkit/core');
10
10
  require('node:path/posix');
11
- var project_paths = require('./project_paths-C8LDPZ5A.cjs');
12
- var project_tsconfig_paths = require('./project_tsconfig_paths-tTmeFlcz.cjs');
11
+ var project_paths = require('./project_paths-C69HW-da.cjs');
12
+ var project_tsconfig_paths = require('./project_tsconfig_paths-C1bhMy6X.cjs');
13
13
  var ts = require('typescript');
14
14
  require('os');
15
- var apply_import_manager = require('./apply_import_manager-_3Mx7H7A.cjs');
16
- require('./index-BDeOF3Gn.cjs');
15
+ var apply_import_manager = require('./apply_import_manager-uyMcu5_H.cjs');
16
+ require('./index-Cqmu1RX0.cjs');
17
17
  require('path');
18
18
  require('node:path');
19
19
  require('@angular-devkit/schematics');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v20.3.5
3
+ * @license Angular v20.3.7
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -8,8 +8,8 @@
8
8
 
9
9
  var ts = require('typescript');
10
10
  require('os');
11
- var project_tsconfig_paths = require('./project_tsconfig_paths-tTmeFlcz.cjs');
12
- var project_paths = require('./project_paths-C8LDPZ5A.cjs');
11
+ var project_tsconfig_paths = require('./project_tsconfig_paths-C1bhMy6X.cjs');
12
+ var project_paths = require('./project_paths-C69HW-da.cjs');
13
13
 
14
14
  /**
15
15
  * Applies import manager changes, and writes them as replacements the
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v20.3.5
3
+ * @license Angular v20.3.7
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -8,14 +8,14 @@
8
8
 
9
9
  require('@angular-devkit/core');
10
10
  require('node:path/posix');
11
- var project_paths = require('./project_paths-C8LDPZ5A.cjs');
11
+ var project_paths = require('./project_paths-C69HW-da.cjs');
12
12
  var ts = require('typescript');
13
13
  require('os');
14
- var project_tsconfig_paths = require('./project_tsconfig_paths-tTmeFlcz.cjs');
15
- var index = require('./index-BDeOF3Gn.cjs');
14
+ var project_tsconfig_paths = require('./project_tsconfig_paths-C1bhMy6X.cjs');
15
+ var index = require('./index-Cqmu1RX0.cjs');
16
16
  require('path');
17
17
  require('node:path');
18
- var apply_import_manager = require('./apply_import_manager-_3Mx7H7A.cjs');
18
+ var apply_import_manager = require('./apply_import_manager-uyMcu5_H.cjs');
19
19
  require('@angular-devkit/schematics');
20
20
  require('fs');
21
21
  require('module');
@@ -1,13 +1,13 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v20.3.5
3
+ * @license Angular v20.3.7
4
4
  * (c) 2010-2025 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 project_tsconfig_paths = require('./project_tsconfig_paths-tTmeFlcz.cjs');
10
+ var project_tsconfig_paths = require('./project_tsconfig_paths-C1bhMy6X.cjs');
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 v20.3.5
3
+ * @license Angular v20.3.7
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -8,8 +8,8 @@
8
8
 
9
9
  var schematics = require('@angular-devkit/schematics');
10
10
  var path = require('node:path');
11
- var compiler_host = require('./compiler_host-DXiKJabk.cjs');
12
- var project_tsconfig_paths = require('./project_tsconfig_paths-tTmeFlcz.cjs');
11
+ var compiler_host = require('./compiler_host-BUlxIpWP.cjs');
12
+ var project_tsconfig_paths = require('./project_tsconfig_paths-C1bhMy6X.cjs');
13
13
  var ts = require('typescript');
14
14
  var p = require('path');
15
15
  require('os');
@@ -1,19 +1,19 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v20.3.5
3
+ * @license Angular v20.3.7
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
7
7
  'use strict';
8
8
 
9
- var project_tsconfig_paths = require('./project_tsconfig_paths-tTmeFlcz.cjs');
9
+ var project_tsconfig_paths = require('./project_tsconfig_paths-C1bhMy6X.cjs');
10
10
  require('typescript');
11
11
  require('os');
12
- var apply_import_manager = require('./apply_import_manager-_3Mx7H7A.cjs');
13
- require('./index-BDeOF3Gn.cjs');
12
+ var apply_import_manager = require('./apply_import_manager-uyMcu5_H.cjs');
13
+ require('./index-Cqmu1RX0.cjs');
14
14
  require('path');
15
15
  require('node:path');
16
- var project_paths = require('./project_paths-C8LDPZ5A.cjs');
16
+ var project_paths = require('./project_paths-C69HW-da.cjs');
17
17
  var imports = require('./imports-CIX-JgAN.cjs');
18
18
  require('@angular-devkit/core');
19
19
  require('node:path/posix');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v20.3.5
3
+ * @license Angular v20.3.7
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v20.3.5
3
+ * @license Angular v20.3.7
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
7
7
  'use strict';
8
8
 
9
- var project_tsconfig_paths = require('./project_tsconfig_paths-tTmeFlcz.cjs');
9
+ var project_tsconfig_paths = require('./project_tsconfig_paths-C1bhMy6X.cjs');
10
10
  var ts = require('typescript');
11
11
  var p = require('path');
12
12
  require('os');
@@ -891,7 +891,7 @@ const MINIMUM_PARTIAL_LINKER_DEFER_SUPPORT_VERSION = '18.0.0';
891
891
  function compileDeclareClassMetadata(metadata) {
892
892
  const definitionMap = new project_tsconfig_paths.DefinitionMap();
893
893
  definitionMap.set('minVersion', project_tsconfig_paths.literal(MINIMUM_PARTIAL_LINKER_VERSION$5));
894
- definitionMap.set('version', project_tsconfig_paths.literal('20.3.5'));
894
+ definitionMap.set('version', project_tsconfig_paths.literal('20.3.7'));
895
895
  definitionMap.set('ngImport', project_tsconfig_paths.importExpr(project_tsconfig_paths.Identifiers.core));
896
896
  definitionMap.set('type', metadata.type);
897
897
  definitionMap.set('decorators', metadata.decorators);
@@ -909,7 +909,7 @@ function compileComponentDeclareClassMetadata(metadata, dependencies) {
909
909
  callbackReturnDefinitionMap.set('ctorParameters', metadata.ctorParameters ?? project_tsconfig_paths.literal(null));
910
910
  callbackReturnDefinitionMap.set('propDecorators', metadata.propDecorators ?? project_tsconfig_paths.literal(null));
911
911
  definitionMap.set('minVersion', project_tsconfig_paths.literal(MINIMUM_PARTIAL_LINKER_DEFER_SUPPORT_VERSION));
912
- definitionMap.set('version', project_tsconfig_paths.literal('20.3.5'));
912
+ definitionMap.set('version', project_tsconfig_paths.literal('20.3.7'));
913
913
  definitionMap.set('ngImport', project_tsconfig_paths.importExpr(project_tsconfig_paths.Identifiers.core));
914
914
  definitionMap.set('type', metadata.type);
915
915
  definitionMap.set('resolveDeferredDeps', compileComponentMetadataAsyncResolver(dependencies));
@@ -1004,7 +1004,7 @@ function createDirectiveDefinitionMap(meta) {
1004
1004
  const definitionMap = new project_tsconfig_paths.DefinitionMap();
1005
1005
  const minVersion = getMinimumVersionForPartialOutput(meta);
1006
1006
  definitionMap.set('minVersion', project_tsconfig_paths.literal(minVersion));
1007
- definitionMap.set('version', project_tsconfig_paths.literal('20.3.5'));
1007
+ definitionMap.set('version', project_tsconfig_paths.literal('20.3.7'));
1008
1008
  // e.g. `type: MyDirective`
1009
1009
  definitionMap.set('type', meta.type.value);
1010
1010
  if (meta.isStandalone !== undefined) {
@@ -1420,7 +1420,7 @@ const MINIMUM_PARTIAL_LINKER_VERSION$4 = '12.0.0';
1420
1420
  function compileDeclareFactoryFunction(meta) {
1421
1421
  const definitionMap = new project_tsconfig_paths.DefinitionMap();
1422
1422
  definitionMap.set('minVersion', project_tsconfig_paths.literal(MINIMUM_PARTIAL_LINKER_VERSION$4));
1423
- definitionMap.set('version', project_tsconfig_paths.literal('20.3.5'));
1423
+ definitionMap.set('version', project_tsconfig_paths.literal('20.3.7'));
1424
1424
  definitionMap.set('ngImport', project_tsconfig_paths.importExpr(project_tsconfig_paths.Identifiers.core));
1425
1425
  definitionMap.set('type', meta.type.value);
1426
1426
  definitionMap.set('deps', compileDependencies(meta.deps));
@@ -1455,7 +1455,7 @@ function compileDeclareInjectableFromMetadata(meta) {
1455
1455
  function createInjectableDefinitionMap(meta) {
1456
1456
  const definitionMap = new project_tsconfig_paths.DefinitionMap();
1457
1457
  definitionMap.set('minVersion', project_tsconfig_paths.literal(MINIMUM_PARTIAL_LINKER_VERSION$3));
1458
- definitionMap.set('version', project_tsconfig_paths.literal('20.3.5'));
1458
+ definitionMap.set('version', project_tsconfig_paths.literal('20.3.7'));
1459
1459
  definitionMap.set('ngImport', project_tsconfig_paths.importExpr(project_tsconfig_paths.Identifiers.core));
1460
1460
  definitionMap.set('type', meta.type.value);
1461
1461
  // Only generate providedIn property if it has a non-null value
@@ -1506,7 +1506,7 @@ function compileDeclareInjectorFromMetadata(meta) {
1506
1506
  function createInjectorDefinitionMap(meta) {
1507
1507
  const definitionMap = new project_tsconfig_paths.DefinitionMap();
1508
1508
  definitionMap.set('minVersion', project_tsconfig_paths.literal(MINIMUM_PARTIAL_LINKER_VERSION$2));
1509
- definitionMap.set('version', project_tsconfig_paths.literal('20.3.5'));
1509
+ definitionMap.set('version', project_tsconfig_paths.literal('20.3.7'));
1510
1510
  definitionMap.set('ngImport', project_tsconfig_paths.importExpr(project_tsconfig_paths.Identifiers.core));
1511
1511
  definitionMap.set('type', meta.type.value);
1512
1512
  definitionMap.set('providers', meta.providers);
@@ -1539,7 +1539,7 @@ function createNgModuleDefinitionMap(meta) {
1539
1539
  throw new Error('Invalid path! Local compilation mode should not get into the partial compilation path');
1540
1540
  }
1541
1541
  definitionMap.set('minVersion', project_tsconfig_paths.literal(MINIMUM_PARTIAL_LINKER_VERSION$1));
1542
- definitionMap.set('version', project_tsconfig_paths.literal('20.3.5'));
1542
+ definitionMap.set('version', project_tsconfig_paths.literal('20.3.7'));
1543
1543
  definitionMap.set('ngImport', project_tsconfig_paths.importExpr(project_tsconfig_paths.Identifiers.core));
1544
1544
  definitionMap.set('type', meta.type.value);
1545
1545
  // We only generate the keys in the metadata if the arrays contain values.
@@ -1590,7 +1590,7 @@ function compileDeclarePipeFromMetadata(meta) {
1590
1590
  function createPipeDefinitionMap(meta) {
1591
1591
  const definitionMap = new project_tsconfig_paths.DefinitionMap();
1592
1592
  definitionMap.set('minVersion', project_tsconfig_paths.literal(MINIMUM_PARTIAL_LINKER_VERSION));
1593
- definitionMap.set('version', project_tsconfig_paths.literal('20.3.5'));
1593
+ definitionMap.set('version', project_tsconfig_paths.literal('20.3.7'));
1594
1594
  definitionMap.set('ngImport', project_tsconfig_paths.importExpr(project_tsconfig_paths.Identifiers.core));
1595
1595
  // e.g. `type: MyPipe`
1596
1596
  definitionMap.set('type', meta.type.value);
@@ -12362,7 +12362,7 @@ class PipeDecoratorHandler {
12362
12362
  * @description
12363
12363
  * Entry point for all public APIs of the compiler-cli package.
12364
12364
  */
12365
- new project_tsconfig_paths.Version('20.3.5');
12365
+ new project_tsconfig_paths.Version('20.3.7');
12366
12366
 
12367
12367
  /**
12368
12368
  * Whether a given decorator should be treated as an Angular decorator.
@@ -13552,21 +13552,6 @@ var MemberTags;
13552
13552
  MemberTags["Inherited"] = "override";
13553
13553
  })(MemberTags || (MemberTags = {}));
13554
13554
 
13555
- /** Gets whether a symbol's name indicates it is an Angular-private API. */
13556
- function isAngularPrivateName(name) {
13557
- const firstChar = name[0] ?? '';
13558
- return firstChar === 'ɵ' || firstChar === '_';
13559
- }
13560
-
13561
- /** Gets a list of all the generic type parameters for a declaration. */
13562
- function extractGenerics(declaration) {
13563
- return (declaration.typeParameters?.map((typeParam) => ({
13564
- name: typeParam.name.getText(),
13565
- constraint: typeParam.constraint?.getText(),
13566
- default: typeParam.default?.getText(),
13567
- })) ?? []);
13568
- }
13569
-
13570
13555
  /**
13571
13556
  * RegExp to match the `@` character follow by any Angular decorator, used to escape Angular
13572
13557
  * decorators in JsDoc blocks so that they're not parsed as JsDoc tags.
@@ -13633,6 +13618,21 @@ function unescapeAngularDecorators(comment) {
13633
13618
  return comment.replace(/_NG_AT_/g, '@');
13634
13619
  }
13635
13620
 
13621
+ /** Gets whether a symbol's name indicates it is an Angular-private API. */
13622
+ function isAngularPrivateName(name) {
13623
+ const firstChar = name[0] ?? '';
13624
+ return firstChar === 'ɵ' || firstChar === '_';
13625
+ }
13626
+
13627
+ /** Gets a list of all the generic type parameters for a declaration. */
13628
+ function extractGenerics(declaration) {
13629
+ return (declaration.typeParameters?.map((typeParam) => ({
13630
+ name: typeParam.name.getText(),
13631
+ constraint: typeParam.constraint?.getText(),
13632
+ default: typeParam.default?.getText(),
13633
+ })) ?? []);
13634
+ }
13635
+
13636
13636
  /** Gets the string representation of a node's resolved type. */
13637
13637
  function extractResolvedTypeString(node, checker) {
13638
13638
  return checker.typeToString(checker.getTypeAtLocation(node), undefined, ts.TypeFormatFlags.NoTruncation);
@@ -13777,7 +13777,7 @@ function hasLeadingInternalComment(member) {
13777
13777
  }
13778
13778
 
13779
13779
  /** Extractor to pull info for API reference documentation for a TypeScript class or interface. */
13780
- class ClassExtractor {
13780
+ class PropertiesExtractor {
13781
13781
  declaration;
13782
13782
  typeChecker;
13783
13783
  constructor(declaration, typeChecker) {
@@ -13787,18 +13787,8 @@ class ClassExtractor {
13787
13787
  /** Extract docs info specific to classes. */
13788
13788
  extract() {
13789
13789
  return {
13790
- name: this.declaration.name.text,
13791
- isAbstract: this.isAbstract(),
13792
- entryType: ts.isInterfaceDeclaration(this.declaration)
13793
- ? EntryType.Interface
13794
- : EntryType.UndecoratedClass,
13795
13790
  members: this.extractSignatures().concat(this.extractAllClassMembers()),
13796
13791
  generics: extractGenerics(this.declaration),
13797
- description: extractJsDocDescription(this.declaration),
13798
- jsdocTags: extractJsDocTags(this.declaration),
13799
- rawComment: extractRawJsDoc(this.declaration),
13800
- extends: this.extractInheritance(this.declaration),
13801
- implements: this.extractInterfaceConformance(this.declaration),
13802
13792
  };
13803
13793
  }
13804
13794
  /** Extracts doc info for a class's members. */
@@ -13885,22 +13875,6 @@ class ClassExtractor {
13885
13875
  memberTags: this.getMemberTags(constructorDeclaration),
13886
13876
  };
13887
13877
  }
13888
- extractInheritance(declaration) {
13889
- if (!declaration.heritageClauses) {
13890
- return undefined;
13891
- }
13892
- for (const clause of declaration.heritageClauses) {
13893
- if (clause.token === ts.SyntaxKind.ExtendsKeyword) {
13894
- // We are assuming a single class can only extend one class.
13895
- const types = clause.types;
13896
- if (types.length > 0) {
13897
- const baseClass = types[0];
13898
- return baseClass.getText();
13899
- }
13900
- }
13901
- }
13902
- return undefined;
13903
- }
13904
13878
  extractInterfaceConformance(declaration) {
13905
13879
  const implementClause = declaration.heritageClauses?.find((clause) => clause.token === ts.SyntaxKind.ImplementsKeyword);
13906
13880
  return implementClause?.types.map((m) => m.getText()) ?? [];
@@ -14054,11 +14028,6 @@ class ClassExtractor {
14054
14028
  isDocumentableSignature(signature) {
14055
14029
  return (ts.isConstructSignatureDeclaration(signature) || ts.isCallSignatureDeclaration(signature));
14056
14030
  }
14057
- /** Gets whether the declaration for this extractor is abstract. */
14058
- isAbstract() {
14059
- const modifiers = this.declaration.modifiers ?? [];
14060
- return modifiers.some((mod) => mod.kind === ts.SyntaxKind.AbstractKeyword);
14061
- }
14062
14031
  /**
14063
14032
  * Check wether a member has a private computed property name like [ɵWRITABLE_SIGNAL]
14064
14033
  *
@@ -14068,6 +14037,48 @@ class ClassExtractor {
14068
14037
  return (ts.isComputedPropertyName(property.name) && property.name.expression.getText().startsWith('ɵ'));
14069
14038
  }
14070
14039
  }
14040
+
14041
+ /** Extractor to pull info for API reference documentation for a TypeScript class or interface. */
14042
+ class ClassExtractor extends PropertiesExtractor {
14043
+ constructor(declaration, typeChecker) {
14044
+ super(declaration, typeChecker);
14045
+ }
14046
+ /** Extract docs info specific to classes. */
14047
+ extract() {
14048
+ return {
14049
+ name: this.declaration.name.text,
14050
+ isAbstract: this.isAbstract(),
14051
+ entryType: EntryType.UndecoratedClass,
14052
+ ...super.extract(),
14053
+ description: extractJsDocDescription(this.declaration),
14054
+ jsdocTags: extractJsDocTags(this.declaration),
14055
+ rawComment: extractRawJsDoc(this.declaration),
14056
+ extends: this.extractInheritance(this.declaration),
14057
+ implements: this.extractInterfaceConformance(this.declaration),
14058
+ };
14059
+ }
14060
+ /** Gets whether the declaration for this extractor is abstract. */
14061
+ isAbstract() {
14062
+ const modifiers = this.declaration.modifiers ?? [];
14063
+ return modifiers.some((mod) => mod.kind === ts.SyntaxKind.AbstractKeyword);
14064
+ }
14065
+ extractInheritance(declaration) {
14066
+ if (!declaration.heritageClauses) {
14067
+ return undefined;
14068
+ }
14069
+ for (const clause of declaration.heritageClauses) {
14070
+ if (clause.token === ts.SyntaxKind.ExtendsKeyword) {
14071
+ // We are assuming a single class can only extend one class.
14072
+ const types = clause.types;
14073
+ if (types.length > 0) {
14074
+ const baseClass = types[0];
14075
+ return baseClass.getText();
14076
+ }
14077
+ }
14078
+ }
14079
+ return undefined;
14080
+ }
14081
+ }
14071
14082
  /** Extractor to pull info for API reference documentation for an Angular directive. */
14072
14083
  class DirectiveExtractor extends ClassExtractor {
14073
14084
  reference;
@@ -14171,11 +14182,6 @@ function extractClass(classDeclaration, metadataReader, typeChecker) {
14171
14182
  }
14172
14183
  return extractor.extract();
14173
14184
  }
14174
- /** Extracts documentation info for an interface. */
14175
- function extractInterface(declaration, typeChecker) {
14176
- const extractor = new ClassExtractor(declaration, typeChecker);
14177
- return extractor.extract();
14178
- }
14179
14185
  function extractPipeSyntax(metadata, classDeclaration) {
14180
14186
  const transformParams = classDeclaration.members.find((member) => {
14181
14187
  return (ts.isMethodDeclaration(member) &&
@@ -14267,6 +14273,46 @@ function extractLiteralPropertiesAsEnumMembers(declaration) {
14267
14273
  });
14268
14274
  }
14269
14275
 
14276
+ /** Extractor to pull info for API reference documentation for a TypeScript class or interface. */
14277
+ class InterfaceExtractor extends PropertiesExtractor {
14278
+ constructor(declaration, typeChecker) {
14279
+ super(declaration, typeChecker);
14280
+ }
14281
+ /** Extract docs info specific to classes. */
14282
+ extract() {
14283
+ return {
14284
+ name: this.declaration.name.text,
14285
+ entryType: EntryType.Interface,
14286
+ ...super.extract(),
14287
+ description: extractJsDocDescription(this.declaration),
14288
+ jsdocTags: extractJsDocTags(this.declaration),
14289
+ rawComment: extractRawJsDoc(this.declaration),
14290
+ extends: this.extractInheritance(this.declaration),
14291
+ implements: this.extractInterfaceConformance(this.declaration),
14292
+ };
14293
+ }
14294
+ extractInheritance(declaration) {
14295
+ if (!declaration.heritageClauses) {
14296
+ return [];
14297
+ }
14298
+ for (const clause of declaration.heritageClauses) {
14299
+ if (clause.token === ts.SyntaxKind.ExtendsKeyword) {
14300
+ // We are assuming a single class can only extend one class.
14301
+ const types = clause.types;
14302
+ if (types.length > 0) {
14303
+ return types.map((t) => t.getText());
14304
+ }
14305
+ }
14306
+ }
14307
+ return [];
14308
+ }
14309
+ }
14310
+ /** Extracts documentation info for an interface. */
14311
+ function extractInterface(declaration, typeChecker) {
14312
+ const extractor = new InterfaceExtractor(declaration, typeChecker);
14313
+ return extractor.extract();
14314
+ }
14315
+
14270
14316
  /** Extracts an API documentation entry for an Angular decorator. */
14271
14317
  function extractorDecorator(declaration, typeChecker) {
14272
14318
  const documentedNode = getDecoratorJsDocNode(declaration, typeChecker);
@@ -20504,7 +20550,7 @@ var semver = /*@__PURE__*/getDefaultExportFromCjs(semverExports);
20504
20550
  * @param minVersion Minimum required version for the feature.
20505
20551
  */
20506
20552
  function coreVersionSupportsFeature(coreVersion, minVersion) {
20507
- // A version of `20.3.5` usually means that core is at head so it supports
20553
+ // A version of `20.3.7` usually means that core is at head so it supports
20508
20554
  // all features. Use string interpolation prevent the placeholder from being replaced
20509
20555
  // with the current version during build time.
20510
20556
  if (coreVersion === `0.0.0-${'PLACEHOLDER'}`) {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v20.3.5
3
+ * @license Angular v20.3.7
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -8,11 +8,11 @@
8
8
 
9
9
  var ts = require('typescript');
10
10
  require('os');
11
- var project_tsconfig_paths = require('./project_tsconfig_paths-tTmeFlcz.cjs');
12
- var index = require('./index-BDeOF3Gn.cjs');
11
+ var project_tsconfig_paths = require('./project_tsconfig_paths-C1bhMy6X.cjs');
12
+ var index = require('./index-Cqmu1RX0.cjs');
13
13
  require('path');
14
14
  require('node:path');
15
- var project_paths = require('./project_paths-C8LDPZ5A.cjs');
15
+ var project_paths = require('./project_paths-C69HW-da.cjs');
16
16
 
17
17
  function getMemberName(member) {
18
18
  if (member.name === undefined) {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v20.3.5
3
+ * @license Angular v20.3.7
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -8,12 +8,12 @@
8
8
 
9
9
  var ts = require('typescript');
10
10
  require('os');
11
- var project_tsconfig_paths = require('./project_tsconfig_paths-tTmeFlcz.cjs');
12
- require('./index-BDeOF3Gn.cjs');
11
+ var project_tsconfig_paths = require('./project_tsconfig_paths-C1bhMy6X.cjs');
12
+ require('./index-Cqmu1RX0.cjs');
13
13
  require('path');
14
14
  require('node:path');
15
- var project_paths = require('./project_paths-C8LDPZ5A.cjs');
16
- var apply_import_manager = require('./apply_import_manager-_3Mx7H7A.cjs');
15
+ var project_paths = require('./project_paths-C69HW-da.cjs');
16
+ var apply_import_manager = require('./apply_import_manager-uyMcu5_H.cjs');
17
17
  var imports = require('./imports-CIX-JgAN.cjs');
18
18
  require('@angular-devkit/core');
19
19
  require('node:path/posix');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v20.3.5
3
+ * @license Angular v20.3.7
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -8,13 +8,13 @@
8
8
 
9
9
  var schematics = require('@angular-devkit/schematics');
10
10
  var p = require('path');
11
- var compiler_host = require('./compiler_host-DXiKJabk.cjs');
11
+ var compiler_host = require('./compiler_host-BUlxIpWP.cjs');
12
12
  var ts = require('typescript');
13
13
  var ng_decorators = require('./ng_decorators-B5HCqr20.cjs');
14
14
  var imports = require('./imports-CIX-JgAN.cjs');
15
15
  var nodes = require('./nodes-B16H9JUd.cjs');
16
16
  var leading_space = require('./leading_space-D9nQ8UQC.cjs');
17
- var project_tsconfig_paths = require('./project_tsconfig_paths-tTmeFlcz.cjs');
17
+ var project_tsconfig_paths = require('./project_tsconfig_paths-C1bhMy6X.cjs');
18
18
  require('os');
19
19
  require('fs');
20
20
  require('module');