@angular/cli 21.0.0-next.0 → 21.0.0-next.10

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 (226) hide show
  1. package/lib/cli/index.js +1 -0
  2. package/lib/cli/index.js.map +1 -0
  3. package/lib/code-examples.db +0 -0
  4. package/lib/config/schema.json +276 -51
  5. package/lib/config/workspace-schema.d.ts +57 -2
  6. package/lib/config/workspace-schema.js +23 -2
  7. package/lib/config/workspace-schema.js.map +1 -0
  8. package/lib/init.js +1 -0
  9. package/lib/init.js.map +1 -0
  10. package/package.json +24 -23
  11. package/src/analytics/analytics-collector.js +1 -0
  12. package/src/analytics/analytics-collector.js.map +1 -0
  13. package/src/analytics/analytics-parameters.js +1 -0
  14. package/src/analytics/analytics-parameters.js.map +1 -0
  15. package/src/analytics/analytics.js +1 -0
  16. package/src/analytics/analytics.js.map +1 -0
  17. package/src/command-builder/architect-base-command-module.js +1 -0
  18. package/src/command-builder/architect-base-command-module.js.map +1 -0
  19. package/src/command-builder/architect-command-module.js +21 -7
  20. package/src/command-builder/architect-command-module.js.map +1 -0
  21. package/src/command-builder/command-module.js +1 -0
  22. package/src/command-builder/command-module.js.map +1 -0
  23. package/src/command-builder/command-runner.js +2 -2
  24. package/src/command-builder/command-runner.js.map +1 -0
  25. package/src/command-builder/schematics-command-module.js +8 -2
  26. package/src/command-builder/schematics-command-module.js.map +1 -0
  27. package/src/command-builder/utilities/command.js +1 -0
  28. package/src/command-builder/utilities/command.js.map +1 -0
  29. package/src/command-builder/utilities/json-help.js +1 -0
  30. package/src/command-builder/utilities/json-help.js.map +1 -0
  31. package/src/command-builder/utilities/json-schema.d.ts +13 -1
  32. package/src/command-builder/utilities/json-schema.js +180 -96
  33. package/src/command-builder/utilities/json-schema.js.map +1 -0
  34. package/src/command-builder/utilities/normalize-options-middleware.js +1 -0
  35. package/src/command-builder/utilities/normalize-options-middleware.js.map +1 -0
  36. package/src/command-builder/utilities/schematic-engine-host.js +5 -6
  37. package/src/command-builder/utilities/schematic-engine-host.js.map +1 -0
  38. package/src/command-builder/utilities/schematic-workflow.js +1 -0
  39. package/src/command-builder/utilities/schematic-workflow.js.map +1 -0
  40. package/src/commands/add/cli.d.ts +2 -1
  41. package/src/commands/add/cli.js +179 -94
  42. package/src/commands/add/cli.js.map +1 -0
  43. package/src/commands/analytics/cli.js +1 -0
  44. package/src/commands/analytics/cli.js.map +1 -0
  45. package/src/commands/analytics/info/cli.js +1 -0
  46. package/src/commands/analytics/info/cli.js.map +1 -0
  47. package/src/commands/analytics/settings/cli.js +1 -0
  48. package/src/commands/analytics/settings/cli.js.map +1 -0
  49. package/src/commands/build/cli.js +1 -0
  50. package/src/commands/build/cli.js.map +1 -0
  51. package/src/commands/cache/clean/cli.js +1 -0
  52. package/src/commands/cache/clean/cli.js.map +1 -0
  53. package/src/commands/cache/cli.js +1 -0
  54. package/src/commands/cache/cli.js.map +1 -0
  55. package/src/commands/cache/info/cli.js +36 -11
  56. package/src/commands/cache/info/cli.js.map +1 -0
  57. package/src/commands/cache/settings/cli.js +1 -0
  58. package/src/commands/cache/settings/cli.js.map +1 -0
  59. package/src/commands/cache/utilities.js +1 -0
  60. package/src/commands/cache/utilities.js.map +1 -0
  61. package/src/commands/command-config.js +1 -0
  62. package/src/commands/command-config.js.map +1 -0
  63. package/src/commands/completion/cli.js +1 -0
  64. package/src/commands/completion/cli.js.map +1 -0
  65. package/src/commands/config/cli.js +1 -0
  66. package/src/commands/config/cli.js.map +1 -0
  67. package/src/commands/deploy/cli.js +1 -0
  68. package/src/commands/deploy/cli.js.map +1 -0
  69. package/src/commands/e2e/cli.js +1 -0
  70. package/src/commands/e2e/cli.js.map +1 -0
  71. package/src/commands/extract-i18n/cli.js +1 -0
  72. package/src/commands/extract-i18n/cli.js.map +1 -0
  73. package/src/commands/generate/cli.js +1 -0
  74. package/src/commands/generate/cli.js.map +1 -0
  75. package/src/commands/lint/cli.js +1 -0
  76. package/src/commands/lint/cli.js.map +1 -0
  77. package/src/commands/make-this-awesome/cli.js +1 -0
  78. package/src/commands/make-this-awesome/cli.js.map +1 -0
  79. package/src/commands/mcp/cli.js +1 -0
  80. package/src/commands/mcp/cli.js.map +1 -0
  81. package/src/commands/mcp/constants.d.ts +1 -1
  82. package/src/commands/mcp/constants.js +2 -1
  83. package/src/commands/mcp/constants.js.map +1 -0
  84. package/src/commands/mcp/mcp-server.d.ts +3 -3
  85. package/src/commands/mcp/mcp-server.js +40 -4
  86. package/src/commands/mcp/mcp-server.js.map +1 -0
  87. package/src/commands/mcp/resources/ai-tutor.md +627 -0
  88. package/src/commands/mcp/resources/instructions.js +1 -0
  89. package/src/commands/mcp/resources/instructions.js.map +1 -0
  90. package/src/commands/mcp/tools/ai-tutor.d.ts +8 -0
  91. package/src/commands/mcp/tools/ai-tutor.js +62 -0
  92. package/src/commands/mcp/tools/ai-tutor.js.map +1 -0
  93. package/src/commands/mcp/tools/best-practices.d.ts +4 -1
  94. package/src/commands/mcp/tools/best-practices.js +167 -22
  95. package/src/commands/mcp/tools/best-practices.js.map +1 -0
  96. package/src/commands/mcp/tools/doc-search.d.ts +20 -1
  97. package/src/commands/mcp/tools/doc-search.js +186 -67
  98. package/src/commands/mcp/tools/doc-search.js.map +1 -0
  99. package/src/commands/mcp/tools/examples.d.ts +35 -1
  100. package/src/commands/mcp/tools/examples.js +414 -56
  101. package/src/commands/mcp/tools/examples.js.map +1 -0
  102. package/src/commands/mcp/tools/modernize.js +29 -27
  103. package/src/commands/mcp/tools/modernize.js.map +1 -0
  104. package/src/commands/mcp/tools/onpush-zoneless-migration/analyze_for_unsupported_zone_uses.d.ts +17 -0
  105. package/src/commands/mcp/tools/onpush-zoneless-migration/analyze_for_unsupported_zone_uses.js +62 -0
  106. package/src/commands/mcp/tools/onpush-zoneless-migration/analyze_for_unsupported_zone_uses.js.map +1 -0
  107. package/src/commands/mcp/tools/onpush-zoneless-migration/migrate_single_file.d.ts +12 -0
  108. package/src/commands/mcp/tools/onpush-zoneless-migration/migrate_single_file.js +73 -0
  109. package/src/commands/mcp/tools/onpush-zoneless-migration/migrate_single_file.js.map +1 -0
  110. package/src/commands/mcp/tools/onpush-zoneless-migration/migrate_test_file.d.ts +11 -0
  111. package/src/commands/mcp/tools/onpush-zoneless-migration/migrate_test_file.js +106 -0
  112. package/src/commands/mcp/tools/onpush-zoneless-migration/migrate_test_file.js.map +1 -0
  113. package/src/commands/mcp/tools/onpush-zoneless-migration/prompts.d.ts +15 -0
  114. package/src/commands/mcp/tools/onpush-zoneless-migration/prompts.js +238 -0
  115. package/src/commands/mcp/tools/onpush-zoneless-migration/prompts.js.map +1 -0
  116. package/src/commands/mcp/tools/onpush-zoneless-migration/send_debug_message.d.ts +10 -0
  117. package/src/commands/mcp/tools/onpush-zoneless-migration/send_debug_message.js +20 -0
  118. package/src/commands/mcp/tools/onpush-zoneless-migration/send_debug_message.js.map +1 -0
  119. package/src/commands/mcp/tools/onpush-zoneless-migration/ts_utils.d.ts +36 -0
  120. package/src/commands/mcp/tools/onpush-zoneless-migration/ts_utils.js +136 -0
  121. package/src/commands/mcp/tools/onpush-zoneless-migration/ts_utils.js.map +1 -0
  122. package/src/commands/mcp/tools/onpush-zoneless-migration/types.d.ts +13 -0
  123. package/src/commands/mcp/tools/onpush-zoneless-migration/types.js +10 -0
  124. package/src/commands/mcp/tools/onpush-zoneless-migration/types.js.map +1 -0
  125. package/src/commands/mcp/tools/onpush-zoneless-migration/zoneless-migration.d.ts +14 -0
  126. package/src/commands/mcp/tools/onpush-zoneless-migration/zoneless-migration.js +228 -0
  127. package/src/commands/mcp/tools/onpush-zoneless-migration/zoneless-migration.js.map +1 -0
  128. package/src/commands/mcp/tools/projects.d.ts +75 -16
  129. package/src/commands/mcp/tools/projects.js +427 -30
  130. package/src/commands/mcp/tools/projects.js.map +1 -0
  131. package/src/commands/mcp/tools/tool-registry.d.ts +2 -1
  132. package/src/commands/mcp/tools/tool-registry.js +4 -2
  133. package/src/commands/mcp/tools/tool-registry.js.map +1 -0
  134. package/src/commands/new/cli.js +2 -0
  135. package/src/commands/new/cli.js.map +1 -0
  136. package/src/commands/run/cli.js +1 -0
  137. package/src/commands/run/cli.js.map +1 -0
  138. package/src/commands/serve/cli.js +1 -0
  139. package/src/commands/serve/cli.js.map +1 -0
  140. package/src/commands/test/cli.js +1 -0
  141. package/src/commands/test/cli.js.map +1 -0
  142. package/src/commands/update/cli.js +1 -0
  143. package/src/commands/update/cli.js.map +1 -0
  144. package/src/commands/update/schematic/index.js +1 -0
  145. package/src/commands/update/schematic/index.js.map +1 -0
  146. package/src/commands/update/schematic/schema.d.ts +0 -1
  147. package/src/commands/update/schematic/schema.js +1 -1
  148. package/src/commands/update/schematic/schema.js.map +1 -0
  149. package/src/commands/update/schematic/schema.json +1 -1
  150. package/src/commands/version/cli.d.ts +3 -7
  151. package/src/commands/version/cli.js +50 -49
  152. package/src/commands/version/cli.js.map +1 -0
  153. package/src/commands/version/version-info.d.ts +28 -10
  154. package/src/commands/version/version-info.js +34 -50
  155. package/src/commands/version/version-info.js.map +1 -0
  156. package/src/package-managers/discovery.d.ts +23 -0
  157. package/src/package-managers/discovery.js +110 -0
  158. package/src/package-managers/discovery.js.map +1 -0
  159. package/src/package-managers/error.d.ts +31 -0
  160. package/src/package-managers/error.js +41 -0
  161. package/src/package-managers/error.js.map +1 -0
  162. package/src/package-managers/factory.d.ts +25 -0
  163. package/src/package-managers/factory.js +123 -0
  164. package/src/package-managers/factory.js.map +1 -0
  165. package/src/package-managers/host.d.ts +64 -0
  166. package/src/package-managers/host.js +69 -0
  167. package/src/package-managers/host.js.map +1 -0
  168. package/src/package-managers/index.d.ts +12 -0
  169. package/src/package-managers/index.js +15 -0
  170. package/src/package-managers/index.js.map +1 -0
  171. package/src/package-managers/logger.d.ts +27 -0
  172. package/src/package-managers/logger.js +10 -0
  173. package/src/package-managers/logger.js.map +1 -0
  174. package/src/package-managers/package-manager-descriptor.d.ts +204 -0
  175. package/src/package-managers/package-manager-descriptor.js +147 -0
  176. package/src/package-managers/package-manager-descriptor.js.map +1 -0
  177. package/src/package-managers/package-manager.d.ts +144 -0
  178. package/src/package-managers/package-manager.js +304 -0
  179. package/src/package-managers/package-manager.js.map +1 -0
  180. package/src/package-managers/package-metadata.d.ts +87 -0
  181. package/src/package-managers/package-metadata.js +10 -0
  182. package/src/package-managers/package-metadata.js.map +1 -0
  183. package/src/package-managers/package-tree.d.ts +23 -0
  184. package/src/package-managers/package-tree.js +10 -0
  185. package/src/package-managers/package-tree.js.map +1 -0
  186. package/src/package-managers/parsers.d.ts +92 -0
  187. package/src/package-managers/parsers.js +234 -0
  188. package/src/package-managers/parsers.js.map +1 -0
  189. package/src/package-managers/testing/mock-host.d.ts +26 -0
  190. package/src/package-managers/testing/mock-host.js +53 -0
  191. package/src/package-managers/testing/mock-host.js.map +1 -0
  192. package/src/utilities/color.js +1 -0
  193. package/src/utilities/color.js.map +1 -0
  194. package/src/utilities/completion.js +1 -0
  195. package/src/utilities/completion.js.map +1 -0
  196. package/src/utilities/config.js +1 -0
  197. package/src/utilities/config.js.map +1 -0
  198. package/src/utilities/environment-options.js +1 -0
  199. package/src/utilities/environment-options.js.map +1 -0
  200. package/src/utilities/eol.js +1 -0
  201. package/src/utilities/eol.js.map +1 -0
  202. package/src/utilities/error.js +1 -0
  203. package/src/utilities/error.js.map +1 -0
  204. package/src/utilities/find-up.js +1 -0
  205. package/src/utilities/find-up.js.map +1 -0
  206. package/src/utilities/json-file.js +1 -0
  207. package/src/utilities/json-file.js.map +1 -0
  208. package/src/utilities/log-file.js +1 -0
  209. package/src/utilities/log-file.js.map +1 -0
  210. package/src/utilities/memoize.js +1 -0
  211. package/src/utilities/memoize.js.map +1 -0
  212. package/src/utilities/package-manager.d.ts +12 -0
  213. package/src/utilities/package-manager.js +52 -35
  214. package/src/utilities/package-manager.js.map +1 -0
  215. package/src/utilities/package-metadata.js +1 -0
  216. package/src/utilities/package-metadata.js.map +1 -0
  217. package/src/utilities/package-tree.js +1 -0
  218. package/src/utilities/package-tree.js.map +1 -0
  219. package/src/utilities/project.js +1 -0
  220. package/src/utilities/project.js.map +1 -0
  221. package/src/utilities/prompt.js +1 -0
  222. package/src/utilities/prompt.js.map +1 -0
  223. package/src/utilities/tty.js +1 -0
  224. package/src/utilities/tty.js.map +1 -0
  225. package/src/utilities/version.js +2 -1
  226. package/src/utilities/version.js.map +1 -0
