create-relkit 0.4.0 → 0.5.0

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 (277) hide show
  1. package/dist/add-name.d.ts +9 -0
  2. package/dist/add-name.d.ts.map +1 -0
  3. package/dist/add-name.js +18 -0
  4. package/dist/add-name.js.map +1 -0
  5. package/dist/add-options-parser.d.ts +21 -0
  6. package/dist/add-options-parser.d.ts.map +1 -0
  7. package/dist/add-options-parser.js +103 -0
  8. package/dist/add-options-parser.js.map +1 -0
  9. package/dist/add-options-resource.d.ts +5 -0
  10. package/dist/add-options-resource.d.ts.map +1 -0
  11. package/dist/add-options-resource.js +18 -0
  12. package/dist/add-options-resource.js.map +1 -0
  13. package/dist/add-options.d.ts +6 -0
  14. package/dist/add-options.d.ts.map +1 -0
  15. package/dist/add-options.js +165 -0
  16. package/dist/add-options.js.map +1 -0
  17. package/dist/add-output.d.ts +4 -0
  18. package/dist/add-output.d.ts.map +1 -0
  19. package/dist/add-output.js +33 -0
  20. package/dist/add-output.js.map +1 -0
  21. package/dist/add-plan.d.ts +4 -0
  22. package/dist/add-plan.d.ts.map +1 -0
  23. package/dist/add-plan.js +62 -0
  24. package/dist/add-plan.js.map +1 -0
  25. package/dist/add-resolution-discovery.d.ts +13 -0
  26. package/dist/add-resolution-discovery.d.ts.map +1 -0
  27. package/dist/add-resolution-discovery.js +70 -0
  28. package/dist/add-resolution-discovery.js.map +1 -0
  29. package/dist/add-resolution-state.d.ts +23 -0
  30. package/dist/add-resolution-state.d.ts.map +1 -0
  31. package/dist/add-resolution-state.js +89 -0
  32. package/dist/add-resolution-state.js.map +1 -0
  33. package/dist/add-resolver-domain.d.ts +4 -0
  34. package/dist/add-resolver-domain.d.ts.map +1 -0
  35. package/dist/add-resolver-domain.js +150 -0
  36. package/dist/add-resolver-domain.js.map +1 -0
  37. package/dist/add-resolver-platform.d.ts +4 -0
  38. package/dist/add-resolver-platform.d.ts.map +1 -0
  39. package/dist/add-resolver-platform.js +112 -0
  40. package/dist/add-resolver-platform.js.map +1 -0
  41. package/dist/add-resolver-resources.d.ts +4 -0
  42. package/dist/add-resolver-resources.d.ts.map +1 -0
  43. package/dist/add-resolver-resources.js +150 -0
  44. package/dist/add-resolver-resources.js.map +1 -0
  45. package/dist/add-resolver.d.ts +14 -0
  46. package/dist/add-resolver.d.ts.map +1 -0
  47. package/dist/add-resolver.js +41 -0
  48. package/dist/add-resolver.js.map +1 -0
  49. package/dist/add-transaction-files.d.ts +12 -0
  50. package/dist/add-transaction-files.d.ts.map +1 -0
  51. package/dist/add-transaction-files.js +103 -0
  52. package/dist/add-transaction-files.js.map +1 -0
  53. package/dist/add-transaction.d.ts +17 -0
  54. package/dist/add-transaction.d.ts.map +1 -0
  55. package/dist/add-transaction.js +115 -0
  56. package/dist/add-transaction.js.map +1 -0
  57. package/dist/add-types.d.ts +136 -0
  58. package/dist/add-types.d.ts.map +1 -0
  59. package/dist/add-types.js +41 -0
  60. package/dist/add-types.js.map +1 -0
  61. package/dist/bucket-profiles.d.ts +4 -0
  62. package/dist/bucket-profiles.d.ts.map +1 -0
  63. package/dist/bucket-profiles.js +18 -0
  64. package/dist/bucket-profiles.js.map +1 -0
  65. package/dist/create-additions.d.ts +7 -0
  66. package/dist/create-additions.d.ts.map +1 -0
  67. package/dist/create-additions.js +27 -0
  68. package/dist/create-additions.js.map +1 -0
  69. package/dist/create-preview.d.ts +12 -0
  70. package/dist/create-preview.d.ts.map +1 -0
  71. package/dist/create-preview.js +50 -0
  72. package/dist/create-preview.js.map +1 -0
  73. package/dist/create-resolver.d.ts +14 -0
  74. package/dist/create-resolver.d.ts.map +1 -0
  75. package/dist/create-resolver.js +96 -0
  76. package/dist/create-resolver.js.map +1 -0
  77. package/dist/domain-planning.d.ts +24 -0
  78. package/dist/domain-planning.d.ts.map +1 -0
  79. package/dist/domain-planning.js +94 -0
  80. package/dist/domain-planning.js.map +1 -0
  81. package/dist/generate-files-utilities.d.ts +18 -0
  82. package/dist/generate-files-utilities.d.ts.map +1 -0
  83. package/dist/generate-files-utilities.js +87 -0
  84. package/dist/generate-files-utilities.js.map +1 -0
  85. package/dist/generate-files.d.ts +1 -12
  86. package/dist/generate-files.d.ts.map +1 -1
  87. package/dist/generate-files.js +38 -89
  88. package/dist/generate-files.js.map +1 -1
  89. package/dist/generate-output.d.ts +2 -1
  90. package/dist/generate-output.d.ts.map +1 -1
  91. package/dist/generate-output.js +9 -0
  92. package/dist/generate-output.js.map +1 -1
  93. package/dist/generate-process.d.ts +1 -1
  94. package/dist/generate-process.d.ts.map +1 -1
  95. package/dist/generate-process.js +7 -3
  96. package/dist/generate-process.js.map +1 -1
  97. package/dist/generate-types.d.ts +46 -0
  98. package/dist/generate-types.d.ts.map +1 -0
  99. package/dist/generate-types.js +20 -0
  100. package/dist/generate-types.js.map +1 -0
  101. package/dist/generate.d.ts +1 -38
  102. package/dist/generate.d.ts.map +1 -1
  103. package/dist/generate.js +34 -39
  104. package/dist/generate.js.map +1 -1
  105. package/dist/index.d.ts +18 -0
  106. package/dist/index.d.ts.map +1 -1
  107. package/dist/index.js +79 -9
  108. package/dist/index.js.map +1 -1
  109. package/dist/options.d.ts +5 -1
  110. package/dist/options.d.ts.map +1 -1
  111. package/dist/options.js +10 -1
  112. package/dist/options.js.map +1 -1
  113. package/dist/plan-builder.d.ts +33 -0
  114. package/dist/plan-builder.d.ts.map +1 -0
  115. package/dist/plan-builder.js +139 -0
  116. package/dist/plan-builder.js.map +1 -0
  117. package/dist/plan-manifest.d.ts +6 -0
  118. package/dist/plan-manifest.d.ts.map +1 -0
  119. package/dist/plan-manifest.js +40 -0
  120. package/dist/plan-manifest.js.map +1 -0
  121. package/dist/project-discovery-app.d.ts +7 -0
  122. package/dist/project-discovery-app.d.ts.map +1 -0
  123. package/dist/project-discovery-app.js +122 -0
  124. package/dist/project-discovery-app.js.map +1 -0
  125. package/dist/project-discovery-database.d.ts +11 -0
  126. package/dist/project-discovery-database.d.ts.map +1 -0
  127. package/dist/project-discovery-database.js +46 -0
  128. package/dist/project-discovery-database.js.map +1 -0
  129. package/dist/project-discovery-types.d.ts +45 -0
  130. package/dist/project-discovery-types.d.ts.map +1 -0
  131. package/dist/project-discovery-types.js +2 -0
  132. package/dist/project-discovery-types.js.map +1 -0
  133. package/dist/project-discovery.d.ts +4 -0
  134. package/dist/project-discovery.d.ts.map +1 -0
  135. package/dist/project-discovery.js +152 -0
  136. package/dist/project-discovery.js.map +1 -0
  137. package/dist/prompt-driver.d.ts +32 -0
  138. package/dist/prompt-driver.d.ts.map +1 -0
  139. package/dist/prompt-driver.js +42 -0
  140. package/dist/prompt-driver.js.map +1 -0
  141. package/dist/provider-planning-definitions.d.ts +35 -0
  142. package/dist/provider-planning-definitions.d.ts.map +1 -0
  143. package/dist/provider-planning-definitions.js +109 -0
  144. package/dist/provider-planning-definitions.js.map +1 -0
  145. package/dist/provider-planning.d.ts +11 -0
  146. package/dist/provider-planning.d.ts.map +1 -0
  147. package/dist/provider-planning.js +131 -0
  148. package/dist/provider-planning.js.map +1 -0
  149. package/dist/render-ai-sources.d.ts +18 -0
  150. package/dist/render-ai-sources.d.ts.map +1 -0
  151. package/dist/render-ai-sources.js +49 -0
  152. package/dist/render-ai-sources.js.map +1 -0
  153. package/dist/render-ai.d.ts +11 -0
  154. package/dist/render-ai.d.ts.map +1 -0
  155. package/dist/render-ai.js +61 -0
  156. package/dist/render-ai.js.map +1 -0
  157. package/dist/render-auth-schema.d.ts +3 -0
  158. package/dist/render-auth-schema.d.ts.map +1 -0
  159. package/dist/render-auth-schema.js +85 -0
  160. package/dist/render-auth-schema.js.map +1 -0
  161. package/dist/render-auth-sources.d.ts +3 -0
  162. package/dist/render-auth-sources.d.ts.map +1 -0
  163. package/dist/render-auth-sources.js +17 -0
  164. package/dist/render-auth-sources.js.map +1 -0
  165. package/dist/render-auth.d.ts +6 -0
  166. package/dist/render-auth.d.ts.map +1 -0
  167. package/dist/render-auth.js +84 -0
  168. package/dist/render-auth.js.map +1 -0
  169. package/dist/render-database-sources.d.ts +5 -0
  170. package/dist/render-database-sources.d.ts.map +1 -0
  171. package/dist/render-database-sources.js +65 -0
  172. package/dist/render-database-sources.js.map +1 -0
  173. package/dist/render-database.d.ts +13 -0
  174. package/dist/render-database.d.ts.map +1 -0
  175. package/dist/render-database.js +40 -0
  176. package/dist/render-database.js.map +1 -0
  177. package/dist/render-domain-register.d.ts +4 -0
  178. package/dist/render-domain-register.d.ts.map +1 -0
  179. package/dist/render-domain-register.js +11 -0
  180. package/dist/render-domain-register.js.map +1 -0
  181. package/dist/render-domain-sources.d.ts +19 -0
  182. package/dist/render-domain-sources.d.ts.map +1 -0
  183. package/dist/render-domain-sources.js +132 -0
  184. package/dist/render-domain-sources.js.map +1 -0
  185. package/dist/render-domain.d.ts +26 -0
  186. package/dist/render-domain.d.ts.map +1 -0
  187. package/dist/render-domain.js +98 -0
  188. package/dist/render-domain.js.map +1 -0
  189. package/dist/render-resource-sources.d.ts +4 -0
  190. package/dist/render-resource-sources.d.ts.map +1 -0
  191. package/dist/render-resource-sources.js +31 -0
  192. package/dist/render-resource-sources.js.map +1 -0
  193. package/dist/render-resources.d.ts +11 -0
  194. package/dist/render-resources.d.ts.map +1 -0
  195. package/dist/render-resources.js +53 -0
  196. package/dist/render-resources.js.map +1 -0
  197. package/dist/render-route-sources.d.ts +6 -0
  198. package/dist/render-route-sources.d.ts.map +1 -0
  199. package/dist/render-route-sources.js +35 -0
  200. package/dist/render-route-sources.js.map +1 -0
  201. package/dist/render-routes.d.ts +13 -0
  202. package/dist/render-routes.d.ts.map +1 -0
  203. package/dist/render-routes.js +48 -0
  204. package/dist/render-routes.js.map +1 -0
  205. package/dist/render-service.d.ts +6 -0
  206. package/dist/render-service.d.ts.map +1 -0
  207. package/dist/render-service.js +124 -0
  208. package/dist/render-service.js.map +1 -0
  209. package/dist/scaffold-catalog.d.ts +75 -0
  210. package/dist/scaffold-catalog.d.ts.map +1 -0
  211. package/dist/scaffold-catalog.js +24 -0
  212. package/dist/scaffold-catalog.js.map +1 -0
  213. package/dist/source-edit.d.ts +10 -0
  214. package/dist/source-edit.d.ts.map +1 -0
  215. package/dist/source-edit.js +136 -0
  216. package/dist/source-edit.js.map +1 -0
  217. package/dist/source-import-edit.d.ts +3 -0
  218. package/dist/source-import-edit.d.ts.map +1 -0
  219. package/dist/source-import-edit.js +52 -0
  220. package/dist/source-import-edit.js.map +1 -0
  221. package/dist/template-root.d.ts +5 -0
  222. package/dist/template-root.d.ts.map +1 -0
  223. package/dist/template-root.js +15 -0
  224. package/dist/template-root.js.map +1 -0
  225. package/dist/templates/default/README.md +1 -1
  226. package/dist/templates/default/v1/agent/.env.example +0 -2
  227. package/dist/templates/default/v1/agent/README.md +7 -8
  228. package/dist/templates/default/v1/agent/package.json +6 -4
  229. package/dist/templates/default/v1/agent/relkit.config.ts +5 -15
  230. package/dist/templates/default/v1/agent/src/hello/agents/assistant.agent.ts +37 -4
  231. package/dist/templates/default/v1/agent/src/hello/agents/review.agent.ts +43 -0
  232. package/dist/templates/default/v1/agent/src/platform/env.ts +0 -2
  233. package/dist/templates/default/v1/agent/tests/integration/hello.route.test.ts +17 -6
  234. package/dist/templates/default/v1/agent/tests/unit/assistant.agent.test.ts +14 -36
  235. package/dist/templates/default/v1/agent/tests/unit/review.agent.test.ts +19 -0
  236. package/dist/templates/default/v1/api/package.json +3 -3
  237. package/dist/templates/default/v1/fullstack/.env.example +1 -0
  238. package/dist/templates/default/v1/fullstack/README.md +15 -0
  239. package/dist/templates/default/v1/fullstack/gitignore +4 -0
  240. package/dist/templates/default/v1/fullstack/package.json +35 -0
  241. package/dist/templates/default/v1/fullstack/relkit.config.ts +15 -0
  242. package/dist/templates/default/v1/fullstack/src/hello/agents/assistant.agent.ts +46 -0
  243. package/dist/templates/default/v1/fullstack/src/hello/agents/review.agent.ts +43 -0
  244. package/dist/templates/default/v1/fullstack/src/hello/functions/hello.function.ts +10 -0
  245. package/dist/templates/default/v1/fullstack/src/hello/service.ts +4 -0
  246. package/dist/templates/default/v1/fullstack/src/hello/tools/lookup.tool.ts +9 -0
  247. package/dist/templates/default/v1/fullstack/src/platform/env.ts +5 -0
  248. package/dist/templates/default/v1/fullstack/src/routes/hello/route.ts +4 -0
  249. package/dist/templates/default/v1/fullstack/tests/integration/hello.route.test.ts +29 -0
  250. package/dist/templates/default/v1/fullstack/tests/unit/assistant.agent.test.ts +18 -0
  251. package/dist/templates/default/v1/fullstack/tests/unit/hello.function.test.ts +7 -0
  252. package/dist/templates/default/v1/fullstack/tests/unit/review.agent.test.ts +19 -0
  253. package/dist/templates/default/v1/fullstack/tsconfig.json +21 -0
  254. package/dist/templates/default/v1/fullstack/web/app/agent-config.ts +7 -0
  255. package/dist/templates/default/v1/fullstack/web/app/layout.tsx +12 -0
  256. package/dist/templates/default/v1/fullstack/web/app/page.tsx +85 -0
  257. package/dist/templates/default/v1/fullstack/web/app/providers.tsx +29 -0
  258. package/dist/templates/default/v1/fullstack/web/next-env.d.ts +2 -0
  259. package/dist/templates/default/v1/fullstack/web/next.config.ts +5 -0
  260. package/dist/templates/default/v1/fullstack/web/tsconfig.json +10 -0
  261. package/dist/templates/default/v1/minimal/package.json +3 -3
  262. package/dist/templates/default/v1/tasks/.env.example +2 -0
  263. package/dist/templates/default/v1/tasks/README.md +15 -0
  264. package/dist/templates/default/v1/tasks/examples/export-orders.json +1 -0
  265. package/dist/templates/default/v1/tasks/gitignore +10 -0
  266. package/dist/templates/default/v1/tasks/package.json +24 -0
  267. package/dist/templates/default/v1/tasks/relkit.config.ts +11 -0
  268. package/dist/templates/default/v1/tasks/src/orders/functions/health.function.ts +9 -0
  269. package/dist/templates/default/v1/tasks/src/orders/jobs/export-orders.job.ts +15 -0
  270. package/dist/templates/default/v1/tasks/src/orders/service.ts +10 -0
  271. package/dist/templates/default/v1/tasks/src/orders/tasks/export-orders.task.ts +19 -0
  272. package/dist/templates/default/v1/tasks/src/platform/env.ts +3 -0
  273. package/dist/templates/default/v1/tasks/src/routes/health/route.ts +4 -0
  274. package/dist/templates/default/v1/tasks/tests/unit/export-orders.task.test.ts +7 -0
  275. package/dist/templates/default/v1/tasks/tsconfig.json +14 -0
  276. package/package.json +6 -1
  277. package/dist/templates/default/v1/agent/src/hello/functions/ask-assistant.function.ts +0 -16
