@hydranium/cli 1.0.0-next.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (267) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +240 -0
  3. package/heap-analysis/analyze-heap.mjs +798 -0
  4. package/heap-analysis/heap/core/aggregate.mjs +152 -0
  5. package/heap-analysis/heap/core/bucket-label.mjs +23 -0
  6. package/heap-analysis/heap/core/cutpoints.mjs +51 -0
  7. package/heap-analysis/heap/core/diff.mjs +56 -0
  8. package/heap-analysis/heap/core/format.mjs +47 -0
  9. package/heap-analysis/heap/core/holders.mjs +80 -0
  10. package/heap-analysis/heap/core/load.mjs +46 -0
  11. package/heap-analysis/heap/core/report.mjs +68 -0
  12. package/heap-analysis/heap/core/strings.mjs +80 -0
  13. package/heap-analysis/heap/langium/concepts.mjs +230 -0
  14. package/heap-analysis/heap/langium/glsp.classifier.mjs +80 -0
  15. package/heap-analysis/heap/langium/langium.classifier.mjs +203 -0
  16. package/heap-analysis/heap/renderer/renderer.mjs +122 -0
  17. package/lib/cli-version.d.ts +21 -0
  18. package/lib/cli-version.d.ts.map +1 -0
  19. package/lib/cli-version.js +30 -0
  20. package/lib/cli-version.js.map +1 -0
  21. package/lib/cli.d.ts +11 -0
  22. package/lib/cli.d.ts.map +1 -0
  23. package/lib/cli.js +135 -0
  24. package/lib/cli.js.map +1 -0
  25. package/lib/commands/analyze-heap-args.d.ts +46 -0
  26. package/lib/commands/analyze-heap-args.d.ts.map +1 -0
  27. package/lib/commands/analyze-heap-args.js +174 -0
  28. package/lib/commands/analyze-heap-args.js.map +1 -0
  29. package/lib/commands/analyze-heap.d.ts +37 -0
  30. package/lib/commands/analyze-heap.d.ts.map +1 -0
  31. package/lib/commands/analyze-heap.js +63 -0
  32. package/lib/commands/analyze-heap.js.map +1 -0
  33. package/lib/commands/ast-ground-truth-args.d.ts +23 -0
  34. package/lib/commands/ast-ground-truth-args.d.ts.map +1 -0
  35. package/lib/commands/ast-ground-truth-args.js +47 -0
  36. package/lib/commands/ast-ground-truth-args.js.map +1 -0
  37. package/lib/commands/ast-ground-truth-driver.d.ts +10 -0
  38. package/lib/commands/ast-ground-truth-driver.d.ts.map +1 -0
  39. package/lib/commands/ast-ground-truth-driver.js +72 -0
  40. package/lib/commands/ast-ground-truth-driver.js.map +1 -0
  41. package/lib/commands/ast-ground-truth.d.ts +31 -0
  42. package/lib/commands/ast-ground-truth.d.ts.map +1 -0
  43. package/lib/commands/ast-ground-truth.js +36 -0
  44. package/lib/commands/ast-ground-truth.js.map +1 -0
  45. package/lib/commands/generate-transfer-model-args.d.ts +38 -0
  46. package/lib/commands/generate-transfer-model-args.d.ts.map +1 -0
  47. package/lib/commands/generate-transfer-model-args.js +183 -0
  48. package/lib/commands/generate-transfer-model-args.js.map +1 -0
  49. package/lib/commands/generate-transfer-model-config.d.ts +32 -0
  50. package/lib/commands/generate-transfer-model-config.d.ts.map +1 -0
  51. package/lib/commands/generate-transfer-model-config.js +122 -0
  52. package/lib/commands/generate-transfer-model-config.js.map +1 -0
  53. package/lib/commands/generate-transfer-model.d.ts +110 -0
  54. package/lib/commands/generate-transfer-model.d.ts.map +1 -0
  55. package/lib/commands/generate-transfer-model.js +587 -0
  56. package/lib/commands/generate-transfer-model.js.map +1 -0
  57. package/lib/commands/harness-args.d.ts +198 -0
  58. package/lib/commands/harness-args.d.ts.map +1 -0
  59. package/lib/commands/harness-args.js +339 -0
  60. package/lib/commands/harness-args.js.map +1 -0
  61. package/lib/commands/headless-harness.d.ts +97 -0
  62. package/lib/commands/headless-harness.d.ts.map +1 -0
  63. package/lib/commands/headless-harness.js +121 -0
  64. package/lib/commands/headless-harness.js.map +1 -0
  65. package/lib/commands/init-args.d.ts +81 -0
  66. package/lib/commands/init-args.d.ts.map +1 -0
  67. package/lib/commands/init-args.js +250 -0
  68. package/lib/commands/init-args.js.map +1 -0
  69. package/lib/commands/init-prompt.d.ts +66 -0
  70. package/lib/commands/init-prompt.d.ts.map +1 -0
  71. package/lib/commands/init-prompt.js +71 -0
  72. package/lib/commands/init-prompt.js.map +1 -0
  73. package/lib/commands/init-templates.d.ts +42 -0
  74. package/lib/commands/init-templates.d.ts.map +1 -0
  75. package/lib/commands/init-templates.js +1902 -0
  76. package/lib/commands/init-templates.js.map +1 -0
  77. package/lib/commands/init-wizard.d.ts +65 -0
  78. package/lib/commands/init-wizard.d.ts.map +1 -0
  79. package/lib/commands/init-wizard.js +302 -0
  80. package/lib/commands/init-wizard.js.map +1 -0
  81. package/lib/commands/init-workspace.d.ts +168 -0
  82. package/lib/commands/init-workspace.d.ts.map +1 -0
  83. package/lib/commands/init-workspace.js +372 -0
  84. package/lib/commands/init-workspace.js.map +1 -0
  85. package/lib/commands/init.d.ts +273 -0
  86. package/lib/commands/init.d.ts.map +1 -0
  87. package/lib/commands/init.js +303 -0
  88. package/lib/commands/init.js.map +1 -0
  89. package/lib/commands/lint-grammar-args.d.ts +23 -0
  90. package/lib/commands/lint-grammar-args.d.ts.map +1 -0
  91. package/lib/commands/lint-grammar-args.js +63 -0
  92. package/lib/commands/lint-grammar-args.js.map +1 -0
  93. package/lib/commands/lint-grammar-driver.d.ts +10 -0
  94. package/lib/commands/lint-grammar-driver.d.ts.map +1 -0
  95. package/lib/commands/lint-grammar-driver.js +72 -0
  96. package/lib/commands/lint-grammar-driver.js.map +1 -0
  97. package/lib/commands/lint-grammar-report.d.ts +24 -0
  98. package/lib/commands/lint-grammar-report.d.ts.map +1 -0
  99. package/lib/commands/lint-grammar-report.js +65 -0
  100. package/lib/commands/lint-grammar-report.js.map +1 -0
  101. package/lib/commands/lint-grammar.d.ts +33 -0
  102. package/lib/commands/lint-grammar.d.ts.map +1 -0
  103. package/lib/commands/lint-grammar.js +42 -0
  104. package/lib/commands/lint-grammar.js.map +1 -0
  105. package/lib/commands/measure-memory-args.d.ts +23 -0
  106. package/lib/commands/measure-memory-args.d.ts.map +1 -0
  107. package/lib/commands/measure-memory-args.js +106 -0
  108. package/lib/commands/measure-memory-args.js.map +1 -0
  109. package/lib/commands/measure-memory-driver.d.ts +10 -0
  110. package/lib/commands/measure-memory-driver.d.ts.map +1 -0
  111. package/lib/commands/measure-memory-driver.js +110 -0
  112. package/lib/commands/measure-memory-driver.js.map +1 -0
  113. package/lib/commands/measure-memory.d.ts +68 -0
  114. package/lib/commands/measure-memory.d.ts.map +1 -0
  115. package/lib/commands/measure-memory.js +100 -0
  116. package/lib/commands/measure-memory.js.map +1 -0
  117. package/lib/commands/model-docs-args.d.ts +23 -0
  118. package/lib/commands/model-docs-args.d.ts.map +1 -0
  119. package/lib/commands/model-docs-args.js +53 -0
  120. package/lib/commands/model-docs-args.js.map +1 -0
  121. package/lib/commands/model-docs-driver.d.ts +10 -0
  122. package/lib/commands/model-docs-driver.d.ts.map +1 -0
  123. package/lib/commands/model-docs-driver.js +61 -0
  124. package/lib/commands/model-docs-driver.js.map +1 -0
  125. package/lib/commands/model-docs-report.d.ts +18 -0
  126. package/lib/commands/model-docs-report.d.ts.map +1 -0
  127. package/lib/commands/model-docs-report.js +123 -0
  128. package/lib/commands/model-docs-report.js.map +1 -0
  129. package/lib/commands/model-docs.d.ts +30 -0
  130. package/lib/commands/model-docs.d.ts.map +1 -0
  131. package/lib/commands/model-docs.js +37 -0
  132. package/lib/commands/model-docs.js.map +1 -0
  133. package/lib/commands/projects-args.d.ts +25 -0
  134. package/lib/commands/projects-args.d.ts.map +1 -0
  135. package/lib/commands/projects-args.js +49 -0
  136. package/lib/commands/projects-args.js.map +1 -0
  137. package/lib/commands/projects.d.ts +45 -0
  138. package/lib/commands/projects.d.ts.map +1 -0
  139. package/lib/commands/projects.js +39 -0
  140. package/lib/commands/projects.js.map +1 -0
  141. package/lib/commands/query-args.d.ts +25 -0
  142. package/lib/commands/query-args.d.ts.map +1 -0
  143. package/lib/commands/query-args.js +46 -0
  144. package/lib/commands/query-args.js.map +1 -0
  145. package/lib/commands/query.d.ts +32 -0
  146. package/lib/commands/query.d.ts.map +1 -0
  147. package/lib/commands/query.js +29 -0
  148. package/lib/commands/query.js.map +1 -0
  149. package/lib/commands/reflect-args.d.ts +23 -0
  150. package/lib/commands/reflect-args.d.ts.map +1 -0
  151. package/lib/commands/reflect-args.js +59 -0
  152. package/lib/commands/reflect-args.js.map +1 -0
  153. package/lib/commands/reflect-driver.d.ts +10 -0
  154. package/lib/commands/reflect-driver.d.ts.map +1 -0
  155. package/lib/commands/reflect-driver.js +66 -0
  156. package/lib/commands/reflect-driver.js.map +1 -0
  157. package/lib/commands/reflect-report.d.ts +20 -0
  158. package/lib/commands/reflect-report.d.ts.map +1 -0
  159. package/lib/commands/reflect-report.js +127 -0
  160. package/lib/commands/reflect-report.js.map +1 -0
  161. package/lib/commands/reflect.d.ts +30 -0
  162. package/lib/commands/reflect.d.ts.map +1 -0
  163. package/lib/commands/reflect.js +38 -0
  164. package/lib/commands/reflect.js.map +1 -0
  165. package/lib/commands/save-args.d.ts +26 -0
  166. package/lib/commands/save-args.d.ts.map +1 -0
  167. package/lib/commands/save-args.js +59 -0
  168. package/lib/commands/save-args.js.map +1 -0
  169. package/lib/commands/save.d.ts +38 -0
  170. package/lib/commands/save.d.ts.map +1 -0
  171. package/lib/commands/save.js +48 -0
  172. package/lib/commands/save.js.map +1 -0
  173. package/lib/commands/validate-args.d.ts +23 -0
  174. package/lib/commands/validate-args.d.ts.map +1 -0
  175. package/lib/commands/validate-args.js +60 -0
  176. package/lib/commands/validate-args.js.map +1 -0
  177. package/lib/commands/validate-driver.d.ts +10 -0
  178. package/lib/commands/validate-driver.d.ts.map +1 -0
  179. package/lib/commands/validate-driver.js +72 -0
  180. package/lib/commands/validate-driver.js.map +1 -0
  181. package/lib/commands/validate-report.d.ts +30 -0
  182. package/lib/commands/validate-report.d.ts.map +1 -0
  183. package/lib/commands/validate-report.js +87 -0
  184. package/lib/commands/validate-report.js.map +1 -0
  185. package/lib/commands/validate.d.ts +34 -0
  186. package/lib/commands/validate.d.ts.map +1 -0
  187. package/lib/commands/validate.js +41 -0
  188. package/lib/commands/validate.js.map +1 -0
  189. package/lib/commands/watch-args.d.ts +26 -0
  190. package/lib/commands/watch-args.d.ts.map +1 -0
  191. package/lib/commands/watch-args.js +59 -0
  192. package/lib/commands/watch-args.js.map +1 -0
  193. package/lib/commands/watch.d.ts +75 -0
  194. package/lib/commands/watch.d.ts.map +1 -0
  195. package/lib/commands/watch.js +112 -0
  196. package/lib/commands/watch.js.map +1 -0
  197. package/lib/index.d.ts +16 -0
  198. package/lib/index.d.ts.map +1 -0
  199. package/lib/index.js +16 -0
  200. package/lib/index.js.map +1 -0
  201. package/lib/log-level.d.ts +39 -0
  202. package/lib/log-level.d.ts.map +1 -0
  203. package/lib/log-level.js +47 -0
  204. package/lib/log-level.js.map +1 -0
  205. package/lib/package-name.d.ts +33 -0
  206. package/lib/package-name.d.ts.map +1 -0
  207. package/lib/package-name.js +37 -0
  208. package/lib/package-name.js.map +1 -0
  209. package/lib/spawn-data-server.d.ts +102 -0
  210. package/lib/spawn-data-server.d.ts.map +1 -0
  211. package/lib/spawn-data-server.js +154 -0
  212. package/lib/spawn-data-server.js.map +1 -0
  213. package/lib/testing/echo-server.d.ts +11 -0
  214. package/lib/testing/echo-server.d.ts.map +1 -0
  215. package/lib/testing/echo-server.js +79 -0
  216. package/lib/testing/echo-server.js.map +1 -0
  217. package/package.json +105 -0
  218. package/src/cli-version.ts +32 -0
  219. package/src/cli.ts +139 -0
  220. package/src/commands/analyze-heap-args.ts +184 -0
  221. package/src/commands/analyze-heap.ts +76 -0
  222. package/src/commands/ast-ground-truth-args.ts +63 -0
  223. package/src/commands/ast-ground-truth-driver.ts +81 -0
  224. package/src/commands/ast-ground-truth.ts +49 -0
  225. package/src/commands/generate-transfer-model-args.ts +203 -0
  226. package/src/commands/generate-transfer-model-config.ts +128 -0
  227. package/src/commands/generate-transfer-model.ts +716 -0
  228. package/src/commands/harness-args.ts +429 -0
  229. package/src/commands/headless-harness.ts +165 -0
  230. package/src/commands/init-args.ts +273 -0
  231. package/src/commands/init-prompt.ts +149 -0
  232. package/src/commands/init-templates.ts +2037 -0
  233. package/src/commands/init-wizard.ts +378 -0
  234. package/src/commands/init-workspace.ts +442 -0
  235. package/src/commands/init.ts +554 -0
  236. package/src/commands/lint-grammar-args.ts +79 -0
  237. package/src/commands/lint-grammar-driver.ts +83 -0
  238. package/src/commands/lint-grammar-report.ts +74 -0
  239. package/src/commands/lint-grammar.ts +57 -0
  240. package/src/commands/measure-memory-args.ts +123 -0
  241. package/src/commands/measure-memory-driver.ts +128 -0
  242. package/src/commands/measure-memory.ts +143 -0
  243. package/src/commands/model-docs-args.ts +69 -0
  244. package/src/commands/model-docs-driver.ts +68 -0
  245. package/src/commands/model-docs-report.ts +133 -0
  246. package/src/commands/model-docs.ts +48 -0
  247. package/src/commands/projects-args.ts +62 -0
  248. package/src/commands/projects.ts +76 -0
  249. package/src/commands/query-args.ts +61 -0
  250. package/src/commands/query.ts +58 -0
  251. package/src/commands/reflect-args.ts +75 -0
  252. package/src/commands/reflect-driver.ts +76 -0
  253. package/src/commands/reflect-report.ts +138 -0
  254. package/src/commands/reflect.ts +51 -0
  255. package/src/commands/save-args.ts +74 -0
  256. package/src/commands/save.ts +84 -0
  257. package/src/commands/validate-args.ts +76 -0
  258. package/src/commands/validate-driver.ts +84 -0
  259. package/src/commands/validate-report.ts +95 -0
  260. package/src/commands/validate.ts +58 -0
  261. package/src/commands/watch-args.ts +74 -0
  262. package/src/commands/watch.ts +185 -0
  263. package/src/index.ts +16 -0
  264. package/src/log-level.ts +49 -0
  265. package/src/package-name.ts +39 -0
  266. package/src/spawn-data-server.ts +247 -0
  267. package/src/testing/echo-server.ts +93 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init-templates.js","sourceRoot":"","sources":["../../src/commands/init-templates.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2026 CrossBreeze, EclipseSource and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the MIT License which is available in the project root.
