deploy-bbc 1.2.1 → 1.2.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 (243) hide show
  1. package/README.md +142 -281
  2. package/dist/index.js +16870 -0
  3. package/dist/templates/base/.env.example +3 -0
  4. package/dist/templates/base/package.json +20 -0
  5. package/dist/templates/base/src/config/index.ts +8 -0
  6. package/dist/templates/base/src/routes/index.ts +12 -0
  7. package/dist/templates/base/src/types/index.ts +2 -0
  8. package/dist/templates/base-bun-native/.env.example +3 -0
  9. package/dist/templates/base-bun-native/package.json +19 -0
  10. package/dist/templates/base-bun-native/src/config/index.ts +8 -0
  11. package/dist/templates/base-bun-native/src/index.ts +50 -0
  12. package/dist/templates/base-bun-native/src/routes/index.ts +21 -0
  13. package/dist/templates/base-bun-native/src/types/index.ts +2 -0
  14. package/dist/templates/base-express/.env.example +3 -0
  15. package/dist/templates/base-express/package.json +21 -0
  16. package/dist/templates/base-express/src/config/index.ts +8 -0
  17. package/dist/templates/base-express/src/routes/index.ts +12 -0
  18. package/dist/templates/base-express/src/types/index.ts +2 -0
  19. package/dist/templates/templates/base/README.md +31 -0
  20. package/dist/templates/templates/base/src/index.ts +26 -0
  21. package/dist/templates/templates/base/src/middleware/error.ts +13 -0
  22. package/dist/templates/templates/base/src/middleware/logger.ts +8 -0
  23. package/dist/templates/templates/base/src/utils/env.ts +5 -0
  24. package/dist/templates/templates/base/tsconfig.json +20 -0
  25. package/dist/templates/templates/base-bun-native/README.md +31 -0
  26. package/dist/templates/templates/base-bun-native/src/middleware/error.ts +20 -0
  27. package/dist/templates/templates/base-bun-native/src/middleware/logger.ts +6 -0
  28. package/dist/templates/templates/base-bun-native/src/utils/env.ts +5 -0
  29. package/dist/templates/templates/base-bun-native/tsconfig.json +20 -0
  30. package/dist/templates/templates/base-express/README.md +31 -0
  31. package/dist/templates/templates/base-express/src/index.ts +27 -0
  32. package/dist/templates/templates/base-express/src/middleware/error.ts +15 -0
  33. package/dist/templates/templates/base-express/src/middleware/logger.ts +12 -0
  34. package/dist/templates/templates/base-express/src/utils/env.ts +5 -0
  35. package/dist/templates/templates/base-express/tsconfig.json +20 -0
  36. package/dist/templates/templates/extras/ai/anthropic/src/services/ai/anthropic.ts +0 -0
  37. package/dist/templates/templates/extras/ai/gemini/src/services/ai/gemini.ts +0 -0
  38. package/dist/templates/templates/extras/ai/openai/src/routes/ai/chat.ts +0 -0
  39. package/dist/templates/templates/extras/ai/openai/src/services/ai/openai.ts +0 -0
  40. package/dist/templates/templates/extras/ai/vercel-ai/src/routes/ai/generate.ts +0 -0
  41. package/dist/templates/templates/extras/ai/vercel-ai/src/routes/ai/stream.ts +0 -0
  42. package/dist/templates/templates/extras/ai/vercel-ai/src/services/ai/index.ts +0 -0
  43. package/dist/templates/templates/extras/auth/jwt/src/middleware/auth.ts +0 -0
  44. package/dist/templates/templates/extras/auth/jwt/src/routes/auth.ts +0 -0
  45. package/dist/templates/templates/extras/auth/jwt/src/utils/jwt.ts +0 -0
  46. package/dist/templates/templates/extras/auth/oauth/src/config/oauth.ts +0 -0
  47. package/dist/templates/templates/extras/auth/oauth/src/routes/auth.ts +0 -0
  48. package/dist/templates/templates/extras/auth/session/src/config/session.ts +0 -0
  49. package/dist/templates/templates/extras/auth/session/src/middleware/session.ts +0 -0
  50. package/dist/templates/templates/extras/cloud/aws/src/services/aws/s3.ts +0 -0
  51. package/dist/templates/templates/extras/cloud/aws/src/services/aws/ses.ts +0 -0
  52. package/dist/templates/templates/extras/cloud/azure/src/services/azure/blob.ts +0 -0
  53. package/dist/templates/templates/extras/cloud/cloudflare-r2/src/services/cloudflare/r2.ts +0 -0
  54. package/dist/templates/templates/extras/cloud/gcp/src/services/gcp/storage.ts +0 -0
  55. package/dist/templates/templates/extras/database/mongodb/src/db/index.ts +0 -0
  56. package/dist/templates/templates/extras/database/mongodb/src/db/models/user.model.ts +0 -0
  57. package/dist/templates/templates/extras/database/mysql/drizzle.config.ts +0 -0
  58. package/dist/templates/templates/extras/database/postgres/src/db/index.ts +0 -0
  59. package/dist/templates/templates/extras/database/redis/src/db/redis.ts +0 -0
  60. package/dist/templates/templates/extras/docs/scalar/src/openapi/index.ts +0 -0
  61. package/dist/templates/templates/extras/docs/scalar/src/routes/docs.ts +0 -0
  62. package/dist/templates/templates/extras/docs/swagger/src/openapi/index.ts +0 -0
  63. package/dist/templates/templates/extras/docs/swagger/src/routes/docs.ts +0 -0
  64. package/dist/templates/templates/extras/email/nodemailer/src/services/email/nodemailer.ts +0 -0
  65. package/dist/templates/templates/extras/email/resend/src/services/email/resend.ts +0 -0
  66. package/dist/templates/templates/extras/email/resend/src/templates/email/welcome.ts +0 -0
  67. package/dist/templates/templates/extras/email/sendgrid/src/services/email/sendgrid.ts +0 -0
  68. package/dist/templates/templates/extras/observability/logtail/src/config/logger.ts +0 -0
  69. package/dist/templates/templates/extras/observability/sentry/src/config/sentry.ts +0 -0
  70. package/dist/templates/templates/extras/observability/sentry/src/middleware/sentry.ts +0 -0
  71. package/dist/templates/templates/extras/queue/bullmq/src/queue/index.ts +0 -0
  72. package/dist/templates/templates/extras/queue/bullmq/src/queue/jobs/email.job.ts +0 -0
  73. package/dist/templates/templates/extras/queue/bullmq/src/queue/processors/email.processor.ts +0 -0
  74. package/dist/templates/templates/extras/queue/bullmq/src/routes/queue.ts +0 -0
  75. package/dist/templates/templates/extras/queue/inngest/src/inngest/client.ts +0 -0
  76. package/dist/templates/templates/extras/queue/inngest/src/inngest/functions/email.ts +0 -0
  77. package/dist/templates/templates/extras/queue/inngest/src/routes/inngest.ts +0 -0
  78. package/dist/templates/templates/extras/realtime/socketio/src/socket/handlers.ts +0 -0
  79. package/dist/templates/templates/extras/realtime/socketio/src/socket/index.ts +0 -0
  80. package/dist/templates/templates/extras/realtime/sse/src/routes/sse.ts +0 -0
  81. package/dist/templates/templates/extras/testing/vitest/src/__tests__/example.test.ts +0 -0
  82. package/dist/templates/templates/extras/testing/vitest/src/__tests__/setup.ts +0 -0
  83. package/dist/templates/templates/extras/testing/vitest/vitest.config.ts +0 -0
  84. package/dist/templates/templates/extras/validation/yup/src/middleware/index.ts +1 -0
  85. package/dist/templates/templates/extras/validation/yup/src/middleware/validate.ts +83 -0
  86. package/dist/templates/templates/extras/validation/yup/src/routes/users.ts +132 -0
  87. package/dist/templates/templates/extras/validation/zod/src/middleware/index.ts +1 -0
  88. package/dist/templates/templates/extras/validation/zod/src/middleware/validate.ts +80 -0
  89. package/dist/templates/templates/extras/validation/zod/src/routes/users.ts +128 -0
  90. package/package.json +43 -9
  91. package/.cspell.json +0 -38
  92. package/CLAUDE.md +0 -403
  93. package/cli/README.md +0 -345
  94. package/cli/package.json +0 -54
  95. package/cli/src/cli/index.ts +0 -454
  96. package/cli/src/helpers/create-project.ts +0 -66
  97. package/cli/src/helpers/generate-docker-compose.ts +0 -133
  98. package/cli/src/helpers/generate-dockerfile.ts +0 -45
  99. package/cli/src/helpers/init-git.ts +0 -33
  100. package/cli/src/helpers/install-dependencies.ts +0 -28
  101. package/cli/src/helpers/log-next-steps.ts +0 -87
  102. package/cli/src/helpers/scaffold-project.ts +0 -88
  103. package/cli/src/index.ts +0 -18
  104. package/cli/src/installers/ai.ts +0 -123
  105. package/cli/src/installers/auth.ts +0 -132
  106. package/cli/src/installers/base.ts +0 -16
  107. package/cli/src/installers/cloud.ts +0 -127
  108. package/cli/src/installers/database.ts +0 -212
  109. package/cli/src/installers/docs.ts +0 -93
  110. package/cli/src/installers/email.ts +0 -119
  111. package/cli/src/installers/env-variables.ts +0 -27
  112. package/cli/src/installers/index.ts +0 -145
  113. package/cli/src/installers/observability.ts +0 -103
  114. package/cli/src/installers/queue.ts +0 -103
  115. package/cli/src/installers/ratelimit.ts +0 -98
  116. package/cli/src/installers/realtime.ts +0 -79
  117. package/cli/src/installers/testing.ts +0 -88
  118. package/cli/src/installers/validation.ts +0 -85
  119. package/cli/src/types/index.ts +0 -126
  120. package/cli/src/utils/add-package-dependency.ts +0 -56
  121. package/cli/src/utils/dependency-version-map.ts +0 -85
  122. package/cli/src/utils/logger.ts +0 -19
  123. package/cli/src/utils/parse-name-and-path.ts +0 -71
  124. package/cli/src/utils/render-title.ts +0 -11
  125. package/cli/tsconfig.json +0 -35
  126. package/test-cli.sh +0 -56
  127. package/tsconfig.json +0 -15
  128. /package/{cli/src → dist}/templates/base/README.md +0 -0
  129. /package/{cli/src → dist}/templates/base/src/index.ts +0 -0
  130. /package/{cli/src → dist}/templates/base/src/middleware/error.ts +0 -0
  131. /package/{cli/src → dist}/templates/base/src/middleware/logger.ts +0 -0
  132. /package/{cli/src → dist}/templates/base/src/utils/env.ts +0 -0
  133. /package/{cli/src → dist}/templates/base/tsconfig.json +0 -0
  134. /package/{cli/src → dist}/templates/base-bun-native/README.md +0 -0
  135. /package/{cli/src → dist}/templates/base-bun-native/src/middleware/error.ts +0 -0
  136. /package/{cli/src → dist}/templates/base-bun-native/src/middleware/logger.ts +0 -0
  137. /package/{cli/src → dist}/templates/base-bun-native/src/utils/env.ts +0 -0
  138. /package/{cli/src → dist}/templates/base-bun-native/tsconfig.json +0 -0
  139. /package/{cli/src → dist}/templates/base-express/README.md +0 -0
  140. /package/{cli/src → dist}/templates/base-express/src/index.ts +0 -0
  141. /package/{cli/src → dist}/templates/base-express/src/middleware/error.ts +0 -0
  142. /package/{cli/src → dist}/templates/base-express/src/middleware/logger.ts +0 -0
  143. /package/{cli/src → dist}/templates/base-express/src/utils/env.ts +0 -0
  144. /package/{cli/src → dist}/templates/base-express/tsconfig.json +0 -0
  145. /package/{cli/src → dist}/templates/extras/ai/anthropic/src/routes/ai/claude.ts +0 -0
  146. /package/{cli/src → dist}/templates/extras/ai/anthropic/src/services/ai/anthropic.ts +0 -0
  147. /package/{cli/src → dist}/templates/extras/ai/gemini/src/services/ai/gemini.ts +0 -0
  148. /package/{cli/src → dist}/templates/extras/ai/openai/src/routes/ai/chat.ts +0 -0
  149. /package/{cli/src → dist}/templates/extras/ai/openai/src/services/ai/openai.ts +0 -0
  150. /package/{cli/src → dist}/templates/extras/ai/vercel-ai/src/routes/ai/generate.ts +0 -0
  151. /package/{cli/src → dist}/templates/extras/ai/vercel-ai/src/routes/ai/stream.ts +0 -0
  152. /package/{cli/src → dist}/templates/extras/ai/vercel-ai/src/services/ai/index.ts +0 -0
  153. /package/{cli/src → dist}/templates/extras/auth/jwt/src/middleware/auth.ts +0 -0
  154. /package/{cli/src → dist}/templates/extras/auth/jwt/src/routes/auth.ts +0 -0
  155. /package/{cli/src → dist}/templates/extras/auth/jwt/src/utils/jwt.ts +0 -0
  156. /package/{cli/src → dist}/templates/extras/auth/oauth/src/config/oauth.ts +0 -0
  157. /package/{cli/src → dist}/templates/extras/auth/oauth/src/routes/auth.ts +0 -0
  158. /package/{cli/src → dist}/templates/extras/auth/session/src/config/session.ts +0 -0
  159. /package/{cli/src → dist}/templates/extras/auth/session/src/middleware/session.ts +0 -0
  160. /package/{cli/src → dist}/templates/extras/cloud/aws/src/services/aws/s3.ts +0 -0
  161. /package/{cli/src → dist}/templates/extras/cloud/aws/src/services/aws/ses.ts +0 -0
  162. /package/{cli/src → dist}/templates/extras/cloud/azure/src/services/azure/blob.ts +0 -0
  163. /package/{cli/src → dist}/templates/extras/cloud/cloudflare-r2/src/services/cloudflare/r2.ts +0 -0
  164. /package/{cli/src → dist}/templates/extras/cloud/gcp/src/services/gcp/storage.ts +0 -0
  165. /package/{cli/src → dist}/templates/extras/database/mongodb/src/db/index.ts +0 -0
  166. /package/{cli/src → dist}/templates/extras/database/mongodb/src/db/models/user.model.ts +0 -0
  167. /package/{cli/src → dist}/templates/extras/database/mysql/drizzle.config.ts +0 -0
  168. /package/{cli/src → dist}/templates/extras/database/postgres/src/db/index.ts +0 -0
  169. /package/{cli/src → dist}/templates/extras/database/redis/src/db/redis.ts +0 -0
  170. /package/{cli/src → dist}/templates/extras/docs/scalar/src/openapi/index.ts +0 -0
  171. /package/{cli/src → dist}/templates/extras/docs/scalar/src/routes/docs.ts +0 -0
  172. /package/{cli/src → dist}/templates/extras/docs/swagger/src/openapi/index.ts +0 -0
  173. /package/{cli/src → dist}/templates/extras/docs/swagger/src/routes/docs.ts +0 -0
  174. /package/{cli/src → dist}/templates/extras/email/nodemailer/src/services/email/nodemailer.ts +0 -0
  175. /package/{cli/src → dist}/templates/extras/email/resend/src/services/email/resend.ts +0 -0
  176. /package/{cli/src → dist}/templates/extras/email/resend/src/templates/email/welcome.ts +0 -0
  177. /package/{cli/src → dist}/templates/extras/email/sendgrid/src/services/email/sendgrid.ts +0 -0
  178. /package/{cli/src → dist}/templates/extras/observability/logtail/src/config/logger.ts +0 -0
  179. /package/{cli/src → dist}/templates/extras/observability/sentry/src/config/sentry.ts +0 -0
  180. /package/{cli/src → dist}/templates/extras/observability/sentry/src/middleware/sentry.ts +0 -0
  181. /package/{cli/src → dist}/templates/extras/queue/bullmq/src/queue/index.ts +0 -0
  182. /package/{cli/src → dist}/templates/extras/queue/bullmq/src/queue/jobs/email.job.ts +0 -0
  183. /package/{cli/src → dist}/templates/extras/queue/bullmq/src/queue/processors/email.processor.ts +0 -0
  184. /package/{cli/src → dist}/templates/extras/queue/bullmq/src/routes/queue.ts +0 -0
  185. /package/{cli/src → dist}/templates/extras/queue/inngest/src/inngest/client.ts +0 -0
  186. /package/{cli/src → dist}/templates/extras/queue/inngest/src/inngest/functions/email.ts +0 -0
  187. /package/{cli/src → dist}/templates/extras/queue/inngest/src/routes/inngest.ts +0 -0
  188. /package/{cli/src → dist}/templates/extras/realtime/socketio/src/socket/handlers.ts +0 -0
  189. /package/{cli/src → dist}/templates/extras/realtime/socketio/src/socket/index.ts +0 -0
  190. /package/{cli/src → dist}/templates/extras/realtime/sse/src/routes/sse.ts +0 -0
  191. /package/{cli/src → dist}/templates/extras/testing/vitest/src/__tests__/example.test.ts +0 -0
  192. /package/{cli/src → dist}/templates/extras/testing/vitest/src/__tests__/setup.ts +0 -0
  193. /package/{cli/src → dist}/templates/extras/testing/vitest/vitest.config.ts +0 -0
  194. /package/{cli/src → dist}/templates/extras/validation/yup/src/middleware/index.ts +0 -0
  195. /package/{cli/src → dist}/templates/extras/validation/yup/src/middleware/validate.ts +0 -0
  196. /package/{cli/src → dist}/templates/extras/validation/yup/src/routes/users.ts +0 -0
  197. /package/{cli/src → dist}/templates/extras/validation/zod/src/middleware/index.ts +0 -0
  198. /package/{cli/src → dist}/templates/extras/validation/zod/src/middleware/validate.ts +0 -0
  199. /package/{cli/src → dist}/templates/extras/validation/zod/src/routes/users.ts +0 -0
  200. /package/{cli/src → dist/templates}/templates/base/.env.example +0 -0
  201. /package/{cli/src → dist/templates}/templates/base/package.json +0 -0
  202. /package/{cli/src → dist/templates}/templates/base/src/config/index.ts +0 -0
  203. /package/{cli/src → dist/templates}/templates/base/src/controllers/user/create-user.controller.ts +0 -0
  204. /package/{cli/src → dist/templates}/templates/base/src/controllers/user/delete-user.controller.ts +0 -0
  205. /package/{cli/src → dist/templates}/templates/base/src/controllers/user/get-user.controller.ts +0 -0
  206. /package/{cli/src → dist/templates}/templates/base/src/controllers/user/get-users.controller.ts +0 -0
  207. /package/{cli/src → dist/templates}/templates/base/src/controllers/user/update-user.controller.ts +0 -0
  208. /package/{cli/src → dist/templates}/templates/base/src/models/user.model.ts +0 -0
  209. /package/{cli/src → dist/templates}/templates/base/src/routes/index.ts +0 -0
  210. /package/{cli/src → dist/templates}/templates/base/src/routes/user.route.ts +0 -0
  211. /package/{cli/src → dist/templates}/templates/base/src/types/common/api-response.types.ts +0 -0
  212. /package/{cli/src → dist/templates}/templates/base/src/types/index.ts +0 -0
  213. /package/{cli/src → dist/templates}/templates/base/src/types/models/user.types.ts +0 -0
  214. /package/{cli/src → dist/templates}/templates/base-bun-native/.env.example +0 -0
  215. /package/{cli/src → dist/templates}/templates/base-bun-native/package.json +0 -0
  216. /package/{cli/src → dist/templates}/templates/base-bun-native/src/config/index.ts +0 -0
  217. /package/{cli/src → dist/templates}/templates/base-bun-native/src/controllers/user/create-user.controller.ts +0 -0
  218. /package/{cli/src → dist/templates}/templates/base-bun-native/src/controllers/user/delete-user.controller.ts +0 -0
  219. /package/{cli/src → dist/templates}/templates/base-bun-native/src/controllers/user/get-user.controller.ts +0 -0
  220. /package/{cli/src → dist/templates}/templates/base-bun-native/src/controllers/user/get-users.controller.ts +0 -0
  221. /package/{cli/src → dist/templates}/templates/base-bun-native/src/controllers/user/update-user.controller.ts +0 -0
  222. /package/{cli/src → dist/templates}/templates/base-bun-native/src/index.ts +0 -0
  223. /package/{cli/src → dist/templates}/templates/base-bun-native/src/models/user.model.ts +0 -0
  224. /package/{cli/src → dist/templates}/templates/base-bun-native/src/routes/index.ts +0 -0
  225. /package/{cli/src → dist/templates}/templates/base-bun-native/src/routes/user.route.ts +0 -0
  226. /package/{cli/src → dist/templates}/templates/base-bun-native/src/types/common/api-response.types.ts +0 -0
  227. /package/{cli/src → dist/templates}/templates/base-bun-native/src/types/index.ts +0 -0
  228. /package/{cli/src → dist/templates}/templates/base-bun-native/src/types/models/user.types.ts +0 -0
  229. /package/{cli/src → dist/templates}/templates/base-express/.env.example +0 -0
  230. /package/{cli/src → dist/templates}/templates/base-express/package.json +0 -0
  231. /package/{cli/src → dist/templates}/templates/base-express/src/config/index.ts +0 -0
  232. /package/{cli/src → dist/templates}/templates/base-express/src/controllers/user/create-user.controller.ts +0 -0
  233. /package/{cli/src → dist/templates}/templates/base-express/src/controllers/user/delete-user.controller.ts +0 -0
  234. /package/{cli/src → dist/templates}/templates/base-express/src/controllers/user/get-user.controller.ts +0 -0
  235. /package/{cli/src → dist/templates}/templates/base-express/src/controllers/user/get-users.controller.ts +0 -0
  236. /package/{cli/src → dist/templates}/templates/base-express/src/controllers/user/update-user.controller.ts +0 -0
  237. /package/{cli/src → dist/templates}/templates/base-express/src/models/user.model.ts +0 -0
  238. /package/{cli/src → dist/templates}/templates/base-express/src/routes/index.ts +0 -0
  239. /package/{cli/src → dist/templates}/templates/base-express/src/routes/user.route.ts +0 -0
  240. /package/{cli/src → dist/templates}/templates/base-express/src/types/common/api-response.types.ts +0 -0
  241. /package/{cli/src → dist/templates}/templates/base-express/src/types/index.ts +0 -0
  242. /package/{cli/src → dist/templates}/templates/base-express/src/types/models/user.types.ts +0 -0
  243. /package/{prettier.config.mjs → dist/templates/templates/extras/ai/anthropic/src/routes/ai/claude.ts} +0 -0
