@depup/angular__cli 21.2.1-depup.1

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 (364) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +36 -0
  3. package/bin/bootstrap.js +33 -0
  4. package/bin/ng.js +71 -0
  5. package/bin/package.json +3 -0
  6. package/changes.json +30 -0
  7. package/lib/cli/index.d.ts +11 -0
  8. package/lib/cli/index.js +109 -0
  9. package/lib/cli/index.js.map +1 -0
  10. package/lib/code-examples.db +0 -0
  11. package/lib/config/schema.json +6150 -0
  12. package/lib/config/workspace-schema.d.ts +1025 -0
  13. package/lib/config/workspace-schema.js +133 -0
  14. package/lib/config/workspace-schema.js.map +1 -0
  15. package/lib/init.d.ts +8 -0
  16. package/lib/init.js +162 -0
  17. package/lib/init.js.map +1 -0
  18. package/package.json +103 -0
  19. package/src/analytics/analytics-collector.d.ts +35 -0
  20. package/src/analytics/analytics-collector.js +195 -0
  21. package/src/analytics/analytics-collector.js.map +1 -0
  22. package/src/analytics/analytics-parameters.d.ts +101 -0
  23. package/src/analytics/analytics-parameters.js +107 -0
  24. package/src/analytics/analytics-parameters.js.map +1 -0
  25. package/src/analytics/analytics.d.ts +27 -0
  26. package/src/analytics/analytics.js +183 -0
  27. package/src/analytics/analytics.js.map +1 -0
  28. package/src/command-builder/architect-base-command-module.d.ts +30 -0
  29. package/src/command-builder/architect-base-command-module.js +244 -0
  30. package/src/command-builder/architect-base-command-module.js.map +1 -0
  31. package/src/command-builder/architect-command-module.d.ts +28 -0
  32. package/src/command-builder/architect-command-module.js +218 -0
  33. package/src/command-builder/architect-command-module.js.map +1 -0
  34. package/src/command-builder/command-module.d.ts +73 -0
  35. package/src/command-builder/command-module.js +245 -0
  36. package/src/command-builder/command-module.js.map +1 -0
  37. package/src/command-builder/command-runner.d.ts +9 -0
  38. package/src/command-builder/command-runner.js +195 -0
  39. package/src/command-builder/command-runner.js.map +1 -0
  40. package/src/command-builder/definitions.d.ts +41 -0
  41. package/src/command-builder/definitions.js +20 -0
  42. package/src/command-builder/definitions.js.map +1 -0
  43. package/src/command-builder/schematics-command-module.d.ts +41 -0
  44. package/src/command-builder/schematics-command-module.js +408 -0
  45. package/src/command-builder/schematics-command-module.js.map +1 -0
  46. package/src/command-builder/utilities/command.d.ts +13 -0
  47. package/src/command-builder/utilities/command.js +39 -0
  48. package/src/command-builder/utilities/command.js.map +1 -0
  49. package/src/command-builder/utilities/json-help.d.ts +37 -0
  50. package/src/command-builder/utilities/json-help.js +92 -0
  51. package/src/command-builder/utilities/json-help.js.map +1 -0
  52. package/src/command-builder/utilities/json-schema.d.ts +64 -0
  53. package/src/command-builder/utilities/json-schema.js +349 -0
  54. package/src/command-builder/utilities/json-schema.js.map +1 -0
  55. package/src/command-builder/utilities/normalize-options-middleware.d.ts +18 -0
  56. package/src/command-builder/utilities/normalize-options-middleware.js +37 -0
  57. package/src/command-builder/utilities/normalize-options-middleware.js.map +1 -0
  58. package/src/command-builder/utilities/schematic-engine-host.d.ts +15 -0
  59. package/src/command-builder/utilities/schematic-engine-host.js +179 -0
  60. package/src/command-builder/utilities/schematic-engine-host.js.map +1 -0
  61. package/src/command-builder/utilities/schematic-workflow.d.ts +14 -0
  62. package/src/command-builder/utilities/schematic-workflow.js +70 -0
  63. package/src/command-builder/utilities/schematic-workflow.js.map +1 -0
  64. package/src/commands/add/cli.d.ts +38 -0
  65. package/src/commands/add/cli.js +623 -0
  66. package/src/commands/add/cli.js.map +1 -0
  67. package/src/commands/add/long-description.md +7 -0
  68. package/src/commands/analytics/cli.d.ts +16 -0
  69. package/src/commands/analytics/cli.js +34 -0
  70. package/src/commands/analytics/cli.js.map +1 -0
  71. package/src/commands/analytics/info/cli.d.ts +16 -0
  72. package/src/commands/analytics/info/cli.js +25 -0
  73. package/src/commands/analytics/info/cli.js.map +1 -0
  74. package/src/commands/analytics/long-description.md +20 -0
  75. package/src/commands/analytics/settings/cli.d.ts +35 -0
  76. package/src/commands/analytics/settings/cli.js +54 -0
  77. package/src/commands/analytics/settings/cli.js.map +1 -0
  78. package/src/commands/build/cli.d.ts +16 -0
  79. package/src/commands/build/cli.js +21 -0
  80. package/src/commands/build/cli.js.map +1 -0
  81. package/src/commands/build/long-description.md +18 -0
  82. package/src/commands/cache/clean/cli.d.ts +17 -0
  83. package/src/commands/cache/clean/cli.js +32 -0
  84. package/src/commands/cache/clean/cli.js.map +1 -0
  85. package/src/commands/cache/cli.d.ts +17 -0
  86. package/src/commands/cache/cli.js +36 -0
  87. package/src/commands/cache/cli.js.map +1 -0
  88. package/src/commands/cache/info/cli.d.ts +20 -0
  89. package/src/commands/cache/info/cli.js +139 -0
  90. package/src/commands/cache/info/cli.js.map +1 -0
  91. package/src/commands/cache/long-description.md +53 -0
  92. package/src/commands/cache/settings/cli.d.ts +27 -0
  93. package/src/commands/cache/settings/cli.js +41 -0
  94. package/src/commands/cache/settings/cli.js.map +1 -0
  95. package/src/commands/cache/utilities.d.ts +11 -0
  96. package/src/commands/cache/utilities.js +47 -0
  97. package/src/commands/cache/utilities.js.map +1 -0
  98. package/src/commands/command-config.d.ts +17 -0
  99. package/src/commands/command-config.js +116 -0
  100. package/src/commands/command-config.js.map +1 -0
  101. package/src/commands/completion/cli.d.ts +16 -0
  102. package/src/commands/completion/cli.js +61 -0
  103. package/src/commands/completion/cli.js.map +1 -0
  104. package/src/commands/completion/long-description.md +67 -0
  105. package/src/commands/config/cli.d.ts +24 -0
  106. package/src/commands/config/cli.js +150 -0
  107. package/src/commands/config/cli.js.map +1 -0
  108. package/src/commands/config/long-description.md +13 -0
  109. package/src/commands/deploy/cli.d.ts +17 -0
  110. package/src/commands/deploy/cli.js +38 -0
  111. package/src/commands/deploy/cli.js.map +1 -0
  112. package/src/commands/deploy/long-description.md +22 -0
  113. package/src/commands/e2e/cli.d.ts +18 -0
  114. package/src/commands/e2e/cli.js +42 -0
  115. package/src/commands/e2e/cli.js.map +1 -0
  116. package/src/commands/extract-i18n/cli.d.ts +17 -0
  117. package/src/commands/extract-i18n/cli.js +48 -0
  118. package/src/commands/extract-i18n/cli.js.map +1 -0
  119. package/src/commands/generate/cli.d.ts +47 -0
  120. package/src/commands/generate/cli.js +189 -0
  121. package/src/commands/generate/cli.js.map +1 -0
  122. package/src/commands/lint/cli.d.ts +17 -0
  123. package/src/commands/lint/cli.js +25 -0
  124. package/src/commands/lint/cli.js.map +1 -0
  125. package/src/commands/lint/long-description.md +20 -0
  126. package/src/commands/make-this-awesome/cli.d.ts +17 -0
  127. package/src/commands/make-this-awesome/cli.js +36 -0
  128. package/src/commands/make-this-awesome/cli.js.map +1 -0
  129. package/src/commands/mcp/cli.d.ts +20 -0
  130. package/src/commands/mcp/cli.js +74 -0
  131. package/src/commands/mcp/cli.js.map +1 -0
  132. package/src/commands/mcp/constants.d.ts +10 -0
  133. package/src/commands/mcp/constants.js +16 -0
  134. package/src/commands/mcp/constants.js.map +1 -0
  135. package/src/commands/mcp/devserver.d.ts +85 -0
  136. package/src/commands/mcp/devserver.js +112 -0
  137. package/src/commands/mcp/devserver.js.map +1 -0
  138. package/src/commands/mcp/host.d.ts +97 -0
  139. package/src/commands/mcp/host.js +118 -0
  140. package/src/commands/mcp/host.js.map +1 -0
  141. package/src/commands/mcp/mcp-server.d.ts +192 -0
  142. package/src/commands/mcp/mcp-server.js +155 -0
  143. package/src/commands/mcp/mcp-server.js.map +1 -0
  144. package/src/commands/mcp/resources/ai-tutor.md +824 -0
  145. package/src/commands/mcp/resources/best-practices.md +54 -0
  146. package/src/commands/mcp/resources/instructions.d.ts +9 -0
  147. package/src/commands/mcp/resources/instructions.js +26 -0
  148. package/src/commands/mcp/resources/instructions.js.map +1 -0
  149. package/src/commands/mcp/shared-options.d.ts +12 -0
  150. package/src/commands/mcp/shared-options.js +22 -0
  151. package/src/commands/mcp/shared-options.js.map +1 -0
  152. package/src/commands/mcp/tools/ai-tutor.d.ts +12 -0
  153. package/src/commands/mcp/tools/ai-tutor.js +59 -0
  154. package/src/commands/mcp/tools/ai-tutor.js.map +1 -0
  155. package/src/commands/mcp/tools/best-practices.d.ts +13 -0
  156. package/src/commands/mcp/tools/best-practices.js +187 -0
  157. package/src/commands/mcp/tools/best-practices.js.map +1 -0
  158. package/src/commands/mcp/tools/build.d.ts +37 -0
  159. package/src/commands/mcp/tools/build.js +89 -0
  160. package/src/commands/mcp/tools/build.js.map +1 -0
  161. package/src/commands/mcp/tools/devserver/devserver-start.d.ts +31 -0
  162. package/src/commands/mcp/tools/devserver/devserver-start.js +91 -0
  163. package/src/commands/mcp/tools/devserver/devserver-start.js.map +1 -0
  164. package/src/commands/mcp/tools/devserver/devserver-stop.d.ts +31 -0
  165. package/src/commands/mcp/tools/devserver/devserver-stop.js +68 -0
  166. package/src/commands/mcp/tools/devserver/devserver-stop.js.map +1 -0
  167. package/src/commands/mcp/tools/devserver/devserver-wait-for-build.d.ts +41 -0
  168. package/src/commands/mcp/tools/devserver/devserver-wait-for-build.js +104 -0
  169. package/src/commands/mcp/tools/devserver/devserver-wait-for-build.js.map +1 -0
  170. package/src/commands/mcp/tools/doc-search.d.ts +21 -0
  171. package/src/commands/mcp/tools/doc-search.js +324 -0
  172. package/src/commands/mcp/tools/doc-search.js.map +1 -0
  173. package/src/commands/mcp/tools/e2e.d.ts +44 -0
  174. package/src/commands/mcp/tools/e2e.js +87 -0
  175. package/src/commands/mcp/tools/e2e.js.map +1 -0
  176. package/src/commands/mcp/tools/examples/database-discovery.d.ts +34 -0
  177. package/src/commands/mcp/tools/examples/database-discovery.js +87 -0
  178. package/src/commands/mcp/tools/examples/database-discovery.js.map +1 -0
  179. package/src/commands/mcp/tools/examples/database.d.ts +35 -0
  180. package/src/commands/mcp/tools/examples/database.js +125 -0
  181. package/src/commands/mcp/tools/examples/database.js.map +1 -0
  182. package/src/commands/mcp/tools/examples/index.d.ts +26 -0
  183. package/src/commands/mcp/tools/examples/index.js +149 -0
  184. package/src/commands/mcp/tools/examples/index.js.map +1 -0
  185. package/src/commands/mcp/tools/examples/query-escaper.d.ts +20 -0
  186. package/src/commands/mcp/tools/examples/query-escaper.js +68 -0
  187. package/src/commands/mcp/tools/examples/query-escaper.js.map +1 -0
  188. package/src/commands/mcp/tools/examples/runtime-database.d.ts +10 -0
  189. package/src/commands/mcp/tools/examples/runtime-database.js +192 -0
  190. package/src/commands/mcp/tools/examples/runtime-database.js.map +1 -0
  191. package/src/commands/mcp/tools/examples/schemas.d.ts +29 -0
  192. package/src/commands/mcp/tools/examples/schemas.js +101 -0
  193. package/src/commands/mcp/tools/examples/schemas.js.map +1 -0
  194. package/src/commands/mcp/tools/examples/utils.d.ts +14 -0
  195. package/src/commands/mcp/tools/examples/utils.js +31 -0
  196. package/src/commands/mcp/tools/examples/utils.js.map +1 -0
  197. package/src/commands/mcp/tools/modernize.d.ts +43 -0
  198. package/src/commands/mcp/tools/modernize.js +165 -0
  199. package/src/commands/mcp/tools/modernize.js.map +1 -0
  200. package/src/commands/mcp/tools/onpush-zoneless-migration/analyze-for-unsupported-zone-uses.d.ts +17 -0
  201. package/src/commands/mcp/tools/onpush-zoneless-migration/analyze-for-unsupported-zone-uses.js +62 -0
  202. package/src/commands/mcp/tools/onpush-zoneless-migration/analyze-for-unsupported-zone-uses.js.map +1 -0
  203. package/src/commands/mcp/tools/onpush-zoneless-migration/migrate-single-file.d.ts +12 -0
  204. package/src/commands/mcp/tools/onpush-zoneless-migration/migrate-single-file.js +73 -0
  205. package/src/commands/mcp/tools/onpush-zoneless-migration/migrate-single-file.js.map +1 -0
  206. package/src/commands/mcp/tools/onpush-zoneless-migration/migrate-test-file.d.ts +11 -0
  207. package/src/commands/mcp/tools/onpush-zoneless-migration/migrate-test-file.js +60 -0
  208. package/src/commands/mcp/tools/onpush-zoneless-migration/migrate-test-file.js.map +1 -0
  209. package/src/commands/mcp/tools/onpush-zoneless-migration/prompts.d.ts +15 -0
  210. package/src/commands/mcp/tools/onpush-zoneless-migration/prompts.js +238 -0
  211. package/src/commands/mcp/tools/onpush-zoneless-migration/prompts.js.map +1 -0
  212. package/src/commands/mcp/tools/onpush-zoneless-migration/send-debug-message.d.ts +10 -0
  213. package/src/commands/mcp/tools/onpush-zoneless-migration/send-debug-message.js +20 -0
  214. package/src/commands/mcp/tools/onpush-zoneless-migration/send-debug-message.js.map +1 -0
  215. package/src/commands/mcp/tools/onpush-zoneless-migration/ts-utils.d.ts +35 -0
  216. package/src/commands/mcp/tools/onpush-zoneless-migration/ts-utils.js +136 -0
  217. package/src/commands/mcp/tools/onpush-zoneless-migration/ts-utils.js.map +1 -0
  218. package/src/commands/mcp/tools/onpush-zoneless-migration/types.d.ts +13 -0
  219. package/src/commands/mcp/tools/onpush-zoneless-migration/types.js +10 -0
  220. package/src/commands/mcp/tools/onpush-zoneless-migration/types.js.map +1 -0
  221. package/src/commands/mcp/tools/onpush-zoneless-migration/zoneless-migration.d.ts +16 -0
  222. package/src/commands/mcp/tools/onpush-zoneless-migration/zoneless-migration.js +224 -0
  223. package/src/commands/mcp/tools/onpush-zoneless-migration/zoneless-migration.js.map +1 -0
  224. package/src/commands/mcp/tools/projects.d.ts +47 -0
  225. package/src/commands/mcp/tools/projects.js +523 -0
  226. package/src/commands/mcp/tools/projects.js.map +1 -0
  227. package/src/commands/mcp/tools/test.d.ts +35 -0
  228. package/src/commands/mcp/tools/test.js +79 -0
  229. package/src/commands/mcp/tools/test.js.map +1 -0
  230. package/src/commands/mcp/tools/tool-registry.d.ts +39 -0
  231. package/src/commands/mcp/tools/tool-registry.js +35 -0
  232. package/src/commands/mcp/tools/tool-registry.js.map +1 -0
  233. package/src/commands/mcp/utils.d.ts +25 -0
  234. package/src/commands/mcp/utils.js +44 -0
  235. package/src/commands/mcp/utils.js.map +1 -0
  236. package/src/commands/mcp/workspace-utils.d.ts +53 -0
  237. package/src/commands/mcp/workspace-utils.js +138 -0
  238. package/src/commands/mcp/workspace-utils.js.map +1 -0
  239. package/src/commands/new/cli.d.ts +27 -0
  240. package/src/commands/new/cli.js +76 -0
  241. package/src/commands/new/cli.js.map +1 -0
  242. package/src/commands/new/long-description.md +15 -0
  243. package/src/commands/run/cli.d.ts +25 -0
  244. package/src/commands/run/cli.js +89 -0
  245. package/src/commands/run/cli.js.map +1 -0
  246. package/src/commands/run/long-description.md +10 -0
  247. package/src/commands/serve/cli.d.ts +16 -0
  248. package/src/commands/serve/cli.js +20 -0
  249. package/src/commands/serve/cli.js.map +1 -0
  250. package/src/commands/test/cli.d.ts +16 -0
  251. package/src/commands/test/cli.js +21 -0
  252. package/src/commands/test/cli.js.map +1 -0
  253. package/src/commands/test/long-description.md +2 -0
  254. package/src/commands/update/cli.d.ts +34 -0
  255. package/src/commands/update/cli.js +531 -0
  256. package/src/commands/update/cli.js.map +1 -0
  257. package/src/commands/update/long-description.md +22 -0
  258. package/src/commands/update/schematic/collection.json +9 -0
  259. package/src/commands/update/schematic/index.d.ts +11 -0
  260. package/src/commands/update/schematic/index.js +715 -0
  261. package/src/commands/update/schematic/index.js.map +1 -0
  262. package/src/commands/update/schematic/schema.d.ts +51 -0
  263. package/src/commands/update/schematic/schema.js +16 -0
  264. package/src/commands/update/schematic/schema.js.map +1 -0
  265. package/src/commands/update/schematic/schema.json +64 -0
  266. package/src/commands/update/utilities/cli-version.d.ts +48 -0
  267. package/src/commands/update/utilities/cli-version.js +196 -0
  268. package/src/commands/update/utilities/cli-version.js.map +1 -0
  269. package/src/commands/update/utilities/constants.d.ts +12 -0
  270. package/src/commands/update/utilities/constants.js +16 -0
  271. package/src/commands/update/utilities/constants.js.map +1 -0
  272. package/src/commands/update/utilities/git.d.ts +36 -0
  273. package/src/commands/update/utilities/git.js +148 -0
  274. package/src/commands/update/utilities/git.js.map +1 -0
  275. package/src/commands/update/utilities/migration.d.ts +32 -0
  276. package/src/commands/update/utilities/migration.js +267 -0
  277. package/src/commands/update/utilities/migration.js.map +1 -0
  278. package/src/commands/version/cli.d.ts +36 -0
  279. package/src/commands/version/cli.js +117 -0
  280. package/src/commands/version/cli.js.map +1 -0
  281. package/src/commands/version/version-info.d.ts +46 -0
  282. package/src/commands/version/version-info.js +107 -0
  283. package/src/commands/version/version-info.js.map +1 -0
  284. package/src/package-managers/discovery.d.ts +23 -0
  285. package/src/package-managers/discovery.js +104 -0
  286. package/src/package-managers/discovery.js.map +1 -0
  287. package/src/package-managers/error.d.ts +43 -0
  288. package/src/package-managers/error.js +41 -0
  289. package/src/package-managers/error.js.map +1 -0
  290. package/src/package-managers/factory.d.ts +30 -0
  291. package/src/package-managers/factory.js +137 -0
  292. package/src/package-managers/factory.js.map +1 -0
  293. package/src/package-managers/host.d.ts +86 -0
  294. package/src/package-managers/host.js +80 -0
  295. package/src/package-managers/host.js.map +1 -0
  296. package/src/package-managers/index.d.ts +13 -0
  297. package/src/package-managers/index.js +17 -0
  298. package/src/package-managers/index.js.map +1 -0
  299. package/src/package-managers/logger.d.ts +27 -0
  300. package/src/package-managers/logger.js +10 -0
  301. package/src/package-managers/logger.js.map +1 -0
  302. package/src/package-managers/package-manager-descriptor.d.ts +245 -0
  303. package/src/package-managers/package-manager-descriptor.js +175 -0
  304. package/src/package-managers/package-manager-descriptor.js.map +1 -0
  305. package/src/package-managers/package-manager.d.ts +191 -0
  306. package/src/package-managers/package-manager.js +496 -0
  307. package/src/package-managers/package-manager.js.map +1 -0
  308. package/src/package-managers/package-metadata.d.ts +91 -0
  309. package/src/package-managers/package-metadata.js +10 -0
  310. package/src/package-managers/package-metadata.js.map +1 -0
  311. package/src/package-managers/package-tree.d.ts +23 -0
  312. package/src/package-managers/package-tree.js +10 -0
  313. package/src/package-managers/package-tree.js.map +1 -0
  314. package/src/package-managers/parsers.d.ts +170 -0
  315. package/src/package-managers/parsers.js +467 -0
  316. package/src/package-managers/parsers.js.map +1 -0
  317. package/src/utilities/color.d.ts +9 -0
  318. package/src/utilities/color.js +28 -0
  319. package/src/utilities/color.js.map +1 -0
  320. package/src/utilities/completion.d.ts +30 -0
  321. package/src/utilities/completion.js +270 -0
  322. package/src/utilities/completion.js.map +1 -0
  323. package/src/utilities/config.d.ts +38 -0
  324. package/src/utilities/config.js +369 -0
  325. package/src/utilities/config.js.map +1 -0
  326. package/src/utilities/environment-options.d.ts +25 -0
  327. package/src/utilities/environment-options.js +60 -0
  328. package/src/utilities/environment-options.js.map +1 -0
  329. package/src/utilities/eol.d.ts +20 -0
  330. package/src/utilities/eol.js +35 -0
  331. package/src/utilities/eol.js.map +1 -0
  332. package/src/utilities/error.d.ts +18 -0
  333. package/src/utilities/error.js +41 -0
  334. package/src/utilities/error.js.map +1 -0
  335. package/src/utilities/find-up.d.ts +21 -0
  336. package/src/utilities/find-up.js +67 -0
  337. package/src/utilities/find-up.js.map +1 -0
  338. package/src/utilities/json-file.d.ts +24 -0
  339. package/src/utilities/json-file.js +179 -0
  340. package/src/utilities/json-file.js.map +1 -0
  341. package/src/utilities/log-file.d.ts +13 -0
  342. package/src/utilities/log-file.js +28 -0
  343. package/src/utilities/log-file.js.map +1 -0
  344. package/src/utilities/memoize.d.ts +15 -0
  345. package/src/utilities/memoize.js +64 -0
  346. package/src/utilities/memoize.js.map +1 -0
  347. package/src/utilities/package-metadata.d.ts +58 -0
  348. package/src/utilities/package-metadata.js +265 -0
  349. package/src/utilities/package-metadata.js.map +1 -0
  350. package/src/utilities/prettier.d.ts +13 -0
  351. package/src/utilities/prettier.js +46 -0
  352. package/src/utilities/prettier.js.map +1 -0
  353. package/src/utilities/project.d.ts +8 -0
  354. package/src/utilities/project.js +81 -0
  355. package/src/utilities/project.js.map +1 -0
  356. package/src/utilities/prompt.d.ts +17 -0
  357. package/src/utilities/prompt.js +90 -0
  358. package/src/utilities/prompt.js.map +1 -0
  359. package/src/utilities/tty.d.ts +16 -0
  360. package/src/utilities/tty.js +23 -0
  361. package/src/utilities/tty.js.map +1 -0
  362. package/src/utilities/version.d.ts +16 -0
  363. package/src/utilities/version.js +26 -0
  364. package/src/utilities/version.js.map +1 -0
