@hydranium/cli 1.0.0-next.31 → 1.0.0-next.312

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 (252) hide show
  1. package/README.md +79 -205
  2. package/bin/hydranium-cli.js +13 -0
  3. package/heap-analysis/heap/core/load.mjs +2 -2
  4. package/lib/cli-version.js.map +1 -1
  5. package/lib/cli.js +7 -2
  6. package/lib/cli.js.map +1 -1
  7. package/lib/commands/analyze-heap-args.js.map +1 -1
  8. package/lib/commands/analyze-heap.d.ts +3 -0
  9. package/lib/commands/analyze-heap.d.ts.map +1 -1
  10. package/lib/commands/analyze-heap.js +2 -1
  11. package/lib/commands/analyze-heap.js.map +1 -1
  12. package/lib/commands/ast-ground-truth-args.d.ts +3 -2
  13. package/lib/commands/ast-ground-truth-args.d.ts.map +1 -1
  14. package/lib/commands/ast-ground-truth-args.js +11 -9
  15. package/lib/commands/ast-ground-truth-args.js.map +1 -1
  16. package/lib/commands/ast-ground-truth-driver.js +2 -1
  17. package/lib/commands/ast-ground-truth-driver.js.map +1 -1
  18. package/lib/commands/ast-ground-truth.js +1 -1
  19. package/lib/commands/ast-ground-truth.js.map +1 -1
  20. package/lib/commands/client-session.d.ts +17 -0
  21. package/lib/commands/client-session.d.ts.map +1 -0
  22. package/lib/commands/client-session.js +27 -0
  23. package/lib/commands/client-session.js.map +1 -0
  24. package/lib/commands/create-args.d.ts +17 -0
  25. package/lib/commands/create-args.d.ts.map +1 -0
  26. package/lib/commands/create-args.js +53 -0
  27. package/lib/commands/create-args.js.map +1 -0
  28. package/lib/commands/create.d.ts +38 -0
  29. package/lib/commands/create.d.ts.map +1 -0
  30. package/lib/commands/create.js +43 -0
  31. package/lib/commands/create.js.map +1 -0
  32. package/lib/commands/delete-args.d.ts +17 -0
  33. package/lib/commands/delete-args.d.ts.map +1 -0
  34. package/lib/commands/delete-args.js +49 -0
  35. package/lib/commands/delete-args.js.map +1 -0
  36. package/lib/commands/delete.d.ts +30 -0
  37. package/lib/commands/delete.d.ts.map +1 -0
  38. package/lib/commands/delete.js +32 -0
  39. package/lib/commands/delete.js.map +1 -0
  40. package/lib/commands/generate-languages.d.ts +35 -0
  41. package/lib/commands/generate-languages.d.ts.map +1 -0
  42. package/lib/commands/generate-languages.js +105 -0
  43. package/lib/commands/generate-languages.js.map +1 -0
  44. package/lib/commands/generate-transfer-model-args.d.ts.map +1 -1
  45. package/lib/commands/generate-transfer-model-args.js +7 -0
  46. package/lib/commands/generate-transfer-model-args.js.map +1 -1
  47. package/lib/commands/generate-transfer-model-config.d.ts.map +1 -1
  48. package/lib/commands/generate-transfer-model-config.js +6 -3
  49. package/lib/commands/generate-transfer-model-config.js.map +1 -1
  50. package/lib/commands/generate-transfer-model.d.ts +15 -1
  51. package/lib/commands/generate-transfer-model.d.ts.map +1 -1
  52. package/lib/commands/generate-transfer-model.js +46 -8
  53. package/lib/commands/generate-transfer-model.js.map +1 -1
  54. package/lib/commands/harness-args.d.ts +44 -42
  55. package/lib/commands/harness-args.d.ts.map +1 -1
  56. package/lib/commands/harness-args.js +109 -27
  57. package/lib/commands/harness-args.js.map +1 -1
  58. package/lib/commands/headless-harness.d.ts +37 -20
  59. package/lib/commands/headless-harness.d.ts.map +1 -1
  60. package/lib/commands/headless-harness.js +68 -17
  61. package/lib/commands/headless-harness.js.map +1 -1
  62. package/lib/commands/init-args.d.ts.map +1 -1
  63. package/lib/commands/init-args.js +32 -27
  64. package/lib/commands/init-args.js.map +1 -1
  65. package/lib/commands/init-prompt.d.ts +3 -3
  66. package/lib/commands/init-prompt.d.ts.map +1 -1
  67. package/lib/commands/init-prompt.js +4 -5
  68. package/lib/commands/init-prompt.js.map +1 -1
  69. package/lib/commands/init-templates.d.ts +18 -14
  70. package/lib/commands/init-templates.d.ts.map +1 -1
  71. package/lib/commands/init-templates.js +732 -677
  72. package/lib/commands/init-templates.js.map +1 -1
  73. package/lib/commands/init-wizard.d.ts.map +1 -1
  74. package/lib/commands/init-wizard.js +17 -27
  75. package/lib/commands/init-wizard.js.map +1 -1
  76. package/lib/commands/init-workspace.d.ts +13 -11
  77. package/lib/commands/init-workspace.d.ts.map +1 -1
  78. package/lib/commands/init-workspace.js +21 -7
  79. package/lib/commands/init-workspace.js.map +1 -1
  80. package/lib/commands/init.d.ts +45 -19
  81. package/lib/commands/init.d.ts.map +1 -1
  82. package/lib/commands/init.js +80 -43
  83. package/lib/commands/init.js.map +1 -1
  84. package/lib/commands/kebab.d.ts +15 -0
  85. package/lib/commands/kebab.d.ts.map +1 -0
  86. package/lib/commands/kebab.js +17 -0
  87. package/lib/commands/kebab.js.map +1 -0
  88. package/lib/commands/lint-grammar-args.d.ts +3 -2
  89. package/lib/commands/lint-grammar-args.d.ts.map +1 -1
  90. package/lib/commands/lint-grammar-args.js +13 -10
  91. package/lib/commands/lint-grammar-args.js.map +1 -1
  92. package/lib/commands/lint-grammar-driver.js +2 -1
  93. package/lib/commands/lint-grammar-driver.js.map +1 -1
  94. package/lib/commands/lint-grammar-report.js.map +1 -1
  95. package/lib/commands/lint-grammar.js +1 -1
  96. package/lib/commands/lint-grammar.js.map +1 -1
  97. package/lib/commands/measure-memory-args.d.ts +3 -2
  98. package/lib/commands/measure-memory-args.d.ts.map +1 -1
  99. package/lib/commands/measure-memory-args.js +22 -11
  100. package/lib/commands/measure-memory-args.js.map +1 -1
  101. package/lib/commands/measure-memory-driver.js +5 -3
  102. package/lib/commands/measure-memory-driver.js.map +1 -1
  103. package/lib/commands/measure-memory.js +1 -1
  104. package/lib/commands/measure-memory.js.map +1 -1
  105. package/lib/commands/model-docs-args.d.ts +4 -3
  106. package/lib/commands/model-docs-args.d.ts.map +1 -1
  107. package/lib/commands/model-docs-args.js +12 -10
  108. package/lib/commands/model-docs-args.js.map +1 -1
  109. package/lib/commands/model-docs-driver.js +2 -1
  110. package/lib/commands/model-docs-driver.js.map +1 -1
  111. package/lib/commands/model-docs.js +1 -1
  112. package/lib/commands/model-docs.js.map +1 -1
  113. package/lib/commands/projects-args.d.ts.map +1 -1
  114. package/lib/commands/projects-args.js +5 -5
  115. package/lib/commands/projects-args.js.map +1 -1
  116. package/lib/commands/projects.d.ts +3 -4
  117. package/lib/commands/projects.d.ts.map +1 -1
  118. package/lib/commands/projects.js +2 -2
  119. package/lib/commands/projects.js.map +1 -1
  120. package/lib/commands/query-args.d.ts.map +1 -1
  121. package/lib/commands/query-args.js +5 -5
  122. package/lib/commands/query-args.js.map +1 -1
  123. package/lib/commands/query.d.ts +3 -4
  124. package/lib/commands/query.d.ts.map +1 -1
  125. package/lib/commands/query.js +2 -2
  126. package/lib/commands/query.js.map +1 -1
  127. package/lib/commands/reflect-args.d.ts +3 -2
  128. package/lib/commands/reflect-args.d.ts.map +1 -1
  129. package/lib/commands/reflect-args.js +13 -10
  130. package/lib/commands/reflect-args.js.map +1 -1
  131. package/lib/commands/reflect-driver.js +2 -1
  132. package/lib/commands/reflect-driver.js.map +1 -1
  133. package/lib/commands/reflect-report.js.map +1 -1
  134. package/lib/commands/reflect.js +1 -1
  135. package/lib/commands/reflect.js.map +1 -1
  136. package/lib/commands/save-args.d.ts.map +1 -1
  137. package/lib/commands/save-args.js +7 -4
  138. package/lib/commands/save-args.js.map +1 -1
  139. package/lib/commands/save.d.ts +8 -4
  140. package/lib/commands/save.d.ts.map +1 -1
  141. package/lib/commands/save.js +12 -23
  142. package/lib/commands/save.js.map +1 -1
  143. package/lib/commands/validate-args.d.ts +3 -2
  144. package/lib/commands/validate-args.d.ts.map +1 -1
  145. package/lib/commands/validate-args.js +13 -10
  146. package/lib/commands/validate-args.js.map +1 -1
  147. package/lib/commands/validate-driver.js +2 -1
  148. package/lib/commands/validate-driver.js.map +1 -1
  149. package/lib/commands/validate-report.js.map +1 -1
  150. package/lib/commands/validate.js +1 -1
  151. package/lib/commands/validate.js.map +1 -1
  152. package/lib/commands/watch-args.d.ts.map +1 -1
  153. package/lib/commands/watch-args.js +6 -4
  154. package/lib/commands/watch-args.js.map +1 -1
  155. package/lib/commands/watch.d.ts +3 -4
  156. package/lib/commands/watch.d.ts.map +1 -1
  157. package/lib/commands/watch.js +20 -2
  158. package/lib/commands/watch.js.map +1 -1
  159. package/lib/driver-heap.d.ts +52 -0
  160. package/lib/driver-heap.d.ts.map +1 -0
  161. package/lib/driver-heap.js +51 -0
  162. package/lib/driver-heap.js.map +1 -0
  163. package/lib/index.d.ts +2 -0
  164. package/lib/index.d.ts.map +1 -1
  165. package/lib/index.js +2 -0
  166. package/lib/index.js.map +1 -1
  167. package/lib/log-level.d.ts +21 -11
  168. package/lib/log-level.d.ts.map +1 -1
  169. package/lib/log-level.js +25 -14
  170. package/lib/log-level.js.map +1 -1
  171. package/lib/spawn-data-server.d.ts +9 -4
  172. package/lib/spawn-data-server.d.ts.map +1 -1
  173. package/lib/spawn-data-server.js +5 -4
  174. package/lib/spawn-data-server.js.map +1 -1
  175. package/lib/stderr-connection-logger.d.ts +12 -0
  176. package/lib/stderr-connection-logger.d.ts.map +1 -0
  177. package/lib/stderr-connection-logger.js +16 -0
  178. package/lib/stderr-connection-logger.js.map +1 -0
  179. package/lib/testing/echo-server.js +9 -1
  180. package/lib/testing/echo-server.js.map +1 -1
  181. package/package.json +52 -39
  182. package/src/cli.ts +7 -2
  183. package/src/commands/analyze-heap.ts +4 -1
  184. package/src/commands/ast-ground-truth-args.ts +15 -12
  185. package/src/commands/ast-ground-truth-driver.ts +2 -1
  186. package/src/commands/ast-ground-truth.ts +1 -1
  187. package/src/commands/client-session.ts +33 -0
  188. package/src/commands/create-args.ts +68 -0
  189. package/src/commands/create.ts +83 -0
  190. package/src/commands/delete-args.ts +64 -0
  191. package/src/commands/delete.ts +61 -0
  192. package/src/commands/generate-languages.ts +132 -0
  193. package/src/commands/generate-transfer-model-args.ts +7 -0
  194. package/src/commands/generate-transfer-model-config.ts +6 -3
  195. package/src/commands/generate-transfer-model.ts +56 -8
  196. package/src/commands/harness-args.ts +99 -31
  197. package/src/commands/headless-harness.ts +86 -26
  198. package/src/commands/init-args.ts +32 -27
  199. package/src/commands/init-prompt.ts +5 -6
  200. package/src/commands/init-templates.ts +790 -696
  201. package/src/commands/init-wizard.ts +17 -27
  202. package/src/commands/init-workspace.ts +31 -16
  203. package/src/commands/init.ts +126 -58
  204. package/src/commands/kebab.ts +17 -0
  205. package/src/commands/lint-grammar-args.ts +17 -13
  206. package/src/commands/lint-grammar-driver.ts +2 -1
  207. package/src/commands/lint-grammar.ts +1 -1
  208. package/src/commands/measure-memory-args.ts +27 -14
  209. package/src/commands/measure-memory-driver.ts +5 -3
  210. package/src/commands/measure-memory.ts +1 -1
  211. package/src/commands/model-docs-args.ts +16 -13
  212. package/src/commands/model-docs-driver.ts +2 -1
  213. package/src/commands/model-docs.ts +1 -1
  214. package/src/commands/projects-args.ts +5 -4
  215. package/src/commands/projects.ts +4 -6
  216. package/src/commands/query-args.ts +5 -4
  217. package/src/commands/query.ts +4 -6
  218. package/src/commands/reflect-args.ts +17 -13
  219. package/src/commands/reflect-driver.ts +2 -1
  220. package/src/commands/reflect.ts +1 -1
  221. package/src/commands/save-args.ts +7 -3
  222. package/src/commands/save.ts +24 -27
  223. package/src/commands/validate-args.ts +17 -13
  224. package/src/commands/validate-driver.ts +2 -1
  225. package/src/commands/validate.ts +1 -1
  226. package/src/commands/watch-args.ts +6 -3
  227. package/src/commands/watch.ts +28 -7
  228. package/src/driver-heap.ts +65 -0
  229. package/src/index.ts +2 -0
  230. package/src/log-level.ts +42 -14
  231. package/src/spawn-data-server.ts +17 -5
  232. package/src/stderr-connection-logger.ts +18 -0
  233. package/src/testing/echo-server.ts +11 -2
  234. package/templates/gitignore +1 -0
  235. package/templates/protocol/gitignore +3 -0
  236. package/templates/protocol/src/__GRAMMAR_ID__-diagram-types.ts +41 -0
  237. package/templates/server/gitignore +6 -0
  238. package/templates/server/src/glsp/__GRAMMAR_ID__/create-node-operation-handler.ts +62 -0
  239. package/templates/server/src/glsp/__GRAMMAR_ID__/gmodel-factory.ts +60 -0
  240. package/templates/server/src/glsp/__GRAMMAR_ID__/state.ts +18 -0
  241. package/templates/server/src/glsp/__GRAMMAR_ID__/storage.ts +16 -0
  242. package/templates/server/src/glsp/__GRAMMAR_ID__/submission-handler.ts +24 -0
  243. package/templates/server/src/grammar/common.langium +12 -0
  244. package/templates/server/src/language-server/__GRAMMAR_ID__-serializer.ts +53 -0
  245. package/templates/server/src/language-server/ast.ts +23 -0
  246. package/templates/server/src/node/services.ts +16 -0
  247. package/templates/server/test/__GRAMMAR_ID__-diagram.test.ts +112 -0
  248. package/templates/server/test/tsconfig.json +4 -0
  249. package/templates/server/tsconfig.test.json +10 -0
  250. package/templates/server/vitest.config.ts +14 -0
  251. package/templates/workspace/nodes.__EXTENSION__ +5 -0
  252. package/templates/workspace/references.__EXTENSION__ +2 -0
