@geekmidas/cli 0.3.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 (309) hide show
  1. package/README.md +488 -71
  2. package/dist/CronGenerator-BPTqNYOR.d.cts +14 -0
  3. package/dist/{CronGenerator-Bh26MaNA.mjs → CronGenerator-CCRYptuT.mjs} +2 -2
  4. package/dist/{CronGenerator-Bh26MaNA.mjs.map → CronGenerator-CCRYptuT.mjs.map} +1 -1
  5. package/dist/{CronGenerator-C6MF8rlG.cjs → CronGenerator-D4TWXQbh.cjs} +2 -2
  6. package/dist/{CronGenerator-C6MF8rlG.cjs.map → CronGenerator-D4TWXQbh.cjs.map} +1 -1
  7. package/dist/CronGenerator-YAj59JUd.d.mts +14 -0
  8. package/dist/EndpointGenerator-ChAD1INz.d.cts +19 -0
  9. package/dist/EndpointGenerator-Cj3O1U8-.d.mts +19 -0
  10. package/dist/{EndpointGenerator-CWh18d92.mjs → EndpointGenerator-DGivkPLT.mjs} +77 -7
  11. package/dist/EndpointGenerator-DGivkPLT.mjs.map +1 -0
  12. package/dist/{EndpointGenerator-C73wNoih.cjs → EndpointGenerator-npWEDoK2.cjs} +77 -7
  13. package/dist/EndpointGenerator-npWEDoK2.cjs.map +1 -0
  14. package/dist/FunctionGenerator-429-9NER.d.cts +14 -0
  15. package/dist/FunctionGenerator-BQ4ehoID.d.mts +14 -0
  16. package/dist/{FunctionGenerator-BNE_GC7N.mjs → FunctionGenerator-CVk0h8tO.mjs} +2 -2
  17. package/dist/{FunctionGenerator-BNE_GC7N.mjs.map → FunctionGenerator-CVk0h8tO.mjs.map} +1 -1
  18. package/dist/{FunctionGenerator-FgZUTd8L.cjs → FunctionGenerator-DYTnyr4c.cjs} +2 -2
  19. package/dist/{FunctionGenerator-FgZUTd8L.cjs.map → FunctionGenerator-DYTnyr4c.cjs.map} +1 -1
  20. package/dist/Generator-BjHK_qce.d.mts +27 -0
  21. package/dist/{Generator-UanJW0_V.mjs → Generator-CDt4pB3W.mjs} +1 -1
  22. package/dist/{Generator-UanJW0_V.mjs.map → Generator-CDt4pB3W.mjs.map} +1 -1
  23. package/dist/{Generator-CDoEXCDg.cjs → Generator-CLVplqm2.cjs} +1 -1
  24. package/dist/{Generator-CDoEXCDg.cjs.map → Generator-CLVplqm2.cjs.map} +1 -1
  25. package/dist/Generator-DxQMCQp7.d.cts +27 -0
  26. package/dist/OpenApiTsGenerator-Be-sKGTT.cjs +501 -0
  27. package/dist/OpenApiTsGenerator-Be-sKGTT.cjs.map +1 -0
  28. package/dist/OpenApiTsGenerator-C4mHHaku.mjs +495 -0
  29. package/dist/OpenApiTsGenerator-C4mHHaku.mjs.map +1 -0
  30. package/dist/SubscriberGenerator-7uX42xyG.d.mts +15 -0
  31. package/dist/{SubscriberGenerator-Dnlj_1FK.mjs → SubscriberGenerator-DABaJXML.mjs} +2 -2
  32. package/dist/{SubscriberGenerator-Dnlj_1FK.mjs.map → SubscriberGenerator-DABaJXML.mjs.map} +1 -1
  33. package/dist/{SubscriberGenerator-Bd-a7aiw.cjs → SubscriberGenerator-D_zpNGFr.cjs} +2 -2
  34. package/dist/{SubscriberGenerator-Bd-a7aiw.cjs.map → SubscriberGenerator-D_zpNGFr.cjs.map} +1 -1
  35. package/dist/SubscriberGenerator-Dtb3HS4i.d.cts +15 -0
  36. package/dist/api-B3SCEHPf.cjs +190 -0
  37. package/dist/api-B3SCEHPf.cjs.map +1 -0
  38. package/dist/api-BKIN0s0S.mjs +184 -0
  39. package/dist/api-BKIN0s0S.mjs.map +1 -0
  40. package/dist/build/index.cjs +11 -10
  41. package/dist/build/index.d.cts +7 -0
  42. package/dist/build/index.d.mts +7 -0
  43. package/dist/build/index.mjs +11 -10
  44. package/dist/build/manifests.cjs +1 -1
  45. package/dist/build/manifests.d.cts +13 -0
  46. package/dist/build/manifests.d.mts +13 -0
  47. package/dist/build/manifests.mjs +1 -1
  48. package/dist/build/providerResolver.cjs +1 -1
  49. package/dist/build/providerResolver.d.cts +23 -0
  50. package/dist/build/providerResolver.d.mts +23 -0
  51. package/dist/build/providerResolver.mjs +1 -1
  52. package/dist/build/types.d.cts +3 -0
  53. package/dist/build/types.d.mts +3 -0
  54. package/dist/{build-C6uEGRj8.mjs → build-B8C_qHir.mjs} +15 -13
  55. package/dist/build-B8C_qHir.mjs.map +1 -0
  56. package/dist/{build-CBYBPZpC.cjs → build-D0Wr49bf.cjs} +15 -13
  57. package/dist/build-D0Wr49bf.cjs.map +1 -0
  58. package/dist/config-Ba-Gbpbc.d.cts +11 -0
  59. package/dist/config-Bq72aj8e.mjs +75 -0
  60. package/dist/config-Bq72aj8e.mjs.map +1 -0
  61. package/dist/config-CFls09Ey.cjs +93 -0
  62. package/dist/config-CFls09Ey.cjs.map +1 -0
  63. package/dist/config-CLEDqKO3.cjs +157 -0
  64. package/dist/config-CLEDqKO3.cjs.map +1 -0
  65. package/dist/config-DBsmMDhf.d.mts +11 -0
  66. package/dist/config-Dp8RonV_.mjs +151 -0
  67. package/dist/config-Dp8RonV_.mjs.map +1 -0
  68. package/dist/config.cjs +4 -2
  69. package/dist/config.d.cts +48 -0
  70. package/dist/config.d.mts +48 -0
  71. package/dist/config.mjs +2 -2
  72. package/dist/dev/index.cjs +12 -10
  73. package/dist/dev/index.d.cts +36 -0
  74. package/dist/dev/index.d.mts +36 -0
  75. package/dist/dev/index.mjs +10 -10
  76. package/dist/dev-B734w3L1.mjs +343 -0
  77. package/dist/dev-B734w3L1.mjs.map +1 -0
  78. package/dist/{dev-DbtyToc7.cjs → dev-DHqYn8k4.cjs} +161 -47
  79. package/dist/dev-DHqYn8k4.cjs.map +1 -0
  80. package/dist/docker-5d8Yh5_X.cjs +119 -0
  81. package/dist/docker-5d8Yh5_X.cjs.map +1 -0
  82. package/dist/docker-DlUqdFle.mjs +113 -0
  83. package/dist/docker-DlUqdFle.mjs.map +1 -0
  84. package/dist/env-B-OKjgI4.cjs +144 -0
  85. package/dist/env-B-OKjgI4.cjs.map +1 -0
  86. package/dist/env-HfuJRlg5.d.cts +11 -0
  87. package/dist/env-nd-iQPYM.d.mts +11 -0
  88. package/dist/env-tv1HlZlw.mjs +138 -0
  89. package/dist/env-tv1HlZlw.mjs.map +1 -0
  90. package/dist/generators/CronGenerator.cjs +2 -2
  91. package/dist/generators/CronGenerator.d.cts +5 -0
  92. package/dist/generators/CronGenerator.d.mts +5 -0
  93. package/dist/generators/CronGenerator.mjs +2 -2
  94. package/dist/generators/EndpointGenerator.cjs +2 -2
  95. package/dist/generators/EndpointGenerator.d.cts +5 -0
  96. package/dist/generators/EndpointGenerator.d.mts +5 -0
  97. package/dist/generators/EndpointGenerator.mjs +2 -2
  98. package/dist/generators/FunctionGenerator.cjs +2 -2
  99. package/dist/generators/FunctionGenerator.d.cts +5 -0
  100. package/dist/generators/FunctionGenerator.d.mts +5 -0
  101. package/dist/generators/FunctionGenerator.mjs +2 -2
  102. package/dist/generators/Generator.cjs +1 -1
  103. package/dist/generators/Generator.d.cts +4 -0
  104. package/dist/generators/Generator.d.mts +4 -0
  105. package/dist/generators/Generator.mjs +1 -1
  106. package/dist/generators/OpenApiTsGenerator.cjs +3 -0
  107. package/dist/generators/OpenApiTsGenerator.d.cts +44 -0
  108. package/dist/generators/OpenApiTsGenerator.d.mts +44 -0
  109. package/dist/generators/OpenApiTsGenerator.mjs +3 -0
  110. package/dist/generators/SubscriberGenerator.cjs +2 -2
  111. package/dist/generators/SubscriberGenerator.d.cts +5 -0
  112. package/dist/generators/SubscriberGenerator.d.mts +5 -0
  113. package/dist/generators/SubscriberGenerator.mjs +2 -2
  114. package/dist/generators/index.cjs +6 -6
  115. package/dist/generators/index.d.cts +8 -0
  116. package/dist/generators/index.d.mts +8 -0
  117. package/dist/generators/index.mjs +6 -6
  118. package/dist/index-C523No_B.d.mts +64 -0
  119. package/dist/index-DrzN4xkQ.d.cts +64 -0
  120. package/dist/index.cjs +56 -18
  121. package/dist/index.cjs.map +1 -1
  122. package/dist/index.d.cts +1 -0
  123. package/dist/index.d.mts +1 -0
  124. package/dist/index.mjs +56 -18
  125. package/dist/index.mjs.map +1 -1
  126. package/dist/init/generators/config.cjs +3 -0
  127. package/dist/init/generators/config.d.cts +3 -0
  128. package/dist/init/generators/config.d.mts +3 -0
  129. package/dist/init/generators/config.mjs +3 -0
  130. package/dist/init/generators/docker.cjs +3 -0
  131. package/dist/init/generators/docker.d.cts +11 -0
  132. package/dist/init/generators/docker.d.mts +11 -0
  133. package/dist/init/generators/docker.mjs +3 -0
  134. package/dist/init/generators/env.cjs +3 -0
  135. package/dist/init/generators/env.d.cts +3 -0
  136. package/dist/init/generators/env.d.mts +3 -0
  137. package/dist/init/generators/env.mjs +3 -0
  138. package/dist/init/generators/index.cjs +9 -0
  139. package/dist/init/generators/index.d.cts +6 -0
  140. package/dist/init/generators/index.d.mts +6 -0
  141. package/dist/init/generators/index.mjs +6 -0
  142. package/dist/init/generators/models.cjs +3 -0
  143. package/dist/init/generators/models.d.cts +11 -0
  144. package/dist/init/generators/models.d.mts +11 -0
  145. package/dist/init/generators/models.mjs +3 -0
  146. package/dist/init/generators/monorepo.cjs +3 -0
  147. package/dist/init/generators/monorepo.d.cts +11 -0
  148. package/dist/init/generators/monorepo.d.mts +11 -0
  149. package/dist/init/generators/monorepo.mjs +3 -0
  150. package/dist/init/generators/package.cjs +3 -0
  151. package/dist/init/generators/package.d.cts +3 -0
  152. package/dist/init/generators/package.d.mts +3 -0
  153. package/dist/init/generators/package.mjs +3 -0
  154. package/dist/init/generators/source.cjs +3 -0
  155. package/dist/init/generators/source.d.cts +3 -0
  156. package/dist/init/generators/source.d.mts +3 -0
  157. package/dist/init/generators/source.mjs +3 -0
  158. package/dist/init/index.cjs +16 -0
  159. package/dist/init/index.d.cts +17 -0
  160. package/dist/init/index.d.mts +17 -0
  161. package/dist/init/index.mjs +16 -0
  162. package/dist/init/templates/api.cjs +3 -0
  163. package/dist/init/templates/api.d.cts +7 -0
  164. package/dist/init/templates/api.d.mts +7 -0
  165. package/dist/init/templates/api.mjs +3 -0
  166. package/dist/init/templates/index.cjs +10 -0
  167. package/dist/init/templates/index.d.cts +2 -0
  168. package/dist/init/templates/index.d.mts +2 -0
  169. package/dist/init/templates/index.mjs +7 -0
  170. package/dist/init/templates/minimal.cjs +3 -0
  171. package/dist/init/templates/minimal.d.cts +7 -0
  172. package/dist/init/templates/minimal.d.mts +7 -0
  173. package/dist/init/templates/minimal.mjs +3 -0
  174. package/dist/init/templates/serverless.cjs +3 -0
  175. package/dist/init/templates/serverless.d.cts +7 -0
  176. package/dist/init/templates/serverless.d.mts +7 -0
  177. package/dist/init/templates/serverless.mjs +3 -0
  178. package/dist/init/templates/worker.cjs +3 -0
  179. package/dist/init/templates/worker.d.cts +7 -0
  180. package/dist/init/templates/worker.d.mts +7 -0
  181. package/dist/init/templates/worker.mjs +3 -0
  182. package/dist/init/utils.cjs +7 -0
  183. package/dist/init/utils.d.cts +25 -0
  184. package/dist/init/utils.d.mts +25 -0
  185. package/dist/init/utils.mjs +3 -0
  186. package/dist/init-CtOnZn3G.mjs +145 -0
  187. package/dist/init-CtOnZn3G.mjs.map +1 -0
  188. package/dist/init-qLFsWR-R.cjs +151 -0
  189. package/dist/init-qLFsWR-R.cjs.map +1 -0
  190. package/dist/{manifests-C2eMoMUm.mjs → manifests-DIA_2QYd.mjs} +1 -1
  191. package/dist/{manifests-C2eMoMUm.mjs.map → manifests-DIA_2QYd.mjs.map} +1 -1
  192. package/dist/{manifests-CK1VV_pM.cjs → manifests-VJ9-2JpW.cjs} +1 -1
  193. package/dist/{manifests-CK1VV_pM.cjs.map → manifests-VJ9-2JpW.cjs.map} +1 -1
  194. package/dist/minimal-Bdhhpp7v.cjs +93 -0
  195. package/dist/minimal-Bdhhpp7v.cjs.map +1 -0
  196. package/dist/minimal-C4GsE45s.mjs +87 -0
  197. package/dist/minimal-C4GsE45s.mjs.map +1 -0
  198. package/dist/models-DyNwdOcz.cjs +121 -0
  199. package/dist/models-DyNwdOcz.cjs.map +1 -0
  200. package/dist/models-cvNg6Oea.mjs +115 -0
  201. package/dist/models-cvNg6Oea.mjs.map +1 -0
  202. package/dist/monorepo-Cknwzj5C.mjs +184 -0
  203. package/dist/monorepo-Cknwzj5C.mjs.map +1 -0
  204. package/dist/monorepo-sEK8gW59.cjs +190 -0
  205. package/dist/monorepo-sEK8gW59.cjs.map +1 -0
  206. package/dist/openapi-BQWPWyNB.cjs +56 -0
  207. package/dist/openapi-BQWPWyNB.cjs.map +1 -0
  208. package/dist/openapi-DBX8cJJ8.mjs +50 -0
  209. package/dist/openapi-DBX8cJJ8.mjs.map +1 -0
  210. package/dist/{openapi-react-query-D9Z7lh0p.cjs → openapi-react-query-DxHjXQvg.cjs} +1 -1
  211. package/dist/{openapi-react-query-D9Z7lh0p.cjs.map → openapi-react-query-DxHjXQvg.cjs.map} +1 -1
  212. package/dist/{openapi-react-query-MEBlYIM1.mjs → openapi-react-query-o7Mp1Jd5.mjs} +1 -1
  213. package/dist/{openapi-react-query-MEBlYIM1.mjs.map → openapi-react-query-o7Mp1Jd5.mjs.map} +1 -1
  214. package/dist/openapi-react-query.cjs +1 -1
  215. package/dist/openapi-react-query.d.cts +11 -0
  216. package/dist/openapi-react-query.d.mts +11 -0
  217. package/dist/openapi-react-query.mjs +1 -1
  218. package/dist/openapi.cjs +5 -4
  219. package/dist/openapi.d.cts +11 -0
  220. package/dist/openapi.d.mts +11 -0
  221. package/dist/openapi.mjs +5 -4
  222. package/dist/package-C7WhWU8m.d.mts +11 -0
  223. package/dist/package-CIfmeuSW.mjs +51 -0
  224. package/dist/package-CIfmeuSW.mjs.map +1 -0
  225. package/dist/package-DvWEMz6z.d.cts +11 -0
  226. package/dist/package-PP-o1nvq.cjs +57 -0
  227. package/dist/package-PP-o1nvq.cjs.map +1 -0
  228. package/dist/{providerResolver-B_TjNF0_.mjs → providerResolver-DEVKngbC.mjs} +1 -1
  229. package/dist/{providerResolver-B_TjNF0_.mjs.map → providerResolver-DEVKngbC.mjs.map} +1 -1
  230. package/dist/{providerResolver-DgvzNfP4.cjs → providerResolver-DOTbN9jo.cjs} +1 -1
  231. package/dist/{providerResolver-DgvzNfP4.cjs.map → providerResolver-DOTbN9jo.cjs.map} +1 -1
  232. package/dist/serverless-DkHBF2vC.mjs +108 -0
  233. package/dist/serverless-DkHBF2vC.mjs.map +1 -0
  234. package/dist/serverless-Yav3GRVz.cjs +114 -0
  235. package/dist/serverless-Yav3GRVz.cjs.map +1 -0
  236. package/dist/source-D6v2BnKT.d.mts +11 -0
  237. package/dist/source-D8fK9qRo.d.cts +11 -0
  238. package/dist/source-DT5Xhiob.cjs +17 -0
  239. package/dist/source-DT5Xhiob.cjs.map +1 -0
  240. package/dist/source-DnaH_MLA.mjs +11 -0
  241. package/dist/source-DnaH_MLA.mjs.map +1 -0
  242. package/dist/templates-CBFUwpBy.mjs +64 -0
  243. package/dist/templates-CBFUwpBy.mjs.map +1 -0
  244. package/dist/templates-DM_rtYYW.cjs +87 -0
  245. package/dist/templates-DM_rtYYW.cjs.map +1 -0
  246. package/dist/types-C4KITv-y.d.mts +51 -0
  247. package/dist/types-Cxl8-uwV.d.mts +129 -0
  248. package/dist/types-DB99_qIy.d.cts +129 -0
  249. package/dist/types-DLFN49M3.d.cts +51 -0
  250. package/dist/types.d.cts +2 -0
  251. package/dist/types.d.mts +2 -0
  252. package/dist/utils-BX3F4fT8.cjs +99 -0
  253. package/dist/utils-BX3F4fT8.cjs.map +1 -0
  254. package/dist/utils-C31-SWHP.mjs +69 -0
  255. package/dist/utils-C31-SWHP.mjs.map +1 -0
  256. package/dist/worker--8O5a3Hv.cjs +150 -0
  257. package/dist/worker--8O5a3Hv.cjs.map +1 -0
  258. package/dist/worker-Jme7uOOJ.mjs +144 -0
  259. package/dist/worker-Jme7uOOJ.mjs.map +1 -0
  260. package/docs/OPENAPI_TYPESCRIPT_DESIGN.md +408 -0
  261. package/package.json +19 -4
  262. package/src/__tests__/loadEnvFiles.spec.ts +131 -0
  263. package/src/__tests__/openapi.spec.ts +78 -63
  264. package/src/build/index.ts +14 -16
  265. package/src/build/types.ts +18 -2
  266. package/src/config.ts +61 -2
  267. package/src/dev/__tests__/index.spec.ts +98 -1
  268. package/src/dev/index.ts +229 -42
  269. package/src/generators/EndpointGenerator.ts +98 -5
  270. package/src/generators/OpenApiTsGenerator.ts +798 -0
  271. package/src/index.ts +32 -3
  272. package/src/init/__tests__/generators.spec.ts +366 -0
  273. package/src/init/__tests__/init.spec.ts +341 -0
  274. package/src/init/__tests__/utils.spec.ts +104 -0
  275. package/src/init/generators/config.ts +192 -0
  276. package/src/init/generators/docker.ts +134 -0
  277. package/src/init/generators/env.ts +182 -0
  278. package/src/init/generators/index.ts +4 -0
  279. package/src/init/generators/models.ts +129 -0
  280. package/src/init/generators/monorepo.ts +211 -0
  281. package/src/init/generators/package.ts +81 -0
  282. package/src/init/generators/source.ts +15 -0
  283. package/src/init/index.ts +206 -0
  284. package/src/init/templates/api.ts +218 -0
  285. package/src/init/templates/index.ts +108 -0
  286. package/src/init/templates/minimal.ts +102 -0
  287. package/src/init/templates/serverless.ts +129 -0
  288. package/src/init/templates/worker.ts +169 -0
  289. package/src/init/utils.ts +98 -0
  290. package/src/openapi.ts +36 -15
  291. package/src/types.ts +43 -0
  292. package/tsdown.config.ts +1 -1
  293. package/dist/EndpointGenerator-C73wNoih.cjs.map +0 -1
  294. package/dist/EndpointGenerator-CWh18d92.mjs.map +0 -1
  295. package/dist/build-C6uEGRj8.mjs.map +0 -1
  296. package/dist/build-CBYBPZpC.cjs.map +0 -1
  297. package/dist/config-D1EpSGk6.cjs +0 -36
  298. package/dist/config-D1EpSGk6.cjs.map +0 -1
  299. package/dist/config-U-mdW-7Y.mjs +0 -30
  300. package/dist/config-U-mdW-7Y.mjs.map +0 -1
  301. package/dist/dev-DbtyToc7.cjs.map +0 -1
  302. package/dist/dev-DnGYXuMn.mjs +0 -241
  303. package/dist/dev-DnGYXuMn.mjs.map +0 -1
  304. package/dist/openapi-BTHbPrxS.mjs +0 -36
  305. package/dist/openapi-BTHbPrxS.mjs.map +0 -1
  306. package/dist/openapi-CewcfoRH.cjs +0 -42
  307. package/dist/openapi-CewcfoRH.cjs.map +0 -1
  308. /package/dist/{generators-CEKtVh81.cjs → generators-3IemvCLk.cjs} +0 -0
  309. /package/dist/{generators-CsLujGXs.mjs → generators-FNpdfN6J.mjs} +0 -0
