@tanstack/cta-engine 0.14.3 → 0.15.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 (343) hide show
  1. package/dist/add-ons.js +5 -91
  2. package/dist/add-to-app.js +171 -0
  3. package/dist/config-file.js +34 -11
  4. package/dist/constants.js +0 -2
  5. package/dist/create-app.js +142 -451
  6. package/dist/custom-add-ons/add-on.js +175 -0
  7. package/dist/custom-add-ons/shared.js +116 -0
  8. package/dist/custom-add-ons/starter.js +84 -0
  9. package/dist/environment.js +67 -44
  10. package/dist/file-helpers.js +165 -0
  11. package/dist/frameworks.js +92 -0
  12. package/dist/index.js +18 -1
  13. package/dist/integrations/git.js +4 -0
  14. package/dist/integrations/shadcn.js +33 -0
  15. package/dist/options.js +9 -333
  16. package/dist/package-json.js +48 -0
  17. package/dist/package-manager.js +51 -6
  18. package/dist/registry.js +56 -0
  19. package/dist/special-steps/index.js +24 -0
  20. package/dist/special-steps/rimraf-node-modules.js +16 -0
  21. package/dist/template-file.js +112 -0
  22. package/dist/types/add-ons.d.ts +3 -8
  23. package/dist/types/add-to-app.d.ts +17 -0
  24. package/dist/types/config-file.d.ts +7 -4
  25. package/dist/types/constants.d.ts +0 -3
  26. package/dist/types/create-app.d.ts +1 -7
  27. package/dist/types/custom-add-ons/add-on.d.ts +69 -0
  28. package/dist/types/custom-add-ons/shared.d.ts +15 -0
  29. package/dist/types/custom-add-ons/starter.d.ts +7 -0
  30. package/dist/types/environment.d.ts +2 -1
  31. package/dist/types/file-helpers.d.ts +15 -0
  32. package/dist/types/frameworks.d.ts +7 -0
  33. package/dist/types/index.d.ts +21 -1
  34. package/dist/types/integrations/git.d.ts +2 -0
  35. package/dist/types/integrations/shadcn.d.ts +2 -0
  36. package/dist/types/options.d.ts +2 -6
  37. package/dist/types/package-json.d.ts +7 -0
  38. package/dist/types/package-manager.d.ts +18 -1
  39. package/dist/types/registry.d.ts +25 -0
  40. package/dist/types/special-steps/index.d.ts +2 -0
  41. package/dist/types/special-steps/rimraf-node-modules.d.ts +2 -0
  42. package/dist/types/template-file.d.ts +2 -0
  43. package/dist/types/types.d.ts +788 -85
  44. package/dist/types/utils.d.ts +5 -0
  45. package/dist/types.js +65 -1
  46. package/dist/utils.js +9 -0
  47. package/package.json +9 -12
  48. package/src/add-ons.ts +7 -123
  49. package/src/add-to-app.ts +276 -0
  50. package/src/config-file.ts +51 -20
  51. package/src/constants.ts +0 -5
  52. package/src/create-app.ts +180 -730
  53. package/src/custom-add-ons/add-on.ts +261 -0
  54. package/src/custom-add-ons/shared.ts +160 -0
  55. package/src/custom-add-ons/starter.ts +126 -0
  56. package/src/environment.ts +80 -45
  57. package/src/file-helpers.ts +235 -0
  58. package/src/frameworks.ts +134 -0
  59. package/src/index.ts +85 -1
  60. package/src/integrations/git.ts +7 -0
  61. package/src/integrations/shadcn.ts +54 -0
  62. package/src/options.ts +8 -409
  63. package/src/package-json.ts +69 -0
  64. package/src/package-manager.ts +80 -9
  65. package/src/registry.ts +92 -0
  66. package/src/special-steps/index.ts +36 -0
  67. package/src/special-steps/rimraf-node-modules.ts +25 -0
  68. package/src/template-file.ts +150 -0
  69. package/src/types.ts +175 -87
  70. package/src/utils.ts +17 -0
  71. package/tests/add-ons.test.ts +67 -0
  72. package/tests/add-to-app.test.ts +358 -0
  73. package/tests/config-file.test.ts +105 -0
  74. package/tests/create-app.test.ts +120 -0
  75. package/tests/custom-add-ons/add-on.test.ts +12 -0
  76. package/tests/custom-add-ons/shared.test.ts +253 -0
  77. package/tests/custom-add-ons/starter.test.ts +58 -0
  78. package/tests/environment.test.ts +115 -0
  79. package/tests/file-helper.test.ts +90 -0
  80. package/tests/frameworks.test.ts +95 -0
  81. package/tests/index.test.ts +9 -0
  82. package/tests/integrations/git.test.ts +20 -0
  83. package/tests/integrations/shadcn.test.ts +91 -0
  84. package/tests/options.test.ts +42 -0
  85. package/tests/package-json.test.ts +63 -0
  86. package/tests/package-manager.test.ts +154 -0
  87. package/tests/setupVitest.ts +6 -0
  88. package/tests/template-file.test.ts +178 -0
  89. package/tests/utils.test.ts +23 -0
  90. package/vitest.config.ts +21 -0
  91. package/dist/add.js +0 -125
  92. package/dist/cli.js +0 -132
  93. package/dist/custom-add-on.js +0 -254
  94. package/dist/file-helper.js +0 -18
  95. package/dist/mcp.js +0 -229
  96. package/dist/templates.js +0 -6
  97. package/dist/toolchain.js +0 -6
  98. package/dist/types/add.d.ts +0 -3
  99. package/dist/types/cli.d.ts +0 -7
  100. package/dist/types/custom-add-on.d.ts +0 -3
  101. package/dist/types/file-helper.d.ts +0 -2
  102. package/dist/types/mcp.d.ts +0 -7
  103. package/dist/types/templates.d.ts +0 -1
  104. package/dist/types/toolchain.d.ts +0 -3
  105. package/src/add.ts +0 -186
  106. package/src/cli.ts +0 -210
  107. package/src/custom-add-on.ts +0 -325
  108. package/src/file-helper.ts +0 -20
  109. package/src/mcp.ts +0 -302
  110. package/src/templates.ts +0 -7
  111. package/src/toolchain.ts +0 -7
  112. package/templates/react/add-on/clerk/README.md +0 -3
  113. package/templates/react/add-on/clerk/assets/_dot_env.local.append +0 -2
  114. package/templates/react/add-on/clerk/assets/src/integrations/clerk/header-user.tsx +0 -19
  115. package/templates/react/add-on/clerk/assets/src/integrations/clerk/provider.tsx +0 -18
  116. package/templates/react/add-on/clerk/assets/src/routes/demo.clerk.tsx +0 -20
  117. package/templates/react/add-on/clerk/info.json +0 -13
  118. package/templates/react/add-on/clerk/package.json +0 -5
  119. package/templates/react/add-on/convex/README.md +0 -4
  120. package/templates/react/add-on/convex/assets/_dot_cursorrules.append +0 -93
  121. package/templates/react/add-on/convex/assets/_dot_env.local.append +0 -3
  122. package/templates/react/add-on/convex/assets/convex/products.ts +0 -8
  123. package/templates/react/add-on/convex/assets/convex/schema.ts +0 -10
  124. package/templates/react/add-on/convex/assets/src/integrations/convex/provider.tsx +0 -20
  125. package/templates/react/add-on/convex/assets/src/routes/demo.convex.tsx +0 -33
  126. package/templates/react/add-on/convex/info.json +0 -13
  127. package/templates/react/add-on/convex/package.json +0 -6
  128. package/templates/react/add-on/form/assets/src/components/demo.FormComponents.tsx.ejs +0 -300
  129. package/templates/react/add-on/form/assets/src/hooks/demo.form-context.ts +0 -4
  130. package/templates/react/add-on/form/assets/src/hooks/demo.form.ts +0 -22
  131. package/templates/react/add-on/form/assets/src/routes/demo.form.address.tsx.ejs +0 -213
  132. package/templates/react/add-on/form/assets/src/routes/demo.form.simple.tsx.ejs +0 -77
  133. package/templates/react/add-on/form/info.json +0 -26
  134. package/templates/react/add-on/form/package.json +0 -6
  135. package/templates/react/add-on/module-federation/assets/module-federation.config.js.ejs +0 -31
  136. package/templates/react/add-on/module-federation/assets/src/demo-mf-component.tsx +0 -3
  137. package/templates/react/add-on/module-federation/assets/src/demo-mf-self-contained.tsx +0 -11
  138. package/templates/react/add-on/module-federation/info.json +0 -7
  139. package/templates/react/add-on/module-federation/package.json +0 -5
  140. package/templates/react/add-on/netlify/README.md +0 -11
  141. package/templates/react/add-on/netlify/info.json +0 -7
  142. package/templates/react/add-on/sentry/assets/_dot_cursorrules.append +0 -22
  143. package/templates/react/add-on/sentry/assets/_dot_env.local.append +0 -11
  144. package/templates/react/add-on/sentry/assets/src/app/global-middleware.ts +0 -11
  145. package/templates/react/add-on/sentry/assets/src/routes/demo.sentry.testing.tsx +0 -489
  146. package/templates/react/add-on/sentry/info.json +0 -14
  147. package/templates/react/add-on/sentry/package.json +0 -5
  148. package/templates/react/add-on/shadcn/README.md +0 -7
  149. package/templates/react/add-on/shadcn/assets/_dot_cursorrules.append +0 -7
  150. package/templates/react/add-on/shadcn/assets/components.json +0 -21
  151. package/templates/react/add-on/shadcn/assets/src/lib/utils.ts +0 -6
  152. package/templates/react/add-on/shadcn/assets/src/styles.css +0 -138
  153. package/templates/react/add-on/shadcn/info.json +0 -7
  154. package/templates/react/add-on/shadcn/package.json +0 -9
  155. package/templates/react/add-on/start/assets/_dot_gitignore.append +0 -2
  156. package/templates/react/add-on/start/assets/app.config.ts.ejs +0 -32
  157. package/templates/react/add-on/start/assets/src/api.ts +0 -6
  158. package/templates/react/add-on/start/assets/src/client.tsx.ejs +0 -33
  159. package/templates/react/add-on/start/assets/src/router.tsx.ejs +0 -48
  160. package/templates/react/add-on/start/assets/src/routes/api.demo-names.ts +0 -11
  161. package/templates/react/add-on/start/assets/src/routes/demo.start.api-request.tsx.ejs +0 -33
  162. package/templates/react/add-on/start/assets/src/routes/demo.start.server-funcs.tsx +0 -50
  163. package/templates/react/add-on/start/assets/src/ssr.tsx.ejs +0 -30
  164. package/templates/react/add-on/start/info.json +0 -18
  165. package/templates/react/add-on/start/package.json +0 -13
  166. package/templates/react/add-on/store/assets/src/lib/demo-store.ts +0 -13
  167. package/templates/react/add-on/store/assets/src/routes/demo.store.tsx.ejs +0 -75
  168. package/templates/react/add-on/store/info.json +0 -13
  169. package/templates/react/add-on/store/package.json +0 -6
  170. package/templates/react/add-on/t3env/README.md +0 -16
  171. package/templates/react/add-on/t3env/assets/src/env.ts +0 -39
  172. package/templates/react/add-on/t3env/info.json +0 -10
  173. package/templates/react/add-on/t3env/package.json +0 -6
  174. package/templates/react/add-on/tRPC/assets/src/integrations/trpc/init.ts +0 -9
  175. package/templates/react/add-on/tRPC/assets/src/integrations/trpc/react.ts +0 -4
  176. package/templates/react/add-on/tRPC/assets/src/integrations/trpc/router.ts +0 -18
  177. package/templates/react/add-on/tRPC/assets/src/routes/api.trpc.$.tsx +0 -16
  178. package/templates/react/add-on/tRPC/info.json +0 -9
  179. package/templates/react/add-on/tRPC/package.json +0 -9
  180. package/templates/react/add-on/table/assets/src/data/demo-table-data.ts +0 -50
  181. package/templates/react/add-on/table/assets/src/routes/demo.table.tsx.ejs +0 -373
  182. package/templates/react/add-on/table/info.json +0 -13
  183. package/templates/react/add-on/table/package.json +0 -7
  184. package/templates/react/add-on/tanstack-query/assets/src/integrations/tanstack-query/layout.tsx +0 -5
  185. package/templates/react/add-on/tanstack-query/assets/src/integrations/tanstack-query/root-provider.tsx.ejs +0 -70
  186. package/templates/react/add-on/tanstack-query/assets/src/routes/demo.tanstack-query.tsx.ejs +0 -53
  187. package/templates/react/add-on/tanstack-query/info.json +0 -13
  188. package/templates/react/add-on/tanstack-query/package.json +0 -6
  189. package/templates/react/base/README.md.ejs +0 -558
  190. package/templates/react/base/_dot_gitignore +0 -5
  191. package/templates/react/base/_dot_vscode/settings.biome.json +0 -38
  192. package/templates/react/base/_dot_vscode/settings.json +0 -11
  193. package/templates/react/base/index.html.ejs +0 -20
  194. package/templates/react/base/package.biome.json +0 -10
  195. package/templates/react/base/package.eslintprettier.json +0 -11
  196. package/templates/react/base/package.json +0 -30
  197. package/templates/react/base/package.ts.json +0 -7
  198. package/templates/react/base/package.tw.json +0 -6
  199. package/templates/react/base/public/favicon.ico +0 -0
  200. package/templates/react/base/public/logo192.png +0 -0
  201. package/templates/react/base/public/logo512.png +0 -0
  202. package/templates/react/base/public/manifest.json +0 -25
  203. package/templates/react/base/public/robots.txt +0 -3
  204. package/templates/react/base/src/App.css +0 -38
  205. package/templates/react/base/src/App.test.tsx.ejs +0 -10
  206. package/templates/react/base/src/App.tsx.ejs +0 -74
  207. package/templates/react/base/src/components/Header.tsx.ejs +0 -27
  208. package/templates/react/base/src/logo.svg +0 -44
  209. package/templates/react/base/src/reportWebVitals.ts.ejs +0 -28
  210. package/templates/react/base/src/styles.css.ejs +0 -15
  211. package/templates/react/base/toolchain/.prettierignore +0 -3
  212. package/templates/react/base/toolchain/biome.json +0 -31
  213. package/templates/react/base/toolchain/eslint.config.js +0 -5
  214. package/templates/react/base/toolchain/prettier.config.js +0 -10
  215. package/templates/react/base/tsconfig.json.ejs +0 -29
  216. package/templates/react/base/vite.config.js.ejs +0 -23
  217. package/templates/react/code-router/src/main.tsx.ejs +0 -92
  218. package/templates/react/example/tanchat/README.md +0 -37
  219. package/templates/react/example/tanchat/assets/_dot_env.local.append +0 -2
  220. package/templates/react/example/tanchat/assets/public/example-guitar-flowers.jpg +0 -0
  221. package/templates/react/example/tanchat/assets/public/example-guitar-motherboard.jpg +0 -0
  222. package/templates/react/example/tanchat/assets/public/example-guitar-racing.jpg +0 -0
  223. package/templates/react/example/tanchat/assets/public/example-guitar-steamer-trunk.jpg +0 -0
  224. package/templates/react/example/tanchat/assets/public/example-guitar-superhero.jpg +0 -0
  225. package/templates/react/example/tanchat/assets/public/example-guitar-traveling.jpg +0 -0
  226. package/templates/react/example/tanchat/assets/public/example-guitar-video-games.jpg +0 -0
  227. package/templates/react/example/tanchat/assets/src/components/example-AIAssistant.tsx +0 -173
  228. package/templates/react/example/tanchat/assets/src/components/example-GuitarRecommendation.tsx +0 -47
  229. package/templates/react/example/tanchat/assets/src/data/example-guitars.ts +0 -83
  230. package/templates/react/example/tanchat/assets/src/demo.index.css +0 -220
  231. package/templates/react/example/tanchat/assets/src/integrations/tanchat/header-user.tsx +0 -5
  232. package/templates/react/example/tanchat/assets/src/routes/api.messages.ts +0 -24
  233. package/templates/react/example/tanchat/assets/src/routes/api.sse.ts +0 -23
  234. package/templates/react/example/tanchat/assets/src/routes/example.chat.tsx +0 -159
  235. package/templates/react/example/tanchat/assets/src/routes/example.guitars/$guitarId.tsx +0 -50
  236. package/templates/react/example/tanchat/assets/src/routes/example.guitars/index.tsx +0 -54
  237. package/templates/react/example/tanchat/assets/src/store/example-assistant.ts +0 -3
  238. package/templates/react/example/tanchat/assets/src/utils/demo.ai.ts +0 -62
  239. package/templates/react/example/tanchat/assets/src/utils/demo.sse.ts +0 -31
  240. package/templates/react/example/tanchat/assets/src/utils/demo.tools.ts +0 -47
  241. package/templates/react/example/tanchat/info.json +0 -19
  242. package/templates/react/example/tanchat/package.json +0 -16
  243. package/templates/react/file-router/package.fr.json +0 -5
  244. package/templates/react/file-router/src/main.tsx.ejs +0 -55
  245. package/templates/react/file-router/src/routes/__root.tsx.ejs +0 -82
  246. package/templates/solid/add-on/form/assets/src/routes/demo.form.tsx.ejs +0 -352
  247. package/templates/solid/add-on/form/info.json +0 -13
  248. package/templates/solid/add-on/form/package.json +0 -5
  249. package/templates/solid/add-on/module-federation/assets/module-federation.config.js.ejs +0 -27
  250. package/templates/solid/add-on/module-federation/assets/src/demo-mf-component.tsx +0 -3
  251. package/templates/solid/add-on/module-federation/assets/src/demo-mf-self-contained.tsx +0 -9
  252. package/templates/solid/add-on/module-federation/info.json +0 -7
  253. package/templates/solid/add-on/module-federation/package.json +0 -5
  254. package/templates/solid/add-on/sentry/assets/_dot_cursorrules.append +0 -22
  255. package/templates/solid/add-on/sentry/assets/_dot_env.local.append +0 -2
  256. package/templates/solid/add-on/sentry/assets/src/routes/demo.sentry.bad-event-handler.tsx +0 -20
  257. package/templates/solid/add-on/sentry/info.json +0 -13
  258. package/templates/solid/add-on/sentry/package.json +0 -5
  259. package/templates/solid/add-on/solid-ui/README.md +0 -9
  260. package/templates/solid/add-on/solid-ui/assets/src/lib/utils.ts +0 -6
  261. package/templates/solid/add-on/solid-ui/assets/src/styles.css +0 -138
  262. package/templates/solid/add-on/solid-ui/assets/ui.config.json +0 -13
  263. package/templates/solid/add-on/solid-ui/info.json +0 -11
  264. package/templates/solid/add-on/solid-ui/package.json +0 -9
  265. package/templates/solid/add-on/start/assets/app.config.ts +0 -16
  266. package/templates/solid/add-on/start/assets/src/api.ts +0 -6
  267. package/templates/solid/add-on/start/assets/src/client.tsx +0 -7
  268. package/templates/solid/add-on/start/assets/src/router.tsx.ejs +0 -24
  269. package/templates/solid/add-on/start/assets/src/routes/demo.start.server-funcs.tsx +0 -49
  270. package/templates/solid/add-on/start/assets/src/ssr.tsx +0 -12
  271. package/templates/solid/add-on/start/info.json +0 -14
  272. package/templates/solid/add-on/start/package.json +0 -12
  273. package/templates/solid/add-on/store/assets/src/lib/demo-store.ts +0 -13
  274. package/templates/solid/add-on/store/assets/src/routes/demo.store.tsx.ejs +0 -77
  275. package/templates/solid/add-on/store/info.json +0 -13
  276. package/templates/solid/add-on/store/package.json +0 -6
  277. package/templates/solid/add-on/t3env/README.md +0 -16
  278. package/templates/solid/add-on/t3env/assets/src/env.ts +0 -39
  279. package/templates/solid/add-on/t3env/info.json +0 -10
  280. package/templates/solid/add-on/t3env/package.json +0 -6
  281. package/templates/solid/add-on/tanstack-query/assets/src/integrations/tanstack-query/header-user.tsx +0 -5
  282. package/templates/solid/add-on/tanstack-query/assets/src/integrations/tanstack-query/provider.tsx +0 -15
  283. package/templates/solid/add-on/tanstack-query/assets/src/routes/demo.tanstack-query.tsx +0 -30
  284. package/templates/solid/add-on/tanstack-query/info.json +0 -13
  285. package/templates/solid/add-on/tanstack-query/package.json +0 -6
  286. package/templates/solid/base/README.md.ejs +0 -215
  287. package/templates/solid/base/_dot_cursorrules.append +0 -35
  288. package/templates/solid/base/_dot_gitignore +0 -5
  289. package/templates/solid/base/_dot_vscode/settings.biome.json +0 -38
  290. package/templates/solid/base/_dot_vscode/settings.json +0 -11
  291. package/templates/solid/base/index.html.ejs +0 -20
  292. package/templates/solid/base/package.biome.json +0 -10
  293. package/templates/solid/base/package.eslintprettier.json +0 -11
  294. package/templates/solid/base/package.json +0 -23
  295. package/templates/solid/base/package.ts.json +0 -5
  296. package/templates/solid/base/package.tw.json +0 -6
  297. package/templates/solid/base/public/favicon.ico +0 -0
  298. package/templates/solid/base/public/logo192.png +0 -0
  299. package/templates/solid/base/public/logo512.png +0 -0
  300. package/templates/solid/base/public/manifest.json +0 -25
  301. package/templates/solid/base/public/robots.txt +0 -3
  302. package/templates/solid/base/src/App.css +0 -0
  303. package/templates/solid/base/src/App.tsx.ejs +0 -47
  304. package/templates/solid/base/src/components/Header.tsx.ejs +0 -26
  305. package/templates/solid/base/src/logo.svg +0 -120
  306. package/templates/solid/base/src/styles.css.ejs +0 -15
  307. package/templates/solid/base/toolchain/.prettierignore +0 -3
  308. package/templates/solid/base/toolchain/biome.json +0 -31
  309. package/templates/solid/base/toolchain/eslint.config.js +0 -5
  310. package/templates/solid/base/toolchain/prettier.config.js +0 -10
  311. package/templates/solid/base/tsconfig.json.ejs +0 -31
  312. package/templates/solid/base/vite.config.js.ejs +0 -22
  313. package/templates/solid/code-router/src/main.tsx.ejs +0 -71
  314. package/templates/solid/example/tanchat/README.md +0 -52
  315. package/templates/solid/example/tanchat/assets/ai-streaming-server/README.md +0 -110
  316. package/templates/solid/example/tanchat/assets/ai-streaming-server/_dot_env.example +0 -1
  317. package/templates/solid/example/tanchat/assets/ai-streaming-server/package.json +0 -26
  318. package/templates/solid/example/tanchat/assets/ai-streaming-server/src/index.ts +0 -102
  319. package/templates/solid/example/tanchat/assets/ai-streaming-server/tsconfig.json +0 -15
  320. package/templates/solid/example/tanchat/assets/src/components/demo.SettingsDialog.tsx +0 -149
  321. package/templates/solid/example/tanchat/assets/src/demo.index.css +0 -227
  322. package/templates/solid/example/tanchat/assets/src/lib/demo-store.ts +0 -13
  323. package/templates/solid/example/tanchat/assets/src/routes/example.chat.tsx +0 -435
  324. package/templates/solid/example/tanchat/assets/src/store/demo.hooks.ts +0 -17
  325. package/templates/solid/example/tanchat/assets/src/store/demo.store.ts +0 -133
  326. package/templates/solid/example/tanchat/info.json +0 -14
  327. package/templates/solid/example/tanchat/package.json +0 -7
  328. package/templates/solid/file-router/package.fr.json +0 -5
  329. package/templates/solid/file-router/src/main.tsx.ejs +0 -47
  330. package/templates/solid/file-router/src/routes/__root.tsx.ejs +0 -41
  331. package/templates/solid/file-router/src/routes/index.tsx +0 -43
  332. package/tests/cra.test.ts +0 -293
  333. package/tests/snapshots/cra/cr-js-npm.json +0 -33
  334. package/tests/snapshots/cra/cr-ts-npm.json +0 -34
  335. package/tests/snapshots/cra/cr-ts-start-npm.json +0 -38
  336. package/tests/snapshots/cra/fr-ts-npm.json +0 -34
  337. package/tests/snapshots/cra/fr-ts-tw-npm.json +0 -33
  338. package/tests/snapshots/cra/solid-cr-js-npm.json +0 -31
  339. package/tests/snapshots/cra/solid-cr-ts-npm.json +0 -32
  340. package/tests/snapshots/cra/solid-cr-ts-start-npm.json +0 -36
  341. package/tests/snapshots/cra/solid-fr-ts-npm.json +0 -33
  342. package/tests/snapshots/cra/solid-fr-ts-tw-npm.json +0 -32
  343. package/tests/test-utilities.ts +0 -87
