@tanstack/create 0.49.1 → 0.49.3

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 (223) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/LICENSE +21 -0
  3. package/dist/file-helpers.js +3 -1
  4. package/dist/frameworks/react/add-ons/ai/assets/src/data/demo-guitars.ts +93 -0
  5. package/dist/frameworks/react/add-ons/ai/assets/src/hooks/demo-useAudioRecorder.ts +85 -0
  6. package/dist/frameworks/react/add-ons/ai/assets/src/hooks/demo-useTTS.ts +78 -0
  7. package/dist/frameworks/react/add-ons/ai/assets/src/lib/demo-ai-hook.ts +22 -0
  8. package/dist/frameworks/react/add-ons/ai/assets/src/lib/demo-guitar-tools.ts +40 -0
  9. package/dist/frameworks/react/add-ons/ai/assets/src/routes/demo/api.ai.chat.ts +99 -0
  10. package/dist/frameworks/react/add-ons/ai/assets/src/routes/demo/api.ai.image.ts +72 -0
  11. package/dist/frameworks/react/add-ons/ai/assets/src/routes/demo/api.ai.structured.ts +136 -0
  12. package/dist/frameworks/react/add-ons/ai/assets/src/routes/demo/api.ai.transcription.ts +89 -0
  13. package/dist/frameworks/react/add-ons/ai/assets/src/routes/demo/api.ai.tts.ts +81 -0
  14. package/dist/frameworks/react/add-ons/better-auth/assets/src/lib/auth-client.ts +3 -0
  15. package/dist/frameworks/react/add-ons/better-auth/assets/src/lib/auth.ts +9 -0
  16. package/dist/frameworks/react/add-ons/better-auth/assets/src/routes/api/auth/$.ts +11 -0
  17. package/dist/frameworks/react/add-ons/convex/assets/convex/schema.ts +14 -0
  18. package/dist/frameworks/react/add-ons/convex/assets/convex/todos.ts +43 -0
  19. package/dist/frameworks/react/add-ons/db/assets/src/db-collections/index.ts +20 -0
  20. package/dist/frameworks/react/add-ons/db/assets/src/hooks/demo.useChat.ts +62 -0
  21. package/dist/frameworks/react/add-ons/db/assets/src/routes/demo/db-chat-api.ts +83 -0
  22. package/dist/frameworks/react/add-ons/form/assets/src/hooks/demo.form-context.ts +4 -0
  23. package/dist/frameworks/react/add-ons/form/assets/src/hooks/demo.form.ts +22 -0
  24. package/dist/frameworks/react/add-ons/mcp/assets/src/mcp-todos.ts +51 -0
  25. package/dist/frameworks/react/add-ons/mcp/assets/src/routes/demo/api.mcp-todos.ts +37 -0
  26. package/dist/frameworks/react/add-ons/mcp/assets/src/routes/{mcp.js → mcp.ts} +27 -17
  27. package/dist/frameworks/react/add-ons/mcp/assets/src/utils/mcp-handler.ts +61 -0
  28. package/dist/frameworks/react/add-ons/neon/assets/neon-vite-plugin.ts +10 -0
  29. package/dist/frameworks/react/add-ons/neon/assets/src/db.ts +13 -0
  30. package/dist/frameworks/react/add-ons/oRPC/assets/src/orpc/client.ts +29 -0
  31. package/dist/frameworks/react/add-ons/oRPC/assets/src/orpc/router/index.ts +6 -0
  32. package/dist/frameworks/react/add-ons/oRPC/assets/src/orpc/router/todos.ts +20 -0
  33. package/dist/frameworks/react/add-ons/oRPC/assets/src/orpc/schema.ts +6 -0
  34. package/dist/frameworks/react/add-ons/oRPC/assets/src/{polyfill.js → polyfill.ts} +4 -1
  35. package/dist/frameworks/react/add-ons/oRPC/assets/src/routes/api.$.ts +77 -0
  36. package/dist/frameworks/react/add-ons/oRPC/assets/src/routes/api.rpc.$.ts +29 -0
  37. package/dist/frameworks/react/add-ons/shadcn/assets/src/lib/utils.ts +6 -0
  38. package/dist/frameworks/react/add-ons/start/assets/src/data/demo.punk-songs.ts +13 -0
  39. package/dist/frameworks/react/add-ons/start/assets/src/routes/demo/api.names.ts +10 -0
  40. package/dist/frameworks/react/add-ons/store/assets/src/lib/demo-store.ts +13 -0
  41. package/dist/frameworks/react/add-ons/storybook/assets/_dot_storybook/main.ts +17 -0
  42. package/dist/frameworks/react/add-ons/storybook/assets/_dot_storybook/preview.ts +15 -0
  43. package/dist/frameworks/react/add-ons/storybook/assets/src/components/storybook/button.stories.ts +67 -0
  44. package/dist/{types/frameworks/react/add-ons/storybook/assets/src/components/storybook/index.d.ts → frameworks/react/add-ons/storybook/assets/src/components/storybook/index.ts} +4 -0
  45. package/dist/frameworks/react/add-ons/storybook/assets/src/components/storybook/input.stories.ts +43 -0
  46. package/dist/frameworks/react/add-ons/storybook/assets/src/components/storybook/radio-group.stories.ts +53 -0
  47. package/dist/frameworks/react/add-ons/storybook/assets/src/components/storybook/slider.stories.ts +55 -0
  48. package/dist/frameworks/{solid/add-ons/strapi/assets/src/lib/strapiClient.js → react/add-ons/strapi/assets/src/lib/strapiClient.ts} +3 -1
  49. package/dist/frameworks/react/add-ons/t3env/assets/src/env.ts +39 -0
  50. package/dist/frameworks/react/add-ons/tRPC/assets/src/integrations/trpc/{init.js → init.ts} +3 -1
  51. package/dist/frameworks/react/add-ons/tRPC/assets/src/integrations/trpc/react.ts +4 -0
  52. package/dist/frameworks/react/add-ons/tRPC/assets/src/integrations/trpc/router.ts +27 -0
  53. package/dist/frameworks/react/add-ons/table/assets/src/data/demo-table-data.ts +50 -0
  54. package/dist/frameworks/react/examples/events/assets/content-collections.ts +56 -0
  55. package/dist/frameworks/react/examples/events/assets/src/lib/conference-ai-hook.ts +26 -0
  56. package/dist/frameworks/react/examples/events/assets/src/lib/conference-tools.ts +210 -0
  57. package/dist/frameworks/react/examples/events/assets/src/lib/utils.ts +6 -0
  58. package/dist/frameworks/react/examples/events/assets/src/routes/api.remy-chat.ts +121 -0
  59. package/dist/frameworks/react/examples/resume/assets/content-collections.ts +36 -0
  60. package/dist/frameworks/react/examples/resume/assets/src/lib/resume-ai-hook.ts +21 -0
  61. package/dist/frameworks/react/examples/resume/assets/src/lib/resume-tools.ts +165 -0
  62. package/dist/frameworks/react/examples/resume/assets/src/lib/utils.ts +6 -0
  63. package/dist/frameworks/react/examples/resume/assets/src/routes/api.resume-chat.ts +110 -0
  64. package/dist/frameworks/solid/add-ons/better-auth/assets/src/lib/auth-client.ts +3 -0
  65. package/dist/frameworks/solid/add-ons/better-auth/assets/src/lib/auth.ts +9 -0
  66. package/dist/frameworks/solid/add-ons/better-auth/assets/src/routes/api/auth/$.ts +11 -0
  67. package/dist/frameworks/solid/add-ons/convex/assets/convex/schema.ts +14 -0
  68. package/dist/frameworks/solid/add-ons/convex/assets/convex/todos.ts +43 -0
  69. package/dist/frameworks/solid/add-ons/solid-ui/assets/src/lib/utils.ts +6 -0
  70. package/dist/frameworks/solid/add-ons/store/assets/src/lib/demo-store.ts +13 -0
  71. package/dist/frameworks/{react/add-ons/strapi/assets/src/lib/strapiClient.js → solid/add-ons/strapi/assets/src/lib/strapiClient.ts} +3 -1
  72. package/dist/frameworks/solid/add-ons/t3env/assets/src/env.ts +39 -0
  73. package/dist/frameworks/solid/examples/tanchat/assets/ai-streaming-server/src/index.ts +102 -0
  74. package/dist/frameworks/solid/examples/tanchat/assets/src/lib/demo-store.ts +13 -0
  75. package/dist/frameworks/solid/examples/tanchat/assets/src/store/demo.hooks.ts +17 -0
  76. package/dist/frameworks/solid/examples/tanchat/assets/src/store/demo.store.ts +133 -0
  77. package/dist/special-steps/post-init-script.js +6 -6
  78. package/package.json +11 -12
  79. package/src/file-helpers.ts +4 -1
  80. package/src/special-steps/post-init-script.ts +6 -6
  81. package/tests/copy-assets.test.ts +53 -0
  82. package/tests/file-helper.test.ts +19 -0
  83. package/tests/special-steps.test.ts +12 -12
  84. package/dist/frameworks/react/add-ons/ai/assets/src/data/demo-guitars.js +0 -67
  85. package/dist/frameworks/react/add-ons/ai/assets/src/hooks/demo-useAudioRecorder.js +0 -70
  86. package/dist/frameworks/react/add-ons/ai/assets/src/hooks/demo-useTTS.js +0 -66
  87. package/dist/frameworks/react/add-ons/ai/assets/src/lib/demo-ai-hook.js +0 -11
  88. package/dist/frameworks/react/add-ons/ai/assets/src/lib/demo-guitar-tools.js +0 -32
  89. package/dist/frameworks/react/add-ons/ai/assets/src/routes/demo/api.ai.chat.js +0 -87
  90. package/dist/frameworks/react/add-ons/ai/assets/src/routes/demo/api.ai.image.js +0 -55
  91. package/dist/frameworks/react/add-ons/ai/assets/src/routes/demo/api.ai.structured.js +0 -116
  92. package/dist/frameworks/react/add-ons/ai/assets/src/routes/demo/api.ai.transcription.js +0 -73
  93. package/dist/frameworks/react/add-ons/ai/assets/src/routes/demo/api.ai.tts.js +0 -58
  94. package/dist/frameworks/react/add-ons/better-auth/assets/src/lib/auth-client.js +0 -2
  95. package/dist/frameworks/react/add-ons/better-auth/assets/src/lib/auth.js +0 -8
  96. package/dist/frameworks/react/add-ons/better-auth/assets/src/routes/api/auth/$.js +0 -10
  97. package/dist/frameworks/react/add-ons/convex/assets/convex/schema.js +0 -13
  98. package/dist/frameworks/react/add-ons/convex/assets/convex/todos.js +0 -39
  99. package/dist/frameworks/react/add-ons/db/assets/src/db-collections/index.js +0 -11
  100. package/dist/frameworks/react/add-ons/db/assets/src/hooks/demo.useChat.js +0 -47
  101. package/dist/frameworks/react/add-ons/db/assets/src/routes/demo/db-chat-api.js +0 -68
  102. package/dist/frameworks/react/add-ons/form/assets/src/hooks/demo.form-context.js +0 -2
  103. package/dist/frameworks/react/add-ons/form/assets/src/hooks/demo.form.js +0 -15
  104. package/dist/frameworks/react/add-ons/mcp/assets/src/mcp-todos.js +0 -40
  105. package/dist/frameworks/react/add-ons/mcp/assets/src/routes/demo/api.mcp-todos.js +0 -36
  106. package/dist/frameworks/react/add-ons/mcp/assets/src/utils/mcp-handler.js +0 -41
  107. package/dist/frameworks/react/add-ons/neon/assets/neon-vite-plugin.js +0 -9
  108. package/dist/frameworks/react/add-ons/neon/assets/src/db.js +0 -11
  109. package/dist/frameworks/react/add-ons/oRPC/assets/src/orpc/client.js +0 -21
  110. package/dist/frameworks/react/add-ons/oRPC/assets/src/orpc/router/index.js +0 -5
  111. package/dist/frameworks/react/add-ons/oRPC/assets/src/orpc/router/todos.js +0 -17
  112. package/dist/frameworks/react/add-ons/oRPC/assets/src/orpc/schema.js +0 -5
  113. package/dist/frameworks/react/add-ons/oRPC/assets/src/routes/api.$.js +0 -71
  114. package/dist/frameworks/react/add-ons/oRPC/assets/src/routes/api.rpc.$.js +0 -24
  115. package/dist/frameworks/react/add-ons/shadcn/assets/src/lib/utils.js +0 -5
  116. package/dist/frameworks/react/add-ons/start/assets/src/data/demo.punk-songs.js +0 -12
  117. package/dist/frameworks/react/add-ons/start/assets/src/routes/demo/api.names.js +0 -9
  118. package/dist/frameworks/react/add-ons/store/assets/src/lib/demo-store.js +0 -10
  119. package/dist/frameworks/react/add-ons/storybook/assets/_dot_storybook/main.js +0 -15
  120. package/dist/frameworks/react/add-ons/storybook/assets/_dot_storybook/preview.js +0 -12
  121. package/dist/frameworks/react/add-ons/storybook/assets/src/components/storybook/button.stories.js +0 -55
  122. package/dist/frameworks/react/add-ons/storybook/assets/src/components/storybook/index.js +0 -5
  123. package/dist/frameworks/react/add-ons/storybook/assets/src/components/storybook/input.stories.js +0 -35
  124. package/dist/frameworks/react/add-ons/storybook/assets/src/components/storybook/radio-group.stories.js +0 -45
  125. package/dist/frameworks/react/add-ons/storybook/assets/src/components/storybook/slider.stories.js +0 -46
  126. package/dist/frameworks/react/add-ons/t3env/assets/src/env.js +0 -34
  127. package/dist/frameworks/react/add-ons/tRPC/assets/src/integrations/trpc/react.js +0 -2
  128. package/dist/frameworks/react/add-ons/tRPC/assets/src/integrations/trpc/router.js +0 -20
  129. package/dist/frameworks/react/add-ons/table/assets/src/data/demo-table-data.js +0 -35
  130. package/dist/frameworks/react/examples/events/assets/content-collections.js +0 -53
  131. package/dist/frameworks/react/examples/events/assets/src/lib/conference-ai-hook.js +0 -16
  132. package/dist/frameworks/react/examples/events/assets/src/lib/conference-tools.js +0 -177
  133. package/dist/frameworks/react/examples/events/assets/src/lib/utils.js +0 -5
  134. package/dist/frameworks/react/examples/events/assets/src/routes/api.remy-chat.js +0 -103
  135. package/dist/frameworks/react/examples/resume/assets/content-collections.js +0 -33
  136. package/dist/frameworks/react/examples/resume/assets/src/lib/resume-ai-hook.js +0 -11
  137. package/dist/frameworks/react/examples/resume/assets/src/lib/resume-tools.js +0 -135
  138. package/dist/frameworks/react/examples/resume/assets/src/lib/utils.js +0 -5
  139. package/dist/frameworks/react/examples/resume/assets/src/routes/api.resume-chat.js +0 -92
  140. package/dist/frameworks/solid/add-ons/better-auth/assets/src/lib/auth-client.js +0 -2
  141. package/dist/frameworks/solid/add-ons/better-auth/assets/src/lib/auth.js +0 -8
  142. package/dist/frameworks/solid/add-ons/better-auth/assets/src/routes/api/auth/$.js +0 -10
  143. package/dist/frameworks/solid/add-ons/convex/assets/convex/schema.js +0 -13
  144. package/dist/frameworks/solid/add-ons/convex/assets/convex/todos.js +0 -39
  145. package/dist/frameworks/solid/add-ons/solid-ui/assets/src/lib/utils.js +0 -5
  146. package/dist/frameworks/solid/add-ons/store/assets/src/lib/demo-store.js +0 -10
  147. package/dist/frameworks/solid/add-ons/t3env/assets/src/env.js +0 -34
  148. package/dist/frameworks/solid/examples/tanchat/assets/ai-streaming-server/src/index.js +0 -73
  149. package/dist/frameworks/solid/examples/tanchat/assets/src/lib/demo-store.js +0 -10
  150. package/dist/frameworks/solid/examples/tanchat/assets/src/store/demo.hooks.js +0 -12
  151. package/dist/frameworks/solid/examples/tanchat/assets/src/store/demo.store.js +0 -92
  152. package/dist/types/frameworks/react/add-ons/ai/assets/src/data/demo-guitars.d.ts +0 -10
  153. package/dist/types/frameworks/react/add-ons/ai/assets/src/hooks/demo-useAudioRecorder.d.ts +0 -9
  154. package/dist/types/frameworks/react/add-ons/ai/assets/src/hooks/demo-useTTS.d.ts +0 -8
  155. package/dist/types/frameworks/react/add-ons/ai/assets/src/lib/demo-ai-hook.d.ts +0 -5
  156. package/dist/types/frameworks/react/add-ons/ai/assets/src/lib/demo-guitar-tools.d.ts +0 -3
  157. package/dist/types/frameworks/react/add-ons/ai/assets/src/routes/demo/api.ai.chat.d.ts +0 -1
  158. package/dist/types/frameworks/react/add-ons/ai/assets/src/routes/demo/api.ai.image.d.ts +0 -1
  159. package/dist/types/frameworks/react/add-ons/ai/assets/src/routes/demo/api.ai.structured.d.ts +0 -83
  160. package/dist/types/frameworks/react/add-ons/ai/assets/src/routes/demo/api.ai.transcription.d.ts +0 -1
  161. package/dist/types/frameworks/react/add-ons/ai/assets/src/routes/demo/api.ai.tts.d.ts +0 -1
  162. package/dist/types/frameworks/react/add-ons/better-auth/assets/src/lib/auth-client.d.ts +0 -1
  163. package/dist/types/frameworks/react/add-ons/better-auth/assets/src/lib/auth.d.ts +0 -1
  164. package/dist/types/frameworks/react/add-ons/better-auth/assets/src/routes/api/auth/$.d.ts +0 -1
  165. package/dist/types/frameworks/react/add-ons/convex/assets/convex/schema.d.ts +0 -2
  166. package/dist/types/frameworks/react/add-ons/convex/assets/convex/todos.d.ts +0 -4
  167. package/dist/types/frameworks/react/add-ons/db/assets/src/db-collections/index.d.ts +0 -17
  168. package/dist/types/frameworks/react/add-ons/db/assets/src/hooks/demo.useChat.d.ts +0 -5
  169. package/dist/types/frameworks/react/add-ons/db/assets/src/routes/demo/db-chat-api.d.ts +0 -19
  170. package/dist/types/frameworks/react/add-ons/form/assets/src/hooks/demo.form-context.d.ts +0 -1
  171. package/dist/types/frameworks/react/add-ons/form/assets/src/hooks/demo.form.d.ts +0 -1
  172. package/dist/types/frameworks/react/add-ons/mcp/assets/src/mcp-todos.d.ts +0 -7
  173. package/dist/types/frameworks/react/add-ons/mcp/assets/src/routes/demo/api.mcp-todos.d.ts +0 -1
  174. package/dist/types/frameworks/react/add-ons/mcp/assets/src/routes/mcp.d.ts +0 -1
  175. package/dist/types/frameworks/react/add-ons/mcp/assets/src/utils/mcp-handler.d.ts +0 -2
  176. package/dist/types/frameworks/react/add-ons/neon/assets/neon-vite-plugin.d.ts +0 -2
  177. package/dist/types/frameworks/react/add-ons/neon/assets/src/db.d.ts +0 -1
  178. package/dist/types/frameworks/react/add-ons/oRPC/assets/src/orpc/client.d.ts +0 -4
  179. package/dist/types/frameworks/react/add-ons/oRPC/assets/src/orpc/router/index.d.ts +0 -5
  180. package/dist/types/frameworks/react/add-ons/oRPC/assets/src/orpc/router/todos.d.ts +0 -2
  181. package/dist/types/frameworks/react/add-ons/oRPC/assets/src/orpc/schema.d.ts +0 -11
  182. package/dist/types/frameworks/react/add-ons/oRPC/assets/src/polyfill.d.ts +0 -1
  183. package/dist/types/frameworks/react/add-ons/oRPC/assets/src/routes/api.$.d.ts +0 -2
  184. package/dist/types/frameworks/react/add-ons/oRPC/assets/src/routes/api.rpc.$.d.ts +0 -2
  185. package/dist/types/frameworks/react/add-ons/shadcn/assets/src/lib/utils.d.ts +0 -2
  186. package/dist/types/frameworks/react/add-ons/start/assets/src/data/demo.punk-songs.d.ts +0 -1
  187. package/dist/types/frameworks/react/add-ons/start/assets/src/routes/demo/api.names.d.ts +0 -1
  188. package/dist/types/frameworks/react/add-ons/store/assets/src/lib/demo-store.d.ts +0 -2
  189. package/dist/types/frameworks/react/add-ons/storybook/assets/_dot_storybook/main.d.ts +0 -3
  190. package/dist/types/frameworks/react/add-ons/storybook/assets/_dot_storybook/preview.d.ts +0 -4
  191. package/dist/types/frameworks/react/add-ons/storybook/assets/src/components/storybook/button.stories.d.ts +0 -11
  192. package/dist/types/frameworks/react/add-ons/storybook/assets/src/components/storybook/input.stories.d.ts +0 -7
  193. package/dist/types/frameworks/react/add-ons/storybook/assets/src/components/storybook/radio-group.stories.d.ts +0 -7
  194. package/dist/types/frameworks/react/add-ons/storybook/assets/src/components/storybook/slider.stories.d.ts +0 -8
  195. package/dist/types/frameworks/react/add-ons/strapi/assets/src/lib/strapiClient.d.ts +0 -2
  196. package/dist/types/frameworks/react/add-ons/t3env/assets/src/env.d.ts +0 -1
  197. package/dist/types/frameworks/react/add-ons/tRPC/assets/src/integrations/trpc/init.d.ts +0 -2
  198. package/dist/types/frameworks/react/add-ons/tRPC/assets/src/integrations/trpc/react.d.ts +0 -1
  199. package/dist/types/frameworks/react/add-ons/tRPC/assets/src/integrations/trpc/router.d.ts +0 -2
  200. package/dist/types/frameworks/react/add-ons/table/assets/src/data/demo-table-data.d.ts +0 -11
  201. package/dist/types/frameworks/react/examples/events/assets/content-collections.d.ts +0 -2
  202. package/dist/types/frameworks/react/examples/events/assets/src/lib/conference-ai-hook.d.ts +0 -5
  203. package/dist/types/frameworks/react/examples/events/assets/src/lib/conference-tools.d.ts +0 -10
  204. package/dist/types/frameworks/react/examples/events/assets/src/lib/utils.d.ts +0 -2
  205. package/dist/types/frameworks/react/examples/events/assets/src/routes/api.remy-chat.d.ts +0 -1
  206. package/dist/types/frameworks/react/examples/resume/assets/content-collections.d.ts +0 -2
  207. package/dist/types/frameworks/react/examples/resume/assets/src/lib/resume-ai-hook.d.ts +0 -5
  208. package/dist/types/frameworks/react/examples/resume/assets/src/lib/resume-tools.d.ts +0 -8
  209. package/dist/types/frameworks/react/examples/resume/assets/src/lib/utils.d.ts +0 -2
  210. package/dist/types/frameworks/react/examples/resume/assets/src/routes/api.resume-chat.d.ts +0 -1
  211. package/dist/types/frameworks/solid/add-ons/better-auth/assets/src/lib/auth-client.d.ts +0 -1
  212. package/dist/types/frameworks/solid/add-ons/better-auth/assets/src/lib/auth.d.ts +0 -1
  213. package/dist/types/frameworks/solid/add-ons/better-auth/assets/src/routes/api/auth/$.d.ts +0 -1
  214. package/dist/types/frameworks/solid/add-ons/convex/assets/convex/schema.d.ts +0 -2
  215. package/dist/types/frameworks/solid/add-ons/convex/assets/convex/todos.d.ts +0 -4
  216. package/dist/types/frameworks/solid/add-ons/solid-ui/assets/src/lib/utils.d.ts +0 -2
  217. package/dist/types/frameworks/solid/add-ons/store/assets/src/lib/demo-store.d.ts +0 -2
  218. package/dist/types/frameworks/solid/add-ons/strapi/assets/src/lib/strapiClient.d.ts +0 -2
  219. package/dist/types/frameworks/solid/add-ons/t3env/assets/src/env.d.ts +0 -1
  220. package/dist/types/frameworks/solid/examples/tanchat/assets/ai-streaming-server/src/index.d.ts +0 -1
  221. package/dist/types/frameworks/solid/examples/tanchat/assets/src/lib/demo-store.d.ts +0 -2
  222. package/dist/types/frameworks/solid/examples/tanchat/assets/src/store/demo.hooks.d.ts +0 -23
  223. package/dist/types/frameworks/solid/examples/tanchat/assets/src/store/demo.store.d.ts +0 -40
