@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
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAKlF,OAAO,EAA6C,KAAK,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErH;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,kCAAmC,CAAC;AAE3D,kDAAkD;AAClD,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnD,8DAA8D;AAC9D,eAAO,MAAM,kBAAkB,EAAE,SAAS,QAAQ,EAAoB,CAAC;AAEvE,0DAA0D;AAC1D,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,QAAQ,CAE3D;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,eAAe;IAC7B,6DAA6D;IAC7D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,wCAAwC;IACxC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B;;;;;;;OAOG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,gBAAgB;IAC9B,6DAA6D;IAC7D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,oDAAoD;IACpD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;;;;;;;OAOG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,0DAA0D;IAC1D,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC;;;;;;;OAOG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;;;;;;;;OAQG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,6DAA6D;IAC7D,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,sBAAsB;IACpC,oFAAoF;IACpF,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,sGAAsG;IACtG,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,sGAAsG;IACtG,QAAQ,CAAC,mBAAmB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IACnE,2FAA2F;IAC3F,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,+GAA+G;IAC/G,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CACjC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,aAAa;IAC3B,+EAA+E;IAC/E,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,iEAAiE;IACjE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,wEAAwE;IACxE,QAAQ,CAAC,SAAS,CAAC,EAAE,sBAAsB,CAAC;CAC9C;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,oBAAoB,EAAE,aAAiC,CAAC;AAErE;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC7B,2DAA2D;IAC3D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,2DAA2D;IAC3D,QAAQ,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,CAAC;IACpC,6EAA6E;IAC7E,QAAQ,CAAC,QAAQ,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC/C,yEAAyE;IACzE,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;IAClC;;;;;;;;OAQG;IACH,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;CACpC;AAED,+EAA+E;AAC/E,MAAM,WAAW,QAAQ;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CAClB;AAED,kDAAkD;AAClD,MAAM,WAAW,kBAAkB;IAChC,yCAAyC;IACzC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,qFAAqF;IACrF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;IAC/C,2EAA2E;IAC3E,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,QAAQ,EAAE,CAAC;IACrC,kDAAkD;IAClD,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB;;;;;;OAMG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,oDAAoD;IACpD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,+DAA+D;IAC/D,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,mFAAmF;IACnF,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,6EAA6E;IAC7E,QAAQ,CAAC,KAAK,CAAC,EAAE,cAAc,CAAC;IAChC,uEAAuE;IACvE,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,QAAQ,EAAE,KAAK,IAAI,CAAC;CACzF;AAED,8CAA8C;AAC9C,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE1C;AAsID;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACnC,IAAI,EAAE,MAAM,EACZ,QAAQ,GAAE,SAAS,eAAe,EAAO,EACzC,KAAK,CAAC,EAAE,SAAS,QAAQ,EAAE,EAC3B,SAAS,GAAE,aAAoC,GAC/C,eAAe,CAgBjB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,eAAe,GAAG,QAAQ,EAAE,CAEtE;AAED,8DAA8D;AAC9D,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAElD;AAED,kEAAkE;AAClE,MAAM,WAAW,oBAAoB;IAClC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,cAAc,CAAC;CAClC;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,GAAG,aAAa,CA0BpG;AAED;;;;;;;GAOG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI,CAwEzD"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -8,18 +8,34 @@
8
8
  ********************************************************************************/
9
9
  import * as fs from 'node:fs';
10
10
  import * as path from 'node:path';
11
- import { buildInitTemplates, readFrameworkVersion, UNPUBLISHED_FRAMEWORK_VERSION } from './init-templates.js';
12
- import { createNodeWorkspaceProbe, detectWorkspace } from './init-workspace.js';
11
+ import { buildInitTemplates, readFrameworkVersion, workspaceRootPins } from './init-templates.js';
12
+ import { kebab } from './kebab.js';
13
+ import { createNodeWorkspaceProbe, detectWorkspace, parseNpmVersion, workspaceGlobCovers } from './init-workspace.js';
13
14
  /**
14
- * The protocol heads a scaffold can start, in composition order.
15
- *
16
- * `lsp` is mandatory rather than optional: it owns the workspace, the build
17
- * pipeline and the shared service tier every other head reads through, so a
18
- * project without it has nothing for `data` or `glsp` to serve.
15
+ * The protocol heads a scaffold can start, in composition order. Any non-empty
16
+ * set: without `lsp`, the socket heads bring the workspace up themselves.
19
17
  */
20
18
  export const INIT_HEADS = ['lsp', 'data', 'glsp'];
21
19
  /** The heads a scaffold emits when `--heads` is not given. */
22
20
  export const DEFAULT_INIT_HEADS = ['lsp', 'data'];
21
+ /**
22
+ * The library packages of a scaffolded project, each in the directory of its
23
+ * name, in the order a workspace lists them.
24
+ */
25
+ export const INIT_MEMBERS = ['protocol', 'server'];
26
+ /**
27
+ * Where each member lands in a detected workspace.
28
+ *
29
+ * Judged per member rather than for the project directory, which holds no
30
+ * package: a root listing its members one by one needs an entry for each,
31
+ * while a `packages/*` glob covers none of them one level deeper.
32
+ */
33
+ export function memberPlacements(detection) {
34
+ return INIT_MEMBERS.map(member => {
35
+ const memberPath = `${detection.targetPath}/${member}`;
36
+ return { path: memberPath, coveredBy: detection.workspaces.find(glob => workspaceGlobCovers(glob, memberPath)) };
37
+ });
38
+ }
23
39
  /** True for a string naming one of {@link INIT_HEADS}. */