@@ -0,0 +1,6 @@
1
+ import "../../index-C523No_B.mjs";
2
+ import { generateConfigFiles } from "../../config-DBsmMDhf.mjs";
3
+ import { generateEnvFiles } from "../../env-nd-iQPYM.mjs";
4
+ import { generatePackageJson } from "../../package-C7WhWU8m.mjs";
5
+ import { generateSourceFiles } from "../../source-D6v2BnKT.mjs";
6
+ export { generateConfigFiles, generateEnvFiles, generatePackageJson, generateSourceFiles };
@@ -0,0 +1,6 @@
1
+ import { generateConfigFiles } from "../../config-Dp8RonV_.mjs";
2
+ import { generateEnvFiles } from "../../env-tv1HlZlw.mjs";
3
+ import { generatePackageJson } from "../../package-CIfmeuSW.mjs";
4
+ import { generateSourceFiles } from "../../source-DnaH_MLA.mjs";
5
+
6
+ export { generateConfigFiles, generateEnvFiles, generatePackageJson, generateSourceFiles };
@@ -0,0 +1,3 @@
1
+ const require_models = require('../../models-DyNwdOcz.cjs');
2
+
3
+ exports.generateModelsPackage = require_models.generateModelsPackage;
@@ -0,0 +1,11 @@
1
+ import { GeneratedFile, TemplateOptions } from "../../index-DrzN4xkQ.cjs";
2
+
3
+ //#region src/init/generators/models.d.ts
4
+
5
+ /**
6
+ * Generate packages/models for shared Zod schemas (monorepo only)
7
+ */
8
+ declare function generateModelsPackage(options: TemplateOptions): GeneratedFile[];
9
+ //#endregion
10
+ export { generateModelsPackage };
11
+ //# sourceMappingURL=models.d.cts.map
@@ -0,0 +1,11 @@
1
+ import { GeneratedFile, TemplateOptions } from "../../index-C523No_B.mjs";
2
+
3
+ //#region src/init/generators/models.d.ts
4
+
5
+ /**
6
+ * Generate packages/models for shared Zod schemas (monorepo only)
7
+ */
8
+ declare function generateModelsPackage(options: TemplateOptions): GeneratedFile[];
9
+ //#endregion
10
+ export { generateModelsPackage };
11
+ //# sourceMappingURL=models.d.mts.map
@@ -0,0 +1,3 @@
1
+ import { generateModelsPackage } from "../../models-cvNg6Oea.mjs";
2
+
3
+ export { generateModelsPackage };
@@ -0,0 +1,3 @@
1
+ const require_monorepo = require('../../monorepo-sEK8gW59.cjs');
2
+
3
+ exports.generateMonorepoFiles = require_monorepo.generateMonorepoFiles;
@@ -0,0 +1,11 @@
1
+ import { GeneratedFile, TemplateConfig, TemplateOptions } from "../../index-DrzN4xkQ.cjs";
2
+
3
+ //#region src/init/generators/monorepo.d.ts
4
+
5
+ /**
6
+ * Generate monorepo root files (pnpm-workspace.yaml, root package.json, etc.)
7
+ */
8
+ declare function generateMonorepoFiles(options: TemplateOptions, _template: TemplateConfig): GeneratedFile[];
9
+ //#endregion
10
+ export { generateMonorepoFiles };
11
+ //# sourceMappingURL=monorepo.d.cts.map
@@ -0,0 +1,11 @@
1
+ import { GeneratedFile, TemplateConfig, TemplateOptions } from "../../index-C523No_B.mjs";
2
+
3
+ //#region src/init/generators/monorepo.d.ts
4
+
5
+ /**
6
+ * Generate monorepo root files (pnpm-workspace.yaml, root package.json, etc.)
7
+ */
8
+ declare function generateMonorepoFiles(options: TemplateOptions, _template: TemplateConfig): GeneratedFile[];
9
+ //#endregion
10
+ export { generateMonorepoFiles };
11
+ //# sourceMappingURL=monorepo.d.mts.map
@@ -0,0 +1,3 @@
1
+ import { generateMonorepoFiles } from "../../monorepo-Cknwzj5C.mjs";
2
+
3
+ export { generateMonorepoFiles };
@@ -0,0 +1,3 @@
1
+ const require_package = require('../../package-PP-o1nvq.cjs');
2
+
3
+ exports.generatePackageJson = require_package.generatePackageJson;
@@ -0,0 +1,3 @@
1
+ import "../../index-DrzN4xkQ.cjs";
2
+ import { generatePackageJson } from "../../package-DvWEMz6z.cjs";
3
+ export { generatePackageJson };
@@ -0,0 +1,3 @@
1
+ import "../../index-C523No_B.mjs";
2
+ import { generatePackageJson } from "../../package-C7WhWU8m.mjs";
3
+ export { generatePackageJson };
@@ -0,0 +1,3 @@
1
+ import { generatePackageJson } from "../../package-CIfmeuSW.mjs";
2
+
3
+ export { generatePackageJson };
@@ -0,0 +1,3 @@
1
+ const require_source = require('../../source-DT5Xhiob.cjs');
2
+
3
+ exports.generateSourceFiles = require_source.generateSourceFiles;
@@ -0,0 +1,3 @@
1
+ import "../../index-DrzN4xkQ.cjs";
2
+ import { generateSourceFiles } from "../../source-D8fK9qRo.cjs";
3
+ export { generateSourceFiles };
@@ -0,0 +1,3 @@
1
+ import "../../index-C523No_B.mjs";
2
+ import { generateSourceFiles } from "../../source-D6v2BnKT.mjs";
3
+ export { generateSourceFiles };
@@ -0,0 +1,3 @@
1
+ import { generateSourceFiles } from "../../source-DnaH_MLA.mjs";
2
+
3
+ export { generateSourceFiles };
@@ -0,0 +1,16 @@
1
+ require('../config-CLEDqKO3.cjs');
2
+ require('../docker-5d8Yh5_X.cjs');
3
+ require('../env-B-OKjgI4.cjs');
4
+ require('../models-DyNwdOcz.cjs');
5
+ require('../monorepo-sEK8gW59.cjs');
6
+ require('../package-PP-o1nvq.cjs');
7
+ require('../source-DT5Xhiob.cjs');
8
+ require('../api-B3SCEHPf.cjs');
9
+ require('../minimal-Bdhhpp7v.cjs');
10
+ require('../serverless-Yav3GRVz.cjs');
11
+ require('../worker--8O5a3Hv.cjs');
12
+ require('../templates-DM_rtYYW.cjs');
13
+ require('../utils-BX3F4fT8.cjs');
14
+ const require_init = require('../init-qLFsWR-R.cjs');
15
+
16
+ exports.initCommand = require_init.initCommand;
@@ -0,0 +1,17 @@
1
+ import { TemplateName } from "../index-DrzN4xkQ.cjs";
2
+
3
+ //#region src/init/index.d.ts
4
+ interface InitOptions {
5
+ template?: TemplateName;
6
+ skipInstall?: boolean;
7
+ yes?: boolean;
8
+ monorepo?: boolean;
9
+ apiPath?: string;
10
+ }
11
+ /**
12
+ * Main init command - scaffolds a new project
13
+ */
14
+ declare function initCommand(projectName?: string, options?: InitOptions): Promise<void>;
15
+ //#endregion
16
+ export { InitOptions, initCommand };
17
+ //# sourceMappingURL=index.d.cts.map
@@ -0,0 +1,17 @@
1
+ import { TemplateName } from "../index-C523No_B.mjs";
2
+
3
+ //#region src/init/index.d.ts
4
+ interface InitOptions {
5
+ template?: TemplateName;
6
+ skipInstall?: boolean;
7
+ yes?: boolean;
8
+ monorepo?: boolean;
9
+ apiPath?: string;
10
+ }
11
+ /**
12
+ * Main init command - scaffolds a new project
13
+ */
14
+ declare function initCommand(projectName?: string, options?: InitOptions): Promise<void>;
15
+ //#endregion
16
+ export { InitOptions, initCommand };
17
+ //# sourceMappingURL=index.d.mts.map
@@ -0,0 +1,16 @@
1
+ import "../config-Dp8RonV_.mjs";
2
+ import "../docker-DlUqdFle.mjs";
3
+ import "../env-tv1HlZlw.mjs";
4
+ import "../models-cvNg6Oea.mjs";
5
+ import "../monorepo-Cknwzj5C.mjs";
6
+ import "../package-CIfmeuSW.mjs";
7
+ import "../source-DnaH_MLA.mjs";
8
+ import "../api-BKIN0s0S.mjs";
9
+ import "../minimal-C4GsE45s.mjs";
10
+ import "../serverless-DkHBF2vC.mjs";
11
+ import "../worker-Jme7uOOJ.mjs";
12
+ import "../templates-CBFUwpBy.mjs";
13
+ import "../utils-C31-SWHP.mjs";
14
+ import { initCommand } from "../init-CtOnZn3G.mjs";
15
+
16
+ export { initCommand };
@@ -0,0 +1,3 @@
1
+ const require_api = require('../../api-B3SCEHPf.cjs');
2
+
3
+ exports.apiTemplate = require_api.apiTemplate;
@@ -0,0 +1,7 @@
1
+ import { TemplateConfig } from "../../index-DrzN4xkQ.cjs";
2
+
3
+ //#region src/init/templates/api.d.ts
4
+ declare const apiTemplate: TemplateConfig;
5
+ //#endregion
6
+ export { apiTemplate };
7
+ //# sourceMappingURL=api.d.cts.map
@@ -0,0 +1,7 @@
1
+ import { TemplateConfig } from "../../index-C523No_B.mjs";
2
+
3
+ //#region src/init/templates/api.d.ts
4
+ declare const apiTemplate: TemplateConfig;
5
+ //#endregion
6
+ export { apiTemplate };
7
+ //# sourceMappingURL=api.d.mts.map
@@ -0,0 +1,3 @@
1
+ import { apiTemplate } from "../../api-BKIN0s0S.mjs";
2
+
3
+ export { apiTemplate };
@@ -0,0 +1,10 @@
1
+ require('../../api-B3SCEHPf.cjs');
2
+ require('../../minimal-Bdhhpp7v.cjs');
3
+ require('../../serverless-Yav3GRVz.cjs');
4
+ require('../../worker--8O5a3Hv.cjs');
5
+ const require_templates = require('../../templates-DM_rtYYW.cjs');
6
+
7
+ exports.getTemplate = require_templates.getTemplate;
8
+ exports.routeStyleChoices = require_templates.routeStyleChoices;
9
+ exports.templateChoices = require_templates.templateChoices;
10
+ exports.templates = require_templates.templates;
@@ -0,0 +1,2 @@
1
+ import { GeneratedFile, RouteStyle, TemplateConfig, TemplateName, TemplateOptions, getTemplate, routeStyleChoices, templateChoices, templates } from "../../index-DrzN4xkQ.cjs";
2
+ export { GeneratedFile, RouteStyle, TemplateConfig, TemplateName, TemplateOptions, getTemplate, routeStyleChoices, templateChoices, templates };
@@ -0,0 +1,2 @@
1
+ import { GeneratedFile, RouteStyle, TemplateConfig, TemplateName, TemplateOptions, getTemplate, routeStyleChoices, templateChoices, templates } from "../../index-C523No_B.mjs";
2
+ export { GeneratedFile, RouteStyle, TemplateConfig, TemplateName, TemplateOptions, getTemplate, routeStyleChoices, templateChoices, templates };
@@ -0,0 +1,7 @@
1
+ import "../../api-BKIN0s0S.mjs";
2
+ import "../../minimal-C4GsE45s.mjs";
3
+ import "../../serverless-DkHBF2vC.mjs";
4
+ import "../../worker-Jme7uOOJ.mjs";
5
+ import { getTemplate, routeStyleChoices, templateChoices, templates } from "../../templates-CBFUwpBy.mjs";
6
+
7
+ export { getTemplate, routeStyleChoices, templateChoices, templates };
@@ -0,0 +1,3 @@
1
+ const require_minimal = require('../../minimal-Bdhhpp7v.cjs');
2
+
3
+ exports.minimalTemplate = require_minimal.minimalTemplate;
@@ -0,0 +1,7 @@
1
+ import { TemplateConfig } from "../../index-DrzN4xkQ.cjs";
2
+
3
+ //#region src/init/templates/minimal.d.ts
4
+ declare const minimalTemplate: TemplateConfig;
5
+ //#endregion
6
+ export { minimalTemplate };
7
+ //# sourceMappingURL=minimal.d.cts.map
@@ -0,0 +1,7 @@
1
+ import { TemplateConfig } from "../../index-C523No_B.mjs";
2
+
3
+ //#region src/init/templates/minimal.d.ts
4
+ declare const minimalTemplate: TemplateConfig;
5
+ //#endregion
6
+ export { minimalTemplate };
7
+ //# sourceMappingURL=minimal.d.mts.map
@@ -0,0 +1,3 @@
1
+ import { minimalTemplate } from "../../minimal-C4GsE45s.mjs";
2
+
3
+ export { minimalTemplate };
@@ -0,0 +1,3 @@
1
+ const require_serverless = require('../../serverless-Yav3GRVz.cjs');
2
+
3
+ exports.serverlessTemplate = require_serverless.serverlessTemplate;
@@ -0,0 +1,7 @@
1
+ import { TemplateConfig } from "../../index-DrzN4xkQ.cjs";
2
+
3
+ //#region src/init/templates/serverless.d.ts
4
+ declare const serverlessTemplate: TemplateConfig;
5
+ //#endregion
6
+ export { serverlessTemplate };
7
+ //# sourceMappingURL=serverless.d.cts.map
@@ -0,0 +1,7 @@
1
+ import { TemplateConfig } from "../../index-C523No_B.mjs";
2
+
3
+ //#region src/init/templates/serverless.d.ts
4
+ declare const serverlessTemplate: TemplateConfig;
5
+ //#endregion
6
+ export { serverlessTemplate };
7
+ //# sourceMappingURL=serverless.d.mts.map
@@ -0,0 +1,3 @@
1
+ import { serverlessTemplate } from "../../serverless-DkHBF2vC.mjs";
2
+
3
+ export { serverlessTemplate };
@@ -0,0 +1,3 @@
1
+ const require_worker = require('../../worker--8O5a3Hv.cjs');
2
+
3
+ exports.workerTemplate = require_worker.workerTemplate;
@@ -0,0 +1,7 @@
1
+ import { TemplateConfig } from "../../index-DrzN4xkQ.cjs";
2
+
3
+ //#region src/init/templates/worker.d.ts
4
+ declare const workerTemplate: TemplateConfig;
5
+ //#endregion
6
+ export { workerTemplate };
7
+ //# sourceMappingURL=worker.d.cts.map
@@ -0,0 +1,7 @@
1
+ import { TemplateConfig } from "../../index-C523No_B.mjs";
2
+
3
+ //#region src/init/templates/worker.d.ts
4
+ declare const workerTemplate: TemplateConfig;
5
+ //#endregion
6
+ export { workerTemplate };
7
+ //# sourceMappingURL=worker.d.mts.map
@@ -0,0 +1,3 @@
1
+ import { workerTemplate } from "../../worker-Jme7uOOJ.mjs";
2
+
3
+ export { workerTemplate };
@@ -0,0 +1,7 @@
1
+ const require_utils = require('../utils-BX3F4fT8.cjs');
2
+
3
+ exports.checkDirectoryExists = require_utils.checkDirectoryExists;
4
+ exports.detectPackageManager = require_utils.detectPackageManager;
5
+ exports.getInstallCommand = require_utils.getInstallCommand;
6
+ exports.getRunCommand = require_utils.getRunCommand;
7
+ exports.validateProjectName = require_utils.validateProjectName;
@@ -0,0 +1,25 @@
1
+ //#region src/init/utils.d.ts
2
+ type PackageManager = 'pnpm' | 'npm' | 'yarn' | 'bun';
3
+ /**
4
+ * Detect the package manager being used based on lockfiles or npm_config_user_agent
5
+ */
6
+ declare function detectPackageManager(cwd?: string): PackageManager;
7
+ /**
8
+ * Validate project name for npm package naming conventions
9
+ */
10
+ declare function validateProjectName(name: string): boolean | string;
11
+ /**
12
+ * Check if a directory already exists at the target path
13
+ */
14
+ declare function checkDirectoryExists(name: string, cwd?: string): boolean | string;
15
+ /**
16
+ * Get the install command for a package manager
17
+ */
18
+ declare function getInstallCommand(pkgManager: PackageManager): string;
19
+ /**
20
+ * Get the dev command for a package manager
21
+ */
22
+ declare function getRunCommand(pkgManager: PackageManager, script: string): string;
23
+ //#endregion
24
+ export { PackageManager, checkDirectoryExists, detectPackageManager, getInstallCommand, getRunCommand, validateProjectName };
25
+ //# sourceMappingURL=utils.d.cts.map
@@ -0,0 +1,25 @@
1
+ //#region src/init/utils.d.ts
2
+ type PackageManager = 'pnpm' | 'npm' | 'yarn' | 'bun';
3
+ /**
4
+ * Detect the package manager being used based on lockfiles or npm_config_user_agent
5
+ */
6
+ declare function detectPackageManager(cwd?: string): PackageManager;
7
+ /**
8
+ * Validate project name for npm package naming conventions
9
+ */
10
+ declare function validateProjectName(name: string): boolean | string;
11
+ /**
12
+ * Check if a directory already exists at the target path
13
+ */
14
+ declare function checkDirectoryExists(name: string, cwd?: string): boolean | string;
15
+ /**
16
+ * Get the install command for a package manager
17
+ */
18
+ declare function getInstallCommand(pkgManager: PackageManager): string;
19
+ /**
20
+ * Get the dev command for a package manager
21
+ */
22
+ declare function getRunCommand(pkgManager: PackageManager, script: string): string;
23
+ //#endregion
24
+ export { PackageManager, checkDirectoryExists, detectPackageManager, getInstallCommand, getRunCommand, validateProjectName };
25
+ //# sourceMappingURL=utils.d.mts.map
@@ -0,0 +1,3 @@
1
+ import { checkDirectoryExists, detectPackageManager, getInstallCommand, getRunCommand, validateProjectName } from "../utils-C31-SWHP.mjs";
2
+
3
+ export { checkDirectoryExists, detectPackageManager, getInstallCommand, getRunCommand, validateProjectName };
@@ -0,0 +1,145 @@
1
+ import { generateConfigFiles } from "./config-Dp8RonV_.mjs";
2
+ import { generateDockerFiles } from "./docker-DlUqdFle.mjs";
3
+ import { generateEnvFiles } from "./env-tv1HlZlw.mjs";
4
+ import { generateModelsPackage } from "./models-cvNg6Oea.mjs";
5
+ import { generateMonorepoFiles } from "./monorepo-Cknwzj5C.mjs";
6
+ import { generatePackageJson } from "./package-CIfmeuSW.mjs";
7
+ import { generateSourceFiles } from "./source-DnaH_MLA.mjs";
8
+ import { getTemplate, routeStyleChoices, templateChoices } from "./templates-CBFUwpBy.mjs";
9
+ import { checkDirectoryExists, detectPackageManager, getInstallCommand, getRunCommand, validateProjectName } from "./utils-C31-SWHP.mjs";
10
+ import { mkdir, writeFile } from "node:fs/promises";
11
+ import { dirname, join } from "node:path";
12
+ import { execSync } from "node:child_process";
13
+ import prompts from "prompts";
14
+
15
+ //#region src/init/index.ts
16
+ /**
17
+ * Main init command - scaffolds a new project
18
+ */
19
+ async function initCommand(projectName, options = {}) {
20
+ const cwd = process.cwd();
21
+ const pkgManager = detectPackageManager(cwd);
22
+ prompts.override({});
23
+ const onCancel = () => {
24
+ process.exit(0);
25
+ };
26
+ const answers = await prompts([
27
+ {
28
+ type: projectName ? null : "text",
29
+ name: "name",
30
+ message: "Project name:",
31
+ initial: "my-api",
32
+ validate: (value) => {
33
+ const nameValid = validateProjectName(value);
34
+ if (nameValid !== true) return nameValid;
35
+ const dirValid = checkDirectoryExists(value, cwd);
36
+ if (dirValid !== true) return dirValid;
37
+ return true;
38
+ }
39
+ },
40
+ {
41
+ type: options.template || options.yes ? null : "select",
42
+ name: "template",
43
+ message: "Template:",
44
+ choices: templateChoices,
45
+ initial: 0
46
+ },
47
+ {
48
+ type: options.yes ? null : "confirm",
49
+ name: "telescope",
50
+ message: "Include Telescope (debugging dashboard)?",
51
+ initial: true
52
+ },
53
+ {
54
+ type: options.yes ? null : "confirm",
55
+ name: "database",
56
+ message: "Include database support (Kysely)?",
57
+ initial: true
58
+ },
59
+ {
60
+ type: options.yes ? null : "select",
61
+ name: "routeStyle",
62
+ message: "Route organization:",
63
+ choices: routeStyleChoices,
64
+ initial: 0
65
+ },
66
+ {
67
+ type: options.yes || options.monorepo !== void 0 ? null : "confirm",
68
+ name: "monorepo",
69
+ message: "Setup as monorepo?",
70
+ initial: false
71
+ },
72
+ {
73
+ type: (prev) => (prev === true || options.monorepo) && !options.apiPath ? "text" : null,
74
+ name: "apiPath",
75
+ message: "API app path:",
76
+ initial: "apps/api"
77
+ }
78
+ ], { onCancel });
79
+ const name = projectName || answers.name;
80
+ if (!name) {
81
+ console.error(" Error: Project name is required\n");
82
+ process.exit(1);
83
+ }
84
+ if (projectName) {
85
+ const nameValid = validateProjectName(projectName);
86
+ if (nameValid !== true) {
87
+ console.error(` Error: ${nameValid}\n`);
88
+ process.exit(1);
89
+ }
90
+ const dirValid = checkDirectoryExists(projectName, cwd);
91
+ if (dirValid !== true) {
92
+ console.error(` Error: ${dirValid}\n`);
93
+ process.exit(1);
94
+ }
95
+ }
96
+ const monorepo = options.monorepo ?? (options.yes ? false : answers.monorepo ?? false);
97
+ const templateOptions = {
98
+ name,
99
+ template: options.template || answers.template || "minimal",
100
+ telescope: options.yes ? true : answers.telescope ?? true,
101
+ database: options.yes ? true : answers.database ?? true,
102
+ routeStyle: options.yes ? "file-based" : answers.routeStyle ?? "file-based",
103
+ monorepo,
104
+ apiPath: monorepo ? options.apiPath ?? answers.apiPath ?? "apps/api" : ""
105
+ };
106
+ const targetDir = join(cwd, name);
107
+ const template = getTemplate(templateOptions.template);
108
+ const isMonorepo = templateOptions.monorepo;
109
+ const apiPath = templateOptions.apiPath;
110
+ await mkdir(targetDir, { recursive: true });
111
+ const appDir = isMonorepo ? join(targetDir, apiPath) : targetDir;
112
+ if (isMonorepo) await mkdir(appDir, { recursive: true });
113
+ const appFiles = [
114
+ ...generatePackageJson(templateOptions, template),
115
+ ...generateConfigFiles(templateOptions, template),
116
+ ...generateEnvFiles(templateOptions, template),
117
+ ...generateSourceFiles(templateOptions, template),
118
+ ...generateDockerFiles(templateOptions, template)
119
+ ];
120
+ const rootFiles = [...generateMonorepoFiles(templateOptions, template), ...generateModelsPackage(templateOptions)];
121
+ for (const { path, content } of rootFiles) {
122
+ const fullPath = join(targetDir, path);
123
+ await mkdir(dirname(fullPath), { recursive: true });
124
+ await writeFile(fullPath, content);
125
+ }
126
+ for (const { path, content } of appFiles) {
127
+ const fullPath = join(appDir, path);
128
+ const displayPath = isMonorepo ? `${apiPath}/${path}` : path;
129
+ await mkdir(dirname(fullPath), { recursive: true });
130
+ await writeFile(fullPath, content);
131
+ }
132
+ if (!options.skipInstall) try {
133
+ execSync(getInstallCommand(pkgManager), {
134
+ cwd: targetDir,
135
+ stdio: "inherit"
136
+ });
137
+ } catch {
138
+ console.error("\n Warning: Failed to install dependencies.");
139
+ }
140
+ const devCommand = getRunCommand(pkgManager, "dev");
141
+ }
142
+
143
+ //#endregion
144
+ export { initCommand };
145
+ //# sourceMappingURL=init-CtOnZn3G.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init-CtOnZn3G.mjs","names":["projectName?: string","options: InitOptions","value: string","templateOptions: TemplateOptions"],"sources":["../src/init/index.ts"],"sourcesContent":["import { execSync } from 'node:child_process';\nimport { mkdir, writeFile } from 'node:fs/promises';\nimport { dirname, join } from 'node:path';\nimport prompts from 'prompts';\nimport { generateConfigFiles } from './generators/config.js';\nimport { generateDockerFiles } from './generators/docker.js';\nimport { generateEnvFiles } from './generators/env.js';\nimport { generateModelsPackage } from './generators/models.js';\nimport { generateMonorepoFiles } from './generators/monorepo.js';\nimport { generatePackageJson } from './generators/package.js';\nimport { generateSourceFiles } from './generators/source.js';\nimport {\n type TemplateName,\n type TemplateOptions,\n getTemplate,\n routeStyleChoices,\n templateChoices,\n} from './templates/index.js';\nimport {\n checkDirectoryExists,\n detectPackageManager,\n getInstallCommand,\n getRunCommand,\n validateProjectName,\n} from './utils.js';\n\nexport interface InitOptions {\n template?: TemplateName;\n skipInstall?: boolean;\n yes?: boolean;\n monorepo?: boolean;\n apiPath?: string;\n}\n\n/**\n * Main init command - scaffolds a new project\n */\nexport async function initCommand(\n projectName?: string,\n options: InitOptions = {},\n): Promise<void> {\n const cwd = process.cwd();\n const pkgManager = detectPackageManager(cwd);\n\n // Handle Ctrl+C gracefully\n prompts.override({});\n const onCancel = () => {\n process.exit(0);\n };\n\n // Gather answers via prompts\n const answers = await prompts(\n [\n {\n type: projectName ? null : 'text',\n name: 'name',\n message: 'Project name:',\n initial: 'my-api',\n validate: (value: string) => {\n const nameValid = validateProjectName(value);\n if (nameValid !== true) return nameValid;\n const dirValid = checkDirectoryExists(value, cwd);\n if (dirValid !== true) return dirValid;\n return true;\n },\n },\n {\n type: options.template || options.yes ? null : 'select',\n name: 'template',\n message: 'Template:',\n choices: templateChoices,\n initial: 0,\n },\n {\n type: options.yes ? null : 'confirm',\n name: 'telescope',\n message: 'Include Telescope (debugging dashboard)?',\n initial: true,\n },\n {\n type: options.yes ? null : 'confirm',\n name: 'database',\n message: 'Include database support (Kysely)?',\n initial: true,\n },\n {\n type: options.yes ? null : 'select',\n name: 'routeStyle',\n message: 'Route organization:',\n choices: routeStyleChoices,\n initial: 0,\n },\n {\n type: options.yes || options.monorepo !== undefined ? null : 'confirm',\n name: 'monorepo',\n message: 'Setup as monorepo?',\n initial: false,\n },\n {\n type: (prev) =>\n (prev === true || options.monorepo) && !options.apiPath\n ? 'text'\n : null,\n name: 'apiPath',\n message: 'API app path:',\n initial: 'apps/api',\n },\n ],\n { onCancel },\n );\n\n // Build final options\n const name = projectName || answers.name;\n if (!name) {\n console.error(' Error: Project name is required\\n');\n process.exit(1);\n }\n\n // Validate name if provided via argument\n if (projectName) {\n const nameValid = validateProjectName(projectName);\n if (nameValid !== true) {\n console.error(` Error: ${nameValid}\\n`);\n process.exit(1);\n }\n const dirValid = checkDirectoryExists(projectName, cwd);\n if (dirValid !== true) {\n console.error(` Error: ${dirValid}\\n`);\n process.exit(1);\n }\n }\n\n const monorepo =\n options.monorepo ?? (options.yes ? false : (answers.monorepo ?? false));\n const templateOptions: TemplateOptions = {\n name,\n template: options.template || answers.template || 'minimal',\n telescope: options.yes ? true : (answers.telescope ?? true),\n database: options.yes ? true : (answers.database ?? true),\n routeStyle: options.yes\n ? 'file-based'\n : (answers.routeStyle ?? 'file-based'),\n monorepo,\n apiPath: monorepo ? (options.apiPath ?? answers.apiPath ?? 'apps/api') : '',\n };\n\n const targetDir = join(cwd, name);\n const template = getTemplate(templateOptions.template);\n\n const isMonorepo = templateOptions.monorepo;\n const apiPath = templateOptions.apiPath;\n\n // Create project directory\n await mkdir(targetDir, { recursive: true });\n\n // For monorepo, app files go in the specified apiPath (e.g., apps/api)\n const appDir = isMonorepo ? join(targetDir, apiPath) : targetDir;\n if (isMonorepo) {\n await mkdir(appDir, { recursive: true });\n }\n\n // Collect app files\n const appFiles = [\n ...generatePackageJson(templateOptions, template),\n ...generateConfigFiles(templateOptions, template),\n ...generateEnvFiles(templateOptions, template),\n ...generateSourceFiles(templateOptions, template),\n ...generateDockerFiles(templateOptions, template),\n ];\n\n // Collect root monorepo files (includes packages/models)\n const rootFiles = [\n ...generateMonorepoFiles(templateOptions, template),\n ...generateModelsPackage(templateOptions),\n ];\n\n // Write root files (for monorepo)\n for (const { path, content } of rootFiles) {\n const fullPath = join(targetDir, path);\n await mkdir(dirname(fullPath), { recursive: true });\n await writeFile(fullPath, content);\n }\n\n // Write app files\n for (const { path, content } of appFiles) {\n const fullPath = join(appDir, path);\n const displayPath = isMonorepo ? `${apiPath}/${path}` : path;\n await mkdir(dirname(fullPath), { recursive: true });\n await writeFile(fullPath, content);\n }\n\n // Install dependencies\n if (!options.skipInstall) {\n try {\n execSync(getInstallCommand(pkgManager), {\n cwd: targetDir,\n stdio: 'inherit',\n });\n } catch {\n console.error('\\n Warning: Failed to install dependencies.');\n }\n }\n\n // Print next steps\n const devCommand = getRunCommand(pkgManager, 'dev');\n}\n"],"mappings":"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"}