package/lib/cli/index.js CHANGED
@@ -106,3 +106,4 @@ async function default_1(options) {
106
106
  await loggerFinished;
107
107
  }
108
108
  }
109
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}
Binary file
@@ -51,7 +51,6 @@
51
51
  "type": "string",
52
52
  "enum": [
53
53
  "npm",
54
- "cnpm",
55
54
  "yarn",
56
55
  "pnpm",
57
56
  "bun"
@@ -118,7 +117,6 @@
118
117
  "type": "string",
119
118
  "enum": [
120
119
  "npm",
121
- "cnpm",
122
120
  "yarn",
123
121
  "pnpm",
124
122
  "bun"
@@ -1007,7 +1005,8 @@
1007
1005
  "css",
1008
1006
  "scss",
1009
1007
  "sass",
1010
- "less"
1008
+ "less",
1009
+ "tailwind"
1011
1010
  ]
1012
1011
  },
1013
1012
  "skipTests": {
@@ -1016,6 +1015,15 @@
1016
1015
  "default": false,
1017
1016
  "alias": "S"
1018
1017
  },
1018
+ "testRunner": {
1019
+ "description": "The unit testing runner to use.",
1020
+ "type": "string",
1021
+ "enum": [
1022
+ "vitest",
1023
+ "karma"
1024
+ ],
1025
+ "default": "vitest"
1026
+ },
1019
1027
  "skipPackageJson": {
1020
1028
  "type": "boolean",
1021
1029
  "default": false,
@@ -1049,7 +1057,16 @@
1049
1057
  "zoneless": {
1050
1058
  "description": "Generate an application that does not use `zone.js`.",
1051
1059
  "type": "boolean",
1052
- "default": false
1060
+ "default": true
1061
+ },
1062
+ "fileNameStyleGuide": {
1063
+ "type": "string",
1064
+ "enum": [
1065
+ "2016",
1066
+ "2025"
1067
+ ],
1068
+ "default": "2025",
1069
+ "description": "The file naming convention to use for generated files. The '2025' style guide (default) uses a concise format (e.g., `app.ts` for the root component), while the '2016' style guide includes the type in the file name (e.g., `app.component.ts`). For more information, see the Angular Style Guide (https://angular.dev/style-guide)."
1053
1070
  }
1054
1071
  }