6
+ *
7
+ * SPDX-License-Identifier: MIT
8
+ ********************************************************************************/
9
+ import { type InitHead } from './init.js';
10
+ import { type PromptPort } from './init-prompt.js';
11
+ import { type WorkspaceDetection } from './init-workspace.js';
12
+ /** One grammar as the wizard collected it. */
13
+ export interface InitGrammarAnswer {
14
+ /** PascalCase grammar name. */
15
+ readonly name: string;
16
+ /** File extension for its documents, without a leading dot. */
17
+ readonly extension: string;
18
+ /** Scaffold a GLSP diagram for this grammar. */
19
+ readonly diagram: boolean;
20
+ }
21
+ /** Everything the wizard collects. Pure data — {@link composeInitArgv} turns it into flags. */
22
+ export interface InitAnswers {
23
+ /** Directory to scaffold into. */
24
+ readonly targetDir: string;
25
+ /** PascalCase project name. */
26
+ readonly name: string;
27
+ /** The protocol heads to start. */
28
+ readonly heads: readonly InitHead[];
29
+ /** The grammars, in the order they were given. */
30
+ readonly grammars: readonly InitGrammarAnswer[];
31
+ /** Scaffold into a non-empty directory anyway. */
32
+ readonly force: boolean;
33
+ /** Join the surrounding npm workspace. */
34
+ readonly monorepo: boolean;
35
+ /** npm scope for the package name, e.g. `@acme`. */
36
+ readonly scope?: string;
37
+ /** Leave the package publishable, which the scaffold does not do by default. */
38
+ readonly public: boolean;
39
+ }
40
+ /** PascalCase a directory name, splitting on any non-alphanumeric run. */
41
+ export declare function pascalCase(value: string): string;
42
+ /**
43
+ * Compose the argv the answers stand for — the wizard's entire product.
44
+ *
45
+ * Minimal by design: a flag is emitted only where the answer differs from what
46
+ * `init` would derive anyway, so the echoed command reads as the short thing a
47
+ * person would have typed rather than as a transcript of the questions. The
48
+ * extension rides on `--grammar` because `--extensions` is grammar-scoped, and
49
+ * naming the grammar after the project leaves the derived language id alone.
50
+ */
51
+ export declare function composeInitArgv(answers: InitAnswers): string[];
52
+ /** Render an argv as a copy-pasteable command line, quoting only what a shell would mangle. */
53
+ export declare function formatCommand(argv: readonly string[]): string;
54
+ /**
55
+ * Run the wizard and return the argv it composed.
56
+ *
57
+ * `detect` is injected rather than called here so the flow stays testable
58
+ * without a real workspace on disk, and because detection needs the target
59
+ * directory — which is itself one of the answers.
60
+ */
61
+ export declare function runInitWizard(prompt: PromptPort, detect: (targetDir: string) => WorkspaceDetection | undefined, options?: {
62
+ readonly targetDir?: string;
63
+ readonly isOccupied?: (targetDir: string) => boolean;
64
+ }): Promise<string[]>;
65
+ //# sourceMappingURL=init-wizard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init-wizard.d.ts","sourceRoot":"","sources":["../../src/commands/init-wizard.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAkDlF,OAAO,EAAkC,KAAK,QAAQ,EAAwB,MAAM,WAAW,CAAC;AAChG,OAAO,EAA8C,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC/F,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,8CAA8C;AAC9C,MAAM,WAAW,iBAAiB;IAC/B,+BAA+B;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,+DAA+D;IAC/D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,gDAAgD;IAChD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC5B;AAED,+FAA+F;AAC/F,MAAM,WAAW,WAAW;IACzB,kCAAkC;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,+BAA+B;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,mCAAmC;IACnC,QAAQ,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,CAAC;IACpC,kDAAkD;IAClD,QAAQ,CAAC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAChD,kDAAkD;IAClD,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,0CAA0C;IAC1C,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,oDAAoD;IACpD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,gFAAgF;IAChF,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC3B;AAED,0EAA0E;AAC1E,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMhD;AAOD;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,EAAE,CAmC9D;AAED,+FAA+F;AAC/F,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAG7D;AAoKD;;;;;;GAMG;AACH,wBAAsB,aAAa,CAChC,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,kBAAkB,GAAG,SAAS,EAC7D,OAAO,GAAE;IAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAA;CAAO,GACnG,OAAO,CAAC,MAAM,EAAE,CAAC,CA+CnB"}
@@ -0,0 +1,302 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2026 CrossBreeze, EclipseSource and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the MIT License which is available in the project root.
6
+ *
7
+ * SPDX-License-Identifier: MIT
8
+ ********************************************************************************/
9
+ /**
10
+ * The interactive front end of `hydranium-cli init`.
11
+ *
12
+ * **The wizard's product is a command, not files.** It gathers answers, composes
13
+ * an argv, echoes it, and hands it to the same flag parser a non-interactive
14
+ * caller uses. Three properties fall out of that, and they are the reason to
15
+ * prefer it over an interactive mode reaching into the scaffolder:
16
+ *
17
+ * - every answer is flag-expressible by construction, so no wizard-only
18
+ * capability can drift in;
19
+ * - the echoed command is copy-pasteable into a README or CI, which is what
20
+ * keeps a recorded invocation re-runnable;
21
+ * - the wizard reduces to a pure `answers → argv` function
22
+ * ({@link composeInitArgv}), far cheaper to test than a flow that also writes
23
+ * files.
24
+ *
25
+ * What it asks is deliberately short. Most `init` inputs are *derived* and stay
26
+ * derived; the ones here are the ones no rule can reach:
27
+ *
28
+ * - the **file extension**, which is the defect the wizard exists to fix. A
29
+ * project name is silently also an extension choice, because the grammar
30
+ * defaults to the project name and the extension follows the grammar. No
31
+ * derivation can do better — with no second name supplied there is nothing to
32
+ * derive from — so it is asked, with the derived value merely offered as the
33
+ * default.
34
+ * - **workspace membership** and scope, which are facts about the surrounding
35
+ * repo rather than about the language, and so are asked only where a workspace
36
+ * was detected.
37
+ * - **publishability**, which is asked on every path because it is a licence
38
+ * posture rather than a packaging detail: the emission withholds publication
39
+ * AND declares itself UNLICENSED, so a default nobody was shown would settle
40
+ * the licence question by silence.
41
+ *
42
+ * The **language id is deliberately not asked**, though it is the third of the
43
+ * three independent names: its derivation was settled and built separately
44
+ * (`<project>`, qualified to `<project>-<grammar>` when the grammar is
45
+ * separately named), and offering it as a question invites overriding a rule
46
+ * that is right, in the one place a wrong answer renames a routing key every
47
+ * host has already bound.
48
+ *
49
+ * Grammars are collected **one at a time** — each one's own questions together,
50
+ * then an explicit "add another" — rather than as a count followed by N rounds
51
+ * of interrogation. A language project has one grammar far more often than it
52
+ * has three, and this shape charges the common case a single keystroke while
53
+ * letting the multi-grammar case grow naturally.
54
+ */
55
+ import * as path from 'node:path';
56
+ import { DEFAULT_INIT_HEADS, INIT_HEADS, isNonEmptyDir, kebab } from './init.js';
57
+ import { InitWizardCancelled, OPTIONAL_HEAD_CHOICES } from './init-prompt.js';
58
+ /** PascalCase a directory name, splitting on any non-alphanumeric run. */
59
+ export function pascalCase(value) {
60
+ return value
61
+ .split(/[^A-Za-z0-9]+/)
62
+ .filter(part => part.length > 0)
63
+ .map(part => part.charAt(0).toUpperCase() + part.slice(1))
64
+ .join('');
65
+ }
66
+ /** True for a PascalCase identifier legal as a generated TypeScript symbol prefix. */
67
+ function isPascalIdentifier(value) {
68
+ return /^[A-Za-z][A-Za-z0-9]*$/.test(value);
69
+ }
70
+ /**
71
+ * Compose the argv the answers stand for — the wizard's entire product.
72
+ *
73
+ * Minimal by design: a flag is emitted only where the answer differs from what
74
+ * `init` would derive anyway, so the echoed command reads as the short thing a
75
+ * person would have typed rather than as a transcript of the questions. The
76
+ * extension rides on `--grammar` because `--extensions` is grammar-scoped, and
77
+ * naming the grammar after the project leaves the derived language id alone.
78
+ */
79
+ export function composeInitArgv(answers) {
80
+ const argv = [answers.targetDir, '--name', answers.name];
81
+ if (answers.heads.join(',') !== DEFAULT_INIT_HEADS.join(',')) {
82
+ argv.push('--heads', answers.heads.join(','));
83
+ }
84
+ const several = answers.grammars.length > 1;
85
+ for (const grammar of answers.grammars) {
86
+ // A lone grammar named after the project, taking the derived extension, is
87
+ // exactly what `--name` alone already means — so it contributes no flags
88
+ // and the echoed command stays the short one a person would have typed.
89
+ const customExtension = grammar.extension !== kebab(grammar.name);
90
+ if (!several && grammar.name === answers.name && !customExtension && !grammar.diagram) {
91
+ continue;
92
+ }
93
+ argv.push('--grammar', grammar.name);
94
+ if (customExtension) {
95
+ argv.push('--extensions', grammar.extension);
96
+ }
97
+ if (grammar.diagram) {
98
+ argv.push('--diagram');
99
+ }
100
+ }
101
+ if (answers.force) {
102
+ argv.push('--force');
103
+ }
104
+ if (answers.monorepo) {
105
+ argv.push('--monorepo');
106
+ }
107
+ if (answers.scope !== undefined && answers.scope.length > 0) {
108
+ argv.push('--scope', answers.scope);
109
+ }
110
+ if (answers.public) {
111
+ argv.push('--public');
112
+ }
113
+ return argv;
114
+ }
115
+ /** Render an argv as a copy-pasteable command line, quoting only what a shell would mangle. */
116
+ export function formatCommand(argv) {
117
+ const quoted = argv.map(argument => (/^[A-Za-z0-9@,._/-]+$/.test(argument) ? argument : `'${argument.replace(/'/g, "'\\''")}'`));
118
+ return `hydranium-cli init ${quoted.join(' ')}`;
119
+ }
120
+ /** Validate a file extension, and reject one another grammar already claims. */
121
+ function extensionProblem(value, taken) {
122
+ const extension = value.replace(/^\./, '');
123
+ if (!/^[A-Za-z0-9][A-Za-z0-9-]*$/.test(extension)) {
124
+ return `'${value}' is not a usable file extension.`;
125
+ }
126
+ // Checked here rather than left to the scaffolder so the answer is corrected
127
+ // while the grammar that owns it is still on screen. Langium routes documents
128
+ // to a language BY extension, so a duplicate is a silent mis-route.
129
+ return taken.has(extension) ? `'.${extension}' is already claimed by another grammar.` : undefined;
130
+ }
131
+ /**
132
+ * Collect one grammar's settings as a group — its own name, then its own
133
+ * extension — so the answers stay next to the thing they describe.
134
+ */
135
+ async function askGrammar(prompt, index, defaultName, takenNames, takenExtensions) {
136
+ const label = `Grammar ${index + 1}`;
137
+ const name = await prompt.text({
138
+ message: `${label} · name (PascalCase)`,
139
+ initialValue: defaultName,
140
+ placeholder: 'Domain',
141
+ validate: value => {
142
+ if (!isPascalIdentifier(value)) {
143
+ return `'${value}' is not a PascalCase identifier — letters and digits, starting with a letter.`;
144
+ }
145
+ return takenNames.has(value) ? `'${value}' is already used by another grammar.` : undefined;
146
+ }
147
+ });
148
+ const extension = await prompt.text({
149
+ message: `${label} · file extension`,
150
+ initialValue: kebab(name),
151
+ validate: value => extensionProblem(value, takenExtensions)
152
+ });
153
+ return { name, extension: extension.replace(/^\./, ''), diagram: false };
154
+ }
155
+ /**
156
+ * Ask for the protocol head set.
157
+ *
158
+ * `lsp` is not offered, it is stated: it owns the workspace, the build pipeline
159
+ * and the shared tier the other heads read through, so a project without it has
160
+ * nothing for them to serve. Presenting it as a checkbox would offer a choice
161
+ * the scaffolder then refuses.
162
+ */
163
+ async function askHeads(prompt) {
164
+ const optional = await prompt.multiselect({
165
+ message: 'Protocol heads — lsp is always included',
166
+ choices: OPTIONAL_HEAD_CHOICES,
167
+ initialValues: DEFAULT_INIT_HEADS.filter((head) => head !== 'lsp')
168
+ });
169
+ const chosen = new Set(['lsp', ...optional]);
170
+ return INIT_HEADS.filter(head => chosen.has(head));
171
+ }
172
+ /**
173
+ * Mark the grammar a scaffolded diagram edits.
174
+ *
175
+ * Only a real question with `glsp` on AND several grammars: a diagram type
176
+ * binds exactly ONE grammar, and with a single grammar the scaffolder derives
177
+ * that answer already — so asking would offer a choice whose "no" it would
178
+ * silently overrule.
179
+ */
180
+ async function askDiagramGrammar(prompt, heads, grammars) {
181
+ if (!heads.includes('glsp') || grammars.length < 2) {
182
+ return [...grammars];
183
+ }
184
+ const chosen = await prompt.select({
185
+ message: 'Which grammar does the GLSP diagram edit?',
186
+ choices: grammars.map(grammar => ({ value: grammar.name, label: grammar.name, hint: `.${grammar.extension}` })),
187
+ initialValue: grammars[0].name
188
+ });
189
+ return grammars.map(grammar => ({ ...grammar, diagram: grammar.name === chosen }));
190
+ }
191
+ /**
192
+ * Confirm scaffolding into a directory that already has content, returning
193
+ * whether `--force` is needed.
194
+ *
195
+ * Declining ends the session rather than looping back to the target question:
196
+ * the answer is "not here", and re-prompting for a directory would leave the
197
+ * echoed command describing a different run than the one that was started.
198
+ */
199
+ async function confirmOccupiedTarget(prompt, targetDir, isOccupied) {
200
+ if (!isOccupied(path.resolve(targetDir))) {
201
+ return false;
202
+ }
203
+ const force = await prompt.confirm({ message: `${targetDir} is not empty — scaffold into it anyway?`, initialValue: false });
204
+ if (!force) {
205
+ prompt.outro(`Nothing scaffolded — ${targetDir} is not empty.`);
206
+ throw new InitWizardCancelled();
207
+ }
208
+ return true;
209
+ }
210
+ /** Ask the workspace questions, or answer them "no" when there is no workspace to join. */
211
+ async function askWorkspaceMembership(prompt, detection) {
212
+ if (detection === undefined) {
213
+ return { monorepo: false };
214
+ }
215
+ const covered = detection.coveredBy === undefined
216
+ ? `The root manifest has no entry covering it, so one is printed for you to add.`
217
+ : `Already covered by the "${detection.coveredBy}" workspaces entry.`;
218
+ // The placement is named, not just the root. The root alone reads as "this
219
+ // ran somewhere I did not ask for" whenever the command was issued from a
220
+ // different directory than the target, which is the normal case.
221
+ prompt.note(`Root: ${detection.rootDir}\nPlacing: ${detection.targetPath}\n${covered}`, 'Detected an npm workspace');
222
+ const monorepo = await prompt.confirm({ message: 'Scaffold as a member of that workspace?', initialValue: true });
223
+ if (!monorepo) {
224
+ return { monorepo: false };
225
+ }
226
+ const scope = await prompt.text({
227
+ message: "Package scope ('-' for none)",
228
+ initialValue: detection.scope ?? '-',
229
+ validate: value => value === '-' || /^@[a-z0-9][a-z0-9._-]*$/.test(value)
230
+ ? undefined
231
+ : `'${value}' is not an npm scope — try '@acme', or '-' for none.`
232
+ });
233
+ return { monorepo, scope: scope === '-' ? undefined : scope };
234
+ }
235
+ /**
236
+ * Ask the packaging questions.
237
+ *
238
+ * Workspace membership and scope are facts about a surrounding repo, so they are
239
+ * reached only where one was detected. **Publishability is asked on every path**,
240
+ * including a standalone project with no workspace anywhere near it: the scaffold
241
+ * withholds publication because it also emits an UNLICENSED manifest, which makes
242
+ * the answer a licence posture rather than a packaging detail, and a licence
243
+ * posture must not be settled by a default nobody was shown. It knowingly spends
244
+ * a question on the shortest path — the alternative was stating the packaging in
245
+ * the echoed command instead, which informs whoever reads the output and still
246
+ * decides for whoever does not.
247
+ *
248
+ * Asked in the negative, so the offered answer is the emission's own default and
249
+ * a "yes" is the licence decision the adopter has to have made first.
250
+ */
251
+ async function askPackaging(prompt, detection) {
252
+ const membership = await askWorkspaceMembership(prompt, detection);
253
+ const isPublic = await prompt.confirm({ message: 'Publishable to npm (the manifest says UNLICENSED)?', initialValue: false });
254
+ return { ...membership, public: isPublic };
255
+ }
256
+ /**
257
+ * Run the wizard and return the argv it composed.
258
+ *
259
+ * `detect` is injected rather than called here so the flow stays testable
260
+ * without a real workspace on disk, and because detection needs the target
261
+ * directory — which is itself one of the answers.
262
+ */
263
+ export async function runInitWizard(prompt, detect, options = {}) {
264
+ prompt.intro('Scaffold a Hydranium language project');
265
+ const targetDir = options.targetDir ??
266
+ (await prompt.text({
267
+ message: 'Target directory',
268
+ placeholder: './my-language',
269
+ validate: value => (value.length > 0 ? undefined : 'A target directory is required.')
270
+ }));
271
+ // Asked FIRST, not left to the scaffolder — which checks only after the whole
272
+ // wizard has run, so a scaffold that cannot happen costs every remaining
273
+ // question before saying so. Answering yes is exactly `--force`, which keeps
274
+ // the recovery flag-expressible rather than a wizard-only escape.
275
+ const force = await confirmOccupiedTarget(prompt, targetDir, options.isOccupied ?? isNonEmptyDir);
276
+ const name = await prompt.text({
277
+ message: 'Project name (PascalCase)',
278
+ initialValue: pascalCase(path.basename(path.resolve(targetDir))),
279
+ validate: value => isPascalIdentifier(value) ? undefined : `'${value}' is not a PascalCase identifier — letters and digits, starting with a letter.`
280
+ });
281
+ const heads = await askHeads(prompt);
282
+ // One grammar at a time, each with its own settings, then an explicit "add
283
+ // another" — so the single-grammar case costs two keystrokes and the
284
+ // multi-grammar one never asks for a count up front.
285
+ const grammars = [];
286
+ const takenNames = new Set();
287
+ const takenExtensions = new Set();
288
+ do {
289
+ const grammar = await askGrammar(prompt, grammars.length, grammars.length === 0 ? name : undefined, takenNames, takenExtensions);
290
+ grammars.push(grammar);
291
+ takenNames.add(grammar.name);
292
+ takenExtensions.add(grammar.extension);
293
+ } while (await prompt.confirm({ message: 'Add another grammar?', initialValue: false }));
294
+ const withDiagram = await askDiagramGrammar(prompt, heads, grammars);
295
+ const packaging = await askPackaging(prompt, detect(targetDir));
296
+ const argv = composeInitArgv({ targetDir, name, heads, grammars: withDiagram, force, ...packaging });
297
+ // Echoed as the LAST thing before the scaffold runs, because it is the
298
+ // artefact the session produces: everything above is how it was reached.
299
+ prompt.outro(formatCommand(argv));
300
+ return argv;
301
+ }
302
+ //# sourceMappingURL=init-wizard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init-wizard.js","sourceRoot":"","sources":["../../src/commands/init-wizard.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,168 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2026 CrossBreeze, EclipseSource and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the MIT License which is available in the project root.
6
+ *
7
+ * SPDX-License-Identifier: MIT
8
+ ********************************************************************************/
9
+ /** A JSON value as `JSON.parse` produces it. */
10
+ export type JsonValue = string | number | boolean | null | JsonValue[] | {
11
+ [key: string]: JsonValue;
12
+ };
13
+ /** The filesystem reads detection needs, injectable so the rules are unit-testable. */
14
+ export interface WorkspaceProbe {
15
+ /** Parse a JSON file, or `undefined` when it is missing or unparseable. */
16
+ readonly readJson: (absolutePath: string) => JsonValue | undefined;
17
+ /** Names of the subdirectories of `absolutePath`; empty when it is not a directory. */
18
+ readonly listDirectories: (absolutePath: string) => readonly string[];
19
+ /** Names of the files directly in `absolutePath`; empty when it is not a directory. */
20
+ readonly listFiles: (absolutePath: string) => readonly string[];
21
+ /**
22
+ * Raw contents of a file, or `undefined` when it is missing or unreadable.
23
+ *
24
+ * Separate from {@link readJson} because the two configs read through it —
25
+ * prettier's and eslint's — are routinely JavaScript modules, which no JSON
26
+ * parser can reach. Required rather than optional so a test double cannot
27
+ * omit it and silently degrade every detection built on it to "not found".
28
+ */
29
+ readonly readText: (absolutePath: string) => string | undefined;
30
+ }
31
+ /**
32
+ * Strip the two things `tsc` accepts in a config that `JSON.parse` rejects:
33
+ * comments, and a trailing comma before a closing brace or bracket.
34
+ *
35
+ * Written as a scanner rather than a regex because both constructs are legal
36
+ * INSIDE a string — `"https://example.com"` holds a `//`, and a description can
37
+ * end in a comma — so a pattern that ignores string state corrupts the very
38
+ * configs it is meant to rescue. Without this, a base config with a single
39
+ * comment reads as "no compilerOptions here" and the scaffold silently emits no
40
+ * `extends` at all, which is the worst failure shape available: quietly wrong
41
+ * rather than loudly broken.
42
+ */
43
+ export declare function stripJsonComments(text: string): string;
44
+ /**
45
+ * The real-filesystem probe.
46
+ *
47
+ * Every read is best-effort: detection runs over directories the user may not
48
+ * own, so an unreadable or malformed file degrades to "not found" rather than
49
+ * aborting a scaffold.
50
+ */
51
+ export declare function createNodeWorkspaceProbe(): WorkspaceProbe;
52
+ /** What {@link detectWorkspace} found around a target directory. */
53
+ export interface WorkspaceDetection {
54
+ /** Absolute path of the directory whose `package.json` declares `workspaces`. */
55
+ readonly rootDir: string;
56
+ /** The root's `workspaces` globs, verbatim. */
57
+ readonly workspaces: readonly string[];
58
+ /** POSIX path of the target relative to {@link rootDir}, e.g. `packages/foo`. */
59
+ readonly targetPath: string;
60
+ /**
61
+ * The `workspaces` glob already covering {@link targetPath}, if any.
62
+ *
63
+ * Absent means the root manifest needs a new entry — which is why this is
64
+ * computed per target rather than assumed: a `packages/*` glob covers a new
65
+ * package for free, while a repo that lists its examples one by one does not.
66
+ */
67
+ readonly coveredBy?: string;
68
+ /** The npm scope the sibling packages agree on (`@acme`), when they agree. */
69
+ readonly scope?: string;
70
+ /**
71
+ * Relative specifier of the tsconfig carrying `compilerOptions`, e.g.
72
+ * `../../tsconfig.base.json`. Absent when the root has none.
73
+ */
74
+ readonly baseTsconfig?: string;
75
+ /** That tsconfig's `compilerOptions`, so the emitted one can drop what it inherits. */
76
+ readonly baseCompilerOptions?: Readonly<Record<string, JsonValue>>;
77
+ /** The root prettier config's `printWidth`, so emitted sources wrap where the repo wraps. */
78
+ readonly printWidth?: number;
79
+ /** Filename of the root eslint config, when there is one. Absent means the repo does not lint. */
80
+ readonly eslintConfig?: string;
81
+ }
82
+ /**
83
+ * The nearest ancestor of `targetDir` whose `package.json` declares
84
+ * `workspaces`.
85
+ *
86
+ * Nearest rather than outermost: nested workspaces are legal, and the inner one
87
+ * is the manifest that would actually claim the new package.
88
+ */
89
+ export declare function findWorkspaceRoot(targetDir: string, probe: WorkspaceProbe): string | undefined;
90
+ /**
91
+ * True when a `workspaces` glob covers a repo-relative path.
92
+ *
93
+ * `**` is treated as covering any run of segments. Deliberately no glob
94
+ * dependency: npm's own set is small, and a wrong answer here only costs a
95
+ * printed hint that turns out to be unnecessary.
96
+ */
97
+ export declare function workspaceGlobCovers(glob: string, relativePath: string): boolean;
98
+ /**
99
+ * The npm scope the existing workspace members agree on.
100
+ *
101
+ * Guessed from siblings and NOT from the root manifest, which in a framework
102
+ * repo is routinely named for the repo rather than the scope it publishes under
103
+ * — so reading it would confidently produce the wrong answer. Requires a
104
+ * unanimous scope: a split verdict is exactly the case where a prompt should
105
+ * ask rather than a heuristic should pick.
106
+ */
107
+ export declare function inferPackageScope(rootDir: string, workspaces: readonly string[], probe: WorkspaceProbe): string | undefined;
108
+ /**
109
+ * The root tsconfig that actually carries `compilerOptions`.
110
+ *
111
+ * `tsconfig.json` at a monorepo root is very often a *solution* file — `files:
112
+ * []` plus `references` — so extending it inherits nothing and silently drops
113
+ * every compiler setting the package meant to pick up. Hence the search is by
114
+ * content, preferring the conventional `tsconfig.base.json` name only as a
115
+ * tie-break, never as the test.
116
+ */
117
+ export declare function findBaseTsconfig(rootDir: string, probe: WorkspaceProbe): {
118
+ readonly file: string;
119
+ readonly compilerOptions: Readonly<Record<string, JsonValue>>;
120
+ } | undefined;
121
+ /**
122
+ * The repo's prettier `printWidth`, so the emitted sources wrap where the repo
123
+ * wraps instead of at the scaffold's own default.
124
+ *
125
+ * **Why this is worth detecting at all.** There is no width that is stable for
126
+ * an unknown repo — 80 (prettier's own default), 100, 120 and 140 each produce
127
+ * different wrapping — so emitted code that "passes a formatter check as-is" is
128
+ * only ever true relative to a config. Matching the one we can see is the
129
+ * closest thing available.
130
+ *
131
+ * **A regex over the file, deliberately, and only for the module forms.** The
132
+ * JSON forms are parsed properly; `.prettierrc.js` and `prettier.config.mjs` are
133
+ * executable modules that no scaffold should evaluate, and skipping them would
134
+ * miss the configs most repos actually use. The pattern takes the FIRST
135
+ * `printWidth`, which is the top-level one in every config laid out
136
+ * conventionally — an `overrides` entry appearing before it would win, and that
137
+ * is the known limit.
138
+ *
139
+ * Getting it wrong costs exactly what getting it absent costs today: the
140
+ * adopter's formatter rewraps on first commit. So a heuristic that is usually
141
+ * right strictly improves on no detection, and can break nothing.
142
+ */
143
+ export declare function findPrettierPrintWidth(rootDir: string, probe: WorkspaceProbe): number | undefined;
144
+ /**
145
+ * The root eslint config's filename, when the repo has one.
146
+ *
147
+ * Read to decide whether the scaffold emits a `lint` script. The failure it
148
+ * prevents is silent in the direction that matters: a task runner runs a script
149
+ * only where one is declared, so a package without `lint` is SKIPPED rather than
150
+ * reported, and the absence reads as a clean lint. Emitting the script into a
151
+ * repo whose lint invocation differs costs one visible line to edit.
152
+ *
153
+ * Both config generations, because detecting a repo that has not migrated off
154
+ * `.eslintrc` is free and the question asked here — does this repo lint? — is
155
+ * the same either way.
156
+ */
157
+ export declare function findEslintConfig(rootDir: string, probe: WorkspaceProbe): string | undefined;
158
+ /**
159
+ * Detect the workspace `targetDir` would join. `undefined` when no ancestor
160
+ * declares `workspaces`, which is the standalone case and not an error here —
161
+ * `runInit` decides whether that is fatal.
162
+ *
163
+ * The target is resolved against the process's working directory, so a relative
164
+ * one is relative to where the command was RUN, not to anything the scaffolder
165
+ * picks. That matters because the two are routinely different directories.
166
+ */
167
+ export declare function detectWorkspace(targetDir: string, probe: WorkspaceProbe): WorkspaceDetection | undefined;
168
+ //# sourceMappingURL=init-workspace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init-workspace.d.ts","sourceRoot":"","sources":["../../src/commands/init-workspace.ts"],"names":[],"mappings":"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"}