@digilogiclabs/create-saas-app 1.5.1 → 1.5.2

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 (289) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/cli/commands/add.d.ts +6 -0
  3. package/dist/cli/commands/add.d.ts.map +1 -0
  4. package/dist/cli/commands/add.js +39 -0
  5. package/dist/cli/commands/add.js.map +1 -0
  6. package/dist/cli/commands/create.d.ts +28 -0
  7. package/dist/cli/commands/create.d.ts.map +1 -0
  8. package/dist/cli/commands/create.js +130 -0
  9. package/dist/cli/commands/create.js.map +1 -0
  10. package/dist/cli/commands/index.d.ts +4 -0
  11. package/dist/cli/commands/index.d.ts.map +1 -0
  12. package/dist/cli/commands/index.js +20 -0
  13. package/dist/cli/commands/index.js.map +1 -0
  14. package/dist/cli/commands/update.d.ts +6 -0
  15. package/dist/cli/commands/update.d.ts.map +1 -0
  16. package/dist/cli/commands/update.js +68 -0
  17. package/dist/cli/commands/update.js.map +1 -0
  18. package/dist/{index.d.ts → cli/index.d.ts} +2 -3
  19. package/dist/cli/index.d.ts.map +1 -0
  20. package/dist/cli/index.js +59 -0
  21. package/dist/cli/index.js.map +1 -0
  22. package/dist/cli/prompts/index.d.ts +2 -0
  23. package/dist/cli/prompts/index.d.ts.map +1 -0
  24. package/dist/cli/prompts/index.js +18 -0
  25. package/dist/cli/prompts/index.js.map +1 -0
  26. package/dist/cli/prompts/project-setup.d.ts +5 -0
  27. package/dist/cli/prompts/project-setup.d.ts.map +1 -0
  28. package/dist/cli/prompts/project-setup.js +251 -0
  29. package/dist/cli/prompts/project-setup.js.map +1 -0
  30. package/dist/cli/utils/git.d.ts +9 -0
  31. package/dist/cli/utils/git.d.ts.map +1 -0
  32. package/dist/cli/utils/git.js +77 -0
  33. package/dist/cli/utils/git.js.map +1 -0
  34. package/dist/cli/utils/index.d.ts +5 -0
  35. package/dist/cli/utils/index.d.ts.map +1 -0
  36. package/dist/cli/utils/index.js +21 -0
  37. package/dist/cli/utils/index.js.map +1 -0
  38. package/dist/cli/utils/logger.d.ts +16 -0
  39. package/dist/cli/utils/logger.d.ts.map +1 -0
  40. package/dist/cli/utils/logger.js +55 -0
  41. package/dist/cli/utils/logger.js.map +1 -0
  42. package/dist/cli/utils/package-manager.d.ts +8 -0
  43. package/dist/cli/utils/package-manager.d.ts.map +1 -0
  44. package/dist/cli/utils/package-manager.js +92 -0
  45. package/dist/cli/utils/package-manager.js.map +1 -0
  46. package/dist/cli/utils/spinner.d.ts +7 -0
  47. package/dist/cli/utils/spinner.d.ts.map +1 -0
  48. package/dist/cli/utils/spinner.js +48 -0
  49. package/dist/cli/utils/spinner.js.map +1 -0
  50. package/dist/cli/validators/dependencies.d.ts +15 -0
  51. package/dist/cli/validators/dependencies.d.ts.map +1 -0
  52. package/dist/cli/validators/dependencies.js +108 -0
  53. package/dist/cli/validators/dependencies.js.map +1 -0
  54. package/dist/cli/validators/index.d.ts +3 -0
  55. package/dist/cli/validators/index.d.ts.map +1 -0
  56. package/dist/cli/validators/index.js +19 -0
  57. package/dist/cli/validators/index.js.map +1 -0
  58. package/dist/cli/validators/project-name.d.ts +5 -0
  59. package/dist/cli/validators/project-name.d.ts.map +1 -0
  60. package/dist/cli/validators/project-name.js +151 -0
  61. package/dist/cli/validators/project-name.js.map +1 -0
  62. package/dist/generators/file-processor.d.ts +28 -0
  63. package/dist/generators/file-processor.d.ts.map +1 -0
  64. package/dist/generators/file-processor.js +203 -0
  65. package/dist/generators/file-processor.js.map +1 -0
  66. package/dist/generators/index.d.ts +4 -0
  67. package/dist/generators/index.d.ts.map +1 -0
  68. package/dist/generators/index.js +20 -0
  69. package/dist/generators/index.js.map +1 -0
  70. package/dist/generators/package-installer.d.ts +29 -0
  71. package/dist/generators/package-installer.d.ts.map +1 -0
  72. package/dist/generators/package-installer.js +167 -0
  73. package/dist/generators/package-installer.js.map +1 -0
  74. package/dist/generators/template-generator.d.ts +48 -0
  75. package/dist/generators/template-generator.d.ts.map +1 -0
  76. package/dist/generators/template-generator.js +276 -0
  77. package/dist/generators/template-generator.js.map +1 -0
  78. package/dist/index.js +3 -3
  79. package/dist/index.js.map +1 -1
  80. package/package.json +3 -3
  81. package/src/templates/web/ui-auth-payments/template/package-lock.json +12240 -0
  82. package/src/templates/web/ui-auth-payments/template/src/components/client/login-form.tsx +1 -1
  83. package/src/templates/web/ui-auth-payments/template/src/components/client/signup-form.tsx +3 -3
  84. package/src/templates/web/ui-auth-payments/template/tsconfig.tsbuildinfo +1 -0
  85. package/src/templates/web/ui-auth-payments-audio/template/package-lock.json +12241 -0
  86. package/src/templates/web/ui-auth-payments-audio/template/src/app/login/page.tsx +2 -105
  87. package/src/templates/web/ui-auth-payments-audio/template/src/app/signup/page.tsx +2 -124
  88. package/{dist/templates/web/ui-auth-payments → src/templates/web/ui-auth-payments-audio}/template/src/components/client/login-form.tsx +1 -1
  89. package/{dist/templates/web/ui-auth-payments → src/templates/web/ui-auth-payments-audio}/template/src/components/client/signup-form.tsx +3 -3
  90. package/src/templates/web/ui-auth-payments-audio/template/src/lib/actions/index.ts +14 -0
  91. package/src/templates/web/ui-auth-payments-audio/template/tsconfig.tsbuildinfo +1 -0
  92. package/dist/templates/mobile/base/template/.env.example +0 -15
  93. package/dist/templates/mobile/base/template/App.tsx +0 -88
  94. package/dist/templates/mobile/base/template/app/(auth)/login.tsx +0 -44
  95. package/dist/templates/mobile/base/template/app/(auth)/signup.tsx +0 -43
  96. package/dist/templates/mobile/base/template/app/checkout.tsx +0 -20
  97. package/dist/templates/mobile/base/template/package.json +0 -38
  98. package/dist/templates/shared/auth/firebase/web/config.ts +0 -23
  99. package/dist/templates/shared/auth/supabase/web/config.ts +0 -8
  100. package/dist/templates/web/base/template/.env.example +0 -15
  101. package/dist/templates/web/base/template/.eslintrc.js +0 -8
  102. package/dist/templates/web/base/template/README.md +0 -68
  103. package/dist/templates/web/base/template/next.config.js +0 -15
  104. package/dist/templates/web/base/template/package.json +0 -58
  105. package/dist/templates/web/base/template/postcss.config.js +0 -7
  106. package/dist/templates/web/base/template/src/app/auth/callback/route.ts +0 -18
  107. package/dist/templates/web/base/template/src/app/checkout/page.tsx +0 -28
  108. package/dist/templates/web/base/template/src/app/error.tsx +0 -97
  109. package/dist/templates/web/base/template/src/app/globals.css +0 -60
  110. package/dist/templates/web/base/template/src/app/layout.tsx +0 -35
  111. package/dist/templates/web/base/template/src/app/loading.tsx +0 -34
  112. package/dist/templates/web/base/template/src/app/login/page.tsx +0 -39
  113. package/dist/templates/web/base/template/src/app/page.tsx +0 -132
  114. package/dist/templates/web/base/template/src/app/signup/page.tsx +0 -39
  115. package/dist/templates/web/base/template/src/components/__tests__/example.test.tsx +0 -49
  116. package/dist/templates/web/base/template/src/components/providers/app-providers.tsx +0 -33
  117. package/dist/templates/web/base/template/src/components/providers/theme-provider.tsx +0 -94
  118. package/dist/templates/web/base/template/src/components/shared/footer.tsx +0 -36
  119. package/dist/templates/web/base/template/src/components/shared/header.tsx +0 -44
  120. package/dist/templates/web/base/template/src/components/ui/badge.tsx +0 -36
  121. package/dist/templates/web/base/template/src/components/ui/button.tsx +0 -56
  122. package/dist/templates/web/base/template/src/components/ui/card.tsx +0 -71
  123. package/dist/templates/web/base/template/src/components/ui/theme-toggle.tsx +0 -34
  124. package/dist/templates/web/base/template/src/lib/env.ts +0 -46
  125. package/dist/templates/web/base/template/src/lib/utils.ts +0 -140
  126. package/dist/templates/web/base/template/src/test/setup.ts +0 -79
  127. package/dist/templates/web/base/template/tailwind.config.js +0 -77
  128. package/dist/templates/web/base/template/tsconfig.json +0 -33
  129. package/dist/templates/web/base/template/vitest.config.ts +0 -17
  130. package/dist/templates/web/base/template.backup/.env.example +0 -15
  131. package/dist/templates/web/base/template.backup.20250817/.env.example +0 -15
  132. package/dist/templates/web/ui-auth/template/.env.example +0 -15
  133. package/dist/templates/web/ui-auth/template/.eslintrc.js +0 -8
  134. package/dist/templates/web/ui-auth/template/README.md +0 -68
  135. package/dist/templates/web/ui-auth/template/next.config.js +0 -12
  136. package/dist/templates/web/ui-auth/template/package.json +0 -50
  137. package/dist/templates/web/ui-auth/template/postcss.config.js +0 -7
  138. package/dist/templates/web/ui-auth/template/src/app/auth/callback/route.ts +0 -12
  139. package/dist/templates/web/ui-auth/template/src/app/checkout/page.tsx +0 -25
  140. package/dist/templates/web/ui-auth/template/src/app/error.tsx +0 -67
  141. package/dist/templates/web/ui-auth/template/src/app/globals.css +0 -42
  142. package/dist/templates/web/ui-auth/template/src/app/layout.tsx +0 -33
  143. package/dist/templates/web/ui-auth/template/src/app/loading.tsx +0 -20
  144. package/dist/templates/web/ui-auth/template/src/app/login/page.tsx +0 -109
  145. package/dist/templates/web/ui-auth/template/src/app/page.tsx +0 -129
  146. package/dist/templates/web/ui-auth/template/src/app/signup/page.tsx +0 -128
  147. package/dist/templates/web/ui-auth/template/src/components/__tests__/example.test.tsx +0 -49
  148. package/dist/templates/web/ui-auth/template/src/components/providers/app-providers.tsx +0 -29
  149. package/dist/templates/web/ui-auth/template/src/components/providers/theme-provider.tsx +0 -94
  150. package/dist/templates/web/ui-auth/template/src/components/shared/footer.tsx +0 -36
  151. package/dist/templates/web/ui-auth/template/src/components/shared/header.tsx +0 -53
  152. package/dist/templates/web/ui-auth/template/src/components/ui/badge.tsx +0 -36
  153. package/dist/templates/web/ui-auth/template/src/components/ui/theme-toggle.tsx +0 -34
  154. package/dist/templates/web/ui-auth/template/src/lib/env.ts +0 -49
  155. package/dist/templates/web/ui-auth/template/src/lib/utils.ts +0 -140
  156. package/dist/templates/web/ui-auth/template/src/test/setup.ts +0 -79
  157. package/dist/templates/web/ui-auth/template/tailwind.config.js +0 -77
  158. package/dist/templates/web/ui-auth/template/tsconfig.json +0 -33
  159. package/dist/templates/web/ui-auth/template/vitest.config.ts +0 -17
  160. package/dist/templates/web/ui-auth/template.backup/.env.example +0 -15
  161. package/dist/templates/web/ui-auth/template.backup.20250817/.env.example +0 -15
  162. package/dist/templates/web/ui-auth-payments/template/.env.example +0 -15
  163. package/dist/templates/web/ui-auth-payments/template/README.md +0 -165
  164. package/dist/templates/web/ui-auth-payments/template/next.config.js +0 -12
  165. package/dist/templates/web/ui-auth-payments/template/package.json +0 -52
  166. package/dist/templates/web/ui-auth-payments/template/postcss.config.js +0 -7
  167. package/dist/templates/web/ui-auth-payments/template/src/app/auth/callback/route.ts +0 -12
  168. package/dist/templates/web/ui-auth-payments/template/src/app/billing/page.tsx +0 -211
  169. package/dist/templates/web/ui-auth-payments/template/src/app/checkout/page.tsx +0 -142
  170. package/dist/templates/web/ui-auth-payments/template/src/app/error.tsx +0 -67
  171. package/dist/templates/web/ui-auth-payments/template/src/app/globals.css +0 -42
  172. package/dist/templates/web/ui-auth-payments/template/src/app/layout.tsx +0 -33
  173. package/dist/templates/web/ui-auth-payments/template/src/app/loading.tsx +0 -20
  174. package/dist/templates/web/ui-auth-payments/template/src/app/login/loading.tsx +0 -38
  175. package/dist/templates/web/ui-auth-payments/template/src/app/login/page.tsx +0 -109
  176. package/dist/templates/web/ui-auth-payments/template/src/app/page.tsx +0 -143
  177. package/dist/templates/web/ui-auth-payments/template/src/app/signup/loading.tsx +0 -50
  178. package/dist/templates/web/ui-auth-payments/template/src/app/signup/page.tsx +0 -128
  179. package/dist/templates/web/ui-auth-payments/template/src/components/__tests__/example.test.tsx +0 -49
  180. package/dist/templates/web/ui-auth-payments/template/src/components/client/newsletter-signup.tsx +0 -68
  181. package/dist/templates/web/ui-auth-payments/template/src/components/providers/app-providers.tsx +0 -32
  182. package/dist/templates/web/ui-auth-payments/template/src/components/providers/theme-provider.tsx +0 -94
  183. package/dist/templates/web/ui-auth-payments/template/src/components/shared/footer.tsx +0 -36
  184. package/dist/templates/web/ui-auth-payments/template/src/components/shared/header.tsx +0 -62
  185. package/dist/templates/web/ui-auth-payments/template/src/components/ui/badge.tsx +0 -36
  186. package/dist/templates/web/ui-auth-payments/template/src/components/ui/theme-toggle.tsx +0 -34
  187. package/dist/templates/web/ui-auth-payments/template/src/lib/actions/index.ts +0 -340
  188. package/dist/templates/web/ui-auth-payments/template/src/lib/auth-server.ts +0 -177
  189. package/dist/templates/web/ui-auth-payments/template/src/lib/env.ts +0 -49
  190. package/dist/templates/web/ui-auth-payments/template/src/lib/utils.ts +0 -140
  191. package/dist/templates/web/ui-auth-payments/template/src/test/setup.ts +0 -79
  192. package/dist/templates/web/ui-auth-payments/template/tailwind.config.js +0 -77
  193. package/dist/templates/web/ui-auth-payments/template/tsconfig.json +0 -33
  194. package/dist/templates/web/ui-auth-payments/template/vitest.config.ts +0 -17
  195. package/dist/templates/web/ui-auth-payments-audio/template/.env.example +0 -15
  196. package/dist/templates/web/ui-auth-payments-audio/template/README.md +0 -187
  197. package/dist/templates/web/ui-auth-payments-audio/template/next.config.js +0 -12
  198. package/dist/templates/web/ui-auth-payments-audio/template/package.json +0 -53
  199. package/dist/templates/web/ui-auth-payments-audio/template/postcss.config.js +0 -7
  200. package/dist/templates/web/ui-auth-payments-audio/template/src/app/auth/callback/route.ts +0 -12
  201. package/dist/templates/web/ui-auth-payments-audio/template/src/app/billing/page.tsx +0 -211
  202. package/dist/templates/web/ui-auth-payments-audio/template/src/app/checkout/page.tsx +0 -142
  203. package/dist/templates/web/ui-auth-payments-audio/template/src/app/error.tsx +0 -67
  204. package/dist/templates/web/ui-auth-payments-audio/template/src/app/globals.css +0 -42
  205. package/dist/templates/web/ui-auth-payments-audio/template/src/app/layout.tsx +0 -35
  206. package/dist/templates/web/ui-auth-payments-audio/template/src/app/loading.tsx +0 -20
  207. package/dist/templates/web/ui-auth-payments-audio/template/src/app/login/page.tsx +0 -109
  208. package/dist/templates/web/ui-auth-payments-audio/template/src/app/page.tsx +0 -181
  209. package/dist/templates/web/ui-auth-payments-audio/template/src/app/signup/page.tsx +0 -128
  210. package/dist/templates/web/ui-auth-payments-audio/template/src/components/__tests__/example.test.tsx +0 -49
  211. package/dist/templates/web/ui-auth-payments-audio/template/src/components/providers/app-providers.tsx +0 -32
  212. package/dist/templates/web/ui-auth-payments-audio/template/src/components/providers/theme-provider.tsx +0 -94
  213. package/dist/templates/web/ui-auth-payments-audio/template/src/components/shared/footer.tsx +0 -36
  214. package/dist/templates/web/ui-auth-payments-audio/template/src/components/shared/header.tsx +0 -62
  215. package/dist/templates/web/ui-auth-payments-audio/template/src/components/ui/badge.tsx +0 -36
  216. package/dist/templates/web/ui-auth-payments-audio/template/src/components/ui/theme-toggle.tsx +0 -34
  217. package/dist/templates/web/ui-auth-payments-audio/template/src/lib/env.ts +0 -49
  218. package/dist/templates/web/ui-auth-payments-audio/template/src/lib/utils.ts +0 -140
  219. package/dist/templates/web/ui-auth-payments-audio/template/src/test/setup.ts +0 -79
  220. package/dist/templates/web/ui-auth-payments-audio/template/tailwind.config.js +0 -77
  221. package/dist/templates/web/ui-auth-payments-audio/template/tsconfig.json +0 -33
  222. package/dist/templates/web/ui-auth-payments-audio/template/vitest.config.ts +0 -17
  223. package/dist/templates/web/ui-auth-payments-video/template/.env.example +0 -15
  224. package/dist/templates/web/ui-auth-payments-video/template/README.md +0 -190
  225. package/dist/templates/web/ui-auth-payments-video/template/next.config.js +0 -12
  226. package/dist/templates/web/ui-auth-payments-video/template/package.json +0 -53
  227. package/dist/templates/web/ui-auth-payments-video/template/postcss.config.js +0 -7
  228. package/dist/templates/web/ui-auth-payments-video/template/src/app/auth/callback/route.ts +0 -12
  229. package/dist/templates/web/ui-auth-payments-video/template/src/app/billing/page.tsx +0 -211
  230. package/dist/templates/web/ui-auth-payments-video/template/src/app/checkout/page.tsx +0 -142
  231. package/dist/templates/web/ui-auth-payments-video/template/src/app/error.tsx +0 -67
  232. package/dist/templates/web/ui-auth-payments-video/template/src/app/globals.css +0 -42
  233. package/dist/templates/web/ui-auth-payments-video/template/src/app/layout.tsx +0 -33
  234. package/dist/templates/web/ui-auth-payments-video/template/src/app/loading.tsx +0 -20
  235. package/dist/templates/web/ui-auth-payments-video/template/src/app/login/page.tsx +0 -109
  236. package/dist/templates/web/ui-auth-payments-video/template/src/app/page.tsx +0 -187
  237. package/dist/templates/web/ui-auth-payments-video/template/src/app/signup/page.tsx +0 -128
  238. package/dist/templates/web/ui-auth-payments-video/template/src/components/__tests__/example.test.tsx +0 -49
  239. package/dist/templates/web/ui-auth-payments-video/template/src/components/providers/app-providers.tsx +0 -32
  240. package/dist/templates/web/ui-auth-payments-video/template/src/components/providers/theme-provider.tsx +0 -94
  241. package/dist/templates/web/ui-auth-payments-video/template/src/components/shared/footer.tsx +0 -36
  242. package/dist/templates/web/ui-auth-payments-video/template/src/components/shared/header.tsx +0 -62
  243. package/dist/templates/web/ui-auth-payments-video/template/src/components/ui/badge.tsx +0 -36
  244. package/dist/templates/web/ui-auth-payments-video/template/src/components/ui/theme-toggle.tsx +0 -34
  245. package/dist/templates/web/ui-auth-payments-video/template/src/lib/env.ts +0 -49
  246. package/dist/templates/web/ui-auth-payments-video/template/src/lib/utils.ts +0 -140
  247. package/dist/templates/web/ui-auth-payments-video/template/src/test/setup.ts +0 -79
  248. package/dist/templates/web/ui-auth-payments-video/template/tailwind.config.js +0 -77
  249. package/dist/templates/web/ui-auth-payments-video/template/tsconfig.json +0 -33
  250. package/dist/templates/web/ui-auth-payments-video/template/vitest.config.ts +0 -17
  251. package/dist/templates/web/ui-only/template/.env.example +0 -15
  252. package/dist/templates/web/ui-only/template/.eslintrc.js +0 -8
  253. package/dist/templates/web/ui-only/template/README.md +0 -68
  254. package/dist/templates/web/ui-only/template/next.config.js +0 -12
  255. package/dist/templates/web/ui-only/template/package.json +0 -49
  256. package/dist/templates/web/ui-only/template/postcss.config.js +0 -7
  257. package/dist/templates/web/ui-only/template/src/app/auth/callback/route.ts +0 -12
  258. package/dist/templates/web/ui-only/template/src/app/checkout/page.tsx +0 -25
  259. package/dist/templates/web/ui-only/template/src/app/error.tsx +0 -67
  260. package/dist/templates/web/ui-only/template/src/app/globals.css +0 -42
  261. package/dist/templates/web/ui-only/template/src/app/layout.tsx +0 -33
  262. package/dist/templates/web/ui-only/template/src/app/loading.tsx +0 -20
  263. package/dist/templates/web/ui-only/template/src/app/login/page.tsx +0 -63
  264. package/dist/templates/web/ui-only/template/src/app/page.tsx +0 -91
  265. package/dist/templates/web/ui-only/template/src/app/signup/page.tsx +0 -79
  266. package/dist/templates/web/ui-only/template/src/components/__tests__/example.test.tsx +0 -49
  267. package/dist/templates/web/ui-only/template/src/components/providers/app-providers.tsx +0 -26
  268. package/dist/templates/web/ui-only/template/src/components/providers/theme-provider.tsx +0 -94
  269. package/dist/templates/web/ui-only/template/src/components/shared/footer.tsx +0 -36
  270. package/dist/templates/web/ui-only/template/src/components/shared/header.tsx +0 -53
  271. package/dist/templates/web/ui-only/template/src/components/ui/badge.tsx +0 -36
  272. package/dist/templates/web/ui-only/template/src/components/ui/theme-toggle.tsx +0 -34
  273. package/dist/templates/web/ui-only/template/src/lib/env.ts +0 -49
  274. package/dist/templates/web/ui-only/template/src/lib/utils.ts +0 -140
  275. package/dist/templates/web/ui-only/template/src/test/setup.ts +0 -79
  276. package/dist/templates/web/ui-only/template/tailwind.config.js +0 -77
  277. package/dist/templates/web/ui-only/template/tsconfig.json +0 -33
  278. package/dist/templates/web/ui-only/template/vitest.config.ts +0 -17
  279. package/dist/templates/web/ui-only/template.backup/.env.example +0 -15
  280. package/dist/templates/web/ui-only/template.backup.20250817/.env.example +0 -15
  281. package/dist/templates/web/ui-package-test/template/package.json +0 -42
  282. package/dist/templates/web/ui-package-test/template/src/app/page.tsx +0 -106
  283. package/dist/templates/web/ui-package-test/template/tsconfig.json +0 -41
  284. /package/{dist/templates/web/ui-auth-payments → src/templates/web/ui-auth-payments-audio}/template/middleware.ts +0 -0
  285. /package/{dist/templates/web/ui-auth-payments → src/templates/web/ui-auth-payments-audio}/template/src/app/dashboard/layout.tsx +0 -0
  286. /package/{dist/templates/web/ui-auth-payments → src/templates/web/ui-auth-payments-audio}/template/src/app/dashboard/page.tsx +0 -0
  287. /package/{dist/templates/web/ui-auth-payments → src/templates/web/ui-auth-payments-audio}/template/src/components/client/auth-status.tsx +0 -0
  288. /package/{dist/templates/web/ui-auth-payments → src/templates/web/ui-auth-payments-audio}/template/src/lib/actions/auth.ts +0 -0
  289. /package/{dist/templates/web/base → src/templates/web/ui-auth-payments-audio}/template/src/lib/auth-server.ts +0 -0