@@ -112,8 +112,8 @@ export function parseInitArgs(args, onError = exitWithUsage) {
112
112
  scoped().diagram = true;
113
113
  break;
114
114
  case '--heads': {
115
- // Validated in `resolveInitComposition`, which owns the rule that
116
- // `lsp` is mandatory; the cast only gets the strings that far.
115
+ // Validated in `resolveInitComposition`; the cast only gets the
116
+ // strings that far.
117
117
  heads = next().split(',');
118
118
  break;
119
119
  }
@@ -162,41 +162,46 @@ export const INIT_HELP = [
162
162
  ' ( --grammar <Name> [--extensions <list>]',
163
163
  ' [--language-id <id>] [--diagram] )...',
164
164
  '',
165
- 'Scaffold a new Hydranium language project end-to-end: a starter grammar per',
166
- '--grammar, the `create<Name>Services` DI wiring, an LSP + data-server launch,',
167
- 'langium-config, package.json, and build scripts. Does NOT run `npm install` or',
168
- '`langium generate` — those are printed as next steps. Refuses a non-empty',
169
- 'directory without --force.',
165
+ 'Scaffold a new Hydranium language project end-to-end: two packages and a',
166
+ 'starter workspace, each in its own directory. server/ holds a starter grammar',
167
+ 'per --grammar, the `create<Name>Services` DI wiring, a launch of every head',
168
+ 'and build scripts; protocol/ holds what the server and its clients both',
169
+ 'import; workspace/ holds two starter model files per grammar. A standalone',
170
+ 'project also gets a root manifest naming the two packages as npm workspaces.',
171
+ 'Does NOT run `npm install` or `langium generate` — those are printed as next',
172
+ 'steps. Refuses a non-empty directory without --force.',
170
173
  '',
171
174
  'Run it with no --name on a terminal to be prompted instead. The wizard echoes',
172
175
  'the command it composed before running it, so every answer is reproducible as',
173
176
  'flags. Without a terminal a missing --name stays an error, so CI never hangs.',
174
177
  '',
175
178
  'Project options (position-free):',
176
- ' <target-dir> Directory to scaffold into (required).',
179
+ ' <target-dir> The project directory to scaffold into (required).',
177
180
  ' --name <Name> PascalCase PROJECT name; drives the services and the',
178
181
  ' Langium projectName, i.e. the shared generated symbols',
179
182
  ' (<Name>AstReflection, <Name>GeneratedSharedModule) (required).',
180
- ' --heads <list> Comma-separated protocol heads: lsp, data, glsp.',
181
- ' `lsp` is mandatory — it owns the workspace, the build',
182
- ' pipeline and the shared tier the others read through.',
183
- ' The emitted dependencies, main.ts and module bindings',
184
- ' all follow this set. Default: lsp,data.',
183
+ ' --heads <list> Comma-separated protocol heads: lsp, data, glsp, any',
184
+ ' non-empty set. Without lsp, main.ts serves the socket',
185
+ ' heads from a workspace path it is given and prints',
186
+ ' their ports. The emitted dependencies, main.ts and',
187
+ ' module bindings all follow this set. Default: lsp,data.',
185
188
  ' --force Scaffold into a non-empty directory anyway.',
186
- ' --monorepo Scaffold a member of the surrounding npm workspace:',
187
- ' tsconfig extends the root config that actually carries',
188
- ' compilerOptions, .gitignore is left to the root, and the',
189
- ' scripts address the package by --prefix. Errors when no',
190
- ' ancestor declares `workspaces`. Never writes outside the',
191
- ' target — the root `workspaces` entry is printed, not added.',
192
- ' --scope <@scope> npm scope for the package name, e.g. @acme. Not inferred:',
189
+ ' --monorepo Scaffold the packages as members of the surrounding npm',
190
+ ' workspace, with no root of their own: each tsconfig',
191
+ ' extends the root config that actually carries',
192
+ ' compilerOptions, and the scripts address the server by',
193
+ ' --prefix. Errors when no ancestor declares `workspaces`.',
194
+ ' Never writes outside the target — the root `workspaces`',
195
+ ' entries and dependency pins are printed, not added.',
196
+ ' --scope <@scope> npm scope for the package names, e.g. @acme. Not inferred:',
193
197
  ' a root manifest is usually named for the repo, not the',
194
198
  ' scope. The wizard offers the siblings’ scope as a default.',
195
- ' --public Omit "private": true, so the package can be published.',
196
- ' The scaffold emits it by default, because the manifest',
197
- ' it also emits declares license "UNLICENSED": a package',
198
- ' granting no rights on a public registry contradicts',
199
- ' itself. Pass this once the project has picked a licence.',
199
+ ' --public Omit "private": true from the server and protocol',
200
+ ' packages, so they can be published together. The',
201
+ ' scaffold emits it by default, because the manifests',
202
+ ' also declare license "UNLICENSED": a package granting',
203
+ ' no rights on a public registry contradicts itself. Pass',
204
+ ' this once the project has picked a licence.',
200
205
  '',
201
206
  'Grammar options — each applies to the PRECEDING --grammar:',
202
207
  ' --grammar <Name> PascalCase GRAMMAR name; drives the `grammar X` declaration',
@@ -210,8 +215,8 @@ export const INIT_HELP = [
210
215
  ' (default: <project-id>-<grammar-id>).',
211
216
  ' --diagram Scaffold a GLSP diagram for that grammar. Requires',
212
217
  ' `glsp` in --heads. Derived when there is exactly one',
213
- ' grammar; required when there are several, because a',
214
- ' diagram type binds exactly one grammar.',
218
+ ' grammar; required when there are several, because the',
219
+ ' scaffolded diagram is typed over one grammar’s model.',
215
220
  '',
216
221
  'Example — three grammars, one with a differing extension, three heads:',
217
222
  ' hydranium-cli init ./order-flow --name OrderFlow --heads lsp,data,glsp \\',
@@ -1 +1 @@
1
- {"version":3,"file":"init-args.js","sourceRoot":"","sources":["../../src/commands/init-args.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init-args.js","sourceRoot":"","sources":["../../src/commands/init-args.ts"],"names":[],"mappings":"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"}
@@ -39,7 +39,7 @@ export interface PromptPort {
39
39
  readonly choices: ReadonlyArray<PromptChoice<Value>>;
40
40
  readonly initialValue?: Value;
41
41
  }) => Promise<Value>;
42
- /** Ask for any number of several choices, including none. */
42
+ /** Ask for at least one of several choices. */
43
43
  readonly multiselect: <Value extends string>(options: {
44
44
  readonly message: string;
45
45
  readonly choices: ReadonlyArray<PromptChoice<Value>>;
@@ -53,8 +53,8 @@ export interface PromptPort {
53
53
  /** Close the session with a closing line. */
54
54
  readonly outro: (message: string) => void;
55
55
  }
56
- /** The optional heads, as a checkbox list. `lsp` is not offered — see `askHeads`. */
57
- export declare const OPTIONAL_HEAD_CHOICES: ReadonlyArray<PromptChoice<Exclude<InitHead, 'lsp'>>>;
56
+ /** The heads, as a checkbox list. */
57
+ export declare const HEAD_CHOICES: ReadonlyArray<PromptChoice<InitHead>>;
58
58
  /**
59
59
  * The real prompt, backed by `@clack/prompts`.
60
60
  *
@@ -1 +1 @@
1
- {"version":3,"file":"init-prompt.d.ts","sourceRoot":"","sources":["../../src/commands/init-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAqBlF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE1C,wFAAwF;AACxF,MAAM,WAAW,YAAY,CAAC,KAAK,SAAS,MAAM;IAC/C,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,2EAA2E;IAC3E,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,mGAAmG;AACnG,MAAM,WAAW,iBAAiB;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;CAC5D;AAED,4EAA4E;AAC5E,qBAAa,mBAAoB,SAAQ,KAAK;;CAK7C;AAED,sDAAsD;AACtD,MAAM,WAAW,UAAU;IACxB,qCAAqC;IACrC,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,sDAAsD;IACtD,QAAQ,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACzD,8BAA8B;IAC9B,QAAQ,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/D,8CAA8C;IAC9C,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,SAAS,MAAM,EAAE,OAAO,EAAE;QAC9C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;QACrD,QAAQ,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC;KAChC,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;IACrB,6DAA6D;IAC7D,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,SAAS,MAAM,EAAE,OAAO,EAAE;QACnD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;QACrD,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,KAAK,EAAE,CAAC;KAC5C,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IACvB,6BAA6B;IAC7B,QAAQ,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/G,6CAA6C;IAC7C,QAAQ,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5C;AAED,qFAAqF;AACrF,eAAO,MAAM,qBAAqB,EAAE,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAGvF,CAAC;AAEF;;;;;;GAMG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,UAAU,CAAC,CAuD7D"}
1
+ {"version":3,"file":"init-prompt.d.ts","sourceRoot":"","sources":["../../src/commands/init-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAqBlF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE1C,wFAAwF;AACxF,MAAM,WAAW,YAAY,CAAC,KAAK,SAAS,MAAM;IAC/C,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,2EAA2E;IAC3E,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,mGAAmG;AACnG,MAAM,WAAW,iBAAiB;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;CAC5D;AAED,4EAA4E;AAC5E,qBAAa,mBAAoB,SAAQ,KAAK;IAC3C,cAGC;CACH;AAED,sDAAsD;AACtD,MAAM,WAAW,UAAU;IACxB,qCAAqC;IACrC,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,sDAAsD;IACtD,QAAQ,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACzD,8BAA8B;IAC9B,QAAQ,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/D,8CAA8C;IAC9C,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,SAAS,MAAM,EAAE,OAAO,EAAE;QAC9C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;QACrD,QAAQ,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC;KAChC,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;IACrB,+CAA+C;IAC/C,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,SAAS,MAAM,EAAE,OAAO,EAAE;QACnD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;QACrD,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,KAAK,EAAE,CAAC;KAC5C,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IACvB,6BAA6B;IAC7B,QAAQ,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/G,6CAA6C;IAC7C,QAAQ,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5C;AAED,qCAAqC;AACrC,eAAO,MAAM,YAAY,EAAE,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,CAI9D,CAAC;AAEF;;;;;;GAMG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,UAAU,CAAC,CAqD7D"}
@@ -13,8 +13,9 @@ export class InitWizardCancelled extends Error {
13
13
  this.name = 'InitWizardCancelled';
14
14
  }
15
15
  }
16
- /** The optional heads, as a checkbox list. `lsp` is not offered — see `askHeads`. */
17
- export const OPTIONAL_HEAD_CHOICES = [
16
+ /** The heads, as a checkbox list. */
17
+ export const HEAD_CHOICES = [
18
+ { value: 'lsp', label: 'lsp', hint: 'text editing in an LSP client' },
18
19
  { value: 'data', label: 'data', hint: 'typed JSON-RPC for forms, trees and code-gen' },
19
20
  { value: 'glsp', label: 'glsp', hint: 'graphical editing; adds a scaffolded diagram' }
20
21
  ];
@@ -60,9 +61,7 @@ export async function createClackPrompt() {
60
61
  message: options.message,
61
62
  options: toOptions(options.choices),
62
63
  initialValues: options.initialValues ? [...options.initialValues] : [],
63
- // Legal and meaningful: an `lsp`-only project is a plain LSP
64
- // server, so an empty selection must not be rejected.
65
- required: false
64
+ required: true
66
65
  })),
67
66
  confirm: async (options) => unwrap(await clack.confirm({ message: options.message, initialValue: options.initialValue })),
68
67
  outro: message => clack.outro(message)
@@ -1 +1 @@
1
- {"version":3,"file":"init-prompt.js","sourceRoot":"","sources":["../../src/commands/init-prompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init-prompt.js","sourceRoot":"","sources":["../../src/commands/init-prompt.ts"],"names":[],"mappings":"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"}
@@ -6,21 +6,12 @@
6
6
  *
7
7
  * SPDX-License-Identifier: MIT
8
8
  ********************************************************************************/
9
- import type { InitComposition, InitFile } from './init.js';
9
+ import type { InitComposition, InitFile, InitHead, InitMember } from './init.js';
10
10
  /** One template file: its path (tokens allowed) and its content (tokens allowed). */
11
11
  export interface InitTemplate {
12
12
  path: string;
13
13
  content: string;
14
14
  }
15
- /**
16
- * The version every framework package carries before the first release.
17
- *
18
- * A scaffold made by a CLI still at this version pins a range the registry
19
- * cannot serve, so the emitted README keeps its yalc note and `init` keeps its
20
- * install warning while — and only while — it holds: from a published CLI the
21
- * derived pins resolve and either note would be false as printed.
22
- */
23
- export declare const UNPUBLISHED_FRAMEWORK_VERSION = "0.0.0";
24
15
  /**
25
16
  * The version `init` pins every `@hydranium/*` dependency at: the scaffolding
26
17
  * CLI's own.
@@ -32,11 +23,24 @@ export declare const UNPUBLISHED_FRAMEWORK_VERSION = "0.0.0";
32
23
  */
33
24
  export declare function readFrameworkVersion(): string;
34
25
  /**
35
- * Every file the scaffold emits, fully rendered.
26
+ * A member's package name: `<id>-<member>`, under the scope when there is one.
36
27
  *
37
- * Grammar-count-dependent emissions live here rather than in a template string:
38
- * one `.langium` file per grammar, and the shared `common.langium` fragment only
39
- * when there is more than one grammar to share it.
28
+ * Suffixed even for the server, because a project of several packages has no
29
+ * member entitled to the bare id, and a later client or host would otherwise
30
+ * read as a part of the server.
31
+ */
32
+ export declare function memberPackageName(composition: InitComposition, member: InitMember): string;
33
+ /**
34
+ * The exact pins of `heads`, for a workspace root to declare too. npm installs a
35
+ * root's own dependencies at the top of the tree, so another member's version of
36
+ * one nests beneath that member instead of taking the place of the copy this
37
+ * package shares with the framework.
38
+ */
39
+ export declare function workspaceRootPins(heads: readonly InitHead[]): ReadonlyArray<readonly [string, string]>;
40
+ /**
41
+ * Every file the scaffold emits, fully rendered, at its path in the project
42
+ * directory. A workspace member's project gets no root of its own: it joins the
43
+ * surrounding workspace, whose manifest `init` prints the changes for.
40
44
  */
41
45
  export declare function buildInitTemplates(composition: InitComposition): InitFile[];
42
46
  //# sourceMappingURL=init-templates.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"init-templates.d.ts","sourceRoot":"","sources":["../../src/commands/init-templates.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAoElF,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAA8B,MAAM,WAAW,CAAC;AAGvF,qFAAqF;AACrF,MAAM,WAAW,YAAY;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,6BAA6B,UAAU,CAAC;AAErD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAs2DD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,eAAe,GAAG,QAAQ,EAAE,CAqD3E"}
1
+ {"version":3,"file":"init-templates.d.ts","sourceRoot":"","sources":["../../src/commands/init-templates.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAmFlF,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAoB,QAAQ,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAGnG,qFAAqF;AACrF,MAAM,WAAW,YAAY;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAmBD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,eAAe,EAAE,MAAM,EAAE,UAAU,GAAG,MAAM,CAI1F;AAgMD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,GAAG,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAUtG;AAiwDD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,eAAe,GAAG,QAAQ,EAAE,CAO3E"}