1055
1072
  },
@@ -1197,6 +1214,11 @@
1197
1214
  "type": "string",
1198
1215
  "description": "Append a custom type to the component's filename. For example, if you set the type to `container`, the file will be named `my-component.container.ts`."
1199
1216
  },
1217
+ "addTypeToClassName": {
1218
+ "type": "boolean",
1219
+ "default": true,
1220
+ "description": "When true, the 'type' option will be appended to the generated class name. When false, only the file name will include the type."
1221
+ },
1200
1222
  "skipTests": {
1201
1223
  "type": "boolean",
1202
1224
  "description": "Skip the generation of unit test files `spec.ts`.",
@@ -1326,6 +1348,11 @@
1326
1348
  "type": {
1327
1349
  "type": "string",
1328
1350
  "description": "Append a custom type to the directive's filename. For example, if you set the type to `directive`, the file will be named `example.directive.ts`."
1351
+ },
1352
+ "addTypeToClassName": {
1353
+ "type": "boolean",
1354
+ "default": true,
1355
+ "description": "When true, the 'type' option will be appended to the generated class name. When false, only the file name will include the type."
1329
1356
  }
1330
1357
  }
1331
1358
  },
@@ -1769,7 +1796,8 @@
1769
1796
  "css",
1770
1797
  "scss",