@@ -0,0 +1,39 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.dev/license
7
+ */
8
+ import type { McpServer, ToolCallback } from '@modelcontextprotocol/sdk/server/mcp.js';
9
+ import type { ToolAnnotations } from '@modelcontextprotocol/sdk/types';
10
+ import type { ZodRawShape } from 'zod';
11
+ import type { AngularWorkspace } from '../../../utilities/config';
12
+ import type { Devserver } from '../devserver';
13
+ import type { Host } from '../host';
14
+ export interface McpToolContext {
15
+ server: McpServer;
16
+ workspace?: AngularWorkspace;
17
+ logger: {
18
+ warn(text: string): void;
19
+ };
20
+ exampleDatabasePath?: string;
21
+ devservers: Map<string, Devserver>;
22
+ host: Host;
23
+ }
24
+ export type McpToolFactory<TInput extends ZodRawShape> = (context: McpToolContext) => ToolCallback<TInput> | Promise<ToolCallback<TInput>>;
25
+ export interface McpToolDeclaration<TInput extends ZodRawShape, TOutput extends ZodRawShape> {
26
+ name: string;
27
+ title?: string;
28
+ description: string;
29
+ annotations?: ToolAnnotations;
30
+ inputSchema?: TInput;
31
+ outputSchema?: TOutput;
32
+ factory: McpToolFactory<TInput>;
33
+ shouldRegister?: (context: McpToolContext) => boolean | Promise<boolean>;
34
+ isReadOnly?: boolean;
35
+ isLocalOnly?: boolean;
36
+ }
37
+ export type AnyMcpToolDeclaration = McpToolDeclaration<any, any>;
38
+ export declare function declareTool<TInput extends ZodRawShape, TOutput extends ZodRawShape>(declaration: McpToolDeclaration<TInput, TOutput>): McpToolDeclaration<TInput, TOutput>;
39
+ export declare function registerTools(server: McpServer, context: Omit<McpToolContext, 'server'>, declarations: AnyMcpToolDeclaration[]): Promise<void>;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ /**
3
+ * @license
4
+ * Copyright Google LLC All Rights Reserved.
5
+ *
6
+ * Use of this source code is governed by an MIT-style license that can be
7
+ * found in the LICENSE file at https://angular.dev/license
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.declareTool = declareTool;
11
+ exports.registerTools = registerTools;
12
+ function declareTool(declaration) {
13
+ return declaration;
14
+ }
15
+ async function registerTools(server, context, declarations) {
16
+ for (const declaration of declarations) {
17
+ const toolContext = { ...context, server };
18
+ if (declaration.shouldRegister && !(await declaration.shouldRegister(toolContext))) {
19
+ continue;
20
+ }
21
+ const { name, factory, shouldRegister, isReadOnly, isLocalOnly, ...config } = declaration;
22
+ const handler = await factory(toolContext);
23
+ // Add declarative characteristics to annotations
24
+ config.annotations ??= {};
25
+ if (isReadOnly !== undefined) {
26
+ config.annotations.readOnlyHint = isReadOnly;
27
+ }
28
+ if (isLocalOnly !== undefined) {
29
+ // openWorldHint: false means local only
30
+ config.annotations.openWorldHint = !isLocalOnly;
31
+ }
32
+ server.registerTool(name, config, handler);
33
+ }
34
+ }
35
+ //# sourceMappingURL=tool-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-registry.js","sourceRoot":"","sources":["tool-registry.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAwCH,kCAIC;AAED,sCA2BC;AAjCD,SAAgB,WAAW,CACzB,WAAgD;IAEhD,OAAO,WAAW,CAAC;AACrB,CAAC;AAEM,KAAK,UAAU,aAAa,CACjC,MAAiB,EACjB,OAAuC,EACvC,YAAqC;IAErC,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACvC,MAAM,WAAW,GAAG,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,CAAC;QAC3C,IAAI,WAAW,CAAC,cAAc,IAAI,CAAC,CAAC,MAAM,WAAW,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;YACnF,SAAS;QACX,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,MAAM,EAAE,GAAG,WAAW,CAAC;QAE1F,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC;QAE3C,iDAAiD;QACjD,MAAM,CAAC,WAAW,KAAK,EAAE,CAAC;QAC1B,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,CAAC,WAAW,CAAC,YAAY,GAAG,UAAU,CAAC;QAC/C,CAAC;QACD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,wCAAwC;YACxC,MAAM,CAAC,WAAW,CAAC,aAAa,GAAG,CAAC,WAAW,CAAC;QAClD,CAAC;QAED,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.dev/license
7
+ */
8
+ /**
9
+ * Returns simple structured content output from an MCP tool.
10
+ *
11
+ * @returns A structure with both `content` and `structuredContent` for maximum compatibility.
12
+ */
13
+ export declare function createStructuredContentOutput<OutputType>(structuredContent: OutputType): {
14
+ content: {
15
+ type: "text";
16
+ text: string;
17
+ }[];
18
+ structuredContent: OutputType;
19
+ };
20
+ /**
21
+ * Get the logs of a failing command.
22
+ *
23
+ * This call has fallbacks in case the exception was thrown from the command-calling code itself.
24
+ */
25
+ export declare function getCommandErrorLogs(e: unknown): string[];
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ /**
3
+ * @license
4
+ * Copyright Google LLC All Rights Reserved.
5
+ *
6
+ * Use of this source code is governed by an MIT-style license that can be
7
+ * found in the LICENSE file at https://angular.dev/license
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.createStructuredContentOutput = createStructuredContentOutput;
11
+ exports.getCommandErrorLogs = getCommandErrorLogs;
12
+ /**
13
+ * @fileoverview
14
+ * Utility functions shared across MCP tools.
15
+ */
16
+ const host_1 = require("./host");
17
+ /**
18
+ * Returns simple structured content output from an MCP tool.
19
+ *
20
+ * @returns A structure with both `content` and `structuredContent` for maximum compatibility.
21
+ */
22
+ function createStructuredContentOutput(structuredContent) {
23
+ return {
24
+ content: [{ type: 'text', text: JSON.stringify(structuredContent, null, 2) }],
25
+ structuredContent,
26
+ };
27
+ }
28
+ /**
29
+ * Get the logs of a failing command.
30
+ *
31
+ * This call has fallbacks in case the exception was thrown from the command-calling code itself.
32
+ */
33
+ function getCommandErrorLogs(e) {
34
+ if (e instanceof host_1.CommandError) {
35
+ return [...e.logs, e.message];
36
+ }
37
+ else if (e instanceof Error) {
38
+ return [e.message];
39
+ }
40
+ else {
41
+ return [String(e)];
42
+ }
43
+ }
44
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["utils.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAcH,sEAKC;AAOD,kDAQC;AAhCD;;;GAGG;AAEH,iCAAsC;AAEtC;;;;GAIG;AACH,SAAgB,6BAA6B,CAAa,iBAA6B;IACrF,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QACtF,iBAAiB;KAClB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAgB,mBAAmB,CAAC,CAAU;IAC5C,IAAI,CAAC,YAAY,mBAAY,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;SAAM,IAAI,CAAC,YAAY,KAAK,EAAE,CAAC;QAC9B,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;AACH,CAAC"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.dev/license
7
+ */
8
+ import { workspaces } from '@angular-devkit/core';
9
+ import { AngularWorkspace } from '../../utilities/config';
10
+ import { type Host } from './host';
11
+ import { McpToolContext } from './tools/tool-registry';
12
+ /**
13
+ * Searches for an angular.json file by traversing up the directory tree from a starting directory.
14
+ *
15
+ * @param startDir The directory path to start searching from
16
+ * @param host The workspace host instance used to check file existence. Defaults to LocalWorkspaceHost
17
+ * @returns The absolute path to the directory containing angular.json, or null if not found
18
+ *
19
+ * @remarks
20
+ * This function performs an upward directory traversal starting from `startDir`.
21
+ * It checks each directory for the presence of an angular.json file until either:
22
+ * - The file is found (returns the directory path)
23
+ * - The root of the filesystem is reached (returns null)
24
+ */
25
+ export declare function findAngularJsonDir(startDir: string, host?: Host): string | null;
26
+ /**
27
+ * Searches for a project in the current workspace, by name.
28
+ */
29
+ export declare function getProject(context: McpToolContext, name: string): workspaces.ProjectDefinition | undefined;
30
+ /**
31
+ * Returns the name of the default project in the current workspace, or undefined if none exists.
32
+ *
33
+ * If no default project is defined but there's only a single project in the workspace, its name will
34
+ * be returned.
35
+ */
36
+ export declare function getDefaultProjectName(workspace: AngularWorkspace | undefined): string | undefined;
37
+ /**
38
+ * Resolves workspace and project for tools to operate on.
39
+ *
40
+ * If `workspacePathInput` is absent, uses the MCP's configured workspace. If none is configured, use the
41
+ * current directory as the workspace.
42
+ * If `projectNameInput` is absent, uses the default project in the workspace.
43
+ */
44
+ export declare function resolveWorkspaceAndProject({ host, workspacePathInput, projectNameInput, mcpWorkspace, }: {
45
+ host: Host;
46
+ workspacePathInput?: string;
47
+ projectNameInput?: string;
48
+ mcpWorkspace?: AngularWorkspace;
49
+ }): Promise<{
50
+ workspace: AngularWorkspace;
51
+ workspacePath: string;
52
+ projectName: string;
53
+ }>;
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+ /**
3
+ * @license
4
+ * Copyright Google LLC All Rights Reserved.
5
+ *
6
+ * Use of this source code is governed by an MIT-style license that can be
7
+ * found in the LICENSE file at https://angular.dev/license
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.findAngularJsonDir = findAngularJsonDir;
11
+ exports.getProject = getProject;
12
+ exports.getDefaultProjectName = getDefaultProjectName;
13
+ exports.resolveWorkspaceAndProject = resolveWorkspaceAndProject;
14
+ const node_path_1 = require("node:path");
15
+ const config_1 = require("../../utilities/config");
16
+ const host_1 = require("./host");
17
+ /**
18
+ * Searches for an angular.json file by traversing up the directory tree from a starting directory.
19
+ *
20
+ * @param startDir The directory path to start searching from
21
+ * @param host The workspace host instance used to check file existence. Defaults to LocalWorkspaceHost
22
+ * @returns The absolute path to the directory containing angular.json, or null if not found
23
+ *
24
+ * @remarks
25
+ * This function performs an upward directory traversal starting from `startDir`.
26
+ * It checks each directory for the presence of an angular.json file until either:
27
+ * - The file is found (returns the directory path)
28
+ * - The root of the filesystem is reached (returns null)
29
+ */
30
+ function findAngularJsonDir(startDir, host = host_1.LocalWorkspaceHost) {
31
+ let currentDir = startDir;
32
+ while (true) {
33
+ if (host.existsSync((0, node_path_1.join)(currentDir, 'angular.json'))) {
34
+ return currentDir;
35
+ }
36
+ const parentDir = (0, node_path_1.dirname)(currentDir);
37
+ if (parentDir === currentDir) {
38
+ return null;
39
+ }
40
+ currentDir = parentDir;
41
+ }
42
+ }
43
+ /**
44
+ * Searches for a project in the current workspace, by name.
45
+ */
46
+ function getProject(context, name) {
47
+ const projects = context.workspace?.projects;
48
+ if (!projects) {
49
+ return undefined;
50
+ }
51
+ return projects.get(name);
52
+ }
53
+ /**
54
+ * Returns the name of the default project in the current workspace, or undefined if none exists.
55
+ *
56
+ * If no default project is defined but there's only a single project in the workspace, its name will
57
+ * be returned.
58
+ */
59
+ function getDefaultProjectName(workspace) {
60
+ const projects = workspace?.projects;
61
+ if (!projects) {
62
+ return undefined;
63
+ }
64
+ const defaultProjectName = workspace?.extensions['defaultProject'];
65
+ if (defaultProjectName) {
66
+ return defaultProjectName;
67
+ }
68
+ // No default project defined? This might still be salvageable if only a single project exists.
69
+ if (projects.size === 1) {
70
+ return Array.from(projects.keys())[0];
71
+ }
72
+ return undefined;
73
+ }
74
+ /**
75
+ * Resolves workspace and project for tools to operate on.
76
+ *
77
+ * If `workspacePathInput` is absent, uses the MCP's configured workspace. If none is configured, use the
78
+ * current directory as the workspace.
79
+ * If `projectNameInput` is absent, uses the default project in the workspace.
80
+ */
81
+ async function resolveWorkspaceAndProject({ host, workspacePathInput, projectNameInput, mcpWorkspace, }) {
82
+ let workspacePath;
83
+ let workspace;
84
+ if (workspacePathInput) {
85
+ if (!host.existsSync(workspacePathInput)) {
86
+ throw new Error(`Workspace path does not exist: ${workspacePathInput}. ` +
87
+ "You can use 'list_projects' to find available workspaces.");
88
+ }
89
+ if (!host.existsSync((0, node_path_1.join)(workspacePathInput, 'angular.json'))) {
90
+ throw new Error(`No angular.json found at ${workspacePathInput}. ` +
91
+ "You can use 'list_projects' to find available workspaces.");
92
+ }
93
+ workspacePath = workspacePathInput;
94
+ const configPath = (0, node_path_1.join)(workspacePath, 'angular.json');
95
+ try {
96
+ workspace = await config_1.AngularWorkspace.load(configPath);
97
+ }
98
+ catch (e) {
99
+ throw new Error(`Failed to load workspace configuration at ${configPath}: ${e instanceof Error ? e.message : e}`);
100
+ }
101
+ }
102
+ else if (mcpWorkspace) {
103
+ workspace = mcpWorkspace;
104
+ workspacePath = workspace.basePath;
105
+ }
106
+ else {
107
+ const found = findAngularJsonDir(process.cwd(), host);
108
+ if (!found) {
109
+ throw new Error('Could not find an Angular workspace (angular.json) in the current directory. ' +
110
+ "You can use 'list_projects' to find available workspaces.");
111
+ }
112
+ workspacePath = found;
113
+ const configPath = (0, node_path_1.join)(workspacePath, 'angular.json');
114
+ try {
115
+ workspace = await config_1.AngularWorkspace.load(configPath);
116
+ }
117
+ catch (e) {
118
+ throw new Error(`Failed to load workspace configuration at ${configPath}: ${e instanceof Error ? e.message : e}`);
119
+ }
120
+ }
121
+ let projectName = projectNameInput;
122
+ if (projectName) {
123
+ if (!workspace.projects.has(projectName)) {
124
+ throw new Error(`Project '${projectName}' not found in workspace path ${workspacePath}. ` +
125
+ "You can use 'list_projects' to find available projects.");
126
+ }
127
+ }
128
+ else {
129
+ projectName = getDefaultProjectName(workspace);
130
+ }
131
+ if (!projectName) {
132
+ throw new Error(`No project name provided and no default project found in workspace path ${workspacePath}. ` +
133
+ 'Please provide a project name or set a default project in angular.json. ' +
134
+ "You can use 'list_projects' to find available projects.");
135
+ }
136
+ return { workspace, workspacePath, projectName };
137
+ }
138
+ //# sourceMappingURL=workspace-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-utils.js","sourceRoot":"","sources":["workspace-utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.dev/license
7
+ */
8
+ import { Argv } from 'yargs';
9
+ import { CommandModuleImplementation, CommandScope, Options, OtherOptions } from '../../command-builder/command-module';
10
+ import { SchematicsCommandArgs, SchematicsCommandModule } from '../../command-builder/schematics-command-module';
11
+ interface NewCommandArgs extends SchematicsCommandArgs {
12
+ collection?: string;
13
+ }
14
+ export default class NewCommandModule extends SchematicsCommandModule implements CommandModuleImplementation<NewCommandArgs> {
15
+ private readonly schematicName;
16
+ scope: CommandScope;
17
+ protected allowPrivateSchematics: boolean;
18
+ command: string;
19
+ aliases: string[] | undefined;
20
+ describe: string;
21
+ longDescriptionPath: string;
22
+ builder(argv: Argv): Promise<Argv<NewCommandArgs>>;
23
+ run(options: Options<NewCommandArgs> & OtherOptions): Promise<number | void>;
24
+ /** Find a collection from config that has an `ng-new` schematic. */
25
+ private getCollectionFromConfig;
26
+ }
27
+ export {};
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ /**
3
+ * @license
4
+ * Copyright Google LLC All Rights Reserved.
5
+ *
6
+ * Use of this source code is governed by an MIT-style license that can be
7
+ * found in the LICENSE file at https://angular.dev/license
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ const node_path_1 = require("node:path");
11
+ const command_module_1 = require("../../command-builder/command-module");
12
+ const schematics_command_module_1 = require("../../command-builder/schematics-command-module");
13
+ const version_1 = require("../../utilities/version");
14
+ const command_config_1 = require("../command-config");
15
+ class NewCommandModule extends schematics_command_module_1.SchematicsCommandModule {
16
+ schematicName = 'ng-new';
17
+ scope = command_module_1.CommandScope.Out;
18
+ allowPrivateSchematics = true;
19
+ command = 'new [name]';
20
+ aliases = command_config_1.RootCommands['new'].aliases;
21
+ describe = 'Creates a new Angular workspace.';
22
+ longDescriptionPath = (0, node_path_1.join)(__dirname, 'long-description.md');
23
+ async builder(argv) {
24
+ const localYargs = (await super.builder(argv)).option('collection', {
25
+ alias: 'c',
26
+ describe: 'A collection of schematics to use in generating the initial application.',
27
+ type: 'string',
28
+ });
29
+ const { options: { collection: collectionNameFromArgs }, } = this.context.args;
30
+ const collectionName = typeof collectionNameFromArgs === 'string'
31
+ ? collectionNameFromArgs
32
+ : await this.getCollectionFromConfig();
33
+ const workflow = this.getOrCreateWorkflowForBuilder(collectionName);
34
+ const collection = workflow.engine.createCollection(collectionName);
35
+ const options = await this.getSchematicOptions(collection, this.schematicName, workflow);
36
+ return this.addSchemaOptionsToCommand(localYargs, options);
37
+ }
38
+ async run(options) {
39
+ // Register the version of the CLI in the registry.
40
+ const collectionName = options.collection ?? (await this.getCollectionFromConfig());
41
+ const { dryRun, force, interactive, defaults, collection, ...schematicOptions } = options;
42
+ const workflow = await this.getOrCreateWorkflowForExecution(collectionName, {
43
+ dryRun,
44
+ force,
45
+ interactive,
46
+ defaults,
47
+ });
48
+ workflow.registry.addSmartDefaultProvider('ng-cli-version', () => version_1.VERSION.full);
49
+ workflow.registry.addSmartDefaultProvider('packageManager', () => this.context.packageManager.name);
50
+ return this.runSchematic({
51
+ collectionName,
52
+ schematicName: this.schematicName,
53
+ schematicOptions,
54
+ executionOptions: {
55
+ dryRun,
56
+ force,
57
+ interactive,
58
+ defaults,
59
+ },
60
+ });
61
+ }
62
+ /** Find a collection from config that has an `ng-new` schematic. */
63
+ async getCollectionFromConfig() {
64
+ for (const collectionName of await this.getSchematicCollections()) {
65
+ const workflow = this.getOrCreateWorkflowForBuilder(collectionName);
66
+ const collection = workflow.engine.createCollection(collectionName);
67
+ const schematicsInCollection = collection.description.schematics;
68
+ if (Object.keys(schematicsInCollection).includes(this.schematicName)) {
69
+ return collectionName;
70
+ }
71
+ }
72
+ return schematics_command_module_1.DEFAULT_SCHEMATICS_COLLECTION;
73
+ }
74
+ }
75
+ exports.default = NewCommandModule;
76
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ Creates and initializes a new Angular application that is the default project for a new workspace.
2
+
3
+ Provides interactive prompts for optional configuration, such as adding routing support.
4
+ All prompts can safely be allowed to default.
5
+
6
+ - The new workspace folder is given the specified project name, and contains configuration files at the top level.
7
+
8
+ - By default, the files for a new initial application (with the same name as the workspace) are placed in the `src/` subfolder.
9
+ - The new application's configuration appears in the `projects` section of the `angular.json` workspace configuration file, under its project name.
10
+
11
+ - Subsequent applications that you generate in the workspace reside in the `projects/` subfolder.
12
+
13
+ If you plan to have multiple applications in the workspace, you can create an empty workspace by using the `--no-create-application` option.
14
+ You can then use `ng generate application` to create an initial application.
15
+ This allows a workspace name different from the initial app name, and ensures that all applications reside in the `/projects` subfolder, matching the structure of the configuration file.
@@ -0,0 +1,25 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.dev/license
7
+ */
8
+ import { Target } from '@angular-devkit/architect';
9
+ import { Argv } from 'yargs';
10
+ import { ArchitectBaseCommandModule } from '../../command-builder/architect-base-command-module';
11
+ import { CommandModuleImplementation, CommandScope, Options, OtherOptions } from '../../command-builder/command-module';
12
+ export interface RunCommandArgs {
13
+ target: string;
14
+ }
15
+ export default class RunCommandModule extends ArchitectBaseCommandModule<RunCommandArgs> implements CommandModuleImplementation<RunCommandArgs> {
16
+ scope: CommandScope;
17
+ command: string;
18
+ describe: string;
19
+ longDescriptionPath: string;
20
+ builder(argv: Argv): Promise<Argv<RunCommandArgs>>;
21
+ run(options: Options<RunCommandArgs> & OtherOptions): Promise<number>;
22
+ protected makeTargetSpecifier(options?: Options<RunCommandArgs>): Target | undefined;
23
+ /** @returns a sorted list of target specifiers to be used for auto completion. */
24
+ private getTargetChoices;
25
+ }
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ /**
3
+ * @license
4
+ * Copyright Google LLC All Rights Reserved.
5
+ *
6
+ * Use of this source code is governed by an MIT-style license that can be
7
+ * found in the LICENSE file at https://angular.dev/license
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ const node_path_1 = require("node:path");
11
+ const architect_base_command_module_1 = require("../../command-builder/architect-base-command-module");
12
+ const command_module_1 = require("../../command-builder/command-module");
13
+ class RunCommandModule extends architect_base_command_module_1.ArchitectBaseCommandModule {
14
+ scope = command_module_1.CommandScope.In;
15
+ command = 'run <target>';
16
+ describe = 'Runs an Architect target with an optional custom builder configuration defined in your project.';
17
+ longDescriptionPath = (0, node_path_1.join)(__dirname, 'long-description.md');
18
+ async builder(argv) {
19
+ const { jsonHelp, getYargsCompletions, help } = this.context.args.options;
20
+ const localYargs = argv
21
+ .positional('target', {
22
+ describe: 'The Architect target to run provided in the following format `project:target[:configuration]`.',
23
+ type: 'string',
24
+ demandOption: true,
25
+ // Show only in when using --help and auto completion because otherwise comma seperated configuration values will be invalid.
26
+ // Also, hide choices from JSON help so that we don't display them in AIO.
27
+ choices: (getYargsCompletions || help) && !jsonHelp ? this.getTargetChoices() : undefined,
28
+ })
29
+ .middleware((args) => {
30
+ // TODO: remove in version 15.
31
+ const { configuration, target } = args;
32
+ if (typeof configuration === 'string' && target) {
33
+ const targetWithConfig = target.split(':', 2);
34
+ targetWithConfig.push(configuration);
35
+ throw new command_module_1.CommandModuleError('Unknown argument: configuration.\n' +
36
+ `Provide the configuration as part of the target 'ng run ${targetWithConfig.join(':')}'.`);
37
+ }
38
+ }, true)
39
+ .strict();
40
+ const target = this.makeTargetSpecifier();
41
+ if (!target) {
42
+ return localYargs;
43
+ }
44
+ const schemaOptions = await this.getArchitectTargetOptions(target);
45
+ return this.addSchemaOptionsToCommand(localYargs, schemaOptions);
46
+ }
47
+ async run(options) {
48
+ const target = this.makeTargetSpecifier(options);
49
+ const { target: _target, ...extraOptions } = options;
50
+ if (!target) {
51
+ throw new command_module_1.CommandModuleError('Cannot determine project or target.');
52
+ }
53
+ return this.runSingleTarget(target, extraOptions);
54
+ }
55
+ makeTargetSpecifier(options) {
56
+ const architectTarget = options?.target ?? this.context.args.positional[1];
57
+ if (!architectTarget) {
58
+ return undefined;
59
+ }
60
+ const [project = '', target = '', configuration] = architectTarget.split(':');
61
+ return {
62
+ project,
63
+ target,
64
+ configuration,
65
+ };
66
+ }
67
+ /** @returns a sorted list of target specifiers to be used for auto completion. */
68
+ getTargetChoices() {
69
+ if (!this.context.workspace) {
70
+ return;
71
+ }
72
+ const targets = [];
73
+ for (const [projectName, project] of this.context.workspace.projects) {
74
+ for (const [targetName, target] of project.targets) {
75
+ const currentTarget = `${projectName}:${targetName}`;
76
+ targets.push(currentTarget);
77
+ if (!target.configurations) {
78
+ continue;
79
+ }
80
+ for (const configName of Object.keys(target.configurations)) {
81
+ targets.push(`${currentTarget}:${configName}`);
82
+ }
83
+ }
84
+ }
85
+ return targets.sort();
86
+ }
87
+ }
88
+ exports.default = RunCommandModule;
89
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ Architect is the tool that the CLI uses to perform complex tasks such as compilation, according to provided configurations.
2
+ The CLI commands run Architect targets such as `build`, `serve`, `test`, and `lint`.
3
+ Each named target has a default configuration, specified by an `options` object,
4
+ and an optional set of named alternate configurations in the `configurations` object.
5
+
6
+ For example, the `serve` target for a newly generated app has a predefined
7
+ alternate configuration named `production`.
8
+
9
+ You can define new targets and their configuration options in the `architect` section
10
+ of the `angular.json` file which you can run them from the command line using the `ng run` command.
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.dev/license
7
+ */
8
+ import { ArchitectCommandModule } from '../../command-builder/architect-command-module';
9
+ import { CommandModuleImplementation } from '../../command-builder/command-module';
10
+ export default class ServeCommandModule extends ArchitectCommandModule implements CommandModuleImplementation {
11
+ multiTarget: boolean;
12
+ command: string;
13
+ aliases: string[] | undefined;
14
+ describe: string;
15
+ longDescriptionPath?: string | undefined;
16
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ /**
3
+ * @license
4
+ * Copyright Google LLC All Rights Reserved.
5
+ *
6
+ * Use of this source code is governed by an MIT-style license that can be
7
+ * found in the LICENSE file at https://angular.dev/license
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ const architect_command_module_1 = require("../../command-builder/architect-command-module");
11
+ const command_config_1 = require("../command-config");
12
+ class ServeCommandModule extends architect_command_module_1.ArchitectCommandModule {
13
+ multiTarget = false;
14
+ command = 'serve [project]';
15
+ aliases = command_config_1.RootCommands['serve'].aliases;
16
+ describe = 'Builds and serves your application, rebuilding on file changes.';
17
+ longDescriptionPath;
18
+ }
19
+ exports.default = ServeCommandModule;
20
+ //# sourceMappingURL=cli.js.map