24
40
  export function isInitHead(value) {
25
41
  return INIT_HEADS.includes(value);
@@ -36,19 +52,22 @@ export function isInitHead(value) {
36
52
  * nobody chose; `--public` is the opt-out for a project that has picked one.
37
53
  */
38
54
  export const STANDALONE_PACKAGING = { private: true };
39
- /** Kebab-case a PascalCase/camelCase name. */
40
- export function kebab(name) {
41
- return name.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();
42
- }
43
55
  /** True for a PascalCase identifier legal as a generated TypeScript symbol prefix. */
44
56
  function isPascalIdentifier(value) {
45
57
  return /^[A-Za-z][A-Za-z0-9]*$/.test(value);
46
58
  }
47
- /** Strip a leading dot and reject an extension that is empty or dotted through. */
59
+ /**
60
+ * True for a file extension, without its leading dot, that is safe in an
61
+ * emitted file name and string literal: letters, digits and dashes.
62
+ */
63
+ export function isUsableExtension(extension) {
64
+ return /^[A-Za-z0-9][A-Za-z0-9-]*$/.test(extension);
65
+ }
66
+ /** Strip a leading dot and reject an extension {@link isUsableExtension} refuses. */
48
67
  function normalizeExtension(value, grammar) {
49
68
  const extension = value.replace(/^\./, '');
50
- if (extension.length === 0) {
51
- throw new Error(`Invalid extension '${value}' for grammar '${grammar}': an extension cannot be empty.`);
69
+ if (!isUsableExtension(extension)) {
70
+ throw new Error(`Invalid extension '${value}' for grammar '${grammar}': use letters, digits and dashes, starting with a letter or digit.`);
52
71
  }
53
72
  return extension;
54
73
  }
@@ -69,6 +88,9 @@ function resolveGrammar(spec, projectId, qualify, diagram) {
69
88
  if (extensions.length === 0) {
70
89
  throw new Error(`Invalid --extensions for grammar '${spec.name}': at least one extension is required.`);
71
90
  }
91
+ if (spec.languageId !== undefined && !/^[a-z0-9][a-z0-9-]*$/.test(spec.languageId)) {
92
+ throw new Error(`Invalid --language-id '${spec.languageId}' for grammar '${spec.name}': use lowercase letters, digits and dashes, e.g. 'my-lang'.`);
93
+ }
72
94
  return {
73
95
  grammar: spec.name,
74
96
  grammarId,
@@ -84,8 +106,9 @@ function resolveGrammar(spec, projectId, qualify, diagram) {
84
106
  *
85
107
  * With the `glsp` head on and nothing marked, a lone grammar is unambiguous and
86
108
  * is taken as the diagram's; with several it is a real choice, so it is required
87
- * rather than guessed — binding a diagram to the wrong grammar surfaces much
88
- * later as references resolving against the wrong scope.
109
+ * rather than guessed — the scaffolded state, storage and GModel factory are
110
+ * typed over the chosen grammar's model, so a wrong guess emits a diagram of
111
+ * the wrong model.
89
112
  */
90
113
  function resolveDiagrams(specs, heads) {
91
114
  const marked = specs.map(spec => spec.diagram === true);
@@ -106,16 +129,13 @@ function resolveDiagrams(specs, heads) {
106
129
  throw new Error(`--heads includes 'glsp' but no grammar carries --diagram. Mark the one the diagram edits: ` +
107
130
  `${specs.map(spec => spec.name).join(', ')}.`);
108
131
  }
109
- /** Validate the head set: known names only, and `lsp` present. */
132
+ /** Validate the head set: known names only. */
110
133
  function resolveHeads(heads) {
111
134
  const resolved = heads === undefined || heads.length === 0 ? DEFAULT_INIT_HEADS : heads;
112
135
  const unknown = resolved.filter(head => !isInitHead(head));
113
136
  if (unknown.length > 0) {
114
137
  throw new Error(`Unknown head(s) '${unknown.join(', ')}': expected one of ${INIT_HEADS.join(', ')}.`);
115
138
  }
116
- if (!resolved.includes('lsp')) {
117
- throw new Error("--heads must include 'lsp': it owns the workspace, the build pipeline and the shared service tier the other heads read through.");
118
- }
119
139
  // De-duplicated and put back in composition order, so the order the heads
120
140
  // were named in does not change the emitted project.
121
141
  return INIT_HEADS.filter(head => resolved.includes(head));
@@ -144,13 +164,16 @@ function assertNoCollisions(grammars) {
144
164
  throw new Error(`Duplicate language id '${grammar.languageId}': claimed by both '${clashingLanguage}' and '${grammar.grammar}'.`);
145
165
  }
146
166
  byLanguageId.set(grammar.languageId, grammar.grammar);
167
+ // Case-folded: a starter file is named by extension, and `nodes.Foo` and
168
+ // `nodes.foo` are one file on a case-insensitive file system.
147
169
  for (const extension of grammar.extensions) {
148
- const clashingExtension = byExtension.get(extension);
170
+ const key = extension.toLowerCase();
171
+ const clashingExtension = byExtension.get(key);
149
172
  if (clashingExtension !== undefined) {
150
173
  throw new Error(`File extension '.${extension}' is claimed by both '${clashingExtension}' and '${grammar.grammar}'. ` +
151
174
  'Langium routes documents by extension, so each grammar needs its own.');
152
175
  }
153
- byExtension.set(extension, grammar.grammar);
176
+ byExtension.set(key, grammar.grammar);
154
177
  }
155
178
  }
156
179
  }
@@ -219,7 +242,10 @@ export function resolveInitPackaging(targetDir, options) {
219
242
  baseTsconfig: detection.baseTsconfig,
220
243
  baseCompilerOptions: detection.baseCompilerOptions,
221
244
  printWidth: detection.printWidth,
222
- eslintConfig: detection.eslintConfig
245
+ eslintConfig: detection.eslintConfig,
246
+ oxlintConfig: detection.oxlintConfig,
247
+ packageManagerNpm: detection.packageManagerNpm,
248
+ npmVersion: options.npmVersion ?? parseNpmVersion(process.env.npm_config_user_agent)
223
249
  }
224
250
  };
225
251
  }
@@ -257,45 +283,56 @@ export function runInit(options) {
257
283
  write('\n');
258
284
  write(`Workspace root: ${detection.rootDir}\n`);
259
285
  if (detection.baseTsconfig !== undefined) {
260
- write(` tsconfig.json extends ${detection.baseTsconfig}, minus the options it inherits unchanged.\n`);
286
+ write(` Each package's tsconfig.json extends the root's ${path.posix.basename(detection.baseTsconfig)}, minus the options it inherits unchanged.\n`);
261
287
  }
262
288
  else {
263
- write(' No root tsconfig carries compilerOptions, so the emitted one stands alone.\n');
289
+ write(" No root tsconfig carries compilerOptions, so each package's stands alone.\n");
264
290
  }
265
- write(" .gitignore holds `syntaxes/` only — the workspace root's covers the rest.\n");
266
291
  if (detection.printWidth !== undefined) {
267
- write(` Sources wrapped at ${detection.printWidth} columns, from ${detection.rootDir}'s prettier config.\n`);
292
+ write(` Sources wrapped at ${detection.printWidth} columns, from ${detection.rootDir}'s formatter config.\n`);
268
293
  }
269
- if (detection.eslintConfig !== undefined) {
270
- write(` A lint script was added — ${detection.eslintConfig} says this repo lints. Adjust it if your invocation differs.\n`);
294
+ if (detection.oxlintConfig !== undefined || detection.eslintConfig !== undefined) {
295
+ write(` Each package got a lint script — ${detection.oxlintConfig ?? detection.eslintConfig} says this repo lints. Adjust them if your invocation differs.\n`);
271
296
  }
272
297
  // Printed rather than applied: `init` writes inside the target directory
273
298
  // and nowhere else, so a scaffold can never surprise-edit a manifest that
274
299
  // is under review, mid-rebase, or simply not the caller's to change.
275
- if (detection.coveredBy === undefined) {
276
- write(` Add this to "workspaces" in ${path.join(detection.rootDir, 'package.json')}:\n`);
277
- write(` "${detection.targetPath}"\n`);
300
+ const placements = memberPlacements(detection);
301
+ const uncovered = placements.filter(placement => placement.coveredBy === undefined);
302
+ if (uncovered.length > 0) {
303
+ write(` Add ${uncovered.length === 1 ? 'this' : 'these'} to "workspaces" in ${path.join(detection.rootDir, 'package.json')}:\n`);
304
+ write(`${uncovered.map(placement => ` "${placement.path}"`).join(',\n')}\n`);
278
305
  }
279
- else {
280
- write(` Already covered by the "${detection.coveredBy}" workspaces entry — no root manifest change needed.\n`);
306
+ for (const placement of placements.filter(candidate => candidate.coveredBy !== undefined)) {
307
+ write(` ${placement.path} is already covered by the "${placement.coveredBy}" workspaces entry.\n`);
281
308
  }
309
+ const pins = workspaceRootPins(composition.heads).map(([name, version]) => ` "${name}": "${version}"`);
310
+ write(` Add these to "devDependencies" in ${path.join(detection.rootDir, 'package.json')}, so another member's version of one ` +
311
+ `cannot displace the copy these packages share with the framework:\n${pins.join(',\n')}\n`);
282
312
  if (composition.packaging.scope === undefined && detection.scope !== undefined) {
283
313
  write(` Sibling packages all use the "${detection.scope}" scope; pass --scope ${detection.scope} to match them.\n`);
284
314
  }
285
315
  }
286
316
  write('\n');
287
317
  write('Next steps:\n');
288
- write(` cd ${options.targetDir}\n`);
289
- // The warning is conditional on the pins this scaffold actually carries — see
290
- // `UNPUBLISHED_FRAMEWORK_VERSION`.
291
- write(composition.frameworkVersion === UNPUBLISHED_FRAMEWORK_VERSION
292
- ? ' npm install # 404s until @hydranium/* is published — see README\n'
293
- : ' npm install\n');
294
- write(' npm run build # langium generate + tsc\n');
295
- write(' npm test # the scaffolded DI-composition test\n');
318
+ // A workspace member's project has no manifest of its own, so its steps run
319
+ // from the workspace root and name the server by `--prefix`.
320
+ const server = detection === undefined ? 'server' : `${detection.targetPath}/server`;
321
+ if (detection === undefined) {
322
+ write(` cd ${options.targetDir}\n`);
323
+ write(' npm install\n');
324
+ write(' npm run build # langium generate + tsc, every package\n');
325
+ write(' npm test # the server tests\n');
326
+ }
327
+ else {
328
+ write(` cd ${detection.rootDir}\n`);
329
+ write(' npm install\n');
330
+ write(` npm --prefix ${server} run build # langium generate + tsc, protocol included\n`);
331
+ write(` npm --prefix ${server} test\n`);
332
+ }
296
333
  // `npx`, not a bare invocation: `@hydranium/cli` is a devDependency of the
297
334
  // scaffold, so the binary is on PATH inside an npm script and nowhere else.
298
- write(' npx hydranium-cli reflect --services ./lib/services.js\n');
335
+ write(` npx hydranium-cli reflect --services ./${server}/lib/node/services.js\n`);
299
336
  write('\n');
300
337
  write('The emitted sources carry no license header — run your own header tool if\n');
301
338
  write('your repo gates them. See the README section on that.\n');
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2026 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
+ * Kebab-case a PascalCase/camelCase name. Shared by `init`, which derives a
11
+ * grammar's id from it, and the languages emitter, whose constant names have
12
+ * to split a grammar name the same way.
13
+ */
14
+ export declare function kebab(name: string): string;
15
+ //# sourceMappingURL=kebab.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kebab.d.ts","sourceRoot":"","sources":["../../src/commands/kebab.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE1C"}
@@ -0,0 +1,17 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2026 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
+ * Kebab-case a PascalCase/camelCase name. Shared by `init`, which derives a
11
+ * grammar's id from it, and the languages emitter, whose constant names have
12
+ * to split a grammar name the same way.
13
+ */
14
+ export function kebab(name) {
15
+ return name.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();
16
+ }
17
+ //# sourceMappingURL=kebab.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kebab.js","sourceRoot":"","sources":["../../src/commands/kebab.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF;;;;GAIG;AACH,MAAM,UAAU,KAAK,CAAC,IAAY;IAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;AACpE,CAAC"}
@@ -10,8 +10,9 @@ import { type UsageError } from './harness-args.js';
10
10
  import { type LintGrammarCommandOptions } from './lint-grammar.js';
11
11
  /**
12
12
  * Every flag `lint-grammar` accepts, derived from the sets the parser is handed
13
- * so the list cannot claim a flag the parser would reject. `--services` is
14
- * consumed by the shared harness parser itself, so it is in neither set.
13
+ * so the list cannot claim a flag the parser would reject.
14
+ * {@link HARNESS_VALUE_FLAGS} are consumed by the shared harness parser itself,
15
+ * so they are in neither set.
15
16
  */
16
17
  export declare const LINT_GRAMMAR_FLAGS: readonly string[];
17
18
  /** The subset that takes a value, so `--help` in a value position reads as data. */
@@ -1 +1 @@
1
- {"version":3,"file":"lint-grammar-args.d.ts","sourceRoot":"","sources":["../../src/commands/lint-grammar-args.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EASJ,KAAK,UAAU,EACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAkB,KAAK,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAMnF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,MAAM,EAA8E,CAAC;AAE/H,oFAAoF;AACpF,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,EAA+D,CAAC;AAEtH,gFAAgF;AAChF,eAAO,MAAM,iBAAiB,EAAE,SAAS,MAAM,EAkB9C,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,UAA0B,GAAG,yBAAyB,CAanH;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAMnE"}
1
+ {"version":3,"file":"lint-grammar-args.d.ts","sourceRoot":"","sources":["../../src/commands/lint-grammar-args.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAUJ,KAAK,UAAU,EACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAkB,KAAK,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAMnF;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,MAAM,EAAuF,CAAC;AAExI,oFAAoF;AACpF,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,EAAwE,CAAC;AAE/H,gFAAgF;AAChF,eAAO,MAAM,iBAAiB,EAAE,SAAS,MAAM,EAmB9C,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,UAA0B,GAAG,yBAAyB,CAcnH;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAMnE"}
@@ -6,22 +6,23 @@
6
6
  *
7
7
  * SPDX-License-Identifier: MIT
8
8
  ********************************************************************************/
9
- import { exitWithUsage, helpRequested, LOG_LEVEL_FLAG, logLevelHelpLine, logLevelOption, parseHarnessArgs, printHelp, SERVICES_FLAG } from './harness-args.js';
9
+ import { exitWithUsage, HARNESS_VALUE_FLAGS, helpRequested, importHelpLines, LOG_VALUE_FLAGS, logHelpLines, logOptions, parseHarnessArgs, printHelp } from './harness-args.js';
10
10
  import { runLintGrammar } from './lint-grammar.js';
11
- const VALUE_FLAGS = [LOG_LEVEL_FLAG];
11
+ const VALUE_FLAGS = [...LOG_VALUE_FLAGS];
12
12
  const BOOL_FLAGS = ['--strict', '--json'];
13
13
  const REPEATABLE_VALUE_FLAGS = ['--name-property'];
14
14
  /**
15
15
  * Every flag `lint-grammar` accepts, derived from the sets the parser is handed
16
- * so the list cannot claim a flag the parser would reject. `--services` is
17
- * consumed by the shared harness parser itself, so it is in neither set.
16
+ * so the list cannot claim a flag the parser would reject.
17
+ * {@link HARNESS_VALUE_FLAGS} are consumed by the shared harness parser itself,
18
+ * so they are in neither set.
18
19
  */
19
- export const LINT_GRAMMAR_FLAGS = [SERVICES_FLAG, ...REPEATABLE_VALUE_FLAGS, ...VALUE_FLAGS, ...BOOL_FLAGS];
20
+ export const LINT_GRAMMAR_FLAGS = [...HARNESS_VALUE_FLAGS, ...REPEATABLE_VALUE_FLAGS, ...VALUE_FLAGS, ...BOOL_FLAGS];
20
21
  /** The subset that takes a value, so `--help` in a value position reads as data. */
21
- export const LINT_GRAMMAR_VALUE_FLAGS = [SERVICES_FLAG, ...REPEATABLE_VALUE_FLAGS, ...VALUE_FLAGS];
22
+ export const LINT_GRAMMAR_VALUE_FLAGS = [...HARNESS_VALUE_FLAGS, ...REPEATABLE_VALUE_FLAGS, ...VALUE_FLAGS];
22
23
  /** The `--help` text, as data, held to {@link LINT_GRAMMAR_FLAGS} by a test. */
23
24
  export const LINT_GRAMMAR_HELP = [
24
- 'Usage: hydranium-cli lint-grammar --services <module> [--name-property <p>]... [--strict] [--json] [--log-level <lvl>]',
25
+ 'Usage: hydranium-cli lint-grammar --services <module> [--import <specifier>]... [--name-property <p>]... [--strict] [--json] [--log-level <lvl>] [--log-file <file>] [--log-file-level <lvl>]',
25
26
  '',
26
27
  "Check a head's grammar against the framework's conventions — a CI gate: the",
27
28
  'process exits non-zero when a violation is found. Read-only: no workspace is',
@@ -33,24 +34,26 @@ export const LINT_GRAMMAR_HELP = [
33
34
  '',
34
35
  'Options:',
35
36
  ' --services <module> ESM module exporting `createServices(): { shared }` (required).',
37
+ ...importHelpLines(23),
36
38
  ' --name-property <p> Property that satisfies the nameability convention',
37
39
  ' (repeatable). Default: name.',
38
40
  ' --strict Also fail (non-zero exit) on warnings, not only errors.',
39
41
  ' --json Emit the raw JSON result instead of the human report.',
40
- logLevelHelpLine(23)
42
+ ...logHelpLines(23)
41
43
  ];
42
44
  export function parseLintGrammarArgs(args, onError = exitWithUsage) {
43
- const { servicesModule, options, values } = parseHarnessArgs(args, 'lint-grammar', VALUE_FLAGS, BOOL_FLAGS, {
45
+ const { servicesModule, imports, options, values } = parseHarnessArgs(args, 'lint-grammar', VALUE_FLAGS, BOOL_FLAGS, {
44
46
  requireWorkspace: false,
45
47
  repeatableValueFlags: REPEATABLE_VALUE_FLAGS,
46
48
  onError
47
49
  });
48
50
  return {
49
51
  servicesModule,
52
+ imports,
50
53
  nameProperties: values['--name-property'],
51
54
  strict: options['--strict'] === 'true',
52
55
  json: options['--json'] === 'true',
53
- logLevel: logLevelOption(options[LOG_LEVEL_FLAG])
56
+ ...logOptions(options)
54
57
  };
55
58
  }
56
59
  export function runLintGrammarCommand(args) {
@@ -1 +1 @@
1
- {"version":3,"file":"lint-grammar-args.js","sourceRoot":"","sources":["../../src/commands/lint-grammar-args.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EACJ,aAAa,EACb,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,SAAS,EACT,aAAa,EAEf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAkC,MAAM,mBAAmB,CAAC;AAEnF,MAAM,WAAW,GAAG,CAAC,cAAc,CAAU,CAAC;AAC9C,MAAM,UAAU,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAU,CAAC;AACnD,MAAM,sBAAsB,GAAG,CAAC,iBAAiB,CAAU,CAAC;AAE5D;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAsB,CAAC,aAAa,EAAE,GAAG,sBAAsB,EAAE,GAAG,WAAW,EAAE,GAAG,UAAU,CAAC,CAAC;AAE/H,oFAAoF;AACpF,MAAM,CAAC,MAAM,wBAAwB,GAAsB,CAAC,aAAa,EAAE,GAAG,sBAAsB,EAAE,GAAG,WAAW,CAAC,CAAC;AAEtH,gFAAgF;AAChF,MAAM,CAAC,MAAM,iBAAiB,GAAsB;IACjD,wHAAwH;IACxH,EAAE;IACF,6EAA6E;IAC7E,8EAA8E;IAC9E,wEAAwE;IACxE,mFAAmF;IACnF,+EAA+E;IAC/E,0EAA0E;IAC1E,uEAAuE;IACvE,EAAE;IACF,UAAU;IACV,0FAA0F;IAC1F,6EAA6E;IAC7E,uDAAuD;IACvD,kFAAkF;IAClF,gFAAgF;IAChF,gBAAgB,CAAC,EAAE,CAAC;CACtB,CAAC;AAEF,MAAM,UAAU,oBAAoB,CAAC,IAAc,EAAE,UAAsB,aAAa;IACrF,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAAC,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE;QACzG,gBAAgB,EAAE,KAAK;QACvB,oBAAoB,EAAE,sBAAsB;QAC5C,OAAO;KACT,CAAC,CAAC;IACH,OAAO;QACJ,cAAc;QACd,cAAc,EAAE,MAAM,CAAC,iBAAiB,CAAC;QACzC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,MAAM;QACtC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,MAAM;QAClC,QAAQ,EAAE,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;KACnD,CAAC;AACL,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAc;IACjD,IAAI,aAAa,CAAC,IAAI,EAAE,wBAAwB,CAAC,EAAE,CAAC;QACjD,SAAS,CAAC,iBAAiB,CAAC,CAAC;QAC7B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC5B,CAAC;IACD,OAAO,cAAc,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;AACrD,CAAC"}
1
+ {"version":3,"file":"lint-grammar-args.js","sourceRoot":"","sources":["../../src/commands/lint-grammar-args.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EACJ,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,eAAe,EACf,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,SAAS,EAEX,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAkC,MAAM,mBAAmB,CAAC;AAEnF,MAAM,WAAW,GAAG,CAAC,GAAG,eAAe,CAAU,CAAC;AAClD,MAAM,UAAU,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAU,CAAC;AACnD,MAAM,sBAAsB,GAAG,CAAC,iBAAiB,CAAU,CAAC;AAE5D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAsB,CAAC,GAAG,mBAAmB,EAAE,GAAG,sBAAsB,EAAE,GAAG,WAAW,EAAE,GAAG,UAAU,CAAC,CAAC;AAExI,oFAAoF;AACpF,MAAM,CAAC,MAAM,wBAAwB,GAAsB,CAAC,GAAG,mBAAmB,EAAE,GAAG,sBAAsB,EAAE,GAAG,WAAW,CAAC,CAAC;AAE/H,gFAAgF;AAChF,MAAM,CAAC,MAAM,iBAAiB,GAAsB;IACjD,+LAA+L;IAC/L,EAAE;IACF,6EAA6E;IAC7E,8EAA8E;IAC9E,wEAAwE;IACxE,mFAAmF;IACnF,+EAA+E;IAC/E,0EAA0E;IAC1E,uEAAuE;IACvE,EAAE;IACF,UAAU;IACV,0FAA0F;IAC1F,GAAG,eAAe,CAAC,EAAE,CAAC;IACtB,6EAA6E;IAC7E,uDAAuD;IACvD,kFAAkF;IAClF,gFAAgF;IAChF,GAAG,YAAY,CAAC,EAAE,CAAC;CACrB,CAAC;AAEF,MAAM,UAAU,oBAAoB,CAAC,IAAc,EAAE,OAAO,GAAe,aAAa;IACrF,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAAC,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE;QAClH,gBAAgB,EAAE,KAAK;QACvB,oBAAoB,EAAE,sBAAsB;QAC5C,OAAO;KACT,CAAC,CAAC;IACH,OAAO;QACJ,cAAc;QACd,OAAO;QACP,cAAc,EAAE,MAAM,CAAC,iBAAiB,CAAC;QACzC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,MAAM;QACtC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,MAAM;QAClC,GAAG,UAAU,CAAC,OAAO,CAAC;KACxB,CAAC;AACL,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAc;IACjD,IAAI,aAAa,CAAC,IAAI,EAAE,wBAAwB,CAAC,EAAE,CAAC;QACjD,SAAS,CAAC,iBAAiB,CAAC,CAAC;QAC7B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC5B,CAAC;IACD,OAAO,cAAc,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;AACrD,CAAC"}
@@ -14,6 +14,7 @@
14
14
  * code (non-zero on errors; `--strict` also fails on warnings). Never imported —
15
15
  * only spawned.
16
16
  */
17
+ import { describeError } from '@hydranium/protocol';
17
18
  import { loadHeadlessContext } from './headless-harness.js';
18
19
  import { formatLintReport, lintExitCode } from './lint-grammar-report.js';
19
20
  function parseArgs(argv) {
@@ -66,7 +67,7 @@ async function main(argv) {
66
67
  main(process.argv.slice(2))
67
68
  .then(code => process.exit(code))
68
69
  .catch((error) => {
69
- console.error(error instanceof Error ? error.message : String(error));
70
+ console.error(describeError(error));
70
71
  process.exit(1);
71
72
  });
72
73
  //# sourceMappingURL=lint-grammar-driver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lint-grammar-driver.js","sourceRoot":"","sources":["../../src/commands/lint-grammar-driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lint-grammar-driver.js","sourceRoot":"","sources":["../../src/commands/lint-grammar-driver.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"lint-grammar-report.js","sourceRoot":"","sources":["../../src/commands/lint-grammar-report.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAMlF,0CAA0C;AAC1C,SAAS,MAAM,CAAC,KAAa;IAC1B,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;AACjC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,MAAyB,EAAE,MAAM,GAAG,KAAK;IACnE,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,CAAC;IACZ,CAAC;IACD,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;QACvC,OAAO,CAAC,CAAC;IACZ,CAAC;IACD,OAAO,CAAC,CAAC;AACZ,CAAC;AAED,6DAA6D;AAC7D,SAAS,WAAW,CAAC,MAAyB;IAC3C,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC;IACzC,IAAI,KAAK,GAAG,OAAO,KAAK,CAAC,EAAE,CAAC;QACzB,yEAAyE;QACzE,uEAAuE;QACvE,yEAAyE;QACzE,gCAAgC;QAChC,OAAO,yCAAyC,MAAM,CAAC,uBAAuB,yBAAyB,MAAM,CAC1G,MAAM,CAAC,uBAAuB,CAChC,YAAY,CAAC;IACjB,CAAC;IACD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,KAAK,EAAE,CAAC;QACT,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC;IACD,IAAI,OAAO,EAAE,CAAC;QACX,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,WAAW,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AACjC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAyB,EAAE,UAA8B,EAAE;IACzF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IAC/C,CAAC;IACD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACtF,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;IAChC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"lint-grammar-report.js","sourceRoot":"","sources":["../../src/commands/lint-grammar-report.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAMlF,0CAA0C;AAC1C,SAAS,MAAM,CAAC,KAAa;IAC1B,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;AACjC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,MAAyB,EAAE,MAAM,GAAG,KAAK;IACnE,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,CAAC;IACZ,CAAC;IACD,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;QACvC,OAAO,CAAC,CAAC;IACZ,CAAC;IACD,OAAO,CAAC,CAAC;AACZ,CAAC;AAED,6DAA6D;AAC7D,SAAS,WAAW,CAAC,MAAyB;IAC3C,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC;IACzC,IAAI,KAAK,GAAG,OAAO,KAAK,CAAC,EAAE,CAAC;QACzB,yEAAyE;QACzE,uEAAuE;QACvE,yEAAyE;QACzE,gCAAgC;QAChC,OAAO,yCAAyC,MAAM,CAAC,uBAAuB,yBAAyB,MAAM,CAC1G,MAAM,CAAC,uBAAuB,CAChC,YAAY,CAAC;IACjB,CAAC;IACD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,KAAK,EAAE,CAAC;QACT,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC;IACD,IAAI,OAAO,EAAE,CAAC;QACX,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,WAAW,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AACjC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAyB,EAAE,OAAO,GAAuB,EAAE;IACzF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IAC/C,CAAC;IACD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACtF,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;IAChC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC"}
@@ -37,6 +37,6 @@ export function buildLintGrammarDriverArgs(options) {
37
37
  * `createServices` module, keeping the binary language-agnostic.
38
38
  */
39
39
  export function runLintGrammar(options) {
40
- return runDriverChild(['--max-old-space-size=8192', DRIVER, ...buildLintGrammarDriverArgs(options)], options);
40
+ return runDriverChild([DRIVER, ...buildLintGrammarDriverArgs(options)], options);
41
41
  }
42
42
  //# sourceMappingURL=lint-grammar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lint-grammar.js","sourceRoot":"","sources":["../../src/commands/lint-grammar.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,cAAc,EAA2B,MAAM,uBAAuB,CAAC;AAEhF;;;GAGG;AACH,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,0BAA0B,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAcnF,oEAAoE;AACpE,MAAM,UAAU,0BAA0B,CAAC,OAAkC;IAC1E,MAAM,IAAI,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IACpD,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,cAAc,IAAI,EAAE,EAAE,CAAC;QACnD,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QAChB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QAClB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,IAAI,CAAC;AACf,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAAC,OAAkC;IAC9D,OAAO,cAAc,CAAC,CAAC,2BAA2B,EAAE,MAAM,EAAE,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AACjH,CAAC"}
1
+ {"version":3,"file":"lint-grammar.js","sourceRoot":"","sources":["../../src/commands/lint-grammar.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,cAAc,EAA2B,MAAM,uBAAuB,CAAC;AAEhF;;;GAGG;AACH,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,0BAA0B,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAcnF,oEAAoE;AACpE,MAAM,UAAU,0BAA0B,CAAC,OAAkC;IAC1E,MAAM,IAAI,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IACpD,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,cAAc,IAAI,EAAE,EAAE,CAAC;QACnD,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QAChB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QAClB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,IAAI,CAAC;AACf,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAAC,OAAkC;IAC9D,OAAO,cAAc,CAAC,CAAC,MAAM,EAAE,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AACpF,CAAC"}
@@ -10,8 +10,9 @@ import { type UsageError } from './harness-args.js';
10
10
  import { type MeasureMemoryCommandOptions } from './measure-memory.js';
11
11
  /**
12
12
  * Every flag `measure-memory` accepts, derived from the sets the parser is
13
- * handed so the list cannot claim a flag the parser would reject. `--services`
14
- * is consumed by the shared harness parser itself, so it is in neither set.
13
+ * handed so the list cannot claim a flag the parser would reject.
14
+ * {@link HARNESS_VALUE_FLAGS} are consumed by the shared harness parser itself,
15
+ * so they are in neither set.
15
16
  */
16
17
  export declare const MEASURE_MEMORY_FLAGS: readonly string[];
17
18
  /** The subset that takes a value, so `--help` in a value position reads as data. */
@@ -1 +1 @@
1
- {"version":3,"file":"measure-memory-args.d.ts","sourceRoot":"","sources":["../../src/commands/measure-memory-args.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAUJ,KAAK,UAAU,EACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAA4C,KAAK,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAcjH;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,EAAE,SAAS,MAAM,EAAmD,CAAC;AAEtG,oFAAoF;AACpF,eAAO,MAAM,0BAA0B,EAAE,SAAS,MAAM,EAAoC,CAAC;AAE7F,kFAAkF;AAClF,eAAO,MAAM,mBAAmB,EAAE,SAAS,MAAM,EA4BhD,CAAC;AAwBF,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,UAA0B,GAAG,2BAA2B,CAgBvH;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAMrE"}
1
+ {"version":3,"file":"measure-memory-args.d.ts","sourceRoot":"","sources":["../../src/commands/measure-memory-args.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAGlF,OAAO,EAYJ,KAAK,UAAU,EACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAA4C,KAAK,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAcjH;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,EAAE,SAAS,MAAM,EAA4D,CAAC;AAE/G,oFAAoF;AACpF,eAAO,MAAM,0BAA0B,EAAE,SAAS,MAAM,EAA6C,CAAC;AAEtG,kFAAkF;AAClF,eAAO,MAAM,mBAAmB,EAAE,SAAS,MAAM,EA+BhD,CAAC;AAwBF,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,UAA0B,GAAG,2BAA2B,CAsBvH;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAMrE"}
@@ -6,7 +6,8 @@
6
6
  *
7
7
  * SPDX-License-Identifier: MIT
8
8
  ********************************************************************************/
9
- import { exitWithUsage, helpRequested, LOG_LEVEL_FLAG, logLevelHelpLine, logLevelOption, numericOption, parseHarnessArgs, printHelp, SERVICES_FLAG } from './harness-args.js';
9
+ import { describeError } from '@hydranium/protocol';
10
+ import { exitWithUsage, HARNESS_VALUE_FLAGS, helpRequested, importHelpLines, LOG_FILE_FLAG, LOG_VALUE_FLAGS, logHelpLines, logOptions, numericOption, parseHarnessArgs, printHelp } from './harness-args.js';
10
11
  import { parseProfileDimensions, runMeasureMemory } from './measure-memory.js';
11
12
  const VALUE_FLAGS = [
12
13
  '--edits',
@@ -16,20 +17,21 @@ const VALUE_FLAGS = [
16
17
  '--snapshot-path',
17
18
  '--profile',
18
19
  '--session-out',
19
- LOG_LEVEL_FLAG
20
+ ...LOG_VALUE_FLAGS
20
21
  ];
21
22
  const BOOL_FLAGS = ['--snapshot', '--json'];
22
23
  /**
23
24
  * Every flag `measure-memory` accepts, derived from the sets the parser is
24
- * handed so the list cannot claim a flag the parser would reject. `--services`
25
- * is consumed by the shared harness parser itself, so it is in neither set.
25
+ * handed so the list cannot claim a flag the parser would reject.
26
+ * {@link HARNESS_VALUE_FLAGS} are consumed by the shared harness parser itself,
27
+ * so they are in neither set.
26
28
  */
27
- export const MEASURE_MEMORY_FLAGS = [SERVICES_FLAG, ...VALUE_FLAGS, ...BOOL_FLAGS];
29
+ export const MEASURE_MEMORY_FLAGS = [...HARNESS_VALUE_FLAGS, ...VALUE_FLAGS, ...BOOL_FLAGS];
28
30
  /** The subset that takes a value, so `--help` in a value position reads as data. */
29
- export const MEASURE_MEMORY_VALUE_FLAGS = [SERVICES_FLAG, ...VALUE_FLAGS];
31
+ export const MEASURE_MEMORY_VALUE_FLAGS = [...HARNESS_VALUE_FLAGS, ...VALUE_FLAGS];
30
32
  /** The `--help` text, as data, held to {@link MEASURE_MEMORY_FLAGS} by a test. */
31
33
  export const MEASURE_MEMORY_HELP = [
32
- 'Usage: hydranium-cli measure-memory --services <module> <workspace> [options]',
34
+ 'Usage: hydranium-cli measure-memory --services <module> [--import <specifier>]... <workspace> [options]',
33
35
  '',
34
36
  'Measure model-store memory for a workspace. `<module>` is an ESM module that',
35
37
  'exports a zero-arg `createServices(): { shared }` thunk (the head wires its own',
@@ -38,6 +40,7 @@ export const MEASURE_MEMORY_HELP = [
38
40
  '',
39
41
  'Options:',
40
42
  ' --services <module> ESM module exporting `createServices(): { shared }` (required).',
43
+ ...importHelpLines(22),
41
44
  ' <workspace> Workspace root (path or file URI) to build (required).',
42
45
  ' --edits <N> Rebuild-churn cycles to probe for retention. Default: 0 (skip).',
43
46
  ' --edit-docs <N> Documents to churn per cycle. Default: 25.',
@@ -51,11 +54,13 @@ export const MEASURE_MEMORY_HELP = [
51
54
  ' --profile <dims> Capture sampled profiles around the build (+churn) into a',
52
55
  ' profiling session. Comma-separated: cpu,alloc,gc,eld,heap.',
53
56
  ' --session-out <dir> Parent directory for the profiling session folder (with --profile).',
57
+ ' The session logs to its server.log at --log-file-level, else at',
58
+ ' --log-level, else info; --log-file is refused beside --profile.',
54
59
  ' --json Emit the measurement as one JSON document instead of the',
55
60
  ' progress lines: documentCount, buildMs, emptyHeapBytes,',
56
61
  ' afterBuildHeapBytes, and churnGrowthBytes / snapshotPath /',
57
62
  ' profilingSession where the run produced them.',
58
- logLevelHelpLine(22)
63
+ ...logHelpLines(22)
59
64
  ];
60
65
  /**
61
66
  * Validate `--profile` in the PARENT, where the numeric flags beside it are
@@ -75,14 +80,20 @@ function validatedProfile(csv, onError) {
75
80
  parseProfileDimensions(csv);
76
81
  }
77
82
  catch (err) {
78
- onError(`Option --profile: ${err instanceof Error ? err.message : String(err)}`);
83
+ onError(`Option --profile: ${describeError(err)}`);
79
84
  }
80
85
  return csv;
81
86
  }
82
87
  export function parseMeasureMemoryArgs(args, onError = exitWithUsage) {
83
- const { servicesModule, workspace, options } = parseHarnessArgs(args, 'measure-memory', VALUE_FLAGS, BOOL_FLAGS, { onError });
88
+ const { servicesModule, imports, workspace, options } = parseHarnessArgs(args, 'measure-memory', VALUE_FLAGS, BOOL_FLAGS, { onError });
89
+ // The profiling session points the log at its own `server.log`, which would
90
+ // replace the requested file without a word.
91
+ if (options['--profile'] !== undefined && options[LOG_FILE_FLAG] !== undefined) {
92
+ onError(`${LOG_FILE_FLAG} cannot be combined with --profile, which logs to the session's server.log`);
93
+ }
84
94
  return {
85
95
  servicesModule,
96
+ imports,
86
97
  workspace,
87
98
  editCycles: numericOption(options['--edits'], '--edits', onError),
88
99
  editDocs: numericOption(options['--edit-docs'], '--edit-docs', onError),
@@ -93,7 +104,7 @@ export function parseMeasureMemoryArgs(args, onError = exitWithUsage) {
93
104
  profile: validatedProfile(options['--profile'], onError),
94
105
  sessionOut: options['--session-out'],
95
106
  json: options['--json'] === 'true',
96
- logLevel: logLevelOption(options[LOG_LEVEL_FLAG])
107
+ ...logOptions(options)
97
108
  };
98
109
  }
99
110
  export function runMeasureMemoryCommand(args) {