@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,245 @@
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
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
10
+ var useValue = arguments.length > 2;
11
+ for (var i = 0; i < initializers.length; i++) {
12
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
13
+ }
14
+ return useValue ? value : void 0;
15
+ };
16
+ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
17
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
18
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
19
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
20
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
21
+ var _, done = false;
22
+ for (var i = decorators.length - 1; i >= 0; i--) {
23
+ var context = {};
24
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
25
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
26
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
27
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
28
+ if (kind === "accessor") {
29
+ if (result === void 0) continue;
30
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
31
+ if (_ = accept(result.get)) descriptor.get = _;
32
+ if (_ = accept(result.set)) descriptor.set = _;
33
+ if (_ = accept(result.init)) initializers.unshift(_);
34
+ }
35
+ else if (_ = accept(result)) {
36
+ if (kind === "field") initializers.unshift(_);
37
+ else descriptor[key] = _;
38
+ }
39
+ }
40
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
41
+ done = true;
42
+ };
43
+ Object.defineProperty(exports, "__esModule", { value: true });
44
+ exports.CommandModuleError = exports.CommandModule = exports.CommandScope = void 0;
45
+ const core_1 = require("@angular-devkit/core");
46
+ const node_fs_1 = require("node:fs");
47
+ const node_path_1 = require("node:path");
48
+ const helpers_1 = require("yargs/helpers");
49
+ const analytics_1 = require("../analytics/analytics");
50
+ const analytics_collector_1 = require("../analytics/analytics-collector");
51
+ const analytics_parameters_1 = require("../analytics/analytics-parameters");
52
+ const completion_1 = require("../utilities/completion");
53
+ const memoize_1 = require("../utilities/memoize");
54
+ const definitions_1 = require("./definitions");
55
+ Object.defineProperty(exports, "CommandScope", { enumerable: true, get: function () { return definitions_1.CommandScope; } });
56
+ const json_schema_1 = require("./utilities/json-schema");
57
+ let CommandModule = (() => {
58
+ let _instanceExtraInitializers = [];
59
+ let _getAnalytics_decorators;
60
+ return class CommandModule {
61
+ static {
62
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
63
+ _getAnalytics_decorators = [memoize_1.memoize];
64
+ __esDecorate(this, null, _getAnalytics_decorators, { kind: "method", name: "getAnalytics", static: false, private: false, access: { has: obj => "getAnalytics" in obj, get: obj => obj.getAnalytics }, metadata: _metadata }, null, _instanceExtraInitializers);
65
+ if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
66
+ }
67
+ context = __runInitializers(this, _instanceExtraInitializers);
68
+ shouldReportAnalytics = true;
69
+ scope = definitions_1.CommandScope.Both;
70
+ optionsWithAnalytics = new Map();
71
+ constructor(context) {
72
+ this.context = context;
73
+ }
74
+ /**
75
+ * Description object which contains the long command descroption.
76
+ * This is used to generate JSON help wich is used in AIO.
77
+ *
78
+ * `false` will result in a hidden command.
79
+ */
80
+ get fullDescribe() {
81
+ return this.describe === false
82
+ ? false
83
+ : {
84
+ describe: this.describe,
85
+ ...(this.longDescriptionPath
86
+ ? {
87
+ longDescriptionRelativePath: (0, node_path_1.relative)((0, node_path_1.join)(__dirname, '../../../../'), this.longDescriptionPath).replace(/\\/g, node_path_1.posix.sep),
88
+ longDescription: (0, node_fs_1.readFileSync)(this.longDescriptionPath, 'utf8').replace(/\r\n/g, '\n'),
89
+ }
90
+ : {}),
91
+ };
92
+ }
93
+ get commandName() {
94
+ return this.command.split(' ', 1)[0];
95
+ }
96
+ async handler(args) {
97
+ const { _, $0, ...options } = args;
98
+ // Camelize options as yargs will return the object in kebab-case when camel casing is disabled.
99
+ const camelCasedOptions = {};
100
+ for (const [key, value] of Object.entries(options)) {
101
+ camelCasedOptions[helpers_1.Parser.camelCase(key)] = value;
102
+ }
103
+ // Set up autocompletion if appropriate.
104
+ const autocompletionExitCode = await (0, completion_1.considerSettingUpAutocompletion)(this.commandName, this.context.logger);
105
+ if (autocompletionExitCode !== undefined) {
106
+ process.exitCode = autocompletionExitCode;
107
+ return;
108
+ }
109
+ // Gather and report analytics.
110
+ const analytics = await this.getAnalytics();
111
+ const stopPeriodicFlushes = analytics && analytics.periodFlush();
112
+ let exitCode;
113
+ try {
114
+ if (analytics) {
115
+ this.reportCommandRunAnalytics(analytics);
116
+ this.reportWorkspaceInfoAnalytics(analytics);
117
+ }
118
+ exitCode = await this.run(camelCasedOptions);
119
+ }
120
+ catch (e) {
121
+ if (e instanceof core_1.schema.SchemaValidationException) {
122
+ this.context.logger.fatal(`Error: ${e.message}`);
123
+ exitCode = 1;
124
+ }
125
+ else {
126
+ throw e;
127
+ }
128
+ }
129
+ finally {
130
+ await stopPeriodicFlushes?.();
131
+ if (typeof exitCode === 'number' && exitCode > 0) {
132
+ process.exitCode = exitCode;
133
+ }
134
+ }
135
+ }
136
+ async getAnalytics() {
137
+ if (!this.shouldReportAnalytics) {
138
+ return undefined;
139
+ }
140
+ const userId = await (0, analytics_1.getAnalyticsUserId)(this.context,
141
+ // Don't prompt on `ng update`, 'ng version' or `ng analytics`.
142
+ ['version', 'update', 'analytics'].includes(this.commandName));
143
+ return userId
144
+ ? new analytics_collector_1.AnalyticsCollector(this.context.logger, userId, {
145
+ name: this.context.packageManager.name,
146
+ version: await this.context.packageManager.getVersion(),
147
+ })
148
+ : undefined;
149
+ }
150
+ /**
151
+ * Adds schema options to a command also this keeps track of options that are required for analytics.
152
+ * **Note:** This method should be called from the command bundler method.
153
+ */
154
+ addSchemaOptionsToCommand(localYargs, options) {
155
+ const optionsWithAnalytics = (0, json_schema_1.addSchemaOptionsToCommand)(localYargs, options,
156
+ // This should only be done when `--help` is used otherwise default will override options set in angular.json.
157
+ /* includeDefaultValues= */ this.context.args.options.help);
158
+ // Record option of analytics.
159
+ for (const [name, userAnalytics] of optionsWithAnalytics) {
160
+ this.optionsWithAnalytics.set(name, userAnalytics);
161
+ }
162
+ return localYargs;
163
+ }
164
+ getWorkspaceOrThrow() {
165
+ const { workspace } = this.context;
166
+ if (!workspace) {
167
+ throw new CommandModuleError('A workspace is required for this command.');
168
+ }
169
+ return workspace;
170
+ }
171
+ /**
172
+ * Flush on an interval (if the event loop is waiting).
173
+ *
174
+ * @returns a method that when called will terminate the periodic
175
+ * flush and call flush one last time.
176
+ */
177
+ getAnalyticsParameters(options) {
178
+ const parameters = {};
179
+ const validEventCustomDimensionAndMetrics = new Set([
180
+ ...Object.values(analytics_parameters_1.EventCustomDimension),
181
+ ...Object.values(analytics_parameters_1.EventCustomMetric),
182
+ ]);
183
+ for (const [name, ua] of this.optionsWithAnalytics) {
184
+ if (!validEventCustomDimensionAndMetrics.has(ua)) {
185
+ continue;
186
+ }
187
+ const value = options[name];
188
+ if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {
189
+ parameters[ua] = value;
190
+ }
191
+ else if (Array.isArray(value)) {
192
+ // GA doesn't allow array as values.
193
+ parameters[ua] = value.sort().join(', ');
194
+ }
195
+ }
196
+ return parameters;
197
+ }
198
+ reportCommandRunAnalytics(analytics) {
199
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
200
+ const internalMethods = this.context.yargsInstance.getInternalMethods();
201
+ // $0 generate component [name] -> generate_component
202
+ // $0 add <collection> -> add
203
+ const fullCommand = internalMethods.getUsageInstance().getUsage()[0][0]
204
+ .split(' ')
205
+ .filter((x) => {
206
+ const code = x.charCodeAt(0);
207
+ return code >= 97 && code <= 122;
208
+ })
209
+ .join('_');
210
+ analytics.reportCommandRunEvent(fullCommand);
211
+ }
212
+ reportWorkspaceInfoAnalytics(analytics) {
213
+ const { workspace } = this.context;
214
+ if (!workspace) {
215
+ return;
216
+ }
217
+ let applicationProjectsCount = 0;
218
+ let librariesProjectsCount = 0;
219
+ for (const project of workspace.projects.values()) {
220
+ switch (project.extensions['projectType']) {
221
+ case 'application':
222
+ applicationProjectsCount++;
223
+ break;
224
+ case 'library':
225
+ librariesProjectsCount++;
226
+ break;
227
+ }
228
+ }
229
+ analytics.reportWorkspaceInfoEvent({
230
+ [analytics_parameters_1.EventCustomMetric.AllProjectsCount]: librariesProjectsCount + applicationProjectsCount,
231
+ [analytics_parameters_1.EventCustomMetric.ApplicationProjectsCount]: applicationProjectsCount,
232
+ [analytics_parameters_1.EventCustomMetric.LibraryProjectsCount]: librariesProjectsCount,
233
+ });
234
+ }
235
+ };
236
+ })();
237
+ exports.CommandModule = CommandModule;
238
+ /**
239
+ * Creates an known command module error.
240
+ * This is used so during executation we can filter between known validation error and real non handled errors.
241
+ */
242
+ class CommandModuleError extends Error {
243
+ }
244
+ exports.CommandModuleError = CommandModuleError;
245
+ //# sourceMappingURL=command-module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-module.js","sourceRoot":"","sources":["command-module.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
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 { logging } from '@angular-devkit/core';
9
+ export declare function runCommand(args: string[], logger: logging.Logger): Promise<number>;
@@ -0,0 +1,195 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
10
+ return (mod && mod.__esModule) ? mod : { "default": mod };
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.runCommand = runCommand;
14
+ const core_1 = require("@angular-devkit/core");
15
+ const promises_1 = require("node:fs/promises");
16
+ const node_path_1 = require("node:path");
17
+ const yargs_1 = __importDefault(require("yargs"));
18
+ const helpers_1 = require("yargs/helpers");
19
+ const utilities_1 = require("../commands/cache/utilities");
20
+ const command_config_1 = require("../commands/command-config");
21
+ const package_managers_1 = require("../package-managers");
22
+ const color_1 = require("../utilities/color");
23
+ const config_1 = require("../utilities/config");
24
+ const error_1 = require("../utilities/error");
25
+ const version_1 = require("../utilities/version");
26
+ const command_module_1 = require("./command-module");
27
+ const command_1 = require("./utilities/command");
28
+ const json_help_1 = require("./utilities/json-help");
29
+ const normalize_options_middleware_1 = require("./utilities/normalize-options-middleware");
30
+ async function runCommand(args, logger) {
31
+ const { $0, _, help = false, dryRun = false, jsonHelp = false, getYargsCompletions = false, ...rest } = (0, helpers_1.Parser)(args, {
32
+ boolean: ['help', 'json-help', 'get-yargs-completions', 'dry-run'],
33
+ alias: { 'collection': 'c' },
34
+ });
35
+ // When `getYargsCompletions` is true the scriptName 'ng' at index 0 is not removed.
36
+ const positional = getYargsCompletions ? _.slice(1) : _;
37
+ let workspace;
38
+ let globalConfiguration;
39
+ try {
40
+ [workspace, globalConfiguration] = await Promise.all([
41
+ (0, config_1.getWorkspace)('local'),
42
+ (0, config_1.getWorkspace)('global'),
43
+ ]);
44
+ }
45
+ catch (e) {
46
+ (0, error_1.assertIsError)(e);
47
+ logger.fatal(e.message);
48
+ return 1;
49
+ }
50
+ const root = workspace?.basePath ?? process.cwd();
51
+ const cacheConfig = workspace && (0, utilities_1.getCacheConfig)(workspace);
52
+ const packageManager = await (0, package_managers_1.createPackageManager)({
53
+ cwd: root,
54
+ logger,
55
+ dryRun: dryRun || help || jsonHelp || getYargsCompletions,
56
+ tempDirectory: cacheConfig?.enabled ? cacheConfig.path : undefined,
57
+ configuredPackageManager: await getConfiguredPackageManager(root, workspace, globalConfiguration),
58
+ });
59
+ const localYargs = (0, yargs_1.default)(args);
60
+ const context = {
61
+ globalConfiguration,
62
+ workspace,
63
+ logger,
64
+ currentDirectory: process.cwd(),
65
+ yargsInstance: localYargs,
66
+ root,
67
+ packageManager,
68
+ args: {
69
+ positional: positional.map((v) => v.toString()),
70
+ options: {
71
+ help,
72
+ jsonHelp,
73
+ getYargsCompletions,
74
+ ...rest,
75
+ },
76
+ },
77
+ };
78
+ for (const CommandModule of await getCommandsToRegister(positional[0])) {
79
+ (0, command_1.addCommandModuleToYargs)(CommandModule, context);
80
+ }
81
+ if (jsonHelp) {
82
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
83
+ const usageInstance = localYargs.getInternalMethods().getUsageInstance();
84
+ usageInstance.help = () => (0, json_help_1.jsonHelpUsage)(localYargs);
85
+ }
86
+ // Add default command to support version option when no subcommand is specified
87
+ localYargs.command('*', false, (builder) => builder.version('version', 'Show Angular CLI version.', version_1.VERSION.full));
88
+ await localYargs
89
+ .scriptName('ng')
90
+ // https://github.com/yargs/yargs/blob/main/docs/advanced.md#customizing-yargs-parser
91
+ .parserConfiguration({
92
+ 'populate--': true,
93
+ 'unknown-options-as-args': false,
94
+ 'dot-notation': false,
95
+ 'boolean-negation': true,
96
+ 'strip-aliased': true,
97
+ 'strip-dashed': true,
98
+ 'camel-case-expansion': false,
99
+ })
100
+ .option('json-help', {
101
+ describe: 'Show help in JSON format.',
102
+ implies: ['help'],
103
+ hidden: true,
104
+ type: 'boolean',
105
+ })
106
+ .help('help', 'Shows a help message for this command in the console.')
107
+ // A complete list of strings can be found: https://github.com/yargs/yargs/blob/main/locales/en.json
108
+ .updateStrings({
109
+ 'Commands:': color_1.colors.cyan('Commands:'),
110
+ 'Options:': color_1.colors.cyan('Options:'),
111
+ 'Positionals:': color_1.colors.cyan('Arguments:'),
112
+ 'deprecated': color_1.colors.yellow('deprecated'),
113
+ 'deprecated: %s': color_1.colors.yellow('deprecated:') + ' %s',
114
+ 'Did you mean %s?': 'Unknown command. Did you mean %s?',
115
+ })
116
+ .epilogue('For more information, see https://angular.dev/cli/.\n')
117
+ .demandCommand(1, command_1.demandCommandFailureMessage)
118
+ .recommendCommands()
119
+ .middleware((0, normalize_options_middleware_1.createNormalizeOptionsMiddleware)(localYargs))
120
+ .version(false)
121
+ .showHelpOnFail(false)
122
+ .strict()
123
+ .fail((msg, err) => {
124
+ throw msg
125
+ ? // Validation failed example: `Unknown argument:`
126
+ new command_module_1.CommandModuleError(msg)
127
+ : // Unknown exception, re-throw.
128
+ err;
129
+ })
130
+ .wrap(localYargs.terminalWidth())
131
+ .parseAsync();
132
+ return +(process.exitCode ?? 0);
133
+ }
134
+ /**
135
+ * Get the commands that need to be registered.
136
+ * @returns One or more command factories that needs to be registered.
137
+ */
138
+ async function getCommandsToRegister(commandName) {
139
+ const commands = [];
140
+ if (commandName in command_config_1.RootCommands) {
141
+ commands.push(command_config_1.RootCommands[commandName]);
142
+ }
143
+ else if (commandName in command_config_1.RootCommandsAliases) {
144
+ commands.push(command_config_1.RootCommandsAliases[commandName]);
145
+ }
146
+ else {
147
+ // Unknown command, register every possible command.
148
+ Object.values(command_config_1.RootCommands).forEach((c) => commands.push(c));
149
+ }
150
+ return Promise.all(commands.map((command) => command.factory().then((m) => m.default)));
151
+ }
152
+ /**
153
+ * Gets the configured package manager by checking package.json, or the local and global angular.json files.
154
+ *
155
+ * @param root The root directory of the workspace.
156
+ * @param localWorkspace The local workspace.
157
+ * @param globalWorkspace The global workspace.
158
+ * @returns The package manager name and version.
159
+ */
160
+ async function getConfiguredPackageManager(root, localWorkspace, globalWorkspace) {
161
+ let result;
162
+ try {
163
+ const packageJsonPath = (0, node_path_1.join)(root, 'package.json');
164
+ const pkgJson = JSON.parse(await (0, promises_1.readFile)(packageJsonPath, 'utf-8'));
165
+ result = getPackageManager(pkgJson);
166
+ }
167
+ catch { }
168
+ if (result) {
169
+ return result;
170
+ }
171
+ if (localWorkspace) {
172
+ const project = (0, config_1.getProjectByCwd)(localWorkspace);
173
+ if (project) {
174
+ result = getPackageManager(localWorkspace.projects.get(project)?.extensions['cli']);
175
+ }
176
+ result ??= getPackageManager(localWorkspace.extensions['cli']);
177
+ }
178
+ result ??= getPackageManager(globalWorkspace.extensions['cli']);
179
+ return result;
180
+ }
181
+ /**
182
+ * Get the package manager name from a JSON value.
183
+ * @param source The JSON value to get the package manager name from.
184
+ * @returns The package manager name and version.
185
+ */
186
+ function getPackageManager(source) {
187
+ if (source && (0, core_1.isJsonObject)(source)) {
188
+ const value = source['packageManager'];
189
+ if (typeof value === 'string') {
190
+ return value.split('@', 2);
191
+ }
192
+ }
193
+ return undefined;
194
+ }
195
+ //# sourceMappingURL=command-runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-runner.js","sourceRoot":"","sources":["command-runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
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 { logging } from '@angular-devkit/core';
9
+ import type { Argv, CamelCaseKey } from 'yargs';
10
+ import type { PackageManager } from '../package-managers/package-manager';
11
+ import { AngularWorkspace } from '../utilities/config';
12
+ export declare enum CommandScope {
13
+ /** Command can only run inside an Angular workspace. */
14
+ In = 0,
15
+ /** Command can only run outside an Angular workspace. */
16
+ Out = 1,
17
+ /** Command can run inside and outside an Angular workspace. */
18
+ Both = 2
19
+ }
20
+ export interface CommandContext {
21
+ currentDirectory: string;
22
+ root: string;
23
+ workspace?: AngularWorkspace;
24
+ globalConfiguration: AngularWorkspace;
25
+ logger: logging.Logger;
26
+ packageManager: PackageManager;
27
+ yargsInstance: Argv<{}>;
28
+ /** Arguments parsed in free-from without parser configuration. */
29
+ args: {
30
+ positional: string[];
31
+ options: {
32
+ help: boolean;
33
+ jsonHelp: boolean;
34
+ getYargsCompletions: boolean;
35
+ } & Record<string, unknown>;
36
+ };
37
+ }
38
+ export type Options<T> = {
39
+ [key in keyof T as CamelCaseKey<key>]: T[key];
40
+ };
41
+ export type OtherOptions = Record<string, unknown>;
@@ -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
+ exports.CommandScope = void 0;
11
+ var CommandScope;
12
+ (function (CommandScope) {
13
+ /** Command can only run inside an Angular workspace. */
14
+ CommandScope[CommandScope["In"] = 0] = "In";
15
+ /** Command can only run outside an Angular workspace. */
16
+ CommandScope[CommandScope["Out"] = 1] = "Out";
17
+ /** Command can run inside and outside an Angular workspace. */
18
+ CommandScope[CommandScope["Both"] = 2] = "Both";
19
+ })(CommandScope || (exports.CommandScope = CommandScope = {}));
20
+ //# sourceMappingURL=definitions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definitions.js","sourceRoot":"","sources":["definitions.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAOH,IAAY,YASX;AATD,WAAY,YAAY;IACtB,wDAAwD;IACxD,2CAAE,CAAA;IAEF,yDAAyD;IACzD,6CAAG,CAAA;IAEH,+DAA+D;IAC/D,+CAAI,CAAA;AACN,CAAC,EATW,YAAY,4BAAZ,YAAY,QASvB"}
@@ -0,0 +1,41 @@
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 { Collection } from '@angular-devkit/schematics';
9
+ import { FileSystemCollectionDescription, FileSystemSchematicDescription, NodeWorkflow } from '@angular-devkit/schematics/tools';
10
+ import { Argv } from 'yargs';
11
+ import { CommandModule, CommandModuleImplementation, CommandScope, Options, OtherOptions } from './command-module';
12
+ import { Option } from './utilities/json-schema';
13
+ export declare const DEFAULT_SCHEMATICS_COLLECTION = "@schematics/angular";
14
+ export interface SchematicsCommandArgs {
15
+ interactive: boolean;
16
+ force: boolean;
17
+ 'dry-run': boolean;
18
+ defaults: boolean;
19
+ }
20
+ export interface SchematicsExecutionOptions extends Options<SchematicsCommandArgs> {
21
+ packageRegistry?: string;
22
+ }
23
+ export declare abstract class SchematicsCommandModule extends CommandModule<SchematicsCommandArgs> implements CommandModuleImplementation<SchematicsCommandArgs> {
24
+ scope: CommandScope;
25
+ protected readonly allowPrivateSchematics: boolean;
26
+ builder(argv: Argv): Promise<Argv<SchematicsCommandArgs>>;
27
+ /** Get schematic schema options.*/
28
+ protected getSchematicOptions(collection: Collection<FileSystemCollectionDescription, FileSystemSchematicDescription>, schematicName: string, workflow: NodeWorkflow): Promise<Option[]>;
29
+ protected getOrCreateWorkflowForBuilder(collectionName: string): NodeWorkflow;
30
+ protected getOrCreateWorkflowForExecution(collectionName: string, options: SchematicsExecutionOptions): Promise<NodeWorkflow>;
31
+ protected getSchematicCollections(): Promise<Set<string>>;
32
+ protected parseSchematicInfo(schematic: string | undefined): [collectionName: string | undefined, schematicName: string | undefined];
33
+ protected runSchematic(options: {
34
+ executionOptions: SchematicsExecutionOptions;
35
+ schematicOptions: OtherOptions;
36
+ collectionName: string;
37
+ schematicName: string;
38
+ }): Promise<number>;
39
+ private getProjectName;
40
+ private getResolvePaths;
41
+ }