@@ -1,110 +1,813 @@
1
+ import z from 'zod';
1
2
  import type { CODE_ROUTER, FILE_ROUTER } from './constants.js';
2
3
  import type { PackageManager } from './package-manager.js';
3
- import type { ToolChain } from './toolchain.js';
4
- export type Framework = 'solid' | 'react';
5
- export type TemplateOptions = 'typescript' | 'javascript' | 'file-router';
6
4
  export type Mode = typeof CODE_ROUTER | typeof FILE_ROUTER;
5
+ export type StatusStepType = 'file' | 'command' | 'info' | 'package-manager' | 'other';
6
+ export declare const AddOnBaseSchema: z.ZodObject<{
7
+ id: z.ZodString;
8
+ name: z.ZodString;
9
+ description: z.ZodString;
10
+ author: z.ZodOptional<z.ZodString>;
11
+ version: z.ZodOptional<z.ZodString>;
12
+ link: z.ZodOptional<z.ZodString>;
13
+ license: z.ZodOptional<z.ZodString>;
14
+ warning: z.ZodOptional<z.ZodString>;
15
+ type: z.ZodEnum<["add-on", "example", "starter", "toolchain"]>;
16
+ command: z.ZodOptional<z.ZodObject<{
17
+ command: z.ZodString;
18
+ args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
19
+ }, "strip", z.ZodTypeAny, {
20
+ command: string;
21
+ args?: string[] | undefined;
22
+ }, {
23
+ command: string;
24
+ args?: string[] | undefined;
25
+ }>>;
26
+ routes: z.ZodOptional<z.ZodArray<z.ZodObject<{
27
+ url: z.ZodOptional<z.ZodString>;
28
+ name: z.ZodOptional<z.ZodString>;
29
+ path: z.ZodString;
30
+ jsName: z.ZodString;
31
+ }, "strip", z.ZodTypeAny, {
32
+ path: string;
33
+ jsName: string;
34
+ name?: string | undefined;
35
+ url?: string | undefined;
36
+ }, {
37
+ path: string;
38
+ jsName: string;
39
+ name?: string | undefined;
40
+ url?: string | undefined;
41
+ }>, "many">>;
42
+ packageAdditions: z.ZodOptional<z.ZodObject<{
43
+ dependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
44
+ devDependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
45
+ scripts: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
46
+ }, "strip", z.ZodTypeAny, {
47
+ dependencies?: Record<string, string> | undefined;
48
+ devDependencies?: Record<string, string> | undefined;
49
+ scripts?: Record<string, string> | undefined;
50
+ }, {
51
+ dependencies?: Record<string, string> | undefined;
52
+ devDependencies?: Record<string, string> | undefined;
53
+ scripts?: Record<string, string> | undefined;
54
+ }>>;
55
+ shadcnComponents: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
56
+ dependsOn: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
57
+ smallLogo: z.ZodOptional<z.ZodString>;
58
+ logo: z.ZodOptional<z.ZodString>;
59
+ addOnSpecialSteps: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
60
+ createSpecialSteps: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
61
+ }, "strip", z.ZodTypeAny, {
62
+ id: string;
63
+ name: string;
64
+ description: string;
65
+ type: "add-on" | "example" | "starter" | "toolchain";
66
+ command?: {
67
+ command: string;
68
+ args?: string[] | undefined;
69
+ } | undefined;
70
+ author?: string | undefined;
71
+ version?: string | undefined;
72
+ link?: string | undefined;
73
+ license?: string | undefined;
74
+ warning?: string | undefined;
75
+ routes?: {
76
+ path: string;
77
+ jsName: string;
78
+ name?: string | undefined;
79
+ url?: string | undefined;
80
+ }[] | undefined;
81
+ packageAdditions?: {
82
+ dependencies?: Record<string, string> | undefined;
83
+ devDependencies?: Record<string, string> | undefined;
84
+ scripts?: Record<string, string> | undefined;
85
+ } | undefined;
86
+ shadcnComponents?: string[] | undefined;
87
+ dependsOn?: string[] | undefined;
88
+ smallLogo?: string | undefined;
89
+ logo?: string | undefined;
90
+ addOnSpecialSteps?: string[] | undefined;
91
+ createSpecialSteps?: string[] | undefined;
92
+ }, {
93
+ id: string;
94
+ name: string;
95
+ description: string;
96
+ type: "add-on" | "example" | "starter" | "toolchain";
97
+ command?: {
98
+ command: string;
99
+ args?: string[] | undefined;
100
+ } | undefined;
101
+ author?: string | undefined;
102
+ version?: string | undefined;
103
+ link?: string | undefined;
104
+ license?: string | undefined;
105
+ warning?: string | undefined;
106
+ routes?: {
107
+ path: string;
108
+ jsName: string;
109
+ name?: string | undefined;
110
+ url?: string | undefined;
111
+ }[] | undefined;
112
+ packageAdditions?: {
113
+ dependencies?: Record<string, string> | undefined;
114
+ devDependencies?: Record<string, string> | undefined;
115
+ scripts?: Record<string, string> | undefined;
116
+ } | undefined;
117
+ shadcnComponents?: string[] | undefined;
118
+ dependsOn?: string[] | undefined;
119
+ smallLogo?: string | undefined;
120
+ logo?: string | undefined;
121
+ addOnSpecialSteps?: string[] | undefined;
122
+ createSpecialSteps?: string[] | undefined;
123
+ }>;
124
+ export declare const StarterSchema: z.ZodObject<{
125
+ id: z.ZodString;
126
+ name: z.ZodString;
127
+ description: z.ZodString;
128
+ author: z.ZodOptional<z.ZodString>;
129
+ version: z.ZodOptional<z.ZodString>;
130
+ link: z.ZodOptional<z.ZodString>;
131
+ license: z.ZodOptional<z.ZodString>;
132
+ warning: z.ZodOptional<z.ZodString>;
133
+ type: z.ZodEnum<["add-on", "example", "starter", "toolchain"]>;
134
+ command: z.ZodOptional<z.ZodObject<{
135
+ command: z.ZodString;
136
+ args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
137
+ }, "strip", z.ZodTypeAny, {
138
+ command: string;
139
+ args?: string[] | undefined;
140
+ }, {
141
+ command: string;
142
+ args?: string[] | undefined;
143
+ }>>;
144
+ routes: z.ZodOptional<z.ZodArray<z.ZodObject<{
145
+ url: z.ZodOptional<z.ZodString>;
146
+ name: z.ZodOptional<z.ZodString>;
147
+ path: z.ZodString;
148
+ jsName: z.ZodString;
149
+ }, "strip", z.ZodTypeAny, {
150
+ path: string;
151
+ jsName: string;
152
+ name?: string | undefined;
153
+ url?: string | undefined;
154
+ }, {
155
+ path: string;
156
+ jsName: string;
157
+ name?: string | undefined;
158
+ url?: string | undefined;
159
+ }>, "many">>;
160
+ packageAdditions: z.ZodOptional<z.ZodObject<{
161
+ dependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
162
+ devDependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
163
+ scripts: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
164
+ }, "strip", z.ZodTypeAny, {
165
+ dependencies?: Record<string, string> | undefined;
166
+ devDependencies?: Record<string, string> | undefined;
167
+ scripts?: Record<string, string> | undefined;
168
+ }, {
169
+ dependencies?: Record<string, string> | undefined;
170
+ devDependencies?: Record<string, string> | undefined;
171
+ scripts?: Record<string, string> | undefined;
172
+ }>>;
173
+ shadcnComponents: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
174
+ dependsOn: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
175
+ smallLogo: z.ZodOptional<z.ZodString>;
176
+ logo: z.ZodOptional<z.ZodString>;
177
+ addOnSpecialSteps: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
178
+ createSpecialSteps: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
179
+ } & {
180
+ framework: z.ZodString;
181
+ mode: z.ZodString;
182
+ typescript: z.ZodBoolean;
183
+ tailwind: z.ZodBoolean;
184
+ banner: z.ZodOptional<z.ZodString>;
185
+ }, "strip", z.ZodTypeAny, {
186
+ id: string;
187
+ name: string;
188
+ description: string;
189
+ type: "add-on" | "example" | "starter" | "toolchain";
190
+ framework: string;
191
+ mode: string;
192
+ typescript: boolean;
193
+ tailwind: boolean;
194
+ command?: {
195
+ command: string;
196
+ args?: string[] | undefined;
197
+ } | undefined;
198
+ author?: string | undefined;
199
+ version?: string | undefined;
200
+ link?: string | undefined;
201
+ license?: string | undefined;
202
+ warning?: string | undefined;
203
+ routes?: {
204
+ path: string;
205
+ jsName: string;
206
+ name?: string | undefined;
207
+ url?: string | undefined;
208
+ }[] | undefined;
209
+ packageAdditions?: {
210
+ dependencies?: Record<string, string> | undefined;
211
+ devDependencies?: Record<string, string> | undefined;
212
+ scripts?: Record<string, string> | undefined;
213
+ } | undefined;
214
+ shadcnComponents?: string[] | undefined;
215
+ dependsOn?: string[] | undefined;
216
+ smallLogo?: string | undefined;
217
+ logo?: string | undefined;
218
+ addOnSpecialSteps?: string[] | undefined;
219
+ createSpecialSteps?: string[] | undefined;
220
+ banner?: string | undefined;
221
+ }, {
222
+ id: string;
223
+ name: string;
224
+ description: string;
225
+ type: "add-on" | "example" | "starter" | "toolchain";
226
+ framework: string;
227
+ mode: string;
228
+ typescript: boolean;
229
+ tailwind: boolean;
230
+ command?: {
231
+ command: string;
232
+ args?: string[] | undefined;
233
+ } | undefined;
234
+ author?: string | undefined;
235
+ version?: string | undefined;
236
+ link?: string | undefined;
237
+ license?: string | undefined;
238
+ warning?: string | undefined;
239
+ routes?: {
240
+ path: string;
241
+ jsName: string;
242
+ name?: string | undefined;
243
+ url?: string | undefined;
244
+ }[] | undefined;
245
+ packageAdditions?: {
246
+ dependencies?: Record<string, string> | undefined;
247
+ devDependencies?: Record<string, string> | undefined;
248
+ scripts?: Record<string, string> | undefined;
249
+ } | undefined;
250
+ shadcnComponents?: string[] | undefined;
251
+ dependsOn?: string[] | undefined;
252
+ smallLogo?: string | undefined;
253
+ logo?: string | undefined;
254
+ addOnSpecialSteps?: string[] | undefined;
255
+ createSpecialSteps?: string[] | undefined;
256
+ banner?: string | undefined;
257
+ }>;
258
+ export declare const StarterCompiledSchema: z.ZodObject<{
259
+ id: z.ZodString;
260
+ name: z.ZodString;
261
+ description: z.ZodString;
262
+ author: z.ZodOptional<z.ZodString>;
263
+ version: z.ZodOptional<z.ZodString>;
264
+ link: z.ZodOptional<z.ZodString>;
265
+ license: z.ZodOptional<z.ZodString>;
266
+ warning: z.ZodOptional<z.ZodString>;
267
+ type: z.ZodEnum<["add-on", "example", "starter", "toolchain"]>;
268
+ command: z.ZodOptional<z.ZodObject<{
269
+ command: z.ZodString;
270
+ args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
271
+ }, "strip", z.ZodTypeAny, {
272
+ command: string;
273
+ args?: string[] | undefined;
274
+ }, {
275
+ command: string;
276
+ args?: string[] | undefined;
277
+ }>>;
278
+ routes: z.ZodOptional<z.ZodArray<z.ZodObject<{
279
+ url: z.ZodOptional<z.ZodString>;
280
+ name: z.ZodOptional<z.ZodString>;
281
+ path: z.ZodString;
282
+ jsName: z.ZodString;
283
+ }, "strip", z.ZodTypeAny, {
284
+ path: string;
285
+ jsName: string;
286
+ name?: string | undefined;
287
+ url?: string | undefined;
288
+ }, {
289
+ path: string;
290
+ jsName: string;
291
+ name?: string | undefined;
292
+ url?: string | undefined;
293
+ }>, "many">>;
294
+ packageAdditions: z.ZodOptional<z.ZodObject<{
295
+ dependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
296
+ devDependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
297
+ scripts: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
298
+ }, "strip", z.ZodTypeAny, {
299
+ dependencies?: Record<string, string> | undefined;
300
+ devDependencies?: Record<string, string> | undefined;
301
+ scripts?: Record<string, string> | undefined;
302
+ }, {
303
+ dependencies?: Record<string, string> | undefined;
304
+ devDependencies?: Record<string, string> | undefined;
305
+ scripts?: Record<string, string> | undefined;
306
+ }>>;
307
+ shadcnComponents: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
308
+ dependsOn: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
309
+ smallLogo: z.ZodOptional<z.ZodString>;
310
+ logo: z.ZodOptional<z.ZodString>;
311
+ addOnSpecialSteps: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
312
+ createSpecialSteps: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
313
+ } & {
314
+ framework: z.ZodString;
315
+ mode: z.ZodString;
316
+ typescript: z.ZodBoolean;
317
+ tailwind: z.ZodBoolean;
318
+ banner: z.ZodOptional<z.ZodString>;
319
+ } & {
320
+ files: z.ZodRecord<z.ZodString, z.ZodString>;
321
+ deletedFiles: z.ZodArray<z.ZodString, "many">;
322
+ }, "strip", z.ZodTypeAny, {
323
+ id: string;
324
+ name: string;
325
+ description: string;
326
+ type: "add-on" | "example" | "starter" | "toolchain";
327
+ framework: string;
328
+ mode: string;
329
+ typescript: boolean;
330
+ tailwind: boolean;
331
+ files: Record<string, string>;
332
+ deletedFiles: string[];
333
+ command?: {
334
+ command: string;
335
+ args?: string[] | undefined;
336
+ } | undefined;
337
+ author?: string | undefined;
338
+ version?: string | undefined;
339
+ link?: string | undefined;
340
+ license?: string | undefined;
341
+ warning?: string | undefined;
342
+ routes?: {
343
+ path: string;
344
+ jsName: string;
345
+ name?: string | undefined;
346
+ url?: string | undefined;
347
+ }[] | undefined;
348
+ packageAdditions?: {
349
+ dependencies?: Record<string, string> | undefined;
350
+ devDependencies?: Record<string, string> | undefined;
351
+ scripts?: Record<string, string> | undefined;
352
+ } | undefined;
353
+ shadcnComponents?: string[] | undefined;
354
+ dependsOn?: string[] | undefined;
355
+ smallLogo?: string | undefined;
356
+ logo?: string | undefined;
357
+ addOnSpecialSteps?: string[] | undefined;
358
+ createSpecialSteps?: string[] | undefined;
359
+ banner?: string | undefined;
360
+ }, {
361
+ id: string;
362
+ name: string;
363
+ description: string;
364
+ type: "add-on" | "example" | "starter" | "toolchain";
365
+ framework: string;
366
+ mode: string;
367
+ typescript: boolean;
368
+ tailwind: boolean;
369
+ files: Record<string, string>;
370
+ deletedFiles: string[];
371
+ command?: {
372
+ command: string;
373
+ args?: string[] | undefined;
374
+ } | undefined;
375
+ author?: string | undefined;
376
+ version?: string | undefined;
377
+ link?: string | undefined;
378
+ license?: string | undefined;
379
+ warning?: string | undefined;
380
+ routes?: {
381
+ path: string;
382
+ jsName: string;
383
+ name?: string | undefined;
384
+ url?: string | undefined;
385
+ }[] | undefined;
386
+ packageAdditions?: {
387
+ dependencies?: Record<string, string> | undefined;
388
+ devDependencies?: Record<string, string> | undefined;
389
+ scripts?: Record<string, string> | undefined;
390
+ } | undefined;
391
+ shadcnComponents?: string[] | undefined;
392
+ dependsOn?: string[] | undefined;
393
+ smallLogo?: string | undefined;
394
+ logo?: string | undefined;
395
+ addOnSpecialSteps?: string[] | undefined;
396
+ createSpecialSteps?: string[] | undefined;
397
+ banner?: string | undefined;
398
+ }>;
399
+ export declare const IntegrationSchema: z.ZodObject<{
400
+ type: z.ZodString;
401
+ path: z.ZodString;
402
+ jsName: z.ZodString;
403
+ }, "strip", z.ZodTypeAny, {
404
+ type: string;
405
+ path: string;
406
+ jsName: string;
407
+ }, {
408
+ type: string;
409
+ path: string;
410
+ jsName: string;
411
+ }>;
412
+ export declare const AddOnInfoSchema: z.ZodObject<{
413
+ id: z.ZodString;
414
+ name: z.ZodString;
415
+ description: z.ZodString;
416
+ author: z.ZodOptional<z.ZodString>;
417
+ version: z.ZodOptional<z.ZodString>;
418
+ link: z.ZodOptional<z.ZodString>;
419
+ license: z.ZodOptional<z.ZodString>;
420
+ warning: z.ZodOptional<z.ZodString>;
421
+ type: z.ZodEnum<["add-on", "example", "starter", "toolchain"]>;
422
+ command: z.ZodOptional<z.ZodObject<{
423
+ command: z.ZodString;
424
+ args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
425
+ }, "strip", z.ZodTypeAny, {
426
+ command: string;
427
+ args?: string[] | undefined;
428
+ }, {
429
+ command: string;
430
+ args?: string[] | undefined;
431
+ }>>;
432
+ routes: z.ZodOptional<z.ZodArray<z.ZodObject<{
433
+ url: z.ZodOptional<z.ZodString>;
434
+ name: z.ZodOptional<z.ZodString>;
435
+ path: z.ZodString;
436
+ jsName: z.ZodString;
437
+ }, "strip", z.ZodTypeAny, {
438
+ path: string;
439
+ jsName: string;
440
+ name?: string | undefined;
441
+ url?: string | undefined;
442
+ }, {
443
+ path: string;
444
+ jsName: string;
445
+ name?: string | undefined;
446
+ url?: string | undefined;
447
+ }>, "many">>;
448
+ packageAdditions: z.ZodOptional<z.ZodObject<{
449
+ dependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
450
+ devDependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
451
+ scripts: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
452
+ }, "strip", z.ZodTypeAny, {
453
+ dependencies?: Record<string, string> | undefined;
454
+ devDependencies?: Record<string, string> | undefined;
455
+ scripts?: Record<string, string> | undefined;
456
+ }, {
457
+ dependencies?: Record<string, string> | undefined;
458
+ devDependencies?: Record<string, string> | undefined;
459
+ scripts?: Record<string, string> | undefined;
460
+ }>>;
461
+ shadcnComponents: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
462
+ dependsOn: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
463
+ smallLogo: z.ZodOptional<z.ZodString>;
464
+ logo: z.ZodOptional<z.ZodString>;
465
+ addOnSpecialSteps: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
466
+ createSpecialSteps: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
467
+ } & {
468
+ modes: z.ZodArray<z.ZodString, "many">;
469
+ integrations: z.ZodOptional<z.ZodArray<z.ZodObject<{
470
+ type: z.ZodString;
471
+ path: z.ZodString;
472
+ jsName: z.ZodString;
473
+ }, "strip", z.ZodTypeAny, {
474
+ type: string;
475
+ path: string;
476
+ jsName: string;
477
+ }, {
478
+ type: string;
479
+ path: string;
480
+ jsName: string;
481
+ }>, "many">>;
482
+ phase: z.ZodEnum<["setup", "add-on"]>;
483
+ readme: z.ZodOptional<z.ZodString>;
484
+ }, "strip", z.ZodTypeAny, {
485
+ id: string;
486
+ name: string;
487
+ description: string;
488
+ type: "add-on" | "example" | "starter" | "toolchain";
489
+ modes: string[];
490
+ phase: "add-on" | "setup";
491
+ command?: {
492
+ command: string;
493
+ args?: string[] | undefined;
494
+ } | undefined;
495
+ author?: string | undefined;
496
+ version?: string | undefined;
497
+ link?: string | undefined;
498
+ license?: string | undefined;
499
+ warning?: string | undefined;
500
+ routes?: {
501
+ path: string;
502
+ jsName: string;
503
+ name?: string | undefined;
504
+ url?: string | undefined;
505
+ }[] | undefined;
506
+ packageAdditions?: {
507
+ dependencies?: Record<string, string> | undefined;
508
+ devDependencies?: Record<string, string> | undefined;
509
+ scripts?: Record<string, string> | undefined;
510
+ } | undefined;
511
+ shadcnComponents?: string[] | undefined;
512
+ dependsOn?: string[] | undefined;
513
+ smallLogo?: string | undefined;
514
+ logo?: string | undefined;
515
+ addOnSpecialSteps?: string[] | undefined;
516
+ createSpecialSteps?: string[] | undefined;
517
+ integrations?: {
518
+ type: string;
519
+ path: string;
520
+ jsName: string;
521
+ }[] | undefined;
522
+ readme?: string | undefined;
523
+ }, {
524
+ id: string;
525
+ name: string;
526
+ description: string;
527
+ type: "add-on" | "example" | "starter" | "toolchain";
528
+ modes: string[];
529
+ phase: "add-on" | "setup";
530
+ command?: {
531
+ command: string;
532
+ args?: string[] | undefined;
533
+ } | undefined;
534
+ author?: string | undefined;
535
+ version?: string | undefined;
536
+ link?: string | undefined;
537
+ license?: string | undefined;
538
+ warning?: string | undefined;
539
+ routes?: {
540
+ path: string;
541
+ jsName: string;
542
+ name?: string | undefined;
543
+ url?: string | undefined;
544
+ }[] | undefined;
545
+ packageAdditions?: {
546
+ dependencies?: Record<string, string> | undefined;
547
+ devDependencies?: Record<string, string> | undefined;
548
+ scripts?: Record<string, string> | undefined;
549
+ } | undefined;
550
+ shadcnComponents?: string[] | undefined;
551
+ dependsOn?: string[] | undefined;
552
+ smallLogo?: string | undefined;
553
+ logo?: string | undefined;
554
+ addOnSpecialSteps?: string[] | undefined;
555
+ createSpecialSteps?: string[] | undefined;
556
+ integrations?: {
557
+ type: string;
558
+ path: string;
559
+ jsName: string;
560
+ }[] | undefined;
561
+ readme?: string | undefined;
562
+ }>;
563
+ export declare const AddOnCompiledSchema: z.ZodObject<{
564
+ id: z.ZodString;
565
+ name: z.ZodString;
566
+ description: z.ZodString;
567
+ author: z.ZodOptional<z.ZodString>;
568
+ version: z.ZodOptional<z.ZodString>;
569
+ link: z.ZodOptional<z.ZodString>;
570
+ license: z.ZodOptional<z.ZodString>;
571
+ warning: z.ZodOptional<z.ZodString>;
572
+ type: z.ZodEnum<["add-on", "example", "starter", "toolchain"]>;
573
+ command: z.ZodOptional<z.ZodObject<{
574
+ command: z.ZodString;
575
+ args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
576
+ }, "strip", z.ZodTypeAny, {
577
+ command: string;
578
+ args?: string[] | undefined;
579
+ }, {
580
+ command: string;
581
+ args?: string[] | undefined;
582
+ }>>;
583
+ routes: z.ZodOptional<z.ZodArray<z.ZodObject<{
584
+ url: z.ZodOptional<z.ZodString>;
585
+ name: z.ZodOptional<z.ZodString>;
586
+ path: z.ZodString;
587
+ jsName: z.ZodString;
588
+ }, "strip", z.ZodTypeAny, {
589
+ path: string;
590
+ jsName: string;
591
+ name?: string | undefined;
592
+ url?: string | undefined;
593
+ }, {
594
+ path: string;
595
+ jsName: string;
596
+ name?: string | undefined;
597
+ url?: string | undefined;
598
+ }>, "many">>;
599
+ packageAdditions: z.ZodOptional<z.ZodObject<{
600
+ dependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
601
+ devDependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
602
+ scripts: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
603
+ }, "strip", z.ZodTypeAny, {
604
+ dependencies?: Record<string, string> | undefined;
605
+ devDependencies?: Record<string, string> | undefined;
606
+ scripts?: Record<string, string> | undefined;
607
+ }, {
608
+ dependencies?: Record<string, string> | undefined;
609
+ devDependencies?: Record<string, string> | undefined;
610
+ scripts?: Record<string, string> | undefined;
611
+ }>>;
612
+ shadcnComponents: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
613
+ dependsOn: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
614
+ smallLogo: z.ZodOptional<z.ZodString>;
615
+ logo: z.ZodOptional<z.ZodString>;
616
+ addOnSpecialSteps: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
617
+ createSpecialSteps: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
618
+ } & {
619
+ modes: z.ZodArray<z.ZodString, "many">;
620
+ integrations: z.ZodOptional<z.ZodArray<z.ZodObject<{
621
+ type: z.ZodString;
622
+ path: z.ZodString;
623
+ jsName: z.ZodString;
624
+ }, "strip", z.ZodTypeAny, {
625
+ type: string;
626
+ path: string;
627
+ jsName: string;
628
+ }, {
629
+ type: string;
630
+ path: string;
631
+ jsName: string;
632
+ }>, "many">>;
633
+ phase: z.ZodEnum<["setup", "add-on"]>;
634
+ readme: z.ZodOptional<z.ZodString>;
635
+ } & {
636
+ files: z.ZodRecord<z.ZodString, z.ZodString>;
637
+ deletedFiles: z.ZodArray<z.ZodString, "many">;
638
+ }, "strip", z.ZodTypeAny, {
639
+ id: string;
640
+ name: string;
641
+ description: string;
642
+ type: "add-on" | "example" | "starter" | "toolchain";
643
+ files: Record<string, string>;
644
+ deletedFiles: string[];
645
+ modes: string[];
646
+ phase: "add-on" | "setup";
647
+ command?: {
648
+ command: string;
649
+ args?: string[] | undefined;
650
+ } | undefined;
651
+ author?: string | undefined;
652
+ version?: string | undefined;
653
+ link?: string | undefined;
654
+ license?: string | undefined;
655
+ warning?: string | undefined;
656
+ routes?: {
657
+ path: string;
658
+ jsName: string;
659
+ name?: string | undefined;
660
+ url?: string | undefined;
661
+ }[] | undefined;
662
+ packageAdditions?: {
663
+ dependencies?: Record<string, string> | undefined;
664
+ devDependencies?: Record<string, string> | undefined;
665
+ scripts?: Record<string, string> | undefined;
666
+ } | undefined;
667
+ shadcnComponents?: string[] | undefined;
668
+ dependsOn?: string[] | undefined;
669
+ smallLogo?: string | undefined;
670
+ logo?: string | undefined;
671
+ addOnSpecialSteps?: string[] | undefined;
672
+ createSpecialSteps?: string[] | undefined;
673
+ integrations?: {
674
+ type: string;
675
+ path: string;
676
+ jsName: string;
677
+ }[] | undefined;
678
+ readme?: string | undefined;
679
+ }, {
680
+ id: string;
681
+ name: string;
682
+ description: string;
683
+ type: "add-on" | "example" | "starter" | "toolchain";
684
+ files: Record<string, string>;
685
+ deletedFiles: string[];
686
+ modes: string[];
687
+ phase: "add-on" | "setup";
688
+ command?: {
689
+ command: string;
690
+ args?: string[] | undefined;
691
+ } | undefined;
692
+ author?: string | undefined;
693
+ version?: string | undefined;
694
+ link?: string | undefined;
695
+ license?: string | undefined;
696
+ warning?: string | undefined;
697
+ routes?: {
698
+ path: string;
699
+ jsName: string;
700
+ name?: string | undefined;
701
+ url?: string | undefined;
702
+ }[] | undefined;
703
+ packageAdditions?: {
704
+ dependencies?: Record<string, string> | undefined;
705
+ devDependencies?: Record<string, string> | undefined;
706
+ scripts?: Record<string, string> | undefined;
707
+ } | undefined;
708
+ shadcnComponents?: string[] | undefined;
709
+ dependsOn?: string[] | undefined;
710
+ smallLogo?: string | undefined;
711
+ logo?: string | undefined;
712
+ addOnSpecialSteps?: string[] | undefined;
713
+ createSpecialSteps?: string[] | undefined;
714
+ integrations?: {
715
+ type: string;
716
+ path: string;
717
+ jsName: string;
718
+ }[] | undefined;
719
+ readme?: string | undefined;
720
+ }>;
721
+ export type Integration = z.infer<typeof IntegrationSchema>;
722
+ export type AddOnBase = z.infer<typeof AddOnBaseSchema>;
723
+ export type StarterInfo = z.infer<typeof StarterSchema>;
724
+ export type StarterCompiled = z.infer<typeof StarterCompiledSchema>;
725
+ export type AddOnInfo = z.infer<typeof AddOnInfoSchema>;
726
+ export type AddOnCompiled = z.infer<typeof AddOnCompiledSchema>;
727
+ export type FileBundleHandler = {
728
+ getFiles: () => Promise<Array<string>>;
729
+ getFileContents: (path: string) => Promise<string>;
730
+ getDeletedFiles: () => Promise<Array<string>>;
731
+ };
732
+ export type AddOn = AddOnInfo & FileBundleHandler;
733
+ export type Starter = StarterCompiled & FileBundleHandler;
734
+ export type FrameworkDefinition = {
735
+ id: string;
736
+ name: string;
737
+ description: string;
738
+ version: string;
739
+ baseDirectory: string;
740
+ addOnsDirectories: Array<string>;
741
+ examplesDirectory: string;
742
+ };
743
+ export type Framework = FrameworkDefinition & FileBundleHandler & {
744
+ basePackageJSON: Record<string, any>;
745
+ optionalPackages: Record<string, any>;
746
+ getAddOns: () => Array<AddOn>;
747
+ };
7
748
  export interface Options {
8
- framework: Framework;
9
749
  projectName: string;
750
+ targetDir: string;
751
+ framework: Framework;
752
+ mode: Mode;
10
753
  typescript: boolean;
11
754
  tailwind: boolean;
12
755
  packageManager: PackageManager;
13
- toolchain: ToolChain;
14
- mode: Mode;
15
- addOns: boolean;
16
- chosenAddOns: Array<AddOn>;
17
756
  git: boolean;
18
- variableValues: Record<string, string | number | boolean>;
19
- overlay?: AddOn | undefined;
20
- }
21
- export interface CliOptions {
22
- template?: TemplateOptions;
23
- framework?: Framework;
24
- tailwind?: boolean;
25
- packageManager?: PackageManager;
26
- toolchain?: ToolChain;
27
- projectName?: string;
28
- git?: boolean;
29
- addOns?: Array<string> | boolean;
30
- listAddOns?: boolean;
31
- mcp?: boolean;
32
- mcpSse?: boolean;
33
- overlay?: string;
34
- targetDir?: string;
35
- interactive?: boolean;
757
+ chosenAddOns: Array<AddOn>;
758
+ starter?: Starter | undefined;
36
759
  }
