deploy-bbc 1.2.1 → 1.2.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.
- package/README.md +253 -266
- package/dist/index.js +16870 -0
- package/dist/templates/base/.env.example +3 -0
- package/dist/templates/base/package.json +20 -0
- package/dist/templates/base/src/config/index.ts +8 -0
- package/dist/templates/base/src/routes/index.ts +12 -0
- package/dist/templates/base/src/types/index.ts +2 -0
- package/dist/templates/base-bun-native/.env.example +3 -0
- package/dist/templates/base-bun-native/package.json +19 -0
- package/dist/templates/base-bun-native/src/config/index.ts +8 -0
- package/dist/templates/base-bun-native/src/index.ts +50 -0
- package/dist/templates/base-bun-native/src/routes/index.ts +21 -0
- package/dist/templates/base-bun-native/src/types/index.ts +2 -0
- package/dist/templates/base-express/.env.example +3 -0
- package/dist/templates/base-express/package.json +21 -0
- package/dist/templates/base-express/src/config/index.ts +8 -0
- package/dist/templates/base-express/src/routes/index.ts +12 -0
- package/dist/templates/base-express/src/types/index.ts +2 -0
- package/dist/templates/templates/base/README.md +31 -0
- package/dist/templates/templates/base/src/index.ts +26 -0
- package/dist/templates/templates/base/src/middleware/error.ts +13 -0
- package/dist/templates/templates/base/src/middleware/logger.ts +8 -0
- package/dist/templates/templates/base/src/utils/env.ts +5 -0
- package/dist/templates/templates/base/tsconfig.json +20 -0
- package/dist/templates/templates/base-bun-native/README.md +31 -0
- package/dist/templates/templates/base-bun-native/src/middleware/error.ts +20 -0
- package/dist/templates/templates/base-bun-native/src/middleware/logger.ts +6 -0
- package/dist/templates/templates/base-bun-native/src/utils/env.ts +5 -0
- package/dist/templates/templates/base-bun-native/tsconfig.json +20 -0
- package/dist/templates/templates/base-express/README.md +31 -0
- package/dist/templates/templates/base-express/src/index.ts +27 -0
- package/dist/templates/templates/base-express/src/middleware/error.ts +15 -0
- package/dist/templates/templates/base-express/src/middleware/logger.ts +12 -0
- package/dist/templates/templates/base-express/src/utils/env.ts +5 -0
- package/dist/templates/templates/base-express/tsconfig.json +20 -0
- package/dist/templates/templates/extras/ai/anthropic/src/services/ai/anthropic.ts +0 -0
- package/dist/templates/templates/extras/ai/gemini/src/services/ai/gemini.ts +0 -0
- package/dist/templates/templates/extras/ai/openai/src/routes/ai/chat.ts +0 -0
- package/dist/templates/templates/extras/ai/openai/src/services/ai/openai.ts +0 -0
- package/dist/templates/templates/extras/ai/vercel-ai/src/routes/ai/generate.ts +0 -0
- package/dist/templates/templates/extras/ai/vercel-ai/src/routes/ai/stream.ts +0 -0
- package/dist/templates/templates/extras/ai/vercel-ai/src/services/ai/index.ts +0 -0
- package/dist/templates/templates/extras/auth/jwt/src/middleware/auth.ts +0 -0
- package/dist/templates/templates/extras/auth/jwt/src/routes/auth.ts +0 -0
- package/dist/templates/templates/extras/auth/jwt/src/utils/jwt.ts +0 -0
- package/dist/templates/templates/extras/auth/oauth/src/config/oauth.ts +0 -0
- package/dist/templates/templates/extras/auth/oauth/src/routes/auth.ts +0 -0
- package/dist/templates/templates/extras/auth/session/src/config/session.ts +0 -0
- package/dist/templates/templates/extras/auth/session/src/middleware/session.ts +0 -0
- package/dist/templates/templates/extras/cloud/aws/src/services/aws/s3.ts +0 -0
- package/dist/templates/templates/extras/cloud/aws/src/services/aws/ses.ts +0 -0
- package/dist/templates/templates/extras/cloud/azure/src/services/azure/blob.ts +0 -0
- package/dist/templates/templates/extras/cloud/cloudflare-r2/src/services/cloudflare/r2.ts +0 -0
- package/dist/templates/templates/extras/cloud/gcp/src/services/gcp/storage.ts +0 -0
- package/dist/templates/templates/extras/database/mongodb/src/db/index.ts +0 -0
- package/dist/templates/templates/extras/database/mongodb/src/db/models/user.model.ts +0 -0
- package/dist/templates/templates/extras/database/mysql/drizzle.config.ts +0 -0
- package/dist/templates/templates/extras/database/postgres/src/db/index.ts +0 -0
- package/dist/templates/templates/extras/database/redis/src/db/redis.ts +0 -0
- package/dist/templates/templates/extras/docs/scalar/src/openapi/index.ts +0 -0
- package/dist/templates/templates/extras/docs/scalar/src/routes/docs.ts +0 -0
- package/dist/templates/templates/extras/docs/swagger/src/openapi/index.ts +0 -0
- package/dist/templates/templates/extras/docs/swagger/src/routes/docs.ts +0 -0
- package/dist/templates/templates/extras/email/nodemailer/src/services/email/nodemailer.ts +0 -0
- package/dist/templates/templates/extras/email/resend/src/services/email/resend.ts +0 -0
- package/dist/templates/templates/extras/email/resend/src/templates/email/welcome.ts +0 -0
- package/dist/templates/templates/extras/email/sendgrid/src/services/email/sendgrid.ts +0 -0
- package/dist/templates/templates/extras/observability/logtail/src/config/logger.ts +0 -0
- package/dist/templates/templates/extras/observability/sentry/src/config/sentry.ts +0 -0
- package/dist/templates/templates/extras/observability/sentry/src/middleware/sentry.ts +0 -0
- package/dist/templates/templates/extras/queue/bullmq/src/queue/index.ts +0 -0
- package/dist/templates/templates/extras/queue/bullmq/src/queue/jobs/email.job.ts +0 -0
- package/dist/templates/templates/extras/queue/bullmq/src/queue/processors/email.processor.ts +0 -0
- package/dist/templates/templates/extras/queue/bullmq/src/routes/queue.ts +0 -0
- package/dist/templates/templates/extras/queue/inngest/src/inngest/client.ts +0 -0
- package/dist/templates/templates/extras/queue/inngest/src/inngest/functions/email.ts +0 -0
- package/dist/templates/templates/extras/queue/inngest/src/routes/inngest.ts +0 -0
- package/dist/templates/templates/extras/realtime/socketio/src/socket/handlers.ts +0 -0
- package/dist/templates/templates/extras/realtime/socketio/src/socket/index.ts +0 -0
- package/dist/templates/templates/extras/realtime/sse/src/routes/sse.ts +0 -0
- package/dist/templates/templates/extras/testing/vitest/src/__tests__/example.test.ts +0 -0
- package/dist/templates/templates/extras/testing/vitest/src/__tests__/setup.ts +0 -0
- package/dist/templates/templates/extras/testing/vitest/vitest.config.ts +0 -0
- package/dist/templates/templates/extras/validation/yup/src/middleware/index.ts +1 -0
- package/dist/templates/templates/extras/validation/yup/src/middleware/validate.ts +83 -0
- package/dist/templates/templates/extras/validation/yup/src/routes/users.ts +132 -0
- package/dist/templates/templates/extras/validation/zod/src/middleware/index.ts +1 -0
- package/dist/templates/templates/extras/validation/zod/src/middleware/validate.ts +80 -0
- package/dist/templates/templates/extras/validation/zod/src/routes/users.ts +128 -0
- package/package.json +43 -9
- package/.cspell.json +0 -38
- package/CLAUDE.md +0 -403
- package/cli/README.md +0 -345
- package/cli/package.json +0 -54
- package/cli/src/cli/index.ts +0 -454
- package/cli/src/helpers/create-project.ts +0 -66
- package/cli/src/helpers/generate-docker-compose.ts +0 -133
- package/cli/src/helpers/generate-dockerfile.ts +0 -45
- package/cli/src/helpers/init-git.ts +0 -33
- package/cli/src/helpers/install-dependencies.ts +0 -28
- package/cli/src/helpers/log-next-steps.ts +0 -87
- package/cli/src/helpers/scaffold-project.ts +0 -88
- package/cli/src/index.ts +0 -18
- package/cli/src/installers/ai.ts +0 -123
- package/cli/src/installers/auth.ts +0 -132
- package/cli/src/installers/base.ts +0 -16
- package/cli/src/installers/cloud.ts +0 -127
- package/cli/src/installers/database.ts +0 -212
- package/cli/src/installers/docs.ts +0 -93
- package/cli/src/installers/email.ts +0 -119
- package/cli/src/installers/env-variables.ts +0 -27
- package/cli/src/installers/index.ts +0 -145
- package/cli/src/installers/observability.ts +0 -103
- package/cli/src/installers/queue.ts +0 -103
- package/cli/src/installers/ratelimit.ts +0 -98
- package/cli/src/installers/realtime.ts +0 -79
- package/cli/src/installers/testing.ts +0 -88
- package/cli/src/installers/validation.ts +0 -85
- package/cli/src/types/index.ts +0 -126
- package/cli/src/utils/add-package-dependency.ts +0 -56
- package/cli/src/utils/dependency-version-map.ts +0 -85
- package/cli/src/utils/logger.ts +0 -19
- package/cli/src/utils/parse-name-and-path.ts +0 -71
- package/cli/src/utils/render-title.ts +0 -11
- package/cli/tsconfig.json +0 -35
- package/test-cli.sh +0 -56
- package/tsconfig.json +0 -15
- /package/{cli/src → dist}/templates/base/README.md +0 -0
- /package/{cli/src → dist}/templates/base/src/index.ts +0 -0
- /package/{cli/src → dist}/templates/base/src/middleware/error.ts +0 -0
- /package/{cli/src → dist}/templates/base/src/middleware/logger.ts +0 -0
- /package/{cli/src → dist}/templates/base/src/utils/env.ts +0 -0
- /package/{cli/src → dist}/templates/base/tsconfig.json +0 -0
- /package/{cli/src → dist}/templates/base-bun-native/README.md +0 -0
- /package/{cli/src → dist}/templates/base-bun-native/src/middleware/error.ts +0 -0
- /package/{cli/src → dist}/templates/base-bun-native/src/middleware/logger.ts +0 -0
- /package/{cli/src → dist}/templates/base-bun-native/src/utils/env.ts +0 -0
- /package/{cli/src → dist}/templates/base-bun-native/tsconfig.json +0 -0
- /package/{cli/src → dist}/templates/base-express/README.md +0 -0
- /package/{cli/src → dist}/templates/base-express/src/index.ts +0 -0
- /package/{cli/src → dist}/templates/base-express/src/middleware/error.ts +0 -0
- /package/{cli/src → dist}/templates/base-express/src/middleware/logger.ts +0 -0
- /package/{cli/src → dist}/templates/base-express/src/utils/env.ts +0 -0
- /package/{cli/src → dist}/templates/base-express/tsconfig.json +0 -0
- /package/{cli/src → dist}/templates/extras/ai/anthropic/src/routes/ai/claude.ts +0 -0
- /package/{cli/src → dist}/templates/extras/ai/anthropic/src/services/ai/anthropic.ts +0 -0
- /package/{cli/src → dist}/templates/extras/ai/gemini/src/services/ai/gemini.ts +0 -0
- /package/{cli/src → dist}/templates/extras/ai/openai/src/routes/ai/chat.ts +0 -0
- /package/{cli/src → dist}/templates/extras/ai/openai/src/services/ai/openai.ts +0 -0
- /package/{cli/src → dist}/templates/extras/ai/vercel-ai/src/routes/ai/generate.ts +0 -0
- /package/{cli/src → dist}/templates/extras/ai/vercel-ai/src/routes/ai/stream.ts +0 -0
- /package/{cli/src → dist}/templates/extras/ai/vercel-ai/src/services/ai/index.ts +0 -0
- /package/{cli/src → dist}/templates/extras/auth/jwt/src/middleware/auth.ts +0 -0
- /package/{cli/src → dist}/templates/extras/auth/jwt/src/routes/auth.ts +0 -0
- /package/{cli/src → dist}/templates/extras/auth/jwt/src/utils/jwt.ts +0 -0
- /package/{cli/src → dist}/templates/extras/auth/oauth/src/config/oauth.ts +0 -0
- /package/{cli/src → dist}/templates/extras/auth/oauth/src/routes/auth.ts +0 -0
- /package/{cli/src → dist}/templates/extras/auth/session/src/config/session.ts +0 -0
- /package/{cli/src → dist}/templates/extras/auth/session/src/middleware/session.ts +0 -0
- /package/{cli/src → dist}/templates/extras/cloud/aws/src/services/aws/s3.ts +0 -0
- /package/{cli/src → dist}/templates/extras/cloud/aws/src/services/aws/ses.ts +0 -0
- /package/{cli/src → dist}/templates/extras/cloud/azure/src/services/azure/blob.ts +0 -0
- /package/{cli/src → dist}/templates/extras/cloud/cloudflare-r2/src/services/cloudflare/r2.ts +0 -0
- /package/{cli/src → dist}/templates/extras/cloud/gcp/src/services/gcp/storage.ts +0 -0
- /package/{cli/src → dist}/templates/extras/database/mongodb/src/db/index.ts +0 -0
- /package/{cli/src → dist}/templates/extras/database/mongodb/src/db/models/user.model.ts +0 -0
- /package/{cli/src → dist}/templates/extras/database/mysql/drizzle.config.ts +0 -0
- /package/{cli/src → dist}/templates/extras/database/postgres/src/db/index.ts +0 -0
- /package/{cli/src → dist}/templates/extras/database/redis/src/db/redis.ts +0 -0
- /package/{cli/src → dist}/templates/extras/docs/scalar/src/openapi/index.ts +0 -0
- /package/{cli/src → dist}/templates/extras/docs/scalar/src/routes/docs.ts +0 -0
- /package/{cli/src → dist}/templates/extras/docs/swagger/src/openapi/index.ts +0 -0
- /package/{cli/src → dist}/templates/extras/docs/swagger/src/routes/docs.ts +0 -0
- /package/{cli/src → dist}/templates/extras/email/nodemailer/src/services/email/nodemailer.ts +0 -0
- /package/{cli/src → dist}/templates/extras/email/resend/src/services/email/resend.ts +0 -0
- /package/{cli/src → dist}/templates/extras/email/resend/src/templates/email/welcome.ts +0 -0
- /package/{cli/src → dist}/templates/extras/email/sendgrid/src/services/email/sendgrid.ts +0 -0
- /package/{cli/src → dist}/templates/extras/observability/logtail/src/config/logger.ts +0 -0
- /package/{cli/src → dist}/templates/extras/observability/sentry/src/config/sentry.ts +0 -0
- /package/{cli/src → dist}/templates/extras/observability/sentry/src/middleware/sentry.ts +0 -0
- /package/{cli/src → dist}/templates/extras/queue/bullmq/src/queue/index.ts +0 -0
- /package/{cli/src → dist}/templates/extras/queue/bullmq/src/queue/jobs/email.job.ts +0 -0
- /package/{cli/src → dist}/templates/extras/queue/bullmq/src/queue/processors/email.processor.ts +0 -0
- /package/{cli/src → dist}/templates/extras/queue/bullmq/src/routes/queue.ts +0 -0
- /package/{cli/src → dist}/templates/extras/queue/inngest/src/inngest/client.ts +0 -0
- /package/{cli/src → dist}/templates/extras/queue/inngest/src/inngest/functions/email.ts +0 -0
- /package/{cli/src → dist}/templates/extras/queue/inngest/src/routes/inngest.ts +0 -0
- /package/{cli/src → dist}/templates/extras/realtime/socketio/src/socket/handlers.ts +0 -0
- /package/{cli/src → dist}/templates/extras/realtime/socketio/src/socket/index.ts +0 -0
- /package/{cli/src → dist}/templates/extras/realtime/sse/src/routes/sse.ts +0 -0
- /package/{cli/src → dist}/templates/extras/testing/vitest/src/__tests__/example.test.ts +0 -0
- /package/{cli/src → dist}/templates/extras/testing/vitest/src/__tests__/setup.ts +0 -0
- /package/{cli/src → dist}/templates/extras/testing/vitest/vitest.config.ts +0 -0
- /package/{cli/src → dist}/templates/extras/validation/yup/src/middleware/index.ts +0 -0
- /package/{cli/src → dist}/templates/extras/validation/yup/src/middleware/validate.ts +0 -0
- /package/{cli/src → dist}/templates/extras/validation/yup/src/routes/users.ts +0 -0
- /package/{cli/src → dist}/templates/extras/validation/zod/src/middleware/index.ts +0 -0
- /package/{cli/src → dist}/templates/extras/validation/zod/src/middleware/validate.ts +0 -0
- /package/{cli/src → dist}/templates/extras/validation/zod/src/routes/users.ts +0 -0
- /package/{cli/src → dist/templates}/templates/base/.env.example +0 -0
- /package/{cli/src → dist/templates}/templates/base/package.json +0 -0
- /package/{cli/src → dist/templates}/templates/base/src/config/index.ts +0 -0
- /package/{cli/src → dist/templates}/templates/base/src/controllers/user/create-user.controller.ts +0 -0
- /package/{cli/src → dist/templates}/templates/base/src/controllers/user/delete-user.controller.ts +0 -0
- /package/{cli/src → dist/templates}/templates/base/src/controllers/user/get-user.controller.ts +0 -0
- /package/{cli/src → dist/templates}/templates/base/src/controllers/user/get-users.controller.ts +0 -0
- /package/{cli/src → dist/templates}/templates/base/src/controllers/user/update-user.controller.ts +0 -0
- /package/{cli/src → dist/templates}/templates/base/src/models/user.model.ts +0 -0
- /package/{cli/src → dist/templates}/templates/base/src/routes/index.ts +0 -0
- /package/{cli/src → dist/templates}/templates/base/src/routes/user.route.ts +0 -0
- /package/{cli/src → dist/templates}/templates/base/src/types/common/api-response.types.ts +0 -0
- /package/{cli/src → dist/templates}/templates/base/src/types/index.ts +0 -0
- /package/{cli/src → dist/templates}/templates/base/src/types/models/user.types.ts +0 -0
- /package/{cli/src → dist/templates}/templates/base-bun-native/.env.example +0 -0
- /package/{cli/src → dist/templates}/templates/base-bun-native/package.json +0 -0
- /package/{cli/src → dist/templates}/templates/base-bun-native/src/config/index.ts +0 -0
- /package/{cli/src → dist/templates}/templates/base-bun-native/src/controllers/user/create-user.controller.ts +0 -0
- /package/{cli/src → dist/templates}/templates/base-bun-native/src/controllers/user/delete-user.controller.ts +0 -0
- /package/{cli/src → dist/templates}/templates/base-bun-native/src/controllers/user/get-user.controller.ts +0 -0
- /package/{cli/src → dist/templates}/templates/base-bun-native/src/controllers/user/get-users.controller.ts +0 -0
- /package/{cli/src → dist/templates}/templates/base-bun-native/src/controllers/user/update-user.controller.ts +0 -0
- /package/{cli/src → dist/templates}/templates/base-bun-native/src/index.ts +0 -0
- /package/{cli/src → dist/templates}/templates/base-bun-native/src/models/user.model.ts +0 -0
- /package/{cli/src → dist/templates}/templates/base-bun-native/src/routes/index.ts +0 -0
- /package/{cli/src → dist/templates}/templates/base-bun-native/src/routes/user.route.ts +0 -0
- /package/{cli/src → dist/templates}/templates/base-bun-native/src/types/common/api-response.types.ts +0 -0
- /package/{cli/src → dist/templates}/templates/base-bun-native/src/types/index.ts +0 -0
- /package/{cli/src → dist/templates}/templates/base-bun-native/src/types/models/user.types.ts +0 -0
- /package/{cli/src → dist/templates}/templates/base-express/.env.example +0 -0
- /package/{cli/src → dist/templates}/templates/base-express/package.json +0 -0
- /package/{cli/src → dist/templates}/templates/base-express/src/config/index.ts +0 -0
- /package/{cli/src → dist/templates}/templates/base-express/src/controllers/user/create-user.controller.ts +0 -0
- /package/{cli/src → dist/templates}/templates/base-express/src/controllers/user/delete-user.controller.ts +0 -0
- /package/{cli/src → dist/templates}/templates/base-express/src/controllers/user/get-user.controller.ts +0 -0
- /package/{cli/src → dist/templates}/templates/base-express/src/controllers/user/get-users.controller.ts +0 -0
- /package/{cli/src → dist/templates}/templates/base-express/src/controllers/user/update-user.controller.ts +0 -0
- /package/{cli/src → dist/templates}/templates/base-express/src/models/user.model.ts +0 -0
- /package/{cli/src → dist/templates}/templates/base-express/src/routes/index.ts +0 -0
- /package/{cli/src → dist/templates}/templates/base-express/src/routes/user.route.ts +0 -0
- /package/{cli/src → dist/templates}/templates/base-express/src/types/common/api-response.types.ts +0 -0
- /package/{cli/src → dist/templates}/templates/base-express/src/types/index.ts +0 -0
- /package/{cli/src → dist/templates}/templates/base-express/src/types/models/user.types.ts +0 -0
- /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
|
-
};
|
package/cli/src/utils/logger.ts
DELETED
|
@@ -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
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/{cli/src → dist}/templates/extras/cloud/cloudflare-r2/src/services/cloudflare/r2.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/{cli/src → dist}/templates/extras/email/nodemailer/src/services/email/nodemailer.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/{cli/src → dist}/templates/extras/queue/bullmq/src/queue/processors/email.processor.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/{cli/src → dist/templates}/templates/base/src/controllers/user/create-user.controller.ts
RENAMED
|
File without changes
|
/package/{cli/src → dist/templates}/templates/base/src/controllers/user/delete-user.controller.ts
RENAMED
|
File without changes
|
/package/{cli/src → dist/templates}/templates/base/src/controllers/user/get-user.controller.ts
RENAMED
|
File without changes
|
/package/{cli/src → dist/templates}/templates/base/src/controllers/user/get-users.controller.ts
RENAMED
|
File without changes
|
/package/{cli/src → dist/templates}/templates/base/src/controllers/user/update-user.controller.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/{cli/src → dist/templates}/templates/base-bun-native/src/types/common/api-response.types.ts
RENAMED
|
File without changes
|
|
File without changes
|
/package/{cli/src → dist/templates}/templates/base-bun-native/src/types/models/user.types.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/{cli/src → dist/templates}/templates/base-express/src/types/common/api-response.types.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|