@@ -0,0 +1,110 @@
1
+ import { createFileRoute } from '@tanstack/react-router'
2
+ import { chat, maxIterations, toServerSentEventsResponse } from '@tanstack/ai'
3
+ import { anthropicText } from '@tanstack/ai-anthropic'
4
+ import { openaiText } from '@tanstack/ai-openai'
5
+ import { geminiText } from '@tanstack/ai-gemini'
6
+ import { ollamaText } from '@tanstack/ai-ollama'
7
+
8
+ import {
9
+ getJobsBySkill,
10
+ getAllJobs,
11
+ getAllEducation,
12
+ searchExperience,
13
+ } from '@/lib/resume-tools'
14
+
15
+ export const Route = createFileRoute('/api/resume-chat')({
16
+ server: {
17
+ handlers: {
18
+ POST: async ({ request }) => {
19
+ const requestSignal = request.signal
20
+
21
+ if (requestSignal.aborted) {
22
+ return new Response(null, { status: 499 })
23
+ }
24
+
25
+ const abortController = new AbortController()
26
+
27
+ try {
28
+ const body = await request.json()
29
+ const { messages } = body
30
+ const data = body.data || {}
31
+
32
+ const SYSTEM_PROMPT = `You are a helpful resume assistant helping recruiters and hiring managers evaluate if this candidate is a good fit for their job requirements.
33
+
34
+ CAPABILITIES:
35
+ 1. Use getJobsBySkill to find jobs where the candidate used specific technologies or skills
36
+ 2. Use getAllJobs to get the candidate's complete work history with all details
37
+ 3. Use getAllEducation to get the candidate's educational background
38
+ 4. Use searchExperience to search for specific types of roles or experience by keywords
39
+
40
+ INSTRUCTIONS:
41
+ - When asked about specific technologies or skills, use getJobsBySkill to find relevant experience
42
+ - When asked about overall experience or career progression, use getAllJobs
43
+ - When asked about education or training, use getAllEducation
44
+ - When asked about specific types of roles (e.g., "senior", "lead"), use searchExperience
45
+ - Be professional, concise, and helpful in your responses
46
+ - Provide specific details from the resume when available
47
+ - When calculating years of experience, consider the date ranges provided
48
+ - If the candidate has experience with something, highlight specific roles and time periods
49
+ - If the candidate lacks certain experience, be honest but constructive
50
+
51
+ CONTEXT: You are helping evaluate this candidate's qualifications for potential job opportunities.`
52
+
53
+ // Determine the best available provider
54
+ let provider: 'anthropic' | 'openai' | 'gemini' | 'ollama' = data.provider || 'ollama'
55
+ let model: string = data.model || 'mistral:7b'
56
+
57
+ // Use the first available provider with an API key, fallback to ollama
58
+ if (process.env.ANTHROPIC_API_KEY) {
59
+ provider = 'anthropic'
60
+ model = 'claude-haiku-4-5'
61
+ } else if (process.env.OPENAI_API_KEY) {
62
+ provider = 'openai'
63
+ model = 'gpt-4o'
64
+ } else if (process.env.GEMINI_API_KEY) {
65
+ provider = 'gemini'
66
+ model = 'gemini-2.0-flash-exp'
67
+ }
68
+ // else keep ollama as default
69
+
70
+ // Adapter factory pattern for multi-vendor support
71
+ const adapterConfig = {
72
+ anthropic: () =>
73
+ anthropicText((model || 'claude-haiku-4-5') as any),
74
+ openai: () => openaiText((model || 'gpt-4o') as any),
75
+ gemini: () => geminiText((model || 'gemini-2.0-flash-exp') as any),
76
+ ollama: () => ollamaText((model || 'mistral:7b') as any),
77
+ }
78
+
79
+ const adapter = adapterConfig[provider]()
80
+
81
+ const stream = chat({
82
+ adapter,
83
+ tools: [getJobsBySkill, getAllJobs, getAllEducation, searchExperience],
84
+ systemPrompts: [SYSTEM_PROMPT],
85
+ agentLoopStrategy: maxIterations(5),
86
+ messages,
87
+ abortController,
88
+ })
89
+
90
+ return toServerSentEventsResponse(stream, { abortController })
91
+ } catch (error: any) {
92
+ console.error('Resume chat error:', error)
93
+ if (error.name === 'AbortError' || abortController.signal.aborted) {
94
+ return new Response(null, { status: 499 })
95
+ }
96
+ return new Response(
97
+ JSON.stringify({
98
+ error: 'Failed to process chat request',
99
+ message: error.message,
100
+ }),
101
+ {
102
+ status: 500,
103
+ headers: { 'Content-Type': 'application/json' },
104
+ },
105
+ )
106
+ }
107
+ },
108
+ },
109
+ },
110
+ })
@@ -0,0 +1,3 @@
1
+ import { createAuthClient } from 'better-auth/solid'
2
+
3
+ export const authClient = createAuthClient()
@@ -0,0 +1,9 @@
1
+ import { betterAuth } from 'better-auth'
2
+ import { tanstackStartCookies } from 'better-auth/tanstack-start'
3
+
4
+ export const auth = betterAuth({
5
+ emailAndPassword: {
6
+ enabled: true,
7
+ },
8
+ plugins: [tanstackStartCookies()],
9
+ })
@@ -0,0 +1,11 @@
1
+ import { createFileRoute } from '@tanstack/solid-router'
2
+ import { auth } from '../../../lib/auth'
3
+
4
+ export const Route = createFileRoute('/api/auth/$')({
5
+ server: {
6
+ handlers: {
7
+ GET: ({ request }) => auth.handler(request),
8
+ POST: ({ request }) => auth.handler(request),
9
+ },
10
+ },
11
+ })
@@ -0,0 +1,14 @@
1
+ import { defineSchema, defineTable } from 'convex/server'
2
+ import { v } from 'convex/values'
3
+
4
+ export default defineSchema({
5
+ products: defineTable({
6
+ title: v.string(),
7
+ imageId: v.string(),
8
+ price: v.number(),
9
+ }),
10
+ todos: defineTable({
11
+ text: v.string(),
12
+ completed: v.boolean(),
13
+ }),
14
+ })
@@ -0,0 +1,43 @@
1
+ import { mutation, query } from './_generated/server'
2
+ import { v } from 'convex/values'
3
+
4
+ export const list = query({
5
+ args: {},
6
+ handler: async (ctx) => {
7
+ return await ctx.db
8
+ .query('todos')
9
+ .withIndex('by_creation_time')
10
+ .order('desc')
11
+ .collect()
12
+ },
13
+ })
14
+
15
+ export const add = mutation({
16
+ args: { text: v.string() },
17
+ handler: async (ctx, args) => {
18
+ return await ctx.db.insert('todos', {
19
+ text: args.text,
20
+ completed: false,
21
+ })
22
+ },
23
+ })
24
+
25
+ export const toggle = mutation({
26
+ args: { id: v.id('todos') },
27
+ handler: async (ctx, args) => {
28
+ const todo = await ctx.db.get(args.id)
29
+ if (!todo) {
30
+ throw new Error('Todo not found')
31
+ }
32
+ return await ctx.db.patch(args.id, {
33
+ completed: !todo.completed,
34
+ })
35
+ },
36
+ })
37
+
38
+ export const remove = mutation({
39
+ args: { id: v.id('todos') },
40
+ handler: async (ctx, args) => {
41
+ return await ctx.db.delete(args.id)
42
+ },
43
+ })
@@ -0,0 +1,6 @@
1
+ import { type ClassValue, clsx } from "clsx"
2
+ import { twMerge } from "tailwind-merge"
3
+
4
+ export function cn(...inputs: ClassValue[]) {
5
+ return twMerge(clsx(inputs))
6
+ }
@@ -0,0 +1,13 @@
1
+ import { Derived, Store } from '@tanstack/store'
2
+
3
+ export const store = new Store({
4
+ firstName: 'Jane',
5
+ lastName: 'Smith',
6
+ })
7
+
8
+ export const fullName = new Derived({
9
+ fn: () => `${store.state.firstName} ${store.state.lastName}`,
10
+ deps: [store],
11
+ })
12
+
13
+ fullName.mount()
@@ -1,5 +1,7 @@
1
1
  import { strapi } from "@strapi/client";