1771
1798
  "sass",
1772
- "less"
1799
+ "less",
1800
+ "tailwind"
1773
1801
  ]
1774
1802
  },
1775
1803
  "skipTests": {
@@ -1778,6 +1806,15 @@
1778
1806
  "default": false,
1779
1807
  "alias": "S"
1780
1808
  },
1809
+ "testRunner": {
1810
+ "description": "The unit testing runner to use.",
1811
+ "type": "string",
1812
+ "enum": [
1813
+ "vitest",
1814
+ "karma"
1815
+ ],
1816
+ "default": "vitest"
1817
+ },
1781
1818
  "createApplication": {
1782
1819
  "description": "Create a new initial application project in the new workspace. When false, creates an empty workspace with no initial application. You can then use the `ng generate application` command to create applications in the `projects` directory.",
1783
1820
  "type": "boolean",
@@ -1800,7 +1837,6 @@
1800
1837
  "npm",
1801
1838
  "yarn",
1802
1839
  "pnpm",
1803
- "cnpm",
1804
1840
  "bun"
1805
1841
  ]
1806
1842
  },
@@ -1830,9 +1866,19 @@
1830
1866
  "claude",
1831
1867
  "cursor",
1832
1868
  "jetbrains",
1833
- "windsurf"
1869
+ "windsurf",
1870
+ "agents"
1834
1871
  ]
