better-ts-stack 2.0.2 → 2.1.1
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 +114 -113
- package/dist/args.js +27 -20
- package/dist/builder/buildPlanner.js +1 -1
- package/dist/builder/configGenerator.js +4 -6
- package/dist/builder/index.js +15 -3
- package/dist/builder/moduleSelector.js +6 -2
- package/dist/builder/readmeGenerator.js +107 -0
- package/dist/builder/templateContext.js +53 -0
- package/dist/index.js +7 -1
- package/dist/output/nextSteps.js +23 -22
- package/dist/prompts/index.js +5 -2
- package/dist/prompts/stack.js +23 -2
- package/dist/types/index.js +2 -0
- package/dist/ui/messages.js +3 -1
- package/dist/validators/index.js +5 -2
- package/package.json +3 -3
- package/templates/backend/express/config.json +42 -40
- package/templates/backend/express/gitignore +3 -0
- package/templates/backend/express/src/env.ts.hbs +39 -0
- package/templates/backend/express/src/index.ts.hbs +111 -75
- package/templates/backend/nestjs/config.json +43 -41
- package/templates/backend/nestjs/gitignore +3 -0
- package/templates/backend/nestjs/src/app.module.ts.hbs +13 -0
- package/templates/backend/nestjs/src/env.ts.hbs +39 -0
- package/templates/backend/nestjs/src/health/{health.controller.ts → health.controller.ts.hbs} +8 -0
- package/templates/backend/nestjs/src/main.ts +3 -2
- package/templates/frontend/nextjs/app/page.tsx.hbs +98 -97
- package/templates/frontend/nextjs/config.json +12 -14
- package/templates/frontend/nextjs/gitignore +3 -0
- package/templates/frontend/tanstack/config.json +16 -16
- package/templates/frontend/tanstack/gitignore +3 -0
- package/templates/frontend/tanstack/src/routes/index.tsx.hbs +102 -101
- package/templates/frontend/tanstack/vite.config.ts +23 -14
- package/templates/modules/auth/express/config.json +20 -20
- package/templates/modules/auth/express/src/middleware/requireAuth.ts.hbs +1 -2
- package/templates/modules/auth/express/src/routes/auth.ts.hbs +27 -19
- package/templates/modules/auth/nestjs/config.json +20 -20
- package/templates/modules/auth/nestjs/src/auth/{auth.controller.ts → auth.controller.ts.hbs} +15 -0
- package/templates/modules/auth/nextjs/config.json +4 -4
- package/templates/{frontend/nextjs/proxy.ts.hbs → modules/auth/nextjs/proxy.ts} +1 -8
- package/templates/modules/auth/tanstack/config.json +4 -4
- package/templates/modules/auth/tanstack/src/components/auth/sign-in-form.tsx +132 -134
- package/templates/modules/auth/tanstack/src/components/auth/sign-out-button.tsx +46 -48
- package/templates/modules/auth/tanstack/src/components/auth/sign-up-form.tsx +150 -152
- package/templates/modules/ci/.github/workflows/ci.yml.hbs +43 -0
- package/templates/modules/ci/config.json +10 -0
- package/templates/modules/docker/.dockerignore +2 -0
- package/templates/modules/docker/Dockerfile.hbs +147 -136
- package/templates/modules/docker/docker-compose.yml.hbs +97 -2
- package/templates/modules/drizzle/express/config.json +3 -3
- package/templates/modules/drizzle/nestjs/config.json +3 -3
- package/templates/modules/drizzle/nextjs/config.json +3 -3
- package/templates/modules/drizzle/tanstack/config.json +3 -3
- package/templates/modules/mongoose/express/config.json +2 -2
- package/templates/modules/mongoose/nestjs/config.json +1 -1
- package/templates/modules/mongoose/nextjs/config.json +2 -2
- package/templates/modules/mongoose/tanstack/config.json +2 -2
- package/templates/modules/prisma/express/config.json +4 -4
- package/templates/modules/prisma/express/prisma.config.ts +4 -2
- package/templates/modules/prisma/nestjs/config.json +4 -4
- package/templates/modules/prisma/nestjs/prisma.config.ts +4 -2
- package/templates/modules/prisma/nextjs/config.json +4 -4
- package/templates/modules/prisma/nextjs/prisma.config.ts +4 -2
- package/templates/modules/prisma/tanstack/config.json +4 -4
- package/templates/modules/prisma/tanstack/prisma.config.ts +4 -2
- package/templates/modules/rate-limit/express/config.json +12 -0
- package/templates/modules/rate-limit/express/src/middleware/rateLimit.ts +23 -0
- package/templates/modules/rate-limit/nestjs/config.json +12 -0
|
@@ -1,136 +1,147 @@
|
|
|
1
|
-
{{#if (eq framework 'nextjs')}}
|
|
2
|
-
# Base stage
|
|
3
|
-
FROM node:24-alpine AS base
|
|
4
|
-
WORKDIR /app
|
|
5
|
-
RUN apk add --no-cache libc6-compat
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
{{
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
{{
|
|
23
|
-
|
|
24
|
-
{{
|
|
25
|
-
|
|
26
|
-
{{/if}}
|
|
27
|
-
|
|
28
|
-
#
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
{{#if
|
|
57
|
-
|
|
58
|
-
{{
|
|
59
|
-
|
|
60
|
-
{{
|
|
61
|
-
RUN
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
RUN
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
#
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
COPY --from=builder --chown=tanstackuser:nodejs /app
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
CMD
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
{{
|
|
103
|
-
RUN
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
{{
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
#
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
{{
|
|
1
|
+
{{#if (eq framework 'nextjs')}}
|
|
2
|
+
# Base stage
|
|
3
|
+
FROM node:24-alpine AS base
|
|
4
|
+
WORKDIR /app
|
|
5
|
+
RUN apk add --no-cache libc6-compat
|
|
6
|
+
{{#if docker.setup}}
|
|
7
|
+
{{docker.setup}}
|
|
8
|
+
{{/if}}
|
|
9
|
+
|
|
10
|
+
# Dependencies stage
|
|
11
|
+
FROM base AS deps
|
|
12
|
+
COPY {{docker.manifests}} ./
|
|
13
|
+
RUN {{docker.install}}
|
|
14
|
+
|
|
15
|
+
# Build stage
|
|
16
|
+
FROM base AS builder
|
|
17
|
+
COPY --from=deps /app/node_modules ./node_modules
|
|
18
|
+
COPY . .
|
|
19
|
+
{{#if useAuth}}
|
|
20
|
+
# next build loads the auth route, which initializes Better Auth. The build gets
|
|
21
|
+
# a placeholder secret for this command only; the real one is supplied at runtime.
|
|
22
|
+
{{/if}}
|
|
23
|
+
{{#if (eq database 'prisma')}}
|
|
24
|
+
RUN {{#if useAuth}}BETTER_AUTH_SECRET="build-only-placeholder-secret-not-used-at-runtime" {{/if}}DATABASE_URL="postgresql://postgres:postgres@localhost:5432/postgres" {{docker.run}} build
|
|
25
|
+
{{else if (eq database 'mongoose')}}
|
|
26
|
+
RUN {{#if useAuth}}BETTER_AUTH_SECRET="build-only-placeholder-secret-not-used-at-runtime" {{/if}}MONGODB_URI="mongodb://localhost:27017/build" {{docker.run}} build
|
|
27
|
+
{{else}}
|
|
28
|
+
RUN {{#if useAuth}}BETTER_AUTH_SECRET="build-only-placeholder-secret-not-used-at-runtime" {{/if}}{{docker.run}} build
|
|
29
|
+
{{/if}}
|
|
30
|
+
|
|
31
|
+
# Production stage
|
|
32
|
+
FROM node:24-alpine AS runner
|
|
33
|
+
WORKDIR /app
|
|
34
|
+
ENV NODE_ENV=production
|
|
35
|
+
|
|
36
|
+
RUN addgroup --system --gid 1001 nodejs && \
|
|
37
|
+
adduser --system --uid 1001 nextjs
|
|
38
|
+
|
|
39
|
+
COPY --from=builder /app/public ./public
|
|
40
|
+
COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./
|
|
41
|
+
COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static
|
|
42
|
+
|
|
43
|
+
USER nextjs
|
|
44
|
+
EXPOSE {{port}}
|
|
45
|
+
ENV PORT={{port}} HOSTNAME=0.0.0.0
|
|
46
|
+
|
|
47
|
+
HEALTHCHECK --interval=30s --timeout=5s --start-period=20s --retries=3 \
|
|
48
|
+
CMD wget -q -O /dev/null http://127.0.0.1:{{port}}/ || exit 1
|
|
49
|
+
|
|
50
|
+
CMD ["node", "server.js"]
|
|
51
|
+
|
|
52
|
+
{{else if (eq framework 'tanstack')}}
|
|
53
|
+
# Build stage
|
|
54
|
+
FROM node:24-alpine AS builder
|
|
55
|
+
WORKDIR /app
|
|
56
|
+
{{#if docker.setup}}
|
|
57
|
+
{{docker.setup}}
|
|
58
|
+
{{/if}}
|
|
59
|
+
|
|
60
|
+
COPY {{docker.manifests}} ./
|
|
61
|
+
RUN {{docker.install}}
|
|
62
|
+
|
|
63
|
+
COPY . .
|
|
64
|
+
|
|
65
|
+
{{#if (eq database 'prisma')}}
|
|
66
|
+
RUN DATABASE_URL="postgresql://postgres:postgres@localhost:5432/postgres" {{docker.run}} build
|
|
67
|
+
{{else if (eq database 'mongoose')}}
|
|
68
|
+
RUN MONGODB_URI="mongodb://localhost:27017/build" {{docker.run}} build
|
|
69
|
+
{{else}}
|
|
70
|
+
RUN {{docker.run}} build
|
|
71
|
+
{{/if}}
|
|
72
|
+
|
|
73
|
+
# Production stage. Nitro bundles the server and the dependencies it needs
|
|
74
|
+
# into .output, so no install is needed here
|
|
75
|
+
FROM node:24-alpine
|
|
76
|
+
WORKDIR /app
|
|
77
|
+
ENV NODE_ENV=production
|
|
78
|
+
|
|
79
|
+
# Create non-root user for security
|
|
80
|
+
RUN addgroup --system --gid 1001 nodejs && \
|
|
81
|
+
adduser --system --uid 1001 tanstackuser
|
|
82
|
+
|
|
83
|
+
COPY --from=builder --chown=tanstackuser:nodejs /app/.output ./.output
|
|
84
|
+
|
|
85
|
+
USER tanstackuser
|
|
86
|
+
EXPOSE {{port}}
|
|
87
|
+
ENV PORT={{port}}
|
|
88
|
+
|
|
89
|
+
HEALTHCHECK --interval=30s --timeout=5s --start-period=20s --retries=3 \
|
|
90
|
+
CMD wget -q -O /dev/null http://127.0.0.1:{{port}}/ || exit 1
|
|
91
|
+
|
|
92
|
+
CMD ["node", ".output/server/index.mjs"]
|
|
93
|
+
|
|
94
|
+
{{else}}
|
|
95
|
+
# Build stage
|
|
96
|
+
FROM node:24-alpine AS builder
|
|
97
|
+
WORKDIR /app
|
|
98
|
+
{{#if docker.setup}}
|
|
99
|
+
{{docker.setup}}
|
|
100
|
+
{{/if}}
|
|
101
|
+
|
|
102
|
+
COPY {{docker.manifests}} ./
|
|
103
|
+
RUN {{docker.install}}
|
|
104
|
+
|
|
105
|
+
COPY . .
|
|
106
|
+
|
|
107
|
+
{{#if (eq database 'prisma')}}
|
|
108
|
+
RUN DATABASE_URL="postgresql://postgres:postgres@localhost:5432/postgres" {{docker.run}} build
|
|
109
|
+
{{else if (eq database 'mongoose')}}
|
|
110
|
+
RUN MONGODB_URI="mongodb://localhost:27017/build" {{docker.run}} build
|
|
111
|
+
{{else}}
|
|
112
|
+
RUN {{docker.run}} build
|
|
113
|
+
{{/if}}
|
|
114
|
+
|
|
115
|
+
# Production stage
|
|
116
|
+
FROM node:24-alpine
|
|
117
|
+
WORKDIR /app
|
|
118
|
+
ENV NODE_ENV=production
|
|
119
|
+
{{#if docker.setup}}
|
|
120
|
+
{{docker.setup}}
|
|
121
|
+
{{/if}}
|
|
122
|
+
|
|
123
|
+
# Create non-root user for security
|
|
124
|
+
RUN addgroup --system --gid 1001 nodejs && \
|
|
125
|
+
adduser --system --uid 1001 appuser
|
|
126
|
+
|
|
127
|
+
COPY {{docker.manifests}} ./
|
|
128
|
+
# Clear the download cache in the same layer so it does not ship in the image
|
|
129
|
+
RUN {{docker.installProduction}} \
|
|
130
|
+
&& {{docker.cleanCache}}
|
|
131
|
+
|
|
132
|
+
# Copy the compiled output
|
|
133
|
+
COPY --from=builder --chown=appuser:nodejs /app/dist ./dist
|
|
134
|
+
|
|
135
|
+
USER appuser
|
|
136
|
+
EXPOSE {{port}}
|
|
137
|
+
ENV PORT={{port}}
|
|
138
|
+
|
|
139
|
+
HEALTHCHECK --interval=30s --timeout=5s --start-period=20s --retries=3 \
|
|
140
|
+
CMD wget -q -O /dev/null http://127.0.0.1:{{port}}/health || exit 1
|
|
141
|
+
|
|
142
|
+
{{#if (eq framework 'nestjs')}}
|
|
143
|
+
CMD ["node", "dist/main.js"]
|
|
144
|
+
{{else}}
|
|
145
|
+
CMD ["node", "dist/index.js"]
|
|
146
|
+
{{/if}}
|
|
147
|
+
{{/if}}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
services:
|
|
2
|
-
|
|
2
|
+
app:
|
|
3
3
|
build: .
|
|
4
4
|
ports:
|
|
5
5
|
- "{{port}}:{{port}}"
|
|
@@ -7,4 +7,99 @@ services:
|
|
|
7
7
|
- .env
|
|
8
8
|
environment:
|
|
9
9
|
- NODE_ENV=production
|
|
10
|
-
|
|
10
|
+
{{#if (eq database 'prisma')}}
|
|
11
|
+
# Inside Docker the database is the "db" service, not localhost
|
|
12
|
+
- DATABASE_URL=postgresql://postgres:postgres@db:5432/postgres
|
|
13
|
+
{{/if}}
|
|
14
|
+
{{#if (eq database 'drizzle')}}
|
|
15
|
+
# Inside Docker the database is the "db" service, not localhost
|
|
16
|
+
- DATABASE_URL=postgresql://postgres:postgres@db:5432/postgres
|
|
17
|
+
{{/if}}
|
|
18
|
+
{{#if (eq database 'mongoose')}}
|
|
19
|
+
# Inside Docker the database is the "db" service, not localhost
|
|
20
|
+
- MONGODB_URI=mongodb://db:27017/myapp?directConnection=true
|
|
21
|
+
{{/if}}
|
|
22
|
+
{{#unless (eq database 'none')}}
|
|
23
|
+
depends_on:
|
|
24
|
+
db:
|
|
25
|
+
condition: service_healthy
|
|
26
|
+
{{/unless}}
|
|
27
|
+
restart: unless-stopped
|
|
28
|
+
{{#if (eq database 'prisma')}}
|
|
29
|
+
|
|
30
|
+
# PostgreSQL for local development. The port is published so migrations and
|
|
31
|
+
# the app can also reach it from your machine at localhost:5432
|
|
32
|
+
db:
|
|
33
|
+
image: postgres:17-alpine
|
|
34
|
+
environment:
|
|
35
|
+
POSTGRES_USER: postgres
|
|
36
|
+
POSTGRES_PASSWORD: postgres
|
|
37
|
+
POSTGRES_DB: postgres
|
|
38
|
+
ports:
|
|
39
|
+
- "5432:5432"
|
|
40
|
+
volumes:
|
|
41
|
+
- db-data:/var/lib/postgresql/data
|
|
42
|
+
healthcheck:
|
|
43
|
+
test: ["CMD-SHELL", "pg_isready -U postgres"]
|
|
44
|
+
interval: 5s
|
|
45
|
+
timeout: 5s
|
|
46
|
+
retries: 10
|
|
47
|
+
restart: unless-stopped
|
|
48
|
+
|
|
49
|
+
volumes:
|
|
50
|
+
db-data:
|
|
51
|
+
{{/if}}
|
|
52
|
+
{{#if (eq database 'drizzle')}}
|
|
53
|
+
|
|
54
|
+
# PostgreSQL for local development. The port is published so migrations and
|
|
55
|
+
# the app can also reach it from your machine at localhost:5432
|
|
56
|
+
db:
|
|
57
|
+
image: postgres:17-alpine
|
|
58
|
+
environment:
|
|
59
|
+
POSTGRES_USER: postgres
|
|
60
|
+
POSTGRES_PASSWORD: postgres
|
|
61
|
+
POSTGRES_DB: postgres
|
|
62
|
+
ports:
|
|
63
|
+
- "5432:5432"
|
|
64
|
+
volumes:
|
|
65
|
+
- db-data:/var/lib/postgresql/data
|
|
66
|
+
healthcheck:
|
|
67
|
+
test: ["CMD-SHELL", "pg_isready -U postgres"]
|
|
68
|
+
interval: 5s
|
|
69
|
+
timeout: 5s
|
|
70
|
+
retries: 10
|
|
71
|
+
restart: unless-stopped
|
|
72
|
+
|
|
73
|
+
volumes:
|
|
74
|
+
db-data:
|
|
75
|
+
{{/if}}
|
|
76
|
+
{{#if (eq database 'mongoose')}}
|
|
77
|
+
|
|
78
|
+
# MongoDB for local development, run as a one-node replica set because
|
|
79
|
+
# transactions need one. The health check starts the replica set on first
|
|
80
|
+
# run. The port is published so the app can also reach it from your machine
|
|
81
|
+
# at localhost:27017
|
|
82
|
+
db:
|
|
83
|
+
image: mongo:8
|
|
84
|
+
command: ["--replSet", "rs0", "--bind_ip_all"]
|
|
85
|
+
ports:
|
|
86
|
+
- "27017:27017"
|
|
87
|
+
volumes:
|
|
88
|
+
- db-data:/data/db
|
|
89
|
+
healthcheck:
|
|
90
|
+
test:
|
|
91
|
+
[
|
|
92
|
+
"CMD",
|
|
93
|
+
"mongosh",
|
|
94
|
+
"--quiet",
|
|
95
|
+
"--eval",
|
|
96
|
+
"try { rs.status().ok } catch (e) { rs.initiate({ _id: 'rs0', members: [{ _id: 0, host: 'localhost:27017' }] }).ok }",
|
|
97
|
+
]
|
|
98
|
+
interval: 5s
|
|
99
|
+
timeout: 10s
|
|
100
|
+
retries: 20
|
|
101
|
+
restart: unless-stopped
|
|
102
|
+
|
|
103
|
+
volumes:
|
|
104
|
+
db-data:
|
|
105
|
+
{{/if}}
|
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
"description": "Drizzle ORM for Express with PostgreSQL",
|
|
5
5
|
"type": "database",
|
|
6
6
|
"dependencies": {
|
|
7
|
-
"drizzle-orm": "^0.45.
|
|
8
|
-
"pg": "^8.23.
|
|
7
|
+
"drizzle-orm": "^0.45.4",
|
|
8
|
+
"pg": "^8.23.1",
|
|
9
9
|
"dotenv": "^17.4.2"
|
|
10
10
|
},
|
|
11
11
|
"devDependencies": {
|
|
12
|
-
"drizzle-kit": "^0.31.
|
|
12
|
+
"drizzle-kit": "^0.31.11",
|
|
13
13
|
"@types/pg": "^8.23.1"
|
|
14
14
|
},
|
|
15
15
|
"scripts": {
|
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
"description": "Drizzle ORM for NestJS with PostgreSQL",
|
|
5
5
|
"type": "database",
|
|
6
6
|
"dependencies": {
|
|
7
|
-
"drizzle-orm": "^0.45.
|
|
8
|
-
"pg": "^8.23.
|
|
7
|
+
"drizzle-orm": "^0.45.4",
|
|
8
|
+
"pg": "^8.23.1",
|
|
9
9
|
"dotenv": "^17.4.2"
|
|
10
10
|
},
|
|
11
11
|
"devDependencies": {
|
|
12
|
-
"drizzle-kit": "^0.31.
|
|
12
|
+
"drizzle-kit": "^0.31.11",
|
|
13
13
|
"@types/pg": "^8.23.1"
|
|
14
14
|
},
|
|
15
15
|
"scripts": {
|
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
"description": "Drizzle ORM for Next.js with PostgreSQL",
|
|
5
5
|
"type": "database",
|
|
6
6
|
"dependencies": {
|
|
7
|
-
"drizzle-orm": "^0.45.
|
|
8
|
-
"pg": "^8.23.
|
|
7
|
+
"drizzle-orm": "^0.45.4",
|
|
8
|
+
"pg": "^8.23.1",
|
|
9
9
|
"dotenv": "^17.4.2"
|
|
10
10
|
},
|
|
11
11
|
"devDependencies": {
|
|
12
|
-
"drizzle-kit": "^0.31.
|
|
12
|
+
"drizzle-kit": "^0.31.11",
|
|
13
13
|
"@types/pg": "^8.23.1"
|
|
14
14
|
},
|
|
15
15
|
"scripts": {
|
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
"description": "Drizzle ORM for TanStack Start with PostgreSQL",
|
|
5
5
|
"type": "database",
|
|
6
6
|
"dependencies": {
|
|
7
|
-
"drizzle-orm": "^0.45.
|
|
8
|
-
"pg": "^8.23.
|
|
7
|
+
"drizzle-orm": "^0.45.4",
|
|
8
|
+
"pg": "^8.23.1",
|
|
9
9
|
"dotenv": "^17.4.2"
|
|
10
10
|
},
|
|
11
11
|
"devDependencies": {
|
|
12
|
-
"drizzle-kit": "^0.31.
|
|
12
|
+
"drizzle-kit": "^0.31.11",
|
|
13
13
|
"@types/pg": "^8.23.1"
|
|
14
14
|
},
|
|
15
15
|
"scripts": {
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
"description": "MongoDB database integration for Express using Mongoose ODM",
|
|
5
5
|
"type": "database",
|
|
6
6
|
"dependencies": {
|
|
7
|
-
"mongoose": "^9.
|
|
8
|
-
"mongodb": "^7.
|
|
7
|
+
"mongoose": "^9.11.4",
|
|
8
|
+
"mongodb": "^7.8.0"
|
|
9
9
|
},
|
|
10
10
|
"devDependencies": {},
|
|
11
11
|
"scripts": {},
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
"description": "MongoDB database integration for Next.js using Mongoose ODM",
|
|
5
5
|
"type": "database",
|
|
6
6
|
"dependencies": {
|
|
7
|
-
"mongoose": "^9.
|
|
8
|
-
"mongodb": "^7.
|
|
7
|
+
"mongoose": "^9.11.4",
|
|
8
|
+
"mongodb": "^7.8.0"
|
|
9
9
|
},
|
|
10
10
|
"devDependencies": {},
|
|
11
11
|
"scripts": {},
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
"description": "MongoDB database integration for TanStack Start using Mongoose ODM",
|
|
5
5
|
"type": "database",
|
|
6
6
|
"dependencies": {
|
|
7
|
-
"mongoose": "^9.
|
|
8
|
-
"mongodb": "^7.
|
|
7
|
+
"mongoose": "^9.11.4",
|
|
8
|
+
"mongodb": "^7.8.0",
|
|
9
9
|
"dotenv": "^17.4.2"
|
|
10
10
|
},
|
|
11
11
|
"devDependencies": {},
|
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
"description": "Prisma ORM with PostgreSQL database support",
|
|
5
5
|
"type": "database",
|
|
6
6
|
"dependencies": {
|
|
7
|
-
"@prisma/adapter-pg": "^7.10.
|
|
8
|
-
"@prisma/client": "^7.10.
|
|
7
|
+
"@prisma/adapter-pg": "^7.10.1",
|
|
8
|
+
"@prisma/client": "^7.10.1"
|
|
9
9
|
},
|
|
10
10
|
"devDependencies": {
|
|
11
|
-
"prisma": "^7.10.
|
|
11
|
+
"prisma": "^7.10.1"
|
|
12
12
|
},
|
|
13
13
|
"scripts": {
|
|
14
14
|
"prisma:generate": "prisma generate",
|
|
@@ -22,6 +22,6 @@
|
|
|
22
22
|
},
|
|
23
23
|
"overrides": {
|
|
24
24
|
"deepmerge-ts": "^8.0.2",
|
|
25
|
-
"mysql2": "^3.24.
|
|
25
|
+
"mysql2": "^3.24.6"
|
|
26
26
|
}
|
|
27
27
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import "dotenv/config";
|
|
2
|
-
import { defineConfig
|
|
2
|
+
import { defineConfig } from "prisma/config";
|
|
3
3
|
|
|
4
4
|
export default defineConfig({
|
|
5
5
|
schema: "prisma/schema.prisma",
|
|
@@ -7,6 +7,8 @@ export default defineConfig({
|
|
|
7
7
|
path: "prisma/migrations",
|
|
8
8
|
},
|
|
9
9
|
datasource: {
|
|
10
|
-
|
|
10
|
+
// prisma generate needs no URL, so a build without .env (CI, a host) works.
|
|
11
|
+
// Commands that connect report the empty URL
|
|
12
|
+
url: process.env.DATABASE_URL ?? "",
|
|
11
13
|
},
|
|
12
14
|
});
|
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
"description": "Prisma ORM for NestJS with PostgreSQL",
|
|
5
5
|
"type": "database",
|
|
6
6
|
"dependencies": {
|
|
7
|
-
"@prisma/adapter-pg": "^7.10.
|
|
8
|
-
"@prisma/client": "^7.10.
|
|
7
|
+
"@prisma/adapter-pg": "^7.10.1",
|
|
8
|
+
"@prisma/client": "^7.10.1"
|
|
9
9
|
},
|
|
10
10
|
"devDependencies": {
|
|
11
|
-
"prisma": "^7.10.
|
|
11
|
+
"prisma": "^7.10.1"
|
|
12
12
|
},
|
|
13
13
|
"scripts": {
|
|
14
14
|
"prisma:generate": "prisma generate",
|
|
@@ -22,6 +22,6 @@
|
|
|
22
22
|
},
|
|
23
23
|
"overrides": {
|
|
24
24
|
"deepmerge-ts": "^8.0.2",
|
|
25
|
-
"mysql2": "^3.24.
|
|
25
|
+
"mysql2": "^3.24.6"
|
|
26
26
|
}
|
|
27
27
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import "dotenv/config";
|
|
2
|
-
import { defineConfig
|
|
2
|
+
import { defineConfig } from "prisma/config";
|
|
3
3
|
|
|
4
4
|
export default defineConfig({
|
|
5
5
|
schema: "prisma/schema.prisma",
|
|
@@ -7,6 +7,8 @@ export default defineConfig({
|
|
|
7
7
|
path: "prisma/migrations",
|
|
8
8
|
},
|
|
9
9
|
datasource: {
|
|
10
|
-
|
|
10
|
+
// prisma generate needs no URL, so a build without .env (CI, a host) works.
|
|
11
|
+
// Commands that connect report the empty URL
|
|
12
|
+
url: process.env.DATABASE_URL ?? "",
|
|
11
13
|
},
|
|
12
14
|
});
|
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
"description": "Prisma ORM for Next.js with PostgreSQL",
|
|
5
5
|
"type": "database",
|
|
6
6
|
"dependencies": {
|
|
7
|
-
"@prisma/client": "^7.10.
|
|
8
|
-
"@prisma/adapter-pg": "^7.10.
|
|
7
|
+
"@prisma/client": "^7.10.1",
|
|
8
|
+
"@prisma/adapter-pg": "^7.10.1"
|
|
9
9
|
},
|
|
10
10
|
"devDependencies": {
|
|
11
|
-
"prisma": "^7.10.
|
|
11
|
+
"prisma": "^7.10.1",
|
|
12
12
|
"dotenv": "^17.4.2"
|
|
13
13
|
},
|
|
14
14
|
"scripts": {
|
|
@@ -23,6 +23,6 @@
|
|
|
23
23
|
},
|
|
24
24
|
"overrides": {
|
|
25
25
|
"deepmerge-ts": "^8.0.2",
|
|
26
|
-
"mysql2": "^3.24.
|
|
26
|
+
"mysql2": "^3.24.6"
|
|
27
27
|
}
|
|
28
28
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import "dotenv/config";
|
|
2
|
-
import { defineConfig
|
|
2
|
+
import { defineConfig } from "prisma/config";
|
|
3
3
|
|
|
4
4
|
export default defineConfig({
|
|
5
5
|
schema: "prisma/schema.prisma",
|
|
@@ -7,6 +7,8 @@ export default defineConfig({
|
|
|
7
7
|
path: "prisma/migrations",
|
|
8
8
|
},
|
|
9
9
|
datasource: {
|
|
10
|
-
|
|
10
|
+
// prisma generate needs no URL, so a build without .env (CI, a host) works.
|
|
11
|
+
// Commands that connect report the empty URL
|
|
12
|
+
url: process.env.DATABASE_URL ?? "",
|
|
11
13
|
},
|
|
12
14
|
});
|
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
"description": "Prisma ORM for TanStack Start with PostgreSQL",
|
|
5
5
|
"type": "database",
|
|
6
6
|
"dependencies": {
|
|
7
|
-
"@prisma/client": "^7.10.
|
|
8
|
-
"@prisma/adapter-pg": "^7.10.
|
|
7
|
+
"@prisma/client": "^7.10.1",
|
|
8
|
+
"@prisma/adapter-pg": "^7.10.1"
|
|
9
9
|
},
|
|
10
10
|
"devDependencies": {
|
|
11
|
-
"prisma": "^7.10.
|
|
11
|
+
"prisma": "^7.10.1",
|
|
12
12
|
"dotenv": "^17.4.2"
|
|
13
13
|
},
|
|
14
14
|
"scripts": {
|
|
@@ -23,6 +23,6 @@
|
|
|
23
23
|
},
|
|
24
24
|
"overrides": {
|
|
25
25
|
"deepmerge-ts": "^8.0.2",
|
|
26
|
-
"mysql2": "^3.24.
|
|
26
|
+
"mysql2": "^3.24.6"
|
|
27
27
|
}
|
|
28
28
|
}
|