@@ -1 +1 @@
1
- {"version":3,"file":"generate-files.js","sourceRoot":"","sources":["../src/generate-files.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-files.js","sourceRoot":"","sources":["../src/generate-files.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import type { CreateOptions } from "./options.js";
2
2
  export interface GenerateNextSteps {
3
3
  readonly commands: Readonly<{
4
4
  readonly cd: string;
5
+ readonly install?: "bun install";
5
6
  readonly dev: "bun run dev";
6
7
  readonly test: "bun run test";
7
8
  readonly check: "bun run check";
@@ -15,6 +16,6 @@ export interface GenerateNextSteps {
15
16
  readonly route?: "GET http://localhost:3000/hello?name=RelKit";
16
17
  }>;
17
18
  }
18
- export declare function createGenerateNextSteps(options: Pick<CreateOptions, "examples">, destination: string, cwd?: string): GenerateNextSteps;
19
+ export declare function createGenerateNextSteps(options: Pick<CreateOptions, "examples" | "install">, destination: string, cwd?: string): GenerateNextSteps;
19
20
  export declare function formatGenerateResult(value: unknown): string;
20
21
  //# sourceMappingURL=generate-output.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate-output.d.ts","sourceRoot":"","sources":["../src/generate-output.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;QAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC;QAC5B,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;QAC9B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;QAChC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;KACjC,CAAC,CAAC;IACH,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC;QAC3B,QAAQ,CAAC,OAAO,EAAE,uBAAuB,CAAC;QAC1C,QAAQ,CAAC,SAAS,EAAE,uBAAuB,CAAC;QAC5C,QAAQ,CAAC,OAAO,EAAE,+CAA+C,CAAC;QAClE,QAAQ,CAAC,YAAY,EAAE,gDAAgD,CAAC;QACxE,QAAQ,CAAC,KAAK,CAAC,EAAE,6CAA6C,CAAC;KAChE,CAAC,CAAC;CACJ;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,EACxC,WAAW,EAAE,MAAM,EACnB,GAAG,SAAgB,GAClB,iBAAiB,CAiBnB;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAoB3D"}
1
+ {"version":3,"file":"generate-output.d.ts","sourceRoot":"","sources":["../src/generate-output.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;QAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;QACjC,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC;QAC5B,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;QAC9B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;QAChC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;KACjC,CAAC,CAAC;IACH,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC;QAC3B,QAAQ,CAAC,OAAO,EAAE,uBAAuB,CAAC;QAC1C,QAAQ,CAAC,SAAS,EAAE,uBAAuB,CAAC;QAC5C,QAAQ,CAAC,OAAO,EAAE,+CAA+C,CAAC;QAClE,QAAQ,CAAC,YAAY,EAAE,gDAAgD,CAAC;QACxE,QAAQ,CAAC,KAAK,CAAC,EAAE,6CAA6C,CAAC;KAChE,CAAC,CAAC;CACJ;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,UAAU,GAAG,SAAS,CAAC,EACpD,WAAW,EAAE,MAAM,EACnB,GAAG,SAAgB,GAClB,iBAAiB,CAkBnB;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CA6B3D"}
@@ -3,6 +3,7 @@ export function createGenerateNextSteps(options, destination, cwd = process.cwd(
3
3
  const directory = relative(resolve(cwd), resolve(destination)) || basename(destination);
4
4
  const commands = Object.freeze({
5
5
  cd: `cd ${shellWord(directory)}`,
6
+ ...(options.install ? {} : { install: "bun install" }),
6
7
  dev: "bun run dev",
7
8
  test: "bun run test",
8
9
  check: "bun run check",
@@ -21,11 +22,17 @@ export function formatGenerateResult(value) {
21
22
  if (!isRecord(value) || !isNextSteps(value.nextSteps))
22
23
  return JSON.stringify(value);
23
24
  const { commands, endpoints } = value.nextSteps;
25
+ const additions = Array.isArray(value.additions) ? value.additions.length : 0;
26
+ const warnings = Array.isArray(value.warnings)
27
+ ? value.warnings.flatMap((warning) => isRecord(warning) && typeof warning.message === "string" ? [warning.message] : [])
28
+ : [];
24
29
  return [
25
30
  ...(typeof value.name === "string" && typeof value.destination === "string"
26
31
  ? [`Success! Created ${value.name} at ${value.destination}.`, ""]
27
32
  : []),
33
+ ...(additions ? [`additions: ${additions}`, ""] : []),
28
34
  commands.cd,
35
+ ...(commands.install ? [commands.install] : []),
29
36
  commands.dev,
30
37
  "",
31
38
  `backend: ${endpoints.backend}`,
@@ -33,6 +40,7 @@ export function formatGenerateResult(value) {
33
40
  `openapi: ${endpoints.openapi}`,
34
41
  `api docs: ${endpoints.apiReference}`,
35
42
  ...(endpoints.route === undefined ? [] : [`route: ${endpoints.route}`]),
43
+ ...(warnings.length ? ["", ...warnings.map((warning) => `warning: ${warning}`)] : []),
36
44
  "",
37
45
  commands.test,
38
46
  commands.check,
@@ -50,6 +58,7 @@ function isNextSteps(value) {
50
58
  const commands = value.commands;
51
59
  const endpoints = value.endpoints;
52
60
  return (typeof commands.cd === "string" &&
61
+ (commands.install === undefined || commands.install === "bun install") &&
53
62
  commands.dev === "bun run dev" &&
54
63
  commands.test === "bun run test" &&
55
64
  commands.check === "bun run check" &&
@@ -1 +1 @@
1
- {"version":3,"file":"generate-output.js","sourceRoot":"","sources":["../src/generate-output.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-output.js","sourceRoot":"","sources":["../src/generate-output.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { GenerateProjectError, type GenerateCommandResult, type GenerateFailurePoint, type GenerateProjectContext } from "./generate.js";
1
+ import { GenerateProjectError, type GenerateCommandResult, type GenerateFailurePoint, type GenerateProjectContext } from "./generate-types.js";
2
2
  import type { StageCleanupResult } from "./generate-files.js";
3
3
  export declare function generationError(error: unknown, fallback: string, cleanup?: StageCleanupResult): GenerateProjectError;
4
4
  export declare function injectGenerateFailure(context: GenerateProjectContext, point: GenerateFailurePoint): void;
@@ -1 +1 @@
1
- {"version":3,"file":"generate-process.d.ts","sourceRoot":"","sources":["../src/generate-process.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,oBAAoB,EACpB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC5B,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,wBAAgB,eAAe,CAC7B,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,oBAAoB,CAuBtB;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,sBAAsB,EAC/B,KAAK,EAAE,oBAAoB,GAC1B,IAAI,CAUN;AAED,wBAAsB,cAAc,CAClC,OAAO,EAAE,sBAAsB,EAC/B,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAYf;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI,CAKpE;AAED,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,sBAAsB,EAC/B,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,CAAC,CAcjB;AAED,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,qBAAqB,CAAC,CAchC"}
1
+ {"version":3,"file":"generate-process.d.ts","sourceRoot":"","sources":["../src/generate-process.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,oBAAoB,EACpB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC5B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,wBAAgB,eAAe,CAC7B,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,oBAAoB,CA0BtB;AAOD,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,sBAAsB,EAC/B,KAAK,EAAE,oBAAoB,GAC1B,IAAI,CAUN;AAED,wBAAsB,cAAc,CAClC,OAAO,EAAE,sBAAsB,EAC/B,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAYf;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI,CAKpE;AAED,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,sBAAsB,EAC/B,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,CAAC,CAcjB;AAED,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,qBAAqB,CAAC,CAchC"}
@@ -1,7 +1,7 @@
1
1
  import { access } from "node:fs/promises";
2
2
  import { join } from "node:path";
3
3
  import { CreateValidationError } from "./validate.js";
4
- import { GenerateProjectError, } from "./generate.js";
4
+ import { GenerateProjectError, } from "./generate-types.js";
5
5
  export function generationError(error, fallback, cleanup) {
6
6
  let failure;
7
7
  if (error instanceof GenerateProjectError)
@@ -9,13 +9,17 @@ export function generationError(error, fallback, cleanup) {
9
9
  else if (error instanceof CreateValidationError)
10
10
  failure = new GenerateProjectError(error.code, error.message);
11
11
  else if (error instanceof Error && typeof error.code === "string")
12
- failure = new GenerateProjectError(error.code, error.message);
12
+ failure = new GenerateProjectError(error.code, error.message, undefined, errorExitCode(error));
13
13
  else
14
14
  failure = new GenerateProjectError(fallback, error instanceof Error ? error.message : String(error));
15
15
  if (cleanup?.temporaryPath === undefined)
16
16
  return failure;
17
17
  const state = cleanup.removed ? "cleaned" : "retained";
18
- return new GenerateProjectError(failure.code, `${failure.message} Temporary directory ${state}: ${cleanup.temporaryPath}.`, cleanup.temporaryPath);
18
+ return new GenerateProjectError(failure.code, `${failure.message} Temporary directory ${state}: ${cleanup.temporaryPath}.`, cleanup.temporaryPath, failure.exitCode);
19
+ }
20
+ function errorExitCode(error) {
21
+ const value = "exitCode" in error ? error.exitCode : undefined;
22
+ return value === 1 || value === 2 || value === 130 || value === 143 ? value : undefined;
19
23
  }
20
24
  export function injectGenerateFailure(context, point) {
21
25
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"generate-process.js","sourceRoot":"","sources":["../src/generate-process.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-process.js","sourceRoot":"","sources":["../src/generate-process.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ import type { AddResult, ScaffoldWarning } from "./add-types.js";
2
+ import type { CreateOptions } from "./options.js";
3
+ import type { PromptDriver } from "./prompt-driver.js";
4
+ import type { GenerateNextSteps } from "./generate-output.js";
5
+ export interface GenerateCommandResult {
6
+ readonly exitCode: number;
7
+ readonly stdout?: string;
8
+ readonly stderr?: string;
9
+ }
10
+ export type GenerateCommandRunner = (command: readonly string[], cwd: string, signal?: AbortSignal) => Promise<GenerateCommandResult>;
11
+ export type GenerateFailurePoint = "copy" | "substitute" | "install" | "git" | "doctor" | "check" | "rename";
12
+ export interface GenerateProjectContext {
13
+ readonly cwd?: string;
14
+ readonly templateRoot?: string;
15
+ readonly commandRunner?: GenerateCommandRunner;
16
+ readonly bunExecutable?: string;
17
+ readonly gitExecutable?: string;
18
+ readonly relkitExecutable?: string;
19
+ readonly signal?: AbortSignal;
20
+ readonly onProgress?: (message: string) => void;
21
+ readonly failAt?: (point: GenerateFailurePoint) => void;
22
+ readonly interactive?: boolean;
23
+ readonly promptDriver?: PromptDriver;
24
+ }
25
+ export interface GenerateProjectResult {
26
+ readonly ok: true;
27
+ readonly command: "create";
28
+ readonly name: string;
29
+ readonly template: CreateOptions["template"];
30
+ readonly cloud: CreateOptions["cloud"];
31
+ readonly deploy: CreateOptions["deploy"];
32
+ readonly destination: string;
33
+ readonly files: readonly string[];
34
+ readonly installed: boolean;
35
+ readonly gitInitialized: boolean;
36
+ readonly additions: readonly AddResult[];
37
+ readonly warnings: readonly ScaffoldWarning[];
38
+ readonly nextSteps: GenerateNextSteps;
39
+ }
40
+ export declare class GenerateProjectError extends Error {
41
+ readonly code: string;
42
+ readonly exitCode: 1 | 2 | 130 | 143;
43
+ readonly temporaryPath: string | undefined;
44
+ constructor(code: string, message: string, temporaryPath?: string, exitCode?: 1 | 2 | 130 | 143);
45
+ }
46
+ //# sourceMappingURL=generate-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-types.d.ts","sourceRoot":"","sources":["../src/generate-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,MAAM,qBAAqB,GAAG,CAClC,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,WAAW,KACjB,OAAO,CAAC,qBAAqB,CAAC,CAAC;AAEpC,MAAM,MAAM,oBAAoB,GAC9B,MAAM,GAAG,YAAY,GAAG,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE5E,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,CAAC,EAAE,qBAAqB,CAAC;IAC/C,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,CAAC;IACxD,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;CACtC;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IAC7C,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IACzC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,SAAS,SAAS,EAAE,CAAC;IACzC,QAAQ,CAAC,QAAQ,EAAE,SAAS,eAAe,EAAE,CAAC;IAC9C,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;CACvC;AAED,qBAAa,oBAAqB,SAAQ,KAAK;IAK3C,QAAQ,CAAC,IAAI,EAAE,MAAM;IAJvB,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC;IACrC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;gBAGhC,IAAI,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,EACf,aAAa,CAAC,EAAE,MAAM,EACtB,QAAQ,GAAE,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAA2B;CAOtD"}
@@ -0,0 +1,20 @@
1
+ export class GenerateProjectError extends Error {
2
+ code;
3
+ exitCode;
4
+ temporaryPath;
5
+ constructor(code, message, temporaryPath, exitCode = defaultExitCode(code)) {
6
+ super(message);
7
+ this.code = code;
8
+ this.temporaryPath = temporaryPath;
9
+ this.exitCode = exitCode;
10
+ this.name = "GenerateProjectError";
11
+ }
12
+ }
13
+ function defaultExitCode(code) {
14
+ if (code.endsWith("_USAGE"))
15
+ return 2;
16
+ if (code.endsWith("_CANCELLED") || code === "RELKIT_INTERRUPTED")
17
+ return 130;
18
+ return 1;
19
+ }
20
+ //# sourceMappingURL=generate-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-types.js","sourceRoot":"","sources":["../src/generate-types.ts"],"names":[],"mappings":"AAkDA,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAKlC;IAJF,QAAQ,CAAoB;IAC5B,aAAa,CAAqB;IAE3C,YACW,IAAY,EACrB,OAAe,EACf,aAAsB,EACtB,WAA8B,eAAe,CAAC,IAAI,CAAC;QAEnD,KAAK,CAAC,OAAO,CAAC,CAAC;QALN,SAAI,GAAJ,IAAI,CAAQ;QAMrB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AAED,SAAS,eAAe,CAAC,IAAY;IACnC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,CAAC,CAAC;IACtC,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,IAAI,KAAK,oBAAoB;QAAE,OAAO,GAAG,CAAC;IAC7E,OAAO,CAAC,CAAC;AACX,CAAC"}
@@ -1,42 +1,5 @@
1
1
  import type { CreateOptions } from "./options.js";
2
- import { type GenerateNextSteps } from "./generate-output.js";
3
- export interface GenerateCommandResult {
4
- readonly exitCode: number;
5
- readonly stdout?: string;
6
- readonly stderr?: string;
7
- }
8
- export type GenerateCommandRunner = (command: readonly string[], cwd: string, signal?: AbortSignal) => Promise<GenerateCommandResult>;
9
- export type GenerateFailurePoint = "copy" | "substitute" | "install" | "git" | "doctor" | "check" | "rename";
10
- export interface GenerateProjectContext {
11
- readonly cwd?: string;
12
- readonly templateRoot?: string;
13
- readonly commandRunner?: GenerateCommandRunner;
14
- readonly bunExecutable?: string;
15
- readonly gitExecutable?: string;
16
- readonly relkitExecutable?: string;
17
- readonly signal?: AbortSignal;
18
- readonly onProgress?: (message: string) => void;
19
- readonly failAt?: (point: GenerateFailurePoint) => void;
20
- }
21
- export interface GenerateProjectResult {
22
- readonly ok: true;
23
- readonly command: "create";
24
- readonly name: string;
25
- readonly template: CreateOptions["template"];
26
- readonly cloud: CreateOptions["cloud"];
27
- readonly deploy: CreateOptions["deploy"];
28
- readonly destination: string;
29
- readonly files: readonly string[];
30
- readonly installed: boolean;
31
- readonly gitInitialized: boolean;
32
- readonly nextSteps: GenerateNextSteps;
33
- }
34
- export declare class GenerateProjectError extends Error {
35
- readonly code: string;
36
- readonly exitCode = 1;
37
- readonly temporaryPath: string | undefined;
38
- constructor(code: string, message: string, temporaryPath?: string);
39
- }
2
+ import { type GenerateProjectContext, type GenerateProjectResult } from "./generate-types.js";
40
3
  /** Copies, validates, checks, and atomically publishes one generated project. */
41
4
  export declare function generateProject(options: CreateOptions, context?: GenerateProjectContext): Promise<GenerateProjectResult>;
42
5
  //# sourceMappingURL=generate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAiBlD,OAAO,EAA2B,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAIvF,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,MAAM,qBAAqB,GAAG,CAClC,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,WAAW,KACjB,OAAO,CAAC,qBAAqB,CAAC,CAAC;AAEpC,MAAM,MAAM,oBAAoB,GAC9B,MAAM,GAAG,YAAY,GAAG,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE5E,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,CAAC,EAAE,qBAAqB,CAAC;IAC/C,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,CAAC;CACzD;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IAC7C,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IACzC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;CACvC;AAED,qBAAa,oBAAqB,SAAQ,KAAK;IAK3C,QAAQ,CAAC,IAAI,EAAE,MAAM;IAJvB,QAAQ,CAAC,QAAQ,KAAK;IACtB,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;gBAGhC,IAAI,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,EACf,aAAa,CAAC,EAAE,MAAM;CAMzB;AAED,iFAAiF;AACjF,wBAAsB,eAAe,CACnC,OAAO,EAAE,aAAa,EACtB,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,qBAAqB,CAAC,CAwGhC"}
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAoBlD,OAAO,EAAE,KAAK,sBAAsB,EAAE,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAI9F,iFAAiF;AACjF,wBAAsB,eAAe,CACnC,OAAO,EAAE,aAAa,EACtB,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,qBAAqB,CAAC,CAyHhC"}
package/dist/generate.js CHANGED
@@ -1,23 +1,13 @@
1
- import { existsSync } from "node:fs";
2
1
  import { mkdir, mkdtemp, rename } from "node:fs/promises";
3
- import { basename, dirname, join, resolve } from "node:path";
4
- import { fileURLToPath } from "node:url";
5
- import { CreateValidationError, validateCreateOptions } from "./validate.js";
2
+ import { basename, dirname, join } from "node:path";
3
+ import { validateCreateOptions } from "./validate.js";
6
4
  import { injectGenerateFailure, generationError, resolveRelkitExecutable, runProjectStep, throwIfAborted, } from "./generate-process.js";
7
5
  import { copyTemplate, cleanupStagedProject, customizeProject, listProjectFiles, requireFiles, requireTemplate, } from "./generate-files.js";
8
6
  import { createGenerateNextSteps } from "./generate-output.js";
7
+ import { addToStagedProject } from "./create-additions.js";
8
+ import { resolveTemplateRoot } from "./template-root.js";
9
+ import {} from "./generate-types.js";
9
10
  const DIRECTORY_MODE = 0o755;
10
- export class GenerateProjectError extends Error {
11
- code;
12
- exitCode = 1;
13
- temporaryPath;
14
- constructor(code, message, temporaryPath) {
15
- super(message);
16
- this.code = code;
17
- this.temporaryPath = temporaryPath;
18
- this.name = "GenerateProjectError";
19
- }
20
- }
21
11
  /** Copies, validates, checks, and atomically publishes one generated project. */
22
12
  export async function generateProject(options, context = {}) {
23
13
  let validated;
@@ -30,7 +20,7 @@ export async function generateProject(options, context = {}) {
30
20
  throwIfAborted(context.signal);
31
21
  context.onProgress?.(`Creating a new RELKIT app in ${validated.destination}.`);
32
22
  const templateRoot = resolveTemplateRoot(context);
33
- const template = join(templateRoot, options.template);
23
+ const template = join(templateRoot, options.jobs === undefined ? options.template : "tasks");
34
24
  let stage;
35
25
  let published = false;
36
26
  try {
@@ -49,6 +39,8 @@ export async function generateProject(options, context = {}) {
49
39
  ".env.example",
50
40
  ".gitignore",
51
41
  ]);
42
+ const stagedAdditions = await addToStagedProject(staged, context);
43
+ const additions = stagedAdditions.results;
52
44
  if (options.install) {
53
45
  context.onProgress?.("Installing dependencies...");
54
46
  await runProjectStep(context, [context.bunExecutable ?? process.execPath, "install"], staged, "install", "install");
@@ -59,18 +51,20 @@ export async function generateProject(options, context = {}) {
59
51
  context.onProgress?.("Initializing Git repository...");
60
52
  await runProjectStep(context, [git, "init"], staged, "git", "git");
61
53
  }
62
- const relkit = await resolveRelkitExecutable(context, staged);
63
- const deploymentCheck = options.cloud === "none" || options.deploy === "none";
64
- context.onProgress?.("Checking generated project...");
65
- await runProjectStep(context, [
66
- relkit,
67
- "doctor",
68
- "--project-root",
69
- staged,
70
- "--no-ports",
71
- ...(deploymentCheck ? ["--no-pulumi"] : []),
72
- ], staged, "doctor", "doctor");
73
- await runProjectStep(context, [relkit, "check", "--project-root", staged], staged, "check", "check");
54
+ if (options.install) {
55
+ const relkit = await resolveRelkitExecutable(context, staged);
56
+ const deploymentCheck = options.cloud === "none" || options.deploy === "none";
57
+ context.onProgress?.("Checking generated project...");
58
+ await runProjectStep(context, [
59
+ relkit,
60
+ "doctor",
61
+ "--project-root",
62
+ staged,
63
+ "--no-ports",
64
+ ...(deploymentCheck ? ["--no-pulumi"] : []),
65
+ ], staged, "doctor", "doctor");
66
+ await runProjectStep(context, [relkit, "check", "--project-root", staged], staged, "check", "check");
67
+ }
74
68
  throwIfAborted(context.signal);
75
69
  injectGenerateFailure(context, "rename");
76
70
  await rename(staged, validated.destination);
@@ -86,6 +80,18 @@ export async function generateProject(options, context = {}) {
86
80
  files: Object.freeze(await listProjectFiles(validated.destination)),
87
81
  installed: options.install,
88
82
  gitInitialized,
83
+ additions,
84
+ warnings: Object.freeze([
85
+ ...additions.flatMap((addition) => addition.warnings),
86
+ ...(!options.install
87
+ ? [
88
+ {
89
+ code: "validation-skipped",
90
+ message: "Install dependencies, then run bun run check.",
91
+ },
92
+ ]
93
+ : []),
94
+ ]),
89
95
  nextSteps: createGenerateNextSteps(options, validated.destination, context.cwd),
90
96
  });
91
97
  }
@@ -96,15 +102,4 @@ export async function generateProject(options, context = {}) {
96
102
  throw generationError(error, "RELKIT_CREATE_FAILED", cleanup);
97
103
  }
98
104
  }
99
- function resolveTemplateRoot(context) {
100
- if (context.templateRoot !== undefined)
101
- return resolve(context.templateRoot);
102
- const packaged = fileURLToPath(new URL("./templates/default/v1", import.meta.url));
103
- if (existsSync(packaged))
104
- return resolve(packaged);
105
- const source = fileURLToPath(new URL("../../../templates/default/v1", import.meta.url));
106
- if (existsSync(source))
107
- return resolve(source);
108
- return resolve(context.cwd ?? process.cwd(), "templates/default/v1");
109
- }
110
105
  //# sourceMappingURL=generate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,24 @@
1
1
  #!/usr/bin/env bun
2
2
  export * from "./options.js";
3
+ export * from "./add-types.js";
4
+ export * from "./add-name.js";
5
+ export * from "./add-options.js";
6
+ export * from "./project-discovery-types.js";
7
+ export * from "./project-discovery.js";
8
+ export * from "./source-edit.js";
9
+ export * from "./add-transaction.js";
10
+ export * from "./scaffold-catalog.js";
11
+ export * from "./plan-builder.js";
12
+ export * from "./add-plan.js";
13
+ export * from "./add-output.js";
14
+ export * from "./add-resolver.js";
15
+ export * from "./prompt-driver.js";
16
+ export * from "./create-resolver.js";
17
+ export * from "./create-preview.js";
18
+ export * from "./template-root.js";
19
+ export * from "./render-database.js";
3
20
  export * from "./validate.js";
4
21
  export * from "./generate.js";
22
+ export * from "./generate-types.js";
5
23
  export * from "./generate-output.js";
6
24
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAKA,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAQA,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC"}
package/dist/index.js CHANGED
@@ -1,32 +1,102 @@
1
1
  #!/usr/bin/env bun
2
+ import { spinner } from "@clack/prompts";
2
3
  import { generateProject } from "./generate.js";
3
4
  import { formatGenerateResult } from "./generate-output.js";
4
- import { normalizeCreateOptions } from "./options.js";
5
+ import { formatCreatePlan, planCreate } from "./create-preview.js";
6
+ import { resolveCreateOptionsDetails } from "./create-resolver.js";
7
+ import { createClackPromptDriver } from "./prompt-driver.js";
5
8
  export * from "./options.js";
9
+ export * from "./add-types.js";
10
+ export * from "./add-name.js";
11
+ export * from "./add-options.js";
12
+ export * from "./project-discovery-types.js";
13
+ export * from "./project-discovery.js";
14
+ export * from "./source-edit.js";
15
+ export * from "./add-transaction.js";
16
+ export * from "./scaffold-catalog.js";
17
+ export * from "./plan-builder.js";
18
+ export * from "./add-plan.js";
19
+ export * from "./add-output.js";
20
+ export * from "./add-resolver.js";
21
+ export * from "./prompt-driver.js";
22
+ export * from "./create-resolver.js";
23
+ export * from "./create-preview.js";
24
+ export * from "./template-root.js";
25
+ export * from "./render-database.js";
6
26
  export * from "./validate.js";
7
27
  export * from "./generate.js";
28
+ export * from "./generate-types.js";
8
29
  export * from "./generate-output.js";
9
30
  if (import.meta.main) {
31
+ const args = process.argv.slice(2);
32
+ const json = args.includes("--json");
33
+ const interactive = !json && !process.env.CI && process.stdin.isTTY === true;
34
+ const promptDriver = interactive ? createClackPromptDriver("RELKIT_CREATE_CANCELLED") : undefined;
35
+ const progress = interactive ? spinner() : undefined;
36
+ let progressStarted = false;
10
37
  try {
11
- const options = normalizeCreateOptions(process.argv.slice(2));
12
- const result = await generateProject(options, {
13
- ...(options.json
14
- ? {}
15
- : { onProgress: (message) => process.stderr.write(`${message}\n`) }),
38
+ promptDriver?.intro("Create a RELKIT app");
39
+ const resolved = await resolveCreateOptionsDetails(args, {
40
+ json,
41
+ interactive,
42
+ ...(promptDriver ? { promptDriver } : {}),
16
43
  });
17
- process.stdout.write(`${options.json ? JSON.stringify(result) : formatGenerateResult(result)}\n`);
44
+ const plan = await planCreate(resolved.options);
45
+ if (!json) {
46
+ if (promptDriver)
47
+ promptDriver.note(formatCreatePlan(plan), "Planned project");
48
+ else
49
+ process.stderr.write(`${formatCreatePlan(plan)}\n`);
50
+ }
51
+ if (resolved.prompted &&
52
+ promptDriver &&
53
+ !(await promptDriver.confirm({
54
+ message: "Create this project?",
55
+ initialValue: true,
56
+ })))
57
+ throw Object.assign(new Error("Scaffolding was cancelled."), {
58
+ code: "RELKIT_CREATE_CANCELLED",
59
+ exitCode: 130,
60
+ });
61
+ const result = await generateProject(resolved.options, {
62
+ interactive,
63
+ ...(promptDriver ? { promptDriver } : {}),
64
+ ...(progress
65
+ ? {
66
+ onProgress: (message) => {
67
+ if (message.startsWith("Creating a new RELKIT app"))
68
+ return;
69
+ if (!progressStarted) {
70
+ progress.start(message);
71
+ progressStarted = true;
72
+ }
73
+ else
74
+ progress.message(message);
75
+ },
76
+ }
77
+ : {}),
78
+ });
79
+ if (progressStarted)
80
+ progress?.stop("Project created.");
81
+ process.stdout.write(`${json ? JSON.stringify(result) : formatGenerateResult(result)}\n`);
18
82
  }
19
83
  catch (error) {
84
+ if (progressStarted)
85
+ progress?.error("Project creation failed.");
20
86
  const code = error instanceof Error && "code" in error && typeof error.code === "string"
21
87
  ? error.code
22
88
  : "RELKIT_CREATE_FAILED";
23
89
  const message = error instanceof Error ? error.message : String(error);
24
- const json = process.argv.includes("--json");
25
90
  const output = json
26
91
  ? JSON.stringify({ ok: false, error: { code, message } })
27
92
  : `${code}: ${message}`;
28
93
  (json ? process.stdout : process.stderr).write(`${output}\n`);
29
- process.exitCode = code === "RELKIT_CREATE_USAGE" ? 2 : 1;
94
+ process.exitCode =
95
+ error instanceof Error && "exitCode" in error && typeof error.exitCode === "number"
96
+ ? error.exitCode
97
+ : code === "RELKIT_CREATE_USAGE"
98
+ ? 2
99
+ : 1;
30
100
  }
31
101
  }
32
102
  //# sourceMappingURL=index.js.map