1835
1872
  }
1873
+ },
1874
+ "fileNameStyleGuide": {
1875
+ "type": "string",
1876
+ "enum": [
1877
+ "2016",
1878
+ "2025"
1879
+ ],
1880
+ "default": "2025",
1881
+ "description": "The file naming convention to use for generated files. The '2025' style guide (default) uses a concise format (e.g., `app.ts` for the root component), while the '2016' style guide includes the type in the file name (e.g., `app.component.ts`). For more information, see the Angular Style Guide (https://angular.dev/style-guide)."
1836
1882
  }
1837
1883
  }
1838
1884
  },
@@ -1934,6 +1980,11 @@
1934
1980
  "type": {
1935
1981
  "type": "string",
1936
1982
  "description": "Append a custom type to the service's filename. For example, if you set the type to `service`, the file will be named `my-service.service.ts`."
1983
+ },
1984
+ "addTypeToClassName": {
1985
+ "type": "boolean",
1986
+ "default": true,
1987
+ "description": "When true, the 'type' option will be appended to the generated class name. When false, only the file name will include the type."
1937
1988
  }
1938
1989
  }
1939
1990
  },
@@ -1981,7 +2032,7 @@
1981
2032
  "properties": {
1982
2033
  "assets": {
1983
2034
  "type": "array",
1984
- "description": "List of static application assets.",
2035
+ "description": "Define the assets to be copied to the output directory. These assets are copied as-is without any further processing or hashing.",
1985
2036
  "default": [],
1986
2037
  "items": {
1987
2038
  "$ref": "#/definitions/AngularBuildBuildersApplicationSchema/definitions/assetPattern"
@@ -2433,7 +2484,7 @@
2433
2484
  },
2434
2485
  "outputHashing": {
2435
2486
  "type": "string",
2436
- "description": "Define the output filename cache-busting hashing mode.",
2487
+ "description": "Define the output filename cache-busting hashing mode.\n\n- `none`: No hashing.\n- `all`: Hash for all output bundles. \n- `media`: Hash for all output media (e.g., images, fonts, etc. that are referenced in CSS files).\n- `bundles`: Hash for output of lazy and main bundles.",
2437
2488
  "default": "none",
2438
2489
  "enum": [
2439
2490
  "none",
@@ -2770,7 +2821,7 @@
2770
2821
  "properties": {
2771
2822
  "assets": {
2772
2823
  "type": "array",
2773
- "description": "List of static application assets.",
2824
+ "description": "Define the assets to be copied to the output directory. These assets are copied as-is without any further processing or hashing.",
2774
2825
  "default": [],
2775
2826
  "items": {
2776
2827
  "$ref": "#/definitions/AngularDevkitBuildAngularBuildersBrowserSchema/definitions/assetPattern"
@@ -3092,7 +3143,7 @@
3092
3143
  },
3093
3144
  "outputHashing": {
3094
3145
  "type": "string",
3095
- "description": "Define the output filename cache-busting hashing mode.",
3146
+ "description": "Define the output filename cache-busting hashing mode.\n\n- `none`: No hashing.\n- `all`: Hash for all output bundles. \n- `media`: Hash for all output media (e.g., images, fonts, etc. that are referenced in CSS files).\n- `bundles`: Hash for output of lazy and main bundles.",
3096
3147
  "default": "none",
3097
3148
  "enum": [
3098
3149
  "none",
@@ -3945,6 +3996,13 @@
3945
3996
  }
3946
3997
  ]
3947
3998
  },
3999
+ "define": {
4000
+ "description": "Defines global identifiers that will be replaced with a specified constant value when found in any JavaScript or TypeScript code including libraries. The value will be used directly. String values must be put in quotes. Identifiers within Angular metadata such as Component Decorators will not be replaced.",
4001
+ "type": "object",
4002
+ "additionalProperties": {
4003
+ "type": "string"
4004
+ }
4005
+ },
3948
4006
  "headers": {
3949
4007
  "type": "object",
3950
4008
  "description": "Custom HTTP headers to be added to all responses.",
@@ -4272,76 +4330,114 @@
4272
4330
  "properties": {
4273
4331
  "buildTarget": {
4274
4332
  "type": "string",
4275
- "description": "A build builder target to serve in the format of `project:target[:configuration]`. You can also pass in more than one configuration name as a comma-separated list. Example: `project:target:production,staging`.",
4333
+ "description": "Specifies the build target to use for the unit test build in the format `project:target[:configuration]`. This defaults to the `build` target of the current project with the `development` configuration. You can also pass a comma-separated list of configurations. Example: `project:target:production,staging`.",
4276
4334
  "pattern": "^[^:\\s]*:[^:\\s]*(:[^\\s]+)?$"
4277
4335
  },
4278
4336
  "tsConfig": {
4279
4337
  "type": "string",
4280
- "description": "The name of the TypeScript configuration file."
4338
+ "description": "The path to the TypeScript configuration file, relative to the workspace root. Defaults to `tsconfig.spec.json` in the project root if it exists. If not specified and the default does not exist, the `tsConfig` from the specified `buildTarget` will be used."
4281
4339
  },
4282
4340
  "runner": {
4283
4341
  "type": "string",
4284
- "description": "The name of the test runner to use for test execution.",
4342
+ "description": "Specifies the test runner to use for test execution.",
4343
+ "default": "vitest",
4285
4344
  "enum": [
4286
4345
  "karma",
4287
4346
  "vitest"
4288
4347
  ]
4289
4348
  },
4349
+ "runnerConfig": {
4350
+ "type": [
4351
+ "boolean",
4352
+ "string"
4353
+ ],
4354
+ "description": "Specifies the configuration file for the selected test runner. If a string is provided, it will be used as the path to the configuration file. If `true`, the builder will search for a default configuration file (e.g., `vitest.config.ts` or `karma.conf.js`). If `false`, no external configuration file will be used.\\nFor Vitest, this enables advanced options and the use of custom plugins. Please note that while the file is loaded, the Angular team does not provide direct support for its specific contents or any third-party plugins used within it.",
4355
+ "default": false
4356
+ },
4290
4357
  "browsers": {
4291
- "description": "A list of browsers to use for test execution. If undefined, jsdom on Node.js will be used instead of a browser. For Vitest and Karma, browser names ending with 'Headless' (e.g., 'ChromeHeadless') will enable headless mode for that browser.",
4358
+ "description": "Specifies the browsers to use for test execution. When not specified, tests are run in a Node.js environment using jsdom. For both Vitest and Karma, browser names ending with 'Headless' (e.g., 'ChromeHeadless') will enable headless mode.",
4292
4359
  "type": "array",
4293
4360
  "items": {
4294
4361
  "type": "string"
4295
4362
  },
4296
4363
  "minItems": 1
4297
4364
  },
4365
+ "browserViewport": {
4366
+ "description": "Specifies the browser viewport dimensions for browser-based tests in the format `widthxheight`.",
4367
+ "type": "string",
4368
+ "pattern": "^\\d+x\\d+$"
4369
+ },
4298
4370
  "include": {
4299
4371
  "type": "array",
4300
4372
  "items": {
4301
4373
  "type": "string"
4302
4374
  },
4303
4375
  "default": [
4304
- "**/*.spec.ts"
4376
+ "**/*.spec.ts",
4377
+ "**/*.test.ts"
4305
4378
  ],
4306
- "description": "Globs of files to include, relative to project root. \nThere are 2 special cases:\n - when a path to directory is provided, all spec files ending \".spec.@(ts|tsx)\" will be included\n - when a path to a file is provided, and a matching spec file exists it will be included instead."
4379
+ "description": "Specifies glob patterns of files to include for testing, relative to the project root. This option also has special handling for directory paths (includes all test files within) and file paths (includes the corresponding test file if one exists)."
4307
4380
  },
4308
4381
  "exclude": {
4309
4382
  "type": "array",
4310
4383
  "items": {
4311
4384
  "type": "string"
4312
4385
  },
4313
- "default": [],
4314
- "description": "Globs of files to exclude, relative to the project root."
4386
+ "description": "Specifies glob patterns of files to exclude from testing, relative to the project root."
4387
+ },
4388
+ "filter": {
4389
+ "type": "string",
4390
+ "description": "Specifies a regular expression pattern to match against test suite and test names. Only tests with a name matching the pattern will be executed. For example, `^App` will run only tests in suites beginning with 'App'."
4315
4391
  },
4316
4392
  "watch": {
4317
4393
  "type": "boolean",
4318
- "description": "Re-run tests when source files change. Defaults to `true` in TTY environments and `false` otherwise."
4394
+ "description": "Enables watch mode, which re-runs tests when source files change. Defaults to `true` in TTY environments and `false` otherwise."
4319
4395
  },
4320
4396
  "debug": {
4321
4397
  "type": "boolean",
4322
- "description": "Initialize the test runner to support using the Node Inspector for test debugging.",
4398
+ "description": "Enables debugging mode for tests, allowing the use of the Node Inspector.",
4323
4399
  "default": false
4324
4400
  },
4325
- "codeCoverage": {
4401
+ "ui": {
4326
4402
  "type": "boolean",
4327
- "description": "Output a code coverage report.",
4403
+ "description": "Enables the Vitest UI for interactive test execution. This option is only available for the Vitest runner.",
4328
4404
  "default": false
4329
4405
  },
4330
- "codeCoverageExclude": {
4406
+ "coverage": {
4407
+ "type": "boolean",
4408
+ "description": "Enables coverage reporting for tests.",
4409
+ "default": false
4410
+ },
4411
+ "coverageInclude": {
4331
4412
  "type": "array",
4332
- "description": "Globs to exclude from code coverage.",
4413
+ "description": "Specifies glob patterns of files to include in the coverage report.",
4333
4414
  "items": {
4334
4415
  "type": "string"
4335
- },
4336
- "default": []
4416
+ }
4337
4417
  },
4338
- "codeCoverageReporters": {
4418
+ "coverageExclude": {
4339
4419
  "type": "array",
4340
- "description": "Reporters to use for code coverage results.",
4420
+ "description": "Specifies glob patterns of files to exclude from the coverage report.",
4421
+ "items": {
4422
+ "type": "string"
4423
+ }
4424
+ },
4425
+ "coverageReporters": {
4426
+ "type": "array",
4427
+ "description": "Specifies the reporters to use for coverage results. Each reporter can be a string representing its name, or a tuple containing the name and an options object. Built-in reporters include 'html', 'lcov', 'lcovonly', 'text', 'text-summary', 'cobertura', 'json', and 'json-summary'.",
4341
4428
  "items": {
4342
4429
  "oneOf": [
4343
4430
  {
4344
- "$ref": "#/definitions/AngularBuildBuildersUnitTestSchema/definitions/coverage-reporters"
4431
+ "enum": [
4432
+ "html",
4433
+ "lcov",
4434
+ "lcovonly",
4435
+ "text",
4436
+ "text-summary",
4437
+ "cobertura",
4438
+ "json",
4439
+ "json-summary"
4440
+ ]
4345
4441
  },
4346
4442
  {
4347
4443
  "type": "array",
@@ -4349,7 +4445,16 @@
4349
4445
  "maxItems": 2,
4350
4446
  "items": [
4351
4447
  {
4352
- "$ref": "#/definitions/AngularBuildBuildersUnitTestSchema/definitions/coverage-reporters"
4448
+ "enum": [
4449
+ "html",
4450
+ "lcov",
4451
+ "lcovonly",
4452
+ "text",
4453
+ "text-summary",
4454
+ "cobertura",
4455
+ "json",
4456
+ "json-summary"
4457
+ ]
4353
4458
  },
4354
4459
  {
4355
4460
  "type": "object"
@@ -4359,16 +4464,139 @@
4359
4464
  ]
4360
4465
  }
4361
4466
  },
4467
+ "coverageThresholds": {
4468
+ "type": "object",
4469
+ "description": "Specifies minimum coverage thresholds that must be met. If thresholds are not met, the builder will exit with an error.",
4470
+ "properties": {
4471
+ "perFile": {
4472
+ "type": "boolean",
4473
+ "description": "When true, thresholds are enforced for each file individually."
4474
+ },
4475
+ "statements": {
4476
+ "type": "number",
4477
+ "description": "Minimum percentage of statements covered."
4478
+ },
4479
+ "branches": {
4480
+ "type": "number",
4481
+ "description": "Minimum percentage of branches covered."
4482
+ },
4483
+ "functions": {
4484
+ "type": "number",
4485
+ "description": "Minimum percentage of functions covered."
4486
+ },
4487
+ "lines": {
4488
+ "type": "number",
4489
+ "description": "Minimum percentage of lines covered."
4490
+ }
4491
+ },
4492
+ "additionalProperties": false
4493
+ },
4494
+ "coverageWatermarks": {
4495
+ "type": "object",
4496
+ "description": "Specifies coverage watermarks for the HTML reporter. These determine the color coding for high, medium, and low coverage.",
4497
+ "properties": {
4498
+ "statements": {
4499
+ "type": "array",
4500
+ "description": "The high and low watermarks for statements coverage. `[low, high]`",
4501
+ "items": {
4502
+ "type": "number"
4503
+ },
4504
+ "minItems": 2,
4505
+ "maxItems": 2
4506
+ },
4507
+ "branches": {
4508
+ "type": "array",
4509
+ "description": "The high and low watermarks for branches coverage. `[low, high]`",
4510
+ "items": {
4511
+ "type": "number"
4512
+ },
4513
+ "minItems": 2,
4514
+ "maxItems": 2
4515
+ },
4516
+ "functions": {
4517
+ "type": "array",
4518
+ "description": "The high and low watermarks for functions coverage. `[low, high]`",
4519
+ "items": {
4520
+ "type": "number"
4521
+ },
4522
+ "minItems": 2,
4523
+ "maxItems": 2
4524
+ },
4525
+ "lines": {
4526
+ "type": "array",
4527
+ "description": "The high and low watermarks for lines coverage. `[low, high]`",
4528
+ "items": {
4529
+ "type": "number"
4530
+ },
4531
+ "minItems": 2,
4532
+ "maxItems": 2
4533
+ }
4534
+ },
4535
+ "additionalProperties": false
4536
+ },
4362
4537
  "reporters": {
4363
4538
  "type": "array",
4364
- "description": "Test runner reporters to use. Directly passed to the test runner.",
4539
+ "description": "Specifies the reporters to use during test execution. Each reporter can be a string representing its name, or a tuple containing the name and an options object. Built-in reporters include 'default', 'verbose', 'dots', 'json', 'junit', 'tap', 'tap-flat', and 'html'. You can also provide a path to a custom reporter.",
4365
4540
  "items": {
4366
- "type": "string"
4541
+ "oneOf": [
4542
+ {
4543
+ "anyOf": [
4544
+ {
4545
+ "type": "string"
4546
+ },
4547
+ {
4548
+ "enum": [
4549
+ "default",
4550
+ "verbose",
4551
+ "dots",
4552
+ "json",
4553
+ "junit",
4554
+ "tap",
4555
+ "tap-flat",
4556
+ "html"
4557
+ ]
4558
+ }
4559
+ ]
4560
+ },
4561
+ {
4562
+ "type": "array",
4563
+ "minItems": 1,
4564
+ "maxItems": 2,
4565
+ "items": [
4566
+ {
4567
+ "anyOf": [
4568
+ {
4569
+ "type": "string"
4570
+ },
4571
+ {
4572
+ "enum": [
4573
+ "default",
4574
+ "verbose",
4575
+ "dots",
4576
+ "json",
4577
+ "junit",
4578
+ "tap",
4579
+ "tap-flat",
4580
+ "html"
4581
+ ]
4582
+ }
4583
+ ]
4584
+ },
4585
+ {
4586
+ "type": "object"
4587
+ }
4588
+ ]
4589
+ }
4590
+ ]
4367
4591
  }
4368
4592
  },
4593
+ "outputFile": {
4594
+ "type": "string",
4595
+ "description": "Specifies a file path for the test report, applying only to the first reporter. To configure output files for multiple reporters, use the tuple format `['reporter-name', { outputFile: '...' }]` within the `reporters` option. When not provided, output is written to the console."
4596
+ },
4369
4597
  "providersFile": {
4370
4598
  "type": "string",
4371
- "description": "TypeScript file that exports an array of Angular providers to use during test execution. The array must be a default export.",
4599
+ "description": "Specifies the path to a TypeScript file that provides an array of Angular providers for the test environment. The file must contain a default export of the provider array.",
4372
4600
  "minLength": 1
4373
4601
  },
4374
4602
  "setupFiles": {
@@ -4376,28 +4604,25 @@
4376
4604
  "items": {
4377
4605
  "type": "string"
4378
4606
  },
4379
- "description": "A list of global setup and configuration files that are included before the test files. The application's polyfills are always included before these files. The Angular Testbed is also initialized prior to the execution of these files."
4607
+ "description": "A list of paths to global setup files that are executed before the test files. The application's polyfills and the Angular TestBed are always initialized before these files."
4380
4608
  },
4381
4609
  "progress": {
4382
4610
  "type": "boolean",
4383
- "description": "Log progress to the console while building. Defaults to the build target's progress value."
4611
+ "description": "Shows build progress information in the console. Defaults to the `progress` setting of the specified `buildTarget`."
4612
+ },
4613
+ "listTests": {
4614
+ "type": "boolean",
4615
+ "description": "Lists all discovered test files and exits the process without building or executing the tests.",
4616
+ "default": false
4617
+ },
4618
+ "dumpVirtualFiles": {
4619
+ "type": "boolean",
4620
+ "description": "Dumps build output files to the `.angular/cache` directory for debugging purposes.",
4621
+ "default": false,
4622
+ "visible": false
4384
4623
  }
4385
4624
  },
4386
- "additionalProperties": false,
4387
- "definitions": {
4388
- "coverage-reporters": {
4389
- "enum": [
4390
- "html",
4391
- "lcov",
4392
- "lcovonly",
4393
- "text",
4394
- "text-summary",
4395
- "cobertura",
4396
- "json",
4397
- "json-summary"
4398
- ]
4399
- }
4400
- }
4625
+ "additionalProperties": false
4401
4626
  },
4402
4627
  "AngularBuildBuildersKarmaSchema": {
4403
4628
  "title": "Karma Target",