37
- export type Environment = {
760
+ export type SerializedOptions = Omit<Options, 'chosenAddOns' | 'starter' | 'framework'> & {
761
+ chosenAddOns: Array<string>;
762
+ starter?: string | undefined;
763
+ framework: string;
764
+ };
765
+ type ProjectEnvironment = {
38
766
  startRun: () => void;
39
767
  finishRun: () => void;
40
768
  getErrors: () => Array<string>;
769
+ };
770
+ type FileEnvironment = {
41
771
  appendFile: (path: string, contents: string) => Promise<void>;
42
772
  copyFile: (from: string, to: string) => Promise<void>;
43
773
  writeFile: (path: string, contents: string) => Promise<void>;
44
- execute: (command: string, args: Array<string>, cwd: string) => Promise<void>;
774
+ writeFileBase64: (path: string, base64Contents: string) => Promise<void>;
775
+ execute: (command: string, args: Array<string>, cwd: string) => Promise<{
776
+ stdout: string;
777
+ }>;
45
778
  deleteFile: (path: string) => Promise<void>;
46
- readFile: (path: string, encoding?: BufferEncoding) => Promise<string>;
47
779
  exists: (path: string) => boolean;
48
- readdir: (path: string) => Array<string>;
49
780
  isDirectory: (path: string) => boolean;
781
+ readFile: (path: string) => Promise<string>;
782
+ readdir: (path: string) => Promise<Array<string>>;
783
+ rimraf: (path: string) => Promise<void>;
50
784
  };
51
- type BooleanVariable = {
52
- name: string;
53
- default: boolean;
54
- description: string;
55
- type: 'boolean';
56
- };
57
- type NumberVariable = {
58
- name: string;
59
- default: number;
60
- description: string;
61
- type: 'number';
62
- };
63
- type StringVariable = {
64
- name: string;
65
- default: string;
66
- description: string;
67
- type: 'string';
785
+ export type StatusEvent = {
786
+ id: string;
787
+ type: StatusStepType;
788
+ message: string;
68
789
  };
69
- export type Variable = BooleanVariable | NumberVariable | StringVariable;
70
- export type AddOn = {
790
+ export type StopEvent = {
71
791
  id: string;
72
- name: string;
73
- description: string;
74
- type: 'add-on' | 'example' | 'overlay';
75
- link: string;
76
- templates: Array<string>;
77
- routes: Array<{
78
- url: string;
79
- name: string;
80
- }>;
81
- packageAdditions: {
82
- dependencies?: Record<string, string>;
83
- devDependencies?: Record<string, string>;
84
- scripts?: Record<string, string>;
85
- };
86
- command?: {
87
- command: string;
88
- args?: Array<string>;
89
- };
90
- readme?: string;
91
- phase: 'setup' | 'add-on';
92
- shadcnComponents?: Array<string>;
93
- warning?: string;
94
- dependsOn?: Array<string>;
95
- variables?: Array<Variable>;
96
- files?: Record<string, string>;
97
- deletedFiles?: Array<string>;
98
792
  };
99
- export type Overlay = AddOn & {
100
- type: 'overlay';
101
- version: string;
102
- author: string;
103
- link: string;
104
- license: string;
105
- mode: Mode;
106
- framework: Framework;
107
- typescript: boolean;
108
- tailwind: boolean;
793
+ type UIEnvironment = {
794
+ appName: string;
795
+ startStep: (info: {
796
+ id: string;
797
+ type: StatusStepType;
798
+ message: string;
799
+ }) => void;
800
+ finishStep: (id: string, finalMessage: string) => void;
801
+ intro: (message: string) => void;
802
+ outro: (message: string) => void;
803
+ info: (title?: string, message?: string) => void;
804
+ error: (title?: string, message?: string) => void;
805
+ warn: (title?: string, message?: string) => void;
806
+ spinner: () => {
807
+ start: (message: string) => void;
808
+ stop: (message: string) => void;
809
+ };
810
+ confirm: (message: string) => Promise<boolean>;
109
811
  };
812
+ export type Environment = ProjectEnvironment & FileEnvironment & UIEnvironment;
110
813
  export {};