@@ -1,85 +0,0 @@
1
- /**
2
- * Central registry mapping package names to their versions.
3
- * Single source of truth for all dependency versions used in generated projects.
4
- */
5
- export const DEPENDENCY_VERSION_MAP: Record<string, string> = {
6
- // Core Framework
7
- "hono": "^4.0.0",
8
- "express": "^4.18.2",
9
- "@types/express": "^4.17.21",
10
-
11
- // Database Drivers
12
- "postgres": "^3.4.4",
13
- "mysql2": "^3.9.0",
14
- "mongoose": "^8.1.0",
15
- "redis": "^4.6.12",
16
-
17
- // ORM & Query Builders
18
- "drizzle-orm": "^0.29.3",
19
- "drizzle-kit": "^0.20.10",
20
- "kysely": "^0.27.2",
21
-
22
- // Authentication
23
- "jsonwebtoken": "^9.0.2",
24
- "@types/jsonwebtoken": "^9.0.5",
25
- "bcryptjs": "^2.4.3",
26
- "@types/bcryptjs": "^2.4.6",
27
- "passport": "^0.7.0",
28
- "passport-oauth2": "^1.8.0",
29
- "@types/passport": "^1.0.16",
30
-
31
- // AI Providers
32
- "openai": "^4.26.0",
33
- "@anthropic-ai/sdk": "^0.12.0",
34
- "@google/generative-ai": "^0.1.3",
35
- "ai": "^3.0.0",
36
-
37
- // Cloud Storage
38
- "@aws-sdk/client-s3": "^3.490.0",
39
- "@aws-sdk/s3-request-presigner": "^3.490.0",
40
- "@google-cloud/storage": "^7.7.0",
41
- "@azure/storage-blob": "^12.17.0",
42
- "@cloudflare/workers-types": "^4.20240117.0",
43
-
44
- // Email Services
45
- "resend": "^3.0.0",
46
- "@sendgrid/mail": "^8.1.0",
47
- "nodemailer": "^6.9.8",
48
- "@types/nodemailer": "^6.4.14",
49
-
50
- // Real-time Communication
51
- "socket.io": "^4.6.1",
52
- "@types/socket.io": "^3.0.0",
53
-
54
- // Queue Systems
55
- "bullmq": "^5.1.5",
56
- "inngest": "^3.12.0",
57
-
58
- // Rate Limiting
59
- "@upstash/ratelimit": "^1.0.0",
60
- "@upstash/redis": "^1.27.1",
61
-
62
- // Observability
63
- "@sentry/node": "^7.99.0",
64
- "@logtail/node": "^0.4.13",
65
-
66
- // API Documentation
67
- "@hono/swagger": "^0.1.0",
68
- "@scalar/hono-api-reference": "^0.5.0",
69
-
70
- // Testing
71
- "vitest": "^1.2.0",
72
- "@vitest/ui": "^1.2.0",
73
- "supertest": "^6.3.4",
74
- "@types/supertest": "^6.0.2",
75
-
76
- // Utilities
77
- "zod": "^3.22.4",
78
- "yup": "^1.3.3",
79
- "dotenv": "^16.3.1",
80
- "cors": "^2.8.5",
81
- "@types/cors": "^2.8.17",
82
- "helmet": "^7.1.0",
83
- "compression": "^1.7.4",
84
- "@types/compression": "^1.7.5",
85
- };
@@ -1,19 +0,0 @@
1
- import chalk from "chalk";
2
-
3
- export const logger = {
4
- error: (...args: unknown[]) => {
5
- console.log(chalk.red(...args));
6
- },
7
- warn: (...args: unknown[]) => {
8
- console.log(chalk.yellow(...args));
9
- },
10
- info: (...args: unknown[]) => {
11
- console.log(chalk.cyan(...args));
12
- },
13
- success: (...args: unknown[]) => {
14
- console.log(chalk.green(...args));
15
- },
16
- debug: (...args: unknown[]) => {
17
- console.log(chalk.gray(...args));
18
- },
19
- };
@@ -1,71 +0,0 @@
1
- import path from "path";
2
-
3
- export type ParsedNameAndPath = {
4
- projectName: string;
5
- projectDir: string;
6
- }
7
-
8
- /**
9
- * Parses the app name input to extract project name and directory path.
10
- * Handles:
11
- * - Current directory: "." (sets up in current directory)
12
- * - Relative paths: "./my-app", "../my-app"
13
- * - Home paths: "~/my-app"
14
- * - Absolute paths: "/path/to/my-app"
15
- * - Simple names: "my-app" (creates subdirectory in current directory)
16
- *
17
- * @param appName - The app name or path provided by the user
18
- * @returns Object containing projectName (kebab-case) and projectDir (absolute path)
19
- * @throws Error if the name contains invalid characters (spaces, special chars except - and _)
20
- */
21
- export function parse_name_and_path(appName: string): ParsedNameAndPath {
22
- // Handle special case: current directory
23
- if (appName === ".") {
24
- const currentDir = process.cwd();
25
- const currentDirName = path.basename(currentDir);
26
-
27
- return {
28
- projectName: currentDirName.replace(/_/g, "-").toLowerCase(),
29
- projectDir: currentDir,
30
- };
31
- }
32
-
33
- // Validate app name - no spaces or invalid characters
34
- // Allow only alphanumeric, hyphens, underscores, slashes, and dots (for paths)
35
- const pathRegex = /^[a-zA-Z0-9\-_/.]+$/;
36
- if (!pathRegex.test(appName)) {
37
- throw new Error(
38
- `Invalid app name: "${appName}". Use only letters, numbers, hyphens, and underscores.`
39
- );
40
- }
41
-
42
- let projectDir: string;
43
- let projectName: string;
44
-
45
- // Check if it's a path (contains / or starts with . or ~)
46
- if (appName.includes("/") || appName.startsWith(".") || appName.startsWith("~")) {
47
- // It's a path - resolve it to absolute
48
- projectDir = path.resolve(process.cwd(), appName);
49
- // Extract the last segment as the project name
50
- projectName = path.basename(projectDir);
51
- } else {
52
- // It's just a name - create in current directory
53
- projectName = appName;
54
- projectDir = path.resolve(process.cwd(), appName);
55
- }
56
-
57
- // Ensure project name is kebab-case (convert underscores to hyphens)
58
- projectName = projectName.replace(/_/g, "-").toLowerCase();
59
-
60
- // Additional validation - ensure name doesn't start/end with hyphen
61
- if (projectName.startsWith("-") || projectName.endsWith("-")) {
62
- throw new Error(
63
- `Invalid app name: "${projectName}". Name cannot start or end with a hyphen.`
64
- );
65
- }
66
-
67
- return {
68
- projectName,
69
- projectDir,
70
- };
71
- }
@@ -1,11 +0,0 @@
1
- import chalk from "chalk";
2
-
3
- /**
4
- * Displays a styled section header in the terminal.
5
- * Used to visually separate different stages of the CLI execution.
6
- *
7
- * @param title - The title text to display
8
- */
9
- export function render_title(title: string): void {
10
- console.log("\n" + chalk.bold.cyan(`▸ ${title}`));
11
- }
package/cli/tsconfig.json DELETED
@@ -1,35 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "target": "ES2022",
4
- "module": "ESNext",
5
- "lib": [
6
- "ES2022"
7
- ],
8
- "moduleResolution": "bundler",
9
- "allowImportingTsExtensions": true,
10
- "noEmit": true,
11
- "composite": false,
12
- "strict": true,
13
- "downlevelIteration": true,
14
- "skipLibCheck": true,
15
- "jsx": "preserve",
16
- "allowSyntheticDefaultImports": true,
17
- "forceConsistentCasingInFileNames": true,
18
- "allowJs": true,
19
- "types": [
20
- "bun-types"
21
- ],
22
- "esModuleInterop": true,
23
- "resolveJsonModule": true,
24
- "isolatedModules": true,
25
- "outDir": "dist",
26
- "rootDir": "src"
27
- },
28
- "include": [
29
- "src/**/*"
30
- ],
31
- "exclude": [
32
- "node_modules",
33
- "dist"
34
- ]
35
- }
package/test-cli.sh DELETED
@@ -1,56 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- # Test script for deploy-bbc CLI
4
-
5
- echo "🧪 Testing deploy-bbc CLI..."
6
- echo ""
7
-
8
- # Test 1: Minimal setup
9
- echo "Test 1: Minimal setup (postgres + jwt)"
10
- cd /tmp
11
- bun ~/Documents/cli/cli/src/index.ts test-minimal --CI --postgres --jwt --noInstall --noGit
12
- echo "✅ Test 1 passed"
13
- echo ""
14
-
15
- # Test 2: Full stack with AI
16
- echo "Test 2: Full stack (postgres, redis, jwt, openai, vercel-ai)"
17
- cd /tmp
18
- bun ~/Documents/cli/cli/src/index.ts test-fullstack --CI \
19
- --postgres --redis \
20
- --jwt --session \
21
- --openai --anthropic --vercelAI \
22
- --resend \
23
- --bullmq \
24
- --swagger --vitest \
25
- --noInstall --noGit
26
- echo "✅ Test 2 passed"
27
- echo ""
28
-
29
- # Test 3: MongoDB + OAuth
30
- echo "Test 3: MongoDB + OAuth setup"
31
- cd /tmp
32
- bun ~/Documents/cli/cli/src/index.ts test-mongo --CI \
33
- --mongodb \
34
- --oauth \
35
- --socketio \
36
- --scalar \
37
- --noInstall --noGit
38
- echo "✅ Test 3 passed"
39
- echo ""
40
-
41
- # Test 4: Cloud services
42
- echo "Test 4: Cloud services (AWS, GCP, Azure)"
43
- cd /tmp
44
- bun ~/Documents/cli/cli/src/index.ts test-cloud --CI \
45
- --postgres \
46
- --jwt \
47
- --aws --gcp --azure --cloudflareR2 \
48
- --sentry \
49
- --noInstall --noGit
50
- echo "✅ Test 4 passed"
51
- echo ""
52
-
53
- echo "✨ All tests completed successfully!"
54
- echo ""
55
- echo "To test interactively, run:"
56
- echo " cd /tmp && bun ~/Documents/cli/cli/src/index.ts my-project"
package/tsconfig.json DELETED
@@ -1,15 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "target": "ES2022",
4
- "module": "ESNext",
5
- "lib": [
6
- "ES2022"
7
- ],
8
- "moduleResolution": "bundler",
9
- "strict": true,
10
- "skipLibCheck": true,
11
- "types": [
12
- "bun-types"
13
- ]
14
- }
15
- }
File without changes
File without changes
File without changes