@@ -0,0 +1,251 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getProjectPrompts = getProjectPrompts;
7
+ exports.getAuthSetupPrompts = getAuthSetupPrompts;
8
+ exports.getThemeCustomizationPrompts = getThemeCustomizationPrompts;
9
+ const inquirer_1 = __importDefault(require("inquirer"));
10
+ const project_name_1 = require("../validators/project-name");
11
+ const logger_1 = require("../utils/logger");
12
+ async function getProjectPrompts(initialConfig) {
13
+ logger_1.logger.title('🛠️ Project Configuration');
14
+ const questions = [
15
+ {
16
+ type: 'input',
17
+ name: 'name',
18
+ message: 'Project name:',
19
+ default: initialConfig.name,
20
+ validate: (input) => {
21
+ if (!(0, project_name_1.validateProjectName)(input)) {
22
+ const suggestion = (0, project_name_1.suggestProjectName)(input);
23
+ return `Invalid project name. Try: ${suggestion}`;
24
+ }
25
+ return true;
26
+ },
27
+ filter: (input) => input.trim(),
28
+ },
29
+ {
30
+ type: 'list',
31
+ name: 'platform',
32
+ message: 'Select platform:',
33
+ choices: [
34
+ { name: '🌐 Web (Next.js)', value: 'web' },
35
+ { name: '📱 Mobile (Expo)', value: 'mobile' },
36
+ { name: '🚀 Both (Full-stack)', value: 'both' },
37
+ ],
38
+ default: initialConfig.platform,
39
+ },
40
+ {
41
+ type: 'list',
42
+ name: 'template',
43
+ message: 'Select template:',
44
+ choices: (answers) => {
45
+ if (answers.platform === 'web') {
46
+ return [
47
+ { name: '📄 Base - Clean starter template', value: 'base' },
48
+ {
49
+ name: '📦 UI Only - With @digilogiclabs/saas-factory-ui (no auth)',
50
+ value: 'ui-only',
51
+ },
52
+ {
53
+ name: '🔐 UI + Auth - With UI components and authentication',
54
+ value: 'ui-auth',
55
+ },
56
+ {
57
+ name: '💳 UI + Auth + Payments - Full SaaS with payments integration',
58
+ value: 'ui-auth-payments',
59
+ },
60
+ {
61
+ name: '🎵 Audio Player App - Full SaaS with audio streaming features',
62
+ value: 'ui-auth-payments-audio',
63
+ },
64
+ {
65
+ name: '🎬 Video Player App - Full SaaS with video streaming features',
66
+ value: 'ui-auth-payments-video',
67
+ },
68
+ { name: '📊 Dashboard - Admin dashboard with analytics', value: 'dashboard' },
69
+ { name: '💼 SaaS - Multi-tenant SaaS application', value: 'saas' },
70
+ ];
71
+ }
72
+ else if (answers.platform === 'mobile') {
73
+ return [
74
+ { name: '📱 Base - Simple mobile app', value: 'base' },
75
+ { name: '📑 Tabs - Tab navigation', value: 'tabs' },
76
+ { name: '📚 Stack - Stack navigation', value: 'stack' },
77
+ ];
78
+ }
79
+ else {
80
+ return [{ name: '🚀 Base - Web + Mobile starter', value: 'base' }];
81
+ }
82
+ },
83
+ default: initialConfig.template,
84
+ },
85
+ {
86
+ type: 'list',
87
+ name: 'auth',
88
+ message: 'Select authentication provider:',
89
+ choices: [
90
+ { name: '⚡ Supabase - Open source alternative', value: 'supabase' },
91
+ { name: "🔥 Firebase - Google's platform", value: 'firebase' },
92
+ ],
93
+ default: initialConfig.auth,
94
+ },
95
+ {
96
+ type: 'list',
97
+ name: 'database',
98
+ message: 'Select database provider:',
99
+ choices: (answers) => {
100
+ // Smart defaults based on auth choice
101
+ const choices = [
102
+ { name: '⚡ Supabase - PostgreSQL with real-time', value: 'supabase' },
103
+ { name: '🔥 Firebase - NoSQL with real-time', value: 'firebase' },
104
+ ];
105
+ // Suggest matching auth provider
106
+ if (answers.auth === 'firebase') {
107
+ return choices.reverse();
108
+ }
109
+ return choices;
110
+ },
111
+ default: (answers) => {
112
+ // Auto-match auth provider if possible, but prefer Supabase
113
+ return answers.auth === 'firebase' ? 'firebase' : 'supabase';
114
+ },
115
+ },
116
+ {
117
+ type: 'list',
118
+ name: 'theme',
119
+ message: 'Select theme:',
120
+ choices: [
121
+ { name: '🎨 Default - Clean and modern', value: 'default' },
122
+ { name: '🏢 Corporate - Professional business theme', value: 'corporate' },
123
+ { name: '🚀 Startup - Bold and innovative', value: 'startup' },
124
+ ],
125
+ default: initialConfig.theme,
126
+ },
127
+ {
128
+ type: 'list',
129
+ name: 'themeColor',
130
+ message: 'Select theme color:',
131
+ choices: [
132
+ { name: '🔵 Blue - Classic and trustworthy', value: 'blue' },
133
+ { name: '🟢 Green - Fresh and natural', value: 'green' },
134
+ { name: '🟣 Purple - Creative and modern', value: 'purple' },
135
+ { name: '🟠 Orange - Energetic and friendly', value: 'orange' },
136
+ { name: '🔴 Red - Bold and attention-grabbing', value: 'red' },
137
+ { name: '⚫ Slate - Professional and minimal', value: 'slate' },
138
+ ],
139
+ default: initialConfig.themeColor,
140
+ },
141
+ {
142
+ type: 'list',
143
+ name: 'defaultTheme',
144
+ message: 'Select default theme mode:',
145
+ choices: [
146
+ { name: '🌙 System - Follow system preference', value: 'system' },
147
+ { name: '☀️ Light - Always light mode', value: 'light' },
148
+ { name: '🌙 Dark - Always dark mode', value: 'dark' },
149
+ ],
150
+ default: initialConfig.defaultTheme,
151
+ },
152
+ {
153
+ type: 'confirm',
154
+ name: 'install',
155
+ message: 'Install dependencies?',
156
+ default: initialConfig.install,
157
+ },
158
+ {
159
+ type: 'confirm',
160
+ name: 'git',
161
+ message: 'Initialize git repository?',
162
+ default: initialConfig.git,
163
+ },
164
+ ];
165
+ const answers = await inquirer_1.default.prompt(questions);
166
+ return {
167
+ ...initialConfig,
168
+ ...answers,
169
+ };
170
+ }
171
+ async function getAuthSetupPrompts(authProvider) {
172
+ logger_1.logger.title(`🔐 ${authProvider} Configuration`);
173
+ if (authProvider === 'firebase') {
174
+ const questions = [
175
+ {
176
+ type: 'input',
177
+ name: 'projectId',
178
+ message: 'Firebase Project ID:',
179
+ validate: (input) => input.length > 0 || 'Project ID is required',
180
+ },
181
+ {
182
+ type: 'input',
183
+ name: 'apiKey',
184
+ message: 'Firebase API Key:',
185
+ validate: (input) => input.length > 0 || 'API Key is required',
186
+ },
187
+ {
188
+ type: 'input',
189
+ name: 'authDomain',
190
+ message: 'Firebase Auth Domain:',
191
+ validate: (input) => input.length > 0 || 'Auth Domain is required',
192
+ },
193
+ ];
194
+ return await inquirer_1.default.prompt(questions);
195
+ }
196
+ else if (authProvider === 'supabase') {
197
+ const questions = [
198
+ {
199
+ type: 'input',
200
+ name: 'url',
201
+ message: 'Supabase URL:',
202
+ validate: (input) => {
203
+ if (!input.length)
204
+ return 'URL is required';
205
+ if (!input.startsWith('https://'))
206
+ return 'URL must start with https://';
207
+ return true;
208
+ },
209
+ },
210
+ {
211
+ type: 'input',
212
+ name: 'anonKey',
213
+ message: 'Supabase Anon Key:',
214
+ validate: (input) => input.length > 0 || 'Anon Key is required',
215
+ },
216
+ ];
217
+ return await inquirer_1.default.prompt(questions);
218
+ }
219
+ return {};
220
+ }
221
+ async function getThemeCustomizationPrompts(theme) {
222
+ logger_1.logger.title(`🎨 ${theme} Theme Customization`);
223
+ const questions = [
224
+ {
225
+ type: 'input',
226
+ name: 'primaryColor',
227
+ message: 'Primary color (hex):',
228
+ default: theme === 'corporate' ? '#1e40af' : theme === 'startup' ? '#7c3aed' : '#3b82f6',
229
+ validate: (input) => {
230
+ if (!/^#[0-9A-F]{6}$/i.test(input)) {
231
+ return 'Please enter a valid hex color (e.g., #3b82f6)';
232
+ }
233
+ return true;
234
+ },
235
+ },
236
+ {
237
+ type: 'input',
238
+ name: 'fontFamily',
239
+ message: 'Font family:',
240
+ default: theme === 'corporate' ? 'Inter' : theme === 'startup' ? 'Poppins' : 'System UI',
241
+ },
242
+ {
243
+ type: 'confirm',
244
+ name: 'darkMode',
245
+ message: 'Enable dark mode support?',
246
+ default: true,
247
+ },
248
+ ];
249
+ return await inquirer_1.default.prompt(questions);
250
+ }
251
+ //# sourceMappingURL=project-setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-setup.js","sourceRoot":"","sources":["../../../src/cli/prompts/project-setup.ts"],"names":[],"mappings":";;;;;AAKA,8CAiKC;AAED,kDAkDC;AAED,oEA+BC;AA3PD,wDAAgC;AAEhC,6DAAqF;AACrF,4CAAyC;AAElC,KAAK,UAAU,iBAAiB,CAAC,aAA4B;IAClE,eAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAE3C,MAAM,SAAS,GAAG;QAChB;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,eAAe;YACxB,OAAO,EAAE,aAAa,CAAC,IAAI;YAC3B,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;gBAC1B,IAAI,CAAC,IAAA,kCAAmB,EAAC,KAAK,CAAC,EAAE,CAAC;oBAChC,MAAM,UAAU,GAAG,IAAA,iCAAkB,EAAC,KAAK,CAAC,CAAC;oBAC7C,OAAO,8BAA8B,UAAU,EAAE,CAAC;gBACpD,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE;SACxC;QACD;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,kBAAkB;YAC3B,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,KAAK,EAAE;gBAC1C,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,QAAQ,EAAE;gBAC7C,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,MAAM,EAAE;aAChD;YACD,OAAO,EAAE,aAAa,CAAC,QAAQ;SAChC;QACD;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,kBAAkB;YAC3B,OAAO,EAAE,CAAC,OAA6B,EAAE,EAAE;gBACzC,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;oBAC/B,OAAO;wBACL,EAAE,IAAI,EAAE,kCAAkC,EAAE,KAAK,EAAE,MAAM,EAAE;wBAC3D;4BACE,IAAI,EAAE,4DAA4D;4BAClE,KAAK,EAAE,SAAS;yBACjB;wBACD;4BACE,IAAI,EAAE,sDAAsD;4BAC5D,KAAK,EAAE,SAAS;yBACjB;wBACD;4BACE,IAAI,EAAE,+DAA+D;4BACrE,KAAK,EAAE,kBAAkB;yBAC1B;wBACD;4BACE,IAAI,EAAE,+DAA+D;4BACrE,KAAK,EAAE,wBAAwB;yBAChC;wBACD;4BACE,IAAI,EAAE,+DAA+D;4BACrE,KAAK,EAAE,wBAAwB;yBAChC;wBACD,EAAE,IAAI,EAAE,+CAA+C,EAAE,KAAK,EAAE,WAAW,EAAE;wBAC7E,EAAE,IAAI,EAAE,yCAAyC,EAAE,KAAK,EAAE,MAAM,EAAE;qBACnE,CAAC;gBACJ,CAAC;qBAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;oBACzC,OAAO;wBACL,EAAE,IAAI,EAAE,6BAA6B,EAAE,KAAK,EAAE,MAAM,EAAE;wBACtD,EAAE,IAAI,EAAE,0BAA0B,EAAE,KAAK,EAAE,MAAM,EAAE;wBACnD,EAAE,IAAI,EAAE,6BAA6B,EAAE,KAAK,EAAE,OAAO,EAAE;qBACxD,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,EAAE,IAAI,EAAE,gCAAgC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;gBACrE,CAAC;YACH,CAAC;YACD,OAAO,EAAE,aAAa,CAAC,QAAQ;SAChC;QACD;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,iCAAiC;YAC1C,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,sCAAsC,EAAE,KAAK,EAAE,UAAU,EAAE;gBACnE,EAAE,IAAI,EAAE,iCAAiC,EAAE,KAAK,EAAE,UAAU,EAAE;aAC/D;YACD,OAAO,EAAE,aAAa,CAAC,IAAI;SAC5B;QACD;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,2BAA2B;YACpC,OAAO,EAAE,CAAC,OAAyB,EAAE,EAAE;gBACrC,sCAAsC;gBACtC,MAAM,OAAO,GAAG;oBACd,EAAE,IAAI,EAAE,wCAAwC,EAAE,KAAK,EAAE,UAAU,EAAE;oBACrE,EAAE,IAAI,EAAE,oCAAoC,EAAE,KAAK,EAAE,UAAU,EAAE;iBAClE,CAAC;gBAEF,iCAAiC;gBACjC,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBAChC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;gBAC3B,CAAC;gBAED,OAAO,OAAO,CAAC;YACjB,CAAC;YACD,OAAO,EAAE,CAAC,OAAyB,EAAE,EAAE;gBACrC,4DAA4D;gBAC5D,OAAO,OAAO,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;YAC/D,CAAC;SACF;QACD;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,eAAe;YACxB,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,+BAA+B,EAAE,KAAK,EAAE,SAAS,EAAE;gBAC3D,EAAE,IAAI,EAAE,4CAA4C,EAAE,KAAK,EAAE,WAAW,EAAE;gBAC1E,EAAE,IAAI,EAAE,kCAAkC,EAAE,KAAK,EAAE,SAAS,EAAE;aAC/D;YACD,OAAO,EAAE,aAAa,CAAC,KAAK;SAC7B;QACD;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,qBAAqB;YAC9B,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,mCAAmC,EAAE,KAAK,EAAE,MAAM,EAAE;gBAC5D,EAAE,IAAI,EAAE,8BAA8B,EAAE,KAAK,EAAE,OAAO,EAAE;gBACxD,EAAE,IAAI,EAAE,iCAAiC,EAAE,KAAK,EAAE,QAAQ,EAAE;gBAC5D,EAAE,IAAI,EAAE,oCAAoC,EAAE,KAAK,EAAE,QAAQ,EAAE;gBAC/D,EAAE,IAAI,EAAE,sCAAsC,EAAE,KAAK,EAAE,KAAK,EAAE;gBAC9D,EAAE,IAAI,EAAE,oCAAoC,EAAE,KAAK,EAAE,OAAO,EAAE;aAC/D;YACD,OAAO,EAAE,aAAa,CAAC,UAAU;SAClC;QACD;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,4BAA4B;YACrC,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,sCAAsC,EAAE,KAAK,EAAE,QAAQ,EAAE;gBACjE,EAAE,IAAI,EAAE,8BAA8B,EAAE,KAAK,EAAE,OAAO,EAAE;gBACxD,EAAE,IAAI,EAAE,4BAA4B,EAAE,KAAK,EAAE,MAAM,EAAE;aACtD;YACD,OAAO,EAAE,aAAa,CAAC,YAAY;SACpC;QACD;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,uBAAuB;YAChC,OAAO,EAAE,aAAa,CAAC,OAAO;SAC/B;QACD;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,KAAK;YACX,OAAO,EAAE,4BAA4B;YACrC,OAAO,EAAE,aAAa,CAAC,GAAG;SAC3B;KACF,CAAC;IAEF,MAAM,OAAO,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAEjD,OAAO;QACL,GAAG,aAAa;QAChB,GAAG,OAAO;KACM,CAAC;AACrB,CAAC;AAEM,KAAK,UAAU,mBAAmB,CAAC,YAAoB;IAC5D,eAAM,CAAC,KAAK,CAAC,MAAM,YAAY,gBAAgB,CAAC,CAAC;IAEjD,IAAI,YAAY,KAAK,UAAU,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG;YAChB;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,sBAAsB;gBAC/B,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,wBAAwB;aAC1E;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,mBAAmB;gBAC5B,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,qBAAqB;aACvE;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,uBAAuB;gBAChC,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,yBAAyB;aAC3E;SACF,CAAC;QAEF,OAAO,MAAM,kBAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC1C,CAAC;SAAM,IAAI,YAAY,KAAK,UAAU,EAAE,CAAC;QACvC,MAAM,SAAS,GAAG;YAChB;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,eAAe;gBACxB,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;oBAC1B,IAAI,CAAC,KAAK,CAAC,MAAM;wBAAE,OAAO,iBAAiB,CAAC;oBAC5C,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC;wBAAE,OAAO,8BAA8B,CAAC;oBACzE,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,oBAAoB;gBAC7B,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,sBAAsB;aACxE;SACF,CAAC;QAEF,OAAO,MAAM,kBAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAEM,KAAK,UAAU,4BAA4B,CAAC,KAAa;IAC9D,eAAM,CAAC,KAAK,CAAC,MAAM,KAAK,sBAAsB,CAAC,CAAC;IAEhD,MAAM,SAAS,GAAG;QAChB;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,sBAAsB;YAC/B,OAAO,EAAE,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YACxF,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;gBAC1B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBACnC,OAAO,gDAAgD,CAAC;gBAC1D,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;SACF;QACD;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,cAAc;YACvB,OAAO,EAAE,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW;SACzF;QACD;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,2BAA2B;YACpC,OAAO,EAAE,IAAI;SACd;KACF,CAAC;IAEF,OAAO,MAAM,kBAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAC1C,CAAC"}
@@ -0,0 +1,9 @@
1
+ export declare function initializeGit(projectPath: string): Promise<void>;
2
+ export declare function isGitRepository(projectPath: string): Promise<boolean>;
3
+ export declare function getGitUserInfo(): Promise<{
4
+ name?: string;
5
+ email?: string;
6
+ }>;
7
+ export declare function hasGitChanges(projectPath: string): Promise<boolean>;
8
+ export declare function commitChanges(projectPath: string, message: string): Promise<void>;
9
+ //# sourceMappingURL=git.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/git.ts"],"names":[],"mappings":"AAKA,wBAAsB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBtE;AAED,wBAAsB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAO3E;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAcjF;AAED,wBAAsB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOzE;AAED,wBAAsB,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQvF"}
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.initializeGit = initializeGit;
7
+ exports.isGitRepository = isGitRepository;
8
+ exports.getGitUserInfo = getGitUserInfo;
9
+ exports.hasGitChanges = hasGitChanges;
10
+ exports.commitChanges = commitChanges;
11
+ const execa_1 = __importDefault(require("execa"));
12
+ const path_1 = __importDefault(require("path"));
13
+ const fs_extra_1 = __importDefault(require("fs-extra"));
14
+ const logger_1 = require("./logger");
15
+ async function initializeGit(projectPath) {
16
+ try {
17
+ // Check if git is available
18
+ await (0, execa_1.default)('git', ['--version']);
19
+ // Initialize git repository
20
+ await (0, execa_1.default)('git', ['init'], { cwd: projectPath });
21
+ // Add all files
22
+ await (0, execa_1.default)('git', ['add', '.'], { cwd: projectPath });
23
+ // Create initial commit
24
+ await (0, execa_1.default)('git', ['commit', '-m', 'Initial commit from @digilogiclabs/create-saas-app'], {
25
+ cwd: projectPath,
26
+ });
27
+ logger_1.logger.debug('Git repository initialized successfully');
28
+ }
29
+ catch (error) {
30
+ logger_1.logger.warn('Git initialization failed. You can initialize it manually later.');
31
+ logger_1.logger.debug('Git error:', error);
32
+ }
33
+ }
34
+ async function isGitRepository(projectPath) {
35
+ try {
36
+ const gitDir = path_1.default.join(projectPath, '.git');
37
+ return await fs_extra_1.default.pathExists(gitDir);
38
+ }
39
+ catch {
40
+ return false;
41
+ }
42
+ }
43
+ async function getGitUserInfo() {
44
+ try {
45
+ const [nameResult, emailResult] = await Promise.allSettled([
46
+ (0, execa_1.default)('git', ['config', '--global', 'user.name']),
47
+ (0, execa_1.default)('git', ['config', '--global', 'user.email']),
48
+ ]);
49
+ return {
50
+ name: nameResult.status === 'fulfilled' ? nameResult.value.stdout : undefined,
51
+ email: emailResult.status === 'fulfilled' ? emailResult.value.stdout : undefined,
52
+ };
53
+ }
54
+ catch {
55
+ return {};
56
+ }
57
+ }
58
+ async function hasGitChanges(projectPath) {
59
+ try {
60
+ const result = await (0, execa_1.default)('git', ['status', '--porcelain'], { cwd: projectPath });
61
+ return result.stdout.trim().length > 0;
62
+ }
63
+ catch {
64
+ return false;
65
+ }
66
+ }
67
+ async function commitChanges(projectPath, message) {
68
+ try {
69
+ await (0, execa_1.default)('git', ['add', '.'], { cwd: projectPath });
70
+ await (0, execa_1.default)('git', ['commit', '-m', message], { cwd: projectPath });
71
+ }
72
+ catch (error) {
73
+ logger_1.logger.warn('Failed to commit changes');
74
+ logger_1.logger.debug('Git commit error:', error);
75
+ }
76
+ }
77
+ //# sourceMappingURL=git.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../../src/cli/utils/git.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export * from './logger';
2
+ export * from './spinner';
3
+ export * from './git';
4
+ export * from './package-manager';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./logger"), exports);
18
+ __exportStar(require("./spinner"), exports);
19
+ __exportStar(require("./git"), exports);
20
+ __exportStar(require("./package-manager"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,4CAA0B;AAC1B,wCAAsB;AACtB,oDAAkC"}
@@ -0,0 +1,16 @@
1
+ export declare const logger: {
2
+ info: (message: string, ...args: unknown[]) => void;
3
+ success: (message: string, ...args: unknown[]) => void;
4
+ warn: (message: string, ...args: unknown[]) => void;
5
+ error: (message: string, ...args: unknown[]) => void;
6
+ debug: (message: string, ...args: unknown[]) => void;
7
+ log: (message: string, ...args: unknown[]) => void;
8
+ newLine: () => void;
9
+ divider: () => void;
10
+ title: (message: string) => void;
11
+ step: (step: number, total: number, message: string) => void;
12
+ highlight: (message: string) => void;
13
+ code: (code: string) => void;
14
+ list: (items: string[]) => void;
15
+ };
16
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/logger.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM;oBACD,MAAM,WAAW,OAAO,EAAE;uBAIvB,MAAM,WAAW,OAAO,EAAE;oBAI7B,MAAM,WAAW,OAAO,EAAE;qBAIzB,MAAM,WAAW,OAAO,EAAE;qBAI1B,MAAM,WAAW,OAAO,EAAE;mBAM5B,MAAM,WAAW,OAAO,EAAE;;;qBAYxB,MAAM;iBAMV,MAAM,SAAS,MAAM,WAAW,MAAM;yBAI9B,MAAM;iBAId,MAAM;kBAIL,MAAM,EAAE;CAKvB,CAAC"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.logger = void 0;
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ exports.logger = {
9
+ info: (message, ...args) => {
10
+ console.log(chalk_1.default.blue('ℹ'), message, ...args);
11
+ },
12
+ success: (message, ...args) => {
13
+ console.log(chalk_1.default.green('✓'), message, ...args);
14
+ },
15
+ warn: (message, ...args) => {
16
+ console.log(chalk_1.default.yellow('⚠'), message, ...args);
17
+ },
18
+ error: (message, ...args) => {
19
+ console.log(chalk_1.default.red('✗'), message, ...args);
20
+ },
21
+ debug: (message, ...args) => {
22
+ if (process.env.DEBUG) {
23
+ console.log(chalk_1.default.gray('🐛'), message, ...args);
24
+ }
25
+ },
26
+ log: (message, ...args) => {
27
+ console.log(message, ...args);
28
+ },
29
+ newLine: () => {
30
+ console.log();
31
+ },
32
+ divider: () => {
33
+ console.log(chalk_1.default.gray('─'.repeat(50)));
34
+ },
35
+ title: (message) => {
36
+ console.log();
37
+ console.log(chalk_1.default.bold.cyan(message));
38
+ console.log(chalk_1.default.gray('─'.repeat(message.length)));
39
+ },
40
+ step: (step, total, message) => {
41
+ console.log(chalk_1.default.cyan(`[${step}/${total}]`), message);
42
+ },
43
+ highlight: (message) => {
44
+ console.log(chalk_1.default.bold.magenta(message));
45
+ },
46
+ code: (code) => {
47
+ console.log(chalk_1.default.gray(' ' + code));
48
+ },
49
+ list: (items) => {
50
+ items.forEach((item) => {
51
+ console.log(chalk_1.default.gray(' •'), item);
52
+ });
53
+ },
54
+ };
55
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/cli/utils/logger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export type PackageManager = 'npm' | 'yarn' | 'pnpm';
2
+ export declare function detectPackageManager(projectPath?: string): Promise<PackageManager>;
3
+ export declare function getInstallCommand(packageManager: PackageManager): Promise<string[]>;
4
+ export declare function getAddCommand(packageManager: PackageManager, packages: string[], dev?: boolean): Promise<string[]>;
5
+ export declare function getRunCommand(packageManager: PackageManager, script: string): Promise<string[]>;
6
+ export declare function isPackageManagerAvailable(packageManager: PackageManager): Promise<boolean>;
7
+ export declare function getPackageManagerDisplayName(packageManager: PackageManager): string;
8
+ //# sourceMappingURL=package-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package-manager.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/package-manager.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;AAErD,wBAAsB,oBAAoB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CA8BxF;AAED,wBAAsB,iBAAiB,CAAC,cAAc,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CASzF;AAED,wBAAsB,aAAa,CACjC,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,MAAM,EAAE,EAClB,GAAG,UAAQ,GACV,OAAO,CAAC,MAAM,EAAE,CAAC,CAWnB;AAED,wBAAsB,aAAa,CACjC,cAAc,EAAE,cAAc,EAC9B,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,EAAE,CAAC,CASnB;AAED,wBAAsB,yBAAyB,CAAC,cAAc,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAOhG;AAED,wBAAgB,4BAA4B,CAAC,cAAc,EAAE,cAAc,GAAG,MAAM,CASnF"}
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.detectPackageManager = detectPackageManager;
7
+ exports.getInstallCommand = getInstallCommand;
8
+ exports.getAddCommand = getAddCommand;
9
+ exports.getRunCommand = getRunCommand;
10
+ exports.isPackageManagerAvailable = isPackageManagerAvailable;
11
+ exports.getPackageManagerDisplayName = getPackageManagerDisplayName;
12
+ const execa_1 = __importDefault(require("execa"));
13
+ const fs_extra_1 = __importDefault(require("fs-extra"));
14
+ const path_1 = __importDefault(require("path"));
15
+ async function detectPackageManager(projectPath) {
16
+ const cwd = projectPath || process.cwd();
17
+ // Check for lock files
18
+ const lockFiles = [
19
+ { file: 'pnpm-lock.yaml', manager: 'pnpm' },
20
+ { file: 'yarn.lock', manager: 'yarn' },
21
+ { file: 'package-lock.json', manager: 'npm' },
22
+ ];
23
+ for (const { file, manager } of lockFiles) {
24
+ if (await fs_extra_1.default.pathExists(path_1.default.join(cwd, file))) {
25
+ return manager;
26
+ }
27
+ }
28
+ // Check for package manager availability
29
+ const managers = ['pnpm', 'yarn', 'npm'];
30
+ for (const manager of managers) {
31
+ try {
32
+ await (0, execa_1.default)(manager, ['--version']);
33
+ return manager;
34
+ }
35
+ catch {
36
+ // Continue to next manager
37
+ }
38
+ }
39
+ // Default to npm
40
+ return 'npm';
41
+ }
42
+ async function getInstallCommand(packageManager) {
43
+ switch (packageManager) {
44
+ case 'yarn':
45
+ return ['yarn', 'install'];
46
+ case 'pnpm':
47
+ return ['pnpm', 'install'];
48
+ default:
49
+ return ['npm', 'install'];
50
+ }
51
+ }
52
+ async function getAddCommand(packageManager, packages, dev = false) {
53
+ const devFlag = dev ? (packageManager === 'npm' ? '--save-dev' : '-D') : '';
54
+ switch (packageManager) {
55
+ case 'yarn':
56
+ return ['yarn', 'add', ...(dev ? ['-D'] : []), ...packages];
57
+ case 'pnpm':
58
+ return ['pnpm', 'add', ...(dev ? ['-D'] : []), ...packages];
59
+ default:
60
+ return ['npm', 'install', ...(devFlag ? [devFlag] : []), ...packages];
61
+ }
62
+ }
63
+ async function getRunCommand(packageManager, script) {
64
+ switch (packageManager) {
65
+ case 'yarn':
66
+ return ['yarn', script];
67
+ case 'pnpm':
68
+ return ['pnpm', script];
69
+ default:
70
+ return ['npm', 'run', script];
71
+ }
72
+ }
73
+ async function isPackageManagerAvailable(packageManager) {
74
+ try {
75
+ await (0, execa_1.default)(packageManager, ['--version']);
76
+ return true;
77
+ }
78
+ catch {
79
+ return false;
80
+ }
81
+ }
82
+ function getPackageManagerDisplayName(packageManager) {
83
+ switch (packageManager) {
84
+ case 'yarn':
85
+ return 'Yarn';
86
+ case 'pnpm':
87
+ return 'pnpm';
88
+ default:
89
+ return 'npm';
90
+ }
91
+ }
92
+ //# sourceMappingURL=package-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package-manager.js","sourceRoot":"","sources":["../../../src/cli/utils/package-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { Ora } from 'ora';
2
+ export declare function spinner(text: string): Ora;
3
+ export declare function createSpinner(text: string): Ora;
4
+ export declare function successSpinner(text: string): Ora;
5
+ export declare function errorSpinner(text: string): Ora;
6
+ export declare function warnSpinner(text: string): Ora;
7
+ //# sourceMappingURL=spinner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spinner.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/spinner.ts"],"names":[],"mappings":"AAAA,OAAY,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAG/B,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAMzC;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAM/C;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAMhD;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAM9C;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAM7C"}