2
+
2
3
  export const strapiClient = strapi({
3
- baseURL: import.meta.env.VITE_STRAPI_URL,
4
+ baseURL: import.meta.env.VITE_STRAPI_URL,
4
5
  });
6
+
5
7
  export const articles = strapiClient.collection("articles");
@@ -0,0 +1,39 @@
1
+ import { createEnv } from "@t3-oss/env-core";
2
+ import { z } from "zod";
3
+
4
+ export const env = createEnv({
5
+ server: {
6
+ SERVER_URL: z.url().optional(),
7
+ },
8
+
9
+ /**
10
+ * The prefix that client-side variables must have. This is enforced both at
11
+ * a type-level and at runtime.
12
+ */
13
+ clientPrefix: "VITE_",
14
+
15
+ client: {
16
+ VITE_APP_TITLE: z.string().min(1).optional(),
17
+ },
18
+
19
+ /**
20
+ * What object holds the environment variables at runtime. This is usually
21
+ * `process.env` or `import.meta.env`.
22
+ */
23
+ runtimeEnv: import.meta.env,
24
+
25
+ /**
26
+ * By default, this library will feed the environment variables directly to
27
+ * the Zod validator.
28
+ *
29
+ * This means that if you have an empty string for a value that is supposed
30
+ * to be a number (e.g. `PORT=` in a ".env" file), Zod will incorrectly flag
31
+ * it as a type mismatch violation. Additionally, if you have an empty string
32
+ * for a value that is supposed to be a string with a default value (e.g.
33
+ * `DOMAIN=` in an ".env" file), the default value will never be applied.
34
+ *
35
+ * In order to solve these issues, we recommend that all new projects
36
+ * explicitly specify this option as true.
37
+ */
38
+ emptyStringAsUndefined: true,
39
+ });
@@ -0,0 +1,102 @@
1
+ import express, { Request, Response } from 'express'
2
+ import cors from 'cors'
3
+ import dotenv from 'dotenv'
4
+ import Anthropic from '@anthropic-ai/sdk'
5
+
6
+ // Load environment variables
7
+ dotenv.config()
8
+
9
+ const app = express()
10
+ const port = process.env.PORT || 8080
11
+
12
+ // Middleware
13
+ app.use(cors())
14
+ app.use(express.json())
15
+
16
+ // Initialize Anthropic client
17
+ const anthropic = new Anthropic({
18
+ apiKey: process.env.ANTHROPIC_API_KEY,
19
+ })
20
+
21
+ // Define types for the request body
22
+ interface ChatMessage {
23
+ role: 'user' | 'assistant'
24
+ content: string
25
+ }
26
+
27
+ interface ChatRequest {
28
+ messages: ChatMessage[]
29
+ }
30
+
31
+ // Streaming chat endpoint
32
+ app.post(
33
+ '/api/chat',
34
+ async (req: Request<{}, {}, ChatRequest>, res: Response) => {
35
+ try {
36
+ const { messages } = req.body
37
+
38
+ if (!messages || !Array.isArray(messages)) {
39
+ return res.status(400).json({ error: 'Messages array is required' })
40
+ }
41
+
42
+ // Validate message format
43
+ const isValidMessages = messages.every(
44
+ (msg): msg is ChatMessage =>
45
+ typeof msg === 'object' &&
46
+ (msg.role === 'user' || msg.role === 'assistant') &&
47
+ typeof msg.content === 'string',
48
+ )
49
+
50
+ if (!isValidMessages) {
51
+ return res.status(400).json({
52
+ error:
53
+ "Invalid message format. Each message must have 'role' and 'content'",
54
+ })
55
+ }
56
+
57
+ // Set up SSE headers
58
+ res.setHeader('Content-Type', 'text/event-stream')
59
+ res.setHeader('Cache-Control', 'no-cache')
60
+ res.setHeader('Connection', 'keep-alive')
61
+
62
+ // Create the message stream
63
+ const stream = await anthropic.messages.create({
64
+ messages: messages.map((msg) => ({
65
+ role: msg.role,
66
+ content: msg.content,
67
+ })),
68
+ model: 'claude-3-opus-20240229',
69
+ max_tokens: 4096,
70
+ stream: true,
71
+ })
72
+
73
+ // Stream the response
74
+ for await (const chunk of stream) {
75
+ if (chunk.type === 'content_block_delta') {
76
+ res.write(`data: ${JSON.stringify(chunk)}\n\n`)
77
+ }
78
+ }
79
+
80
+ // End the stream
81
+ res.write('data: [DONE]\n\n')
82
+ res.end()
83
+ } catch (error) {
84
+ console.error('Error:', error)
85
+ // If headers haven't been sent yet, send error response
86
+ if (!res.headersSent) {
87
+ res.status(500).json({ error: 'Internal server error' })
88
+ } else {
89
+ // If streaming has started, send error event
90
+ const errorMessage =
91
+ error instanceof Error ? error.message : 'Unknown error'
92
+ res.write(`data: ${JSON.stringify({ error: errorMessage })}\n\n`)
93
+ res.end()
94
+ }
95
+ }
96
+ },
97
+ )
98
+
99
+ // Start the server
100
+ app.listen(port, () => {
101
+ console.log(`Server is running on port ${port}`)
102
+ })
@@ -0,0 +1,13 @@
1
+ import { Derived, Store } from '@tanstack/store'
2
+
3
+ export const store = new Store({
4
+ firstName: 'Jane',
5
+ lastName: 'Smith',
6
+ })
7
+
8
+ export const fullName = new Derived({
9
+ fn: () => `${store.state.firstName} ${store.state.lastName}`,
10
+ deps: [store],
11
+ })
12
+
13
+ fullName.mount()
@@ -0,0 +1,17 @@
1
+ import { useStore } from '@tanstack/solid-store'
2
+ import { store, actions, selectors } from './demo.store'
3
+
4
+ export type { State, Prompt, Conversation } from './demo.store'
5
+
6
+ export function useAppState() {
7
+ const state = useStore(store)
8
+ return state;
9
+ }
10
+
11
+ export function useAppActions() {
12
+ return actions
13
+ }
14
+
15
+ export function useAppSelectors() {
16
+ return selectors
17
+ }
@@ -0,0 +1,133 @@
1
+ import { Store } from '@tanstack/store'
2
+ import type { Message } from '../utils/demo.ai'
3
+
4
+ // Types
5
+ export interface Prompt {
6
+ id: string
7
+ name: string
8
+ content: string
9
+ is_active: boolean
10
+ created_at: number
11
+ }
12
+
13
+ export interface Conversation {
14
+ id: string
15
+ title: string
16
+ messages: Message[]
17
+ }
18
+
19
+ export interface State {
20
+ prompts: Prompt[]
21
+ conversations: Conversation[]
22
+ currentConversationId: string | null
23
+ isLoading: boolean
24
+ }
25
+
26
+ const initialState: State = {
27
+ prompts: [],
28
+ conversations: [],
29
+ currentConversationId: null,
30
+ isLoading: false
31
+ }
32
+
33
+ export const store = new Store<State>(initialState)
34
+
35
+ export const actions = {
36
+ // Prompt actions
37
+ createPrompt: (name: string, content: string) => {
38
+ const id = Date.now().toString()
39
+ store.setState(state => {
40
+ const updatedPrompts = state.prompts.map(p => ({ ...p, is_active: false }))
41
+ return {
42
+ ...state,
43
+ prompts: [
44
+ ...updatedPrompts,
45
+ {
46
+ id,
47
+ name,
48
+ content,
49
+ is_active: true,
50
+ created_at: Date.now()
51
+ }
52
+ ]
53
+ }
54
+ })
55
+ },
56
+
57
+ deletePrompt: (id: string) => {
58
+ store.setState(state => ({
59
+ ...state,
60
+ prompts: state.prompts.filter(p => p.id !== id)
61
+ }))
62
+ },
63
+
64
+ setPromptActive: (id: string, shouldActivate: boolean) => {
65
+ store.setState(state => ({
66
+ ...state,
67
+ prompts: state.prompts.map(p => ({
68
+ ...p,
69
+ is_active: p.id === id ? shouldActivate : false
70
+ }))
71
+ }))
72
+ },
73
+
74
+ // Chat actions
75
+ setConversations: (conversations: Conversation[]) => {
76
+ store.setState(state => ({ ...state, conversations }))
77
+ },
78
+
79
+ setCurrentConversationId: (id: string | null) => {
80
+ store.setState(state => ({ ...state, currentConversationId: id }))
81
+ },
82
+
83
+ addConversation: (conversation: Conversation) => {
84
+ store.setState(state => ({
85
+ ...state,
86
+ conversations: [...state.conversations, conversation],
87
+ currentConversationId: conversation.id
88
+ }))
89
+ },
90
+
91
+ updateConversationTitle: (id: string, title: string) => {
92
+ store.setState(state => ({
93
+ ...state,
94
+ conversations: state.conversations.map(conv =>
95
+ conv.id === id ? { ...conv, title } : conv
96
+ )
97
+ }))
98
+ },
99
+
100
+ deleteConversation: (id: string) => {
101
+ store.setState(state => ({
102
+ ...state,
103
+ conversations: state.conversations.filter(conv => conv.id !== id),
104
+ currentConversationId: state.currentConversationId === id ? null : state.currentConversationId
105
+ }))
106
+ },
107
+
108
+ addMessage: (conversationId: string, message: Message) => {
109
+ store.setState(state => ({
110
+ ...state,
111
+ conversations: state.conversations.map(conv =>
112
+ conv.id === conversationId
113
+ ? { ...conv, messages: [...conv.messages, message] }
114
+ : conv
115
+ )
116
+ }))
117
+ },
118
+
119
+ setLoading: (isLoading: boolean) => {
120
+ store.setState(state => ({ ...state, isLoading }))
121
+ }
122
+ }
123
+
124
+ // Selectors
125
+ export const selectors = {
126
+ getActivePrompt: (state: State) => state.prompts.find(p => p.is_active),
127
+ getCurrentConversation: (state: State) =>
128
+ state.conversations.find(c => c.id === state.currentConversationId),
129
+ getPrompts: (state: State) => state.prompts,
130
+ getConversations: (state: State) => state.conversations,
131
+ getCurrentConversationId: (state: State) => state.currentConversationId,
132
+ getIsLoading: (state: State) => state.isLoading
133
+ }
@@ -4,28 +4,28 @@ import { getPackageManagerScriptCommand } from '../package-manager.js';
4
4
  export async function postInitScript(environment, options) {
5
5
  const packageJsonPath = resolve(options.targetDir, 'package.json');
6
6
  if (!environment.exists(packageJsonPath)) {
7
- environment.warn('Warning', 'No package.json found, skipping post-cta-init script');
7
+ environment.warn('Warning', 'No package.json found, skipping post-create-init script');
8
8
  return;
9
9
  }
10
10
  try {
11
11
  const packageJsonContent = readFileSync(packageJsonPath, 'utf-8');
12
12
  const packageJson = JSON.parse(packageJsonContent);
13
- if (!packageJson.scripts || !packageJson.scripts['post-cta-init']) {
14
- // No post-cta-init script found, skip silently
13
+ if (!packageJson.scripts || !packageJson.scripts['post-create-init']) {
14
+ // No post-create-init script found, skip silently
15
15
  return;
16
16
  }
17
17
  environment.startStep({
18
18
  id: 'post-init-script',
19
19
  type: 'command',
20
- message: 'Running post-cta-init script...',
20
+ message: 'Running post-create-init script...',
21
21
  });
22
- const { command, args } = getPackageManagerScriptCommand(options.packageManager, ['post-cta-init']);
22
+ const { command, args } = getPackageManagerScriptCommand(options.packageManager, ['post-create-init']);
23
23
  await environment.execute(command, args, options.targetDir, {
24
24
  inherit: true,
25
25
  });
26
26
  environment.finishStep('post-init-script', 'Post-cta-init script complete');
27
27
  }
28
28
  catch (error) {
29
- environment.error(`Failed to run post-cta-init script: ${error instanceof Error ? error.message : String(error)}`);
29
+ environment.error(`Failed to run post-create-init script: ${error instanceof Error ? error.message : String(error)}`);
30
30
  }
31
31
  }
package/package.json CHANGED
@@ -1,21 +1,13 @@
1
1
  {
2
2
  "name": "@tanstack/create",
3
- "version": "0.49.1",
3
+ "version": "0.49.3",
4
4
  "description": "TanStack Application Builder Engine",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "types": "./dist/types/index.d.ts",
8
- "scripts": {
9
- "build": "tsc && npm run copy-assets",
10
- "copy-assets": "node -e \"const fs=require('fs');const path=require('path');function copyDir(src,dest){if(!fs.existsSync(dest))fs.mkdirSync(dest,{recursive:true});for(const entry of fs.readdirSync(src,{withFileTypes:true})){const srcPath=path.join(src,entry.name);const destPath=path.join(dest,entry.name);if(entry.isDirectory())copyDir(srcPath,destPath);else if(!entry.name.endsWith('.ts')||entry.name.endsWith('.d.ts'))fs.copyFileSync(srcPath,destPath)}}['react','solid'].forEach(fw=>{['add-ons','toolchains','hosts','examples','project'].forEach(dir=>{const src='src/frameworks/'+fw+'/'+dir;const dest='dist/frameworks/'+fw+'/'+dir;if(fs.existsSync(src))copyDir(src,dest)})})\"",
11
- "dev": "tsc --watch",
12
- "test": "eslint ./src && vitest run",
13
- "test:watch": "vitest",
14
- "test:coverage": "vitest run --coverage"
15
- },
16
8
  "repository": {
17
9
  "type": "git",
18
- "url": "git+https://github.com/TanStack/create-tsrouter-app.git",
10
+ "url": "git+https://github.com/TanStack/cli.git",
19
11
  "directory": "packages/create"
20
12
  },
21
13
  "homepage": "https://tanstack.com/router",
@@ -30,7 +22,6 @@
30
22
  ],
31
23
  "author": "Jack Herrington <jherr@pobox.com>",
32
24
  "license": "MIT",
33
- "packageManager": "pnpm@9.15.5",
34
25
  "dependencies": {
35
26
  "ejs": "^3.1.10",
36
27
  "execa": "^9.5.2",
@@ -50,5 +41,13 @@
50
41
  "typescript": "^5.6.3",
51
42
  "vitest": "^3.0.8",
52
43
  "vitest-fetch-mock": "^0.4.5"
44
+ },
45
+ "scripts": {
46
+ "build": "tsc && npm run copy-assets",
47
+ "copy-assets": "node -e \"const fs=require('fs');const path=require('path');function copyDir(src,dest){if(!fs.existsSync(dest))fs.mkdirSync(dest,{recursive:true});for(const entry of fs.readdirSync(src,{withFileTypes:true})){const srcPath=path.join(src,entry.name);const destPath=path.join(dest,entry.name);if(entry.isDirectory())copyDir(srcPath,destPath);else fs.copyFileSync(srcPath,destPath)}}['react','solid'].forEach(fw=>{['add-ons','toolchains','hosts','examples','project'].forEach(dir=>{const src='src/frameworks/'+fw+'/'+dir;const dest='dist/frameworks/'+fw+'/'+dir;if(fs.existsSync(src))copyDir(src,dest)})})\"",
48
+ "dev": "tsc --watch",
49
+ "test": "eslint ./src && vitest run",
50
+ "test:watch": "vitest",
51
+ "test:coverage": "vitest run --coverage"
53
52
  }
54
- }
53
+ }
@@ -42,7 +42,10 @@ export function getBinaryFile(content: string): string | null {
42
42
  */
43
43
  export function toCleanPath(absolutePath: string, baseDir: string): string {
44
44
  let cleanPath = absolutePath.replace(baseDir, '')
45
- if (cleanPath.startsWith('/')) cleanPath = cleanPath.slice(1)
45
+ // Handle both Unix (/) and Windows (\) path separators
46
+ if (cleanPath.startsWith('/') || cleanPath.startsWith('\\')) {
47
+ cleanPath = cleanPath.slice(1)
48
+ }
46
49
  return cleanPath
47
50
  }
48
51
 
@@ -14,7 +14,7 @@ export async function postInitScript(
14
14
  if (!environment.exists(packageJsonPath)) {
15
15
  environment.warn(
16
16
  'Warning',
17
- 'No package.json found, skipping post-cta-init script',
17
+ 'No package.json found, skipping post-create-init script',
18
18
  )
19
19
  return
20
20
  }
@@ -23,20 +23,20 @@ export async function postInitScript(
23
23
  const packageJsonContent = readFileSync(packageJsonPath, 'utf-8')
24
24
  const packageJson = JSON.parse(packageJsonContent)
25
25
 
26
- if (!packageJson.scripts || !packageJson.scripts['post-cta-init']) {
27
- // No post-cta-init script found, skip silently
26
+ if (!packageJson.scripts || !packageJson.scripts['post-create-init']) {
27
+ // No post-create-init script found, skip silently
28
28
  return
29
29
  }
30
30
 
31
31
  environment.startStep({
32
32
  id: 'post-init-script',
33
33
  type: 'command',
34
- message: 'Running post-cta-init script...',
34
+ message: 'Running post-create-init script...',
35
35
  })
36
36
 
37
37
  const { command, args } = getPackageManagerScriptCommand(
38
38
  options.packageManager,
39
- ['post-cta-init'],
39
+ ['post-create-init'],
40
40
  )
41
41
 
42
42
  await environment.execute(command, args, options.targetDir, {
@@ -46,7 +46,7 @@ export async function postInitScript(
46
46
  environment.finishStep('post-init-script', 'Post-cta-init script complete')
47
47
  } catch (error) {
48
48
  environment.error(
49
- `Failed to run post-cta-init script: ${error instanceof Error ? error.message : String(error)}`,
49
+ `Failed to run post-create-init script: ${error instanceof Error ? error.message : String(error)}`,
50
50
  )
51
51
  }
52
52
  }