@beignet/cli 0.0.9 → 0.0.10
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/CHANGELOG.md +7 -0
- package/README.md +35 -19
- package/dist/choices.d.ts +32 -3
- package/dist/choices.d.ts.map +1 -1
- package/dist/choices.js +54 -3
- package/dist/choices.js.map +1 -1
- package/dist/create-prompts.d.ts +5 -4
- package/dist/create-prompts.d.ts.map +1 -1
- package/dist/create-prompts.js +22 -4
- package/dist/create-prompts.js.map +1 -1
- package/dist/create.d.ts +7 -1
- package/dist/create.d.ts.map +1 -1
- package/dist/create.js +13 -3
- package/dist/create.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +25 -6
- package/dist/index.js.map +1 -1
- package/dist/make.d.ts +21 -1
- package/dist/make.d.ts.map +1 -1
- package/dist/make.js +210 -37
- package/dist/make.js.map +1 -1
- package/dist/templates/base.d.ts.map +1 -1
- package/dist/templates/base.js +79 -9
- package/dist/templates/base.js.map +1 -1
- package/dist/templates/db/index.d.ts +21 -0
- package/dist/templates/db/index.d.ts.map +1 -0
- package/dist/templates/db/index.js +14 -0
- package/dist/templates/db/index.js.map +1 -0
- package/dist/templates/db/mysql.d.ts +4 -0
- package/dist/templates/db/mysql.d.ts.map +1 -0
- package/dist/templates/db/mysql.js +972 -0
- package/dist/templates/db/mysql.js.map +1 -0
- package/dist/templates/db/postgres.d.ts +4 -0
- package/dist/templates/db/postgres.d.ts.map +1 -0
- package/dist/templates/db/postgres.js +863 -0
- package/dist/templates/db/postgres.js.map +1 -0
- package/dist/templates/db/sqlite.d.ts +3 -0
- package/dist/templates/db/sqlite.d.ts.map +1 -0
- package/dist/templates/db/sqlite.js +878 -0
- package/dist/templates/db/sqlite.js.map +1 -0
- package/dist/templates/index.d.ts +5 -5
- package/dist/templates/index.d.ts.map +1 -1
- package/dist/templates/index.js +21 -20
- package/dist/templates/index.js.map +1 -1
- package/dist/templates/server.d.ts +3 -3
- package/dist/templates/server.d.ts.map +1 -1
- package/dist/templates/server.js +149 -97
- package/dist/templates/server.js.map +1 -1
- package/dist/templates/shared.d.ts +34 -1
- package/dist/templates/shared.d.ts.map +1 -1
- package/dist/templates/shared.js +45 -0
- package/dist/templates/shared.js.map +1 -1
- package/package.json +2 -2
- package/src/choices.ts +70 -3
- package/src/create-prompts.ts +25 -3
- package/src/create.ts +24 -2
- package/src/index.ts +29 -5
- package/src/make.ts +265 -34
- package/src/templates/base.ts +95 -9
- package/src/templates/db/index.ts +34 -0
- package/src/templates/db/mysql.ts +976 -0
- package/src/templates/db/postgres.ts +867 -0
- package/src/templates/{db.ts → db/sqlite.ts} +31 -152
- package/src/templates/index.ts +24 -19
- package/src/templates/server.ts +161 -97
- package/src/templates/shared.ts +90 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/templates/base.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/templates/base.ts"],"names":[],"mappings":"AAEA,OAAO,EAML,KAAK,eAAe,EACrB,MAAM,aAAa,CAAC;AAGrB,wBAAgB,WAAW,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAoGxD;AAQD,wBAAgB,MAAM,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CA6KnD;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAiD5D;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CA+DvD;AAED,QAAA,MAAM,KAAK;;;;;CAiDV,CAAC;AAEF,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,CAAC"}
|
package/dist/templates/base.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { databaseLocalUrl, databaseStartCommand } from "../choices.js";
|
|
1
2
|
import { shadcnDependencies, shadcnDevDependencies } from "./shadcn.js";
|
|
2
3
|
import { externalVersions, hasIntegration, integrationDeps, json, packageRunner, } from "./shared.js";
|
|
3
4
|
import { shellDependencies, shellDevDependencies } from "./shell.js";
|
|
@@ -9,7 +10,6 @@ export function packageJson(ctx) {
|
|
|
9
10
|
"@beignet/provider-auth-better-auth": ctx.beignetVersion,
|
|
10
11
|
"@beignet/provider-db-drizzle": ctx.beignetVersion,
|
|
11
12
|
"@beignet/provider-logger-pino": ctx.beignetVersion,
|
|
12
|
-
"@libsql/client": externalVersions.libsqlClient,
|
|
13
13
|
"better-auth": externalVersions.betterAuth,
|
|
14
14
|
"drizzle-orm": externalVersions.drizzleOrm,
|
|
15
15
|
next: externalVersions.next,
|
|
@@ -18,6 +18,18 @@ export function packageJson(ctx) {
|
|
|
18
18
|
"react-dom": externalVersions.reactDom,
|
|
19
19
|
zod: externalVersions.zod,
|
|
20
20
|
};
|
|
21
|
+
// Ship only the selected database driver.
|
|
22
|
+
switch (ctx.database) {
|
|
23
|
+
case "postgres":
|
|
24
|
+
dependencies.pg = externalVersions.pg;
|
|
25
|
+
break;
|
|
26
|
+
case "mysql":
|
|
27
|
+
dependencies.mysql2 = externalVersions.mysql2;
|
|
28
|
+
break;
|
|
29
|
+
default:
|
|
30
|
+
dependencies["@libsql/client"] = externalVersions.libsqlClient;
|
|
31
|
+
break;
|
|
32
|
+
}
|
|
21
33
|
if (!ctx.api) {
|
|
22
34
|
dependencies["@beignet/react-query"] = ctx.beignetVersion;
|
|
23
35
|
dependencies["@beignet/react-hook-form"] = ctx.beignetVersion;
|
|
@@ -46,6 +58,11 @@ export function packageJson(ctx) {
|
|
|
46
58
|
"drizzle-kit": externalVersions.drizzleKit,
|
|
47
59
|
typescript: externalVersions.typescript,
|
|
48
60
|
};
|
|
61
|
+
if (ctx.database === "postgres") {
|
|
62
|
+
// PGlite backs infra/db/test-database.ts with in-process Postgres.
|
|
63
|
+
devDependencies["@electric-sql/pglite"] = externalVersions.pglite;
|
|
64
|
+
devDependencies["@types/pg"] = externalVersions.typesPg;
|
|
65
|
+
}
|
|
49
66
|
if (!ctx.api) {
|
|
50
67
|
for (const [name, version] of Object.entries(shadcnDevDependencies)) {
|
|
51
68
|
devDependencies[name] = version;
|
|
@@ -105,6 +122,26 @@ export function readme(ctx) {
|
|
|
105
122
|
- \`components/\` owns the app shell and shadcn/ui primitives.
|
|
106
123
|
- \`client/\` owns the typed API client, React Query helpers, and the Better Auth client.
|
|
107
124
|
`;
|
|
125
|
+
const startDatabase = ctx.database === "sqlite"
|
|
126
|
+
? ""
|
|
127
|
+
: `## Start the database
|
|
128
|
+
|
|
129
|
+
\`\`\`bash
|
|
130
|
+
${databaseStartCommand(ctx.database, ctx.name)}
|
|
131
|
+
\`\`\`
|
|
132
|
+
|
|
133
|
+
The starter's \`.env.example\` points at this local ${ctx.database === "postgres" ? "Postgres" : "MySQL"} container. Point \`${ctx.database === "postgres" ? "POSTGRES_DB_URL" : "MYSQL_DB_URL"}\` at your own server to skip Docker.
|
|
134
|
+
|
|
135
|
+
`;
|
|
136
|
+
const testingNotes = ctx.database === "postgres"
|
|
137
|
+
? `
|
|
138
|
+
\`infra/db/test-database.ts\` runs repository tests against in-process Postgres via PGlite, so \`${test}\` needs no database server.
|
|
139
|
+
`
|
|
140
|
+
: ctx.database === "mysql"
|
|
141
|
+
? `
|
|
142
|
+
The starter's shipped tests use in-memory ports and need no database server. Database-backed tests can use \`createTestDatabase()\` from \`infra/db/test-database.ts\`, which requires \`MYSQL_TEST_URL\` (see the docker one-liner in \`.env.example\`), creates a uniquely named database per call, and drops it on close. Gate such tests with \`test.skipIf(!isMysqlTestDatabaseAvailable())\`.
|
|
143
|
+
`
|
|
144
|
+
: "";
|
|
108
145
|
return `# ${ctx.name}
|
|
109
146
|
|
|
110
147
|
Beignet app scaffolded with \`@beignet/cli\`.
|
|
@@ -116,7 +153,7 @@ ${install}
|
|
|
116
153
|
cp .env.example .env.local
|
|
117
154
|
\`\`\`
|
|
118
155
|
|
|
119
|
-
## Prepare the database
|
|
156
|
+
${startDatabase}## Prepare the database
|
|
120
157
|
|
|
121
158
|
\`\`\`bash
|
|
122
159
|
${cli} db migrate
|
|
@@ -144,7 +181,7 @@ ${typecheck}
|
|
|
144
181
|
\`\`\`
|
|
145
182
|
|
|
146
183
|
\`routes\` shows the contracts Beignet can inspect. \`lint\` checks dependency direction. \`doctor\` catches route, OpenAPI, and resource drift.
|
|
147
|
-
|
|
184
|
+
${testingNotes}
|
|
148
185
|
## Build for production
|
|
149
186
|
|
|
150
187
|
\`\`\`bash
|
|
@@ -178,16 +215,34 @@ ${cli} doctor
|
|
|
178
215
|
- \`infra/db/schema/\` contains the Drizzle schema, \`drizzle/\` contains the checked-in migrations, and \`infra/todos/\` contains the durable todo repository adapter.
|
|
179
216
|
- \`server/routes.ts\` keeps the central route registry and OpenAPI contract list.
|
|
180
217
|
- \`server/context.ts\` declares the context blueprint shared by the server and route tests.
|
|
181
|
-
- \`server/providers.ts\` wires devtools, Better Auth, pino,
|
|
218
|
+
- \`server/providers.ts\` wires devtools, Better Auth, pino, ${ctx.database === "sqlite"
|
|
219
|
+
? "Drizzle/libSQL"
|
|
220
|
+
: ctx.database === "postgres"
|
|
221
|
+
? "Drizzle/node-postgres"
|
|
222
|
+
: "Drizzle/mysql2"}, and the starter database provider.
|
|
182
223
|
- \`lib/env.ts\` validates deployment configuration at startup.
|
|
183
224
|
- \`lib/auth.ts\` exposes \`requireUser(ctx)\` for protected use cases.
|
|
184
225
|
- \`lib/better-auth.ts\` owns Better Auth setup and keeps provider-specific auth details outside use cases.
|
|
185
226
|
${shellMap}
|
|
186
227
|
## Before deploying
|
|
187
228
|
|
|
188
|
-
-
|
|
229
|
+
- ${ctx.database === "sqlite"
|
|
230
|
+
? "Keep `SQLITE_DB_URL=file:local.db` for local libSQL development or point it at a hosted libSQL database such as Turso."
|
|
231
|
+
: ctx.database === "postgres"
|
|
232
|
+
? "Point `POSTGRES_DB_URL` at your production Postgres 14+ server and run `" +
|
|
233
|
+
cli +
|
|
234
|
+
" db migrate` against it before starting the app."
|
|
235
|
+
: "Point `MYSQL_DB_URL` at your production MySQL 8.0+ server and run `" +
|
|
236
|
+
cli +
|
|
237
|
+
" db migrate` against it before starting the app."}
|
|
189
238
|
- Run \`${cli} db generate\` and \`${cli} db migrate\` after changing the Drizzle schema.
|
|
190
|
-
- Run \`${cli} db reset\` to rebuild a local
|
|
239
|
+
- Run \`${cli} db reset\` to rebuild a local ${ctx.database === "sqlite"
|
|
240
|
+
? "SQLite"
|
|
241
|
+
: ctx.database === "postgres"
|
|
242
|
+
? "Postgres"
|
|
243
|
+
: "MySQL"} database from the checked-in migrations${ctx.database === "sqlite"
|
|
244
|
+
? ""
|
|
245
|
+
: "; it refuses non-local hosts unless `BEIGNET_ALLOW_DATABASE_RESET=true`"}.
|
|
191
246
|
- Remove \`DEVTOOLS_ENABLED=true\` in production unless you add authentication and stricter redaction.
|
|
192
247
|
- Set \`APP_URL\`, \`BETTER_AUTH_SECRET\`, \`LOG_LEVEL\`, and service-specific integration variables in your hosting environment.
|
|
193
248
|
- Set \`BETTER_AUTH_TRUSTED_ORIGINS\` before serving auth across multiple origins.
|
|
@@ -215,6 +270,23 @@ export function integrationsDoc(ctx) {
|
|
|
215
270
|
return `${lines.join("\n")}\n`;
|
|
216
271
|
}
|
|
217
272
|
export function envExample(ctx) {
|
|
273
|
+
const databaseLines = ctx.database === "sqlite"
|
|
274
|
+
? [
|
|
275
|
+
"# Use file:local.db for local libSQL or libsql://... for Turso cloud.",
|
|
276
|
+
"SQLITE_DB_URL=file:local.db",
|
|
277
|
+
"# SQLITE_DB_AUTH_TOKEN=",
|
|
278
|
+
]
|
|
279
|
+
: ctx.database === "postgres"
|
|
280
|
+
? [
|
|
281
|
+
"# Local Postgres matching the docker one-liner below; point at your own server in production.",
|
|
282
|
+
`# ${databaseStartCommand("postgres", ctx.name)}`,
|
|
283
|
+
`POSTGRES_DB_URL=${databaseLocalUrl("postgres", ctx.name)}`,
|
|
284
|
+
]
|
|
285
|
+
: [
|
|
286
|
+
"# Local MySQL matching the docker one-liner below; point at your own server in production.",
|
|
287
|
+
`# ${databaseStartCommand("mysql", ctx.name)}`,
|
|
288
|
+
`MYSQL_DB_URL=${databaseLocalUrl("mysql", ctx.name)}`,
|
|
289
|
+
];
|
|
218
290
|
const lines = [
|
|
219
291
|
"# Copy to .env.local and fill in values for your app.",
|
|
220
292
|
"APP_URL=http://localhost:3000",
|
|
@@ -226,9 +298,7 @@ export function envExample(ctx) {
|
|
|
226
298
|
"LOG_FORMAT=json",
|
|
227
299
|
`LOG_SERVICE=${ctx.name}`,
|
|
228
300
|
"",
|
|
229
|
-
|
|
230
|
-
"SQLITE_DB_URL=file:local.db",
|
|
231
|
-
"# SQLITE_DB_AUTH_TOKEN=",
|
|
301
|
+
...databaseLines,
|
|
232
302
|
"",
|
|
233
303
|
"BETTER_AUTH_SECRET=local-dev-better-auth-secret-change-me",
|
|
234
304
|
"BETTER_AUTH_URL=http://localhost:3000",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/templates/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,IAAI,EACJ,aAAa,GAEd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAErE,MAAM,UAAU,WAAW,CAAC,GAAoB;IAC9C,MAAM,YAAY,GAA2B;QAC3C,eAAe,EAAE,GAAG,CAAC,cAAc;QACnC,mBAAmB,EAAE,GAAG,CAAC,cAAc;QACvC,eAAe,EAAE,GAAG,CAAC,cAAc;QACnC,oCAAoC,EAAE,GAAG,CAAC,cAAc;QACxD,8BAA8B,EAAE,GAAG,CAAC,cAAc;QAClD,+BAA+B,EAAE,GAAG,CAAC,cAAc;QACnD,
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/templates/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,IAAI,EACJ,aAAa,GAEd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAErE,MAAM,UAAU,WAAW,CAAC,GAAoB;IAC9C,MAAM,YAAY,GAA2B;QAC3C,eAAe,EAAE,GAAG,CAAC,cAAc;QACnC,mBAAmB,EAAE,GAAG,CAAC,cAAc;QACvC,eAAe,EAAE,GAAG,CAAC,cAAc;QACnC,oCAAoC,EAAE,GAAG,CAAC,cAAc;QACxD,8BAA8B,EAAE,GAAG,CAAC,cAAc;QAClD,+BAA+B,EAAE,GAAG,CAAC,cAAc;QACnD,aAAa,EAAE,gBAAgB,CAAC,UAAU;QAC1C,aAAa,EAAE,gBAAgB,CAAC,UAAU;QAC1C,IAAI,EAAE,gBAAgB,CAAC,IAAI;QAC3B,IAAI,EAAE,gBAAgB,CAAC,IAAI;QAC3B,KAAK,EAAE,gBAAgB,CAAC,KAAK;QAC7B,WAAW,EAAE,gBAAgB,CAAC,QAAQ;QACtC,GAAG,EAAE,gBAAgB,CAAC,GAAG;KAC1B,CAAC;IAEF,0CAA0C;IAC1C,QAAQ,GAAG,CAAC,QAAQ,EAAE,CAAC;QACrB,KAAK,UAAU;YACb,YAAY,CAAC,EAAE,GAAG,gBAAgB,CAAC,EAAE,CAAC;YACtC,MAAM;QACR,KAAK,OAAO;YACV,YAAY,CAAC,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC;YAC9C,MAAM;QACR;YACE,YAAY,CAAC,gBAAgB,CAAC,GAAG,gBAAgB,CAAC,YAAY,CAAC;YAC/D,MAAM;IACV,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QACb,YAAY,CAAC,sBAAsB,CAAC,GAAG,GAAG,CAAC,cAAc,CAAC;QAC1D,YAAY,CAAC,0BAA0B,CAAC,GAAG,GAAG,CAAC,cAAc,CAAC;QAC9D,YAAY,CAAC,qBAAqB,CAAC,GAAG,gBAAgB,CAAC,iBAAiB,CAAC;QACzE,YAAY,CAAC,uBAAuB,CAAC,GAAG,gBAAgB,CAAC,kBAAkB,CAAC;QAC5E,YAAY,CAAC,iBAAiB,CAAC,GAAG,gBAAgB,CAAC,aAAa,CAAC;QAEjE,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACjE,YAAY,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;QAC/B,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAChE,YAAY,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,KAAK,MAAM,WAAW,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;QAC3C,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAC1C,eAAe,CAAC,WAAW,CAAC,CAC7B,EAAE,CAAC;YACF,YAAY,CAAC,IAAI,CAAC,GAAG,OAAO,IAAI,GAAG,CAAC,cAAc,CAAC;QACrD,CAAC;IACH,CAAC;IAED,MAAM,eAAe,GAA2B;QAC9C,cAAc,EAAE,GAAG,CAAC,cAAc;QAClC,cAAc,EAAE,GAAG,CAAC,cAAc;QAClC,YAAY,EAAE,gBAAgB,CAAC,QAAQ;QACvC,aAAa,EAAE,gBAAgB,CAAC,SAAS;QACzC,cAAc,EAAE,gBAAgB,CAAC,UAAU;QAC3C,kBAAkB,EAAE,gBAAgB,CAAC,aAAa;QAClD,aAAa,EAAE,gBAAgB,CAAC,UAAU;QAC1C,UAAU,EAAE,gBAAgB,CAAC,UAAU;KACxC,CAAC;IAEF,IAAI,GAAG,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;QAChC,mEAAmE;QACnE,eAAe,CAAC,sBAAsB,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC;QAClE,eAAe,CAAC,WAAW,CAAC,GAAG,gBAAgB,CAAC,OAAO,CAAC;IAC1D,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QACb,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE,CAAC;YACpE,eAAe,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;QAClC,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,CAAC;YACnE,eAAe,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;QAClC,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAA2B;QACtC,OAAO,EAAE,SAAS;QAClB,GAAG,EAAE,UAAU;QACf,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,YAAY;QACnB,IAAI,EAAE,UAAU;QAChB,SAAS,EAAE,cAAc;QACzB,aAAa,EAAE,sBAAsB;QACrC,YAAY,EAAE,qBAAqB;QACnC,UAAU,EAAE,uBAAuB;KACpC,CAAC;IAEF,OAAO,IAAI,CAAC;QACV,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,QAAQ;QACd,OAAO;QACP,YAAY,EAAE,UAAU,CAAC,YAAY,CAAC;QACtC,eAAe,EAAE,UAAU,CAAC,eAAe,CAAC;KAC7C,CAAC,CAAC;AACL,CAAC;AAED,SAAS,UAAU,CAAC,MAA8B;IAChD,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAC5E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,GAAoB;IACzC,MAAM,OAAO,GAAG,GAAG,GAAG,CAAC,cAAc,UAAU,CAAC;IAChD,MAAM,GAAG,GACP,GAAG,CAAC,cAAc,KAAK,KAAK;QAC1B,CAAC,CAAC,aAAa;QACf,CAAC,CAAC,GAAG,GAAG,CAAC,cAAc,UAAU,CAAC;IACtC,MAAM,KAAK,GACT,GAAG,CAAC,cAAc,KAAK,KAAK;QAC1B,CAAC,CAAC,eAAe;QACjB,CAAC,CAAC,GAAG,GAAG,CAAC,cAAc,YAAY,CAAC;IACxC,MAAM,KAAK,GACT,GAAG,CAAC,cAAc,KAAK,KAAK;QAC1B,CAAC,CAAC,eAAe;QACjB,CAAC,CAAC,GAAG,GAAG,CAAC,cAAc,YAAY,CAAC;IACxC,MAAM,IAAI,GACR,GAAG,CAAC,cAAc,KAAK,KAAK;QAC1B,CAAC,CAAC,cAAc;QAChB,CAAC,CAAC,GAAG,GAAG,CAAC,cAAc,WAAW,CAAC;IACvC,MAAM,SAAS,GACb,GAAG,CAAC,cAAc,KAAK,KAAK;QAC1B,CAAC,CAAC,mBAAmB;QACrB,CAAC,CAAC,GAAG,GAAG,CAAC,cAAc,gBAAgB,CAAC;IAC5C,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IAE/B,MAAM,SAAS,GAAG,GAAG,CAAC,GAAG;QACvB,CAAC,CAAC,8HAA8H;QAChI,CAAC,CAAC,4HAA4H,CAAC;IAEjI,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG;QACtB,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;;;CAGL,CAAC;IAEA,MAAM,aAAa,GACjB,GAAG,CAAC,QAAQ,KAAK,QAAQ;QACvB,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;;;EAGN,oBAAoB,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC;;;sDAGQ,GAAG,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,uBAAuB,GAAG,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,cAAc;;CAE9L,CAAC;IAEA,MAAM,YAAY,GAChB,GAAG,CAAC,QAAQ,KAAK,UAAU;QACzB,CAAC,CAAC;mGAC2F,IAAI;CACtG;QACK,CAAC,CAAC,GAAG,CAAC,QAAQ,KAAK,OAAO;YACxB,CAAC,CAAC;;CAET;YACO,CAAC,CAAC,EAAE,CAAC;IAEX,OAAO,KAAK,GAAG,CAAC,IAAI;;;;;;;EAOpB,OAAO;;;;EAIP,aAAa;;;EAGb,GAAG;;;kJAG6I,GAAG,wBAAwB,GAAG;;;;;EAK9K,GAAG;;;EAGH,SAAS;;;;;;EAMT,GAAG;EACH,GAAG;EACH,GAAG;EACH,IAAI;EACJ,SAAS;;;;EAIT,YAAY;;;;EAIZ,KAAK;EACL,KAAK;;;;;;EAML,GAAG;EACH,GAAG;EACH,GAAG;EACH,IAAI;EACJ,SAAS;EACT,GAAG;EACH,GAAG;;;;;;;;;;;;;;;;;+DAkBD,GAAG,CAAC,QAAQ,KAAK,QAAQ;QACvB,CAAC,CAAC,gBAAgB;QAClB,CAAC,CAAC,GAAG,CAAC,QAAQ,KAAK,UAAU;YAC3B,CAAC,CAAC,uBAAuB;YACzB,CAAC,CAAC,gBACR;;;;EAIA,QAAQ;;;IAIN,GAAG,CAAC,QAAQ,KAAK,QAAQ;QACvB,CAAC,CAAC,wHAAwH;QAC1H,CAAC,CAAC,GAAG,CAAC,QAAQ,KAAK,UAAU;YAC3B,CAAC,CAAC,0EAA0E;gBAC1E,GAAG;gBACH,kDAAkD;YACpD,CAAC,CAAC,qEAAqE;gBACrE,GAAG;gBACH,kDACR;UACQ,GAAG,wBAAwB,GAAG;UAC9B,GAAG,kCACT,GAAG,CAAC,QAAQ,KAAK,QAAQ;QACvB,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,GAAG,CAAC,QAAQ,KAAK,UAAU;YAC3B,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,OACR,2CACE,GAAG,CAAC,QAAQ,KAAK,QAAQ;QACvB,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,yEACN;;;;;EAKA,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,iDAAiD,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACzF,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAoB;IAClD,MAAM,KAAK,GAAG;QACZ,gBAAgB;QAChB,EAAE;QACF,oOAAoO;QACpO,EAAE;KACH,CAAC;IAEF,KAAK,MAAM,WAAW,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;QAC3C,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,KAAK,CAAC,IAAI,CACR,YAAY,EACZ,EAAE,EACF,2EAA2E,EAC3E,wCAAwC,EACxC,8BAA8B,EAC9B,iEAAiE,EACjE,+FAA+F,EAC/F,4HAA4H,EAC5H,EAAE,CACH,CAAC;QACJ,CAAC;QAED,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CACR,gBAAgB,EAChB,EAAE,EACF,4CAA4C,EAC5C,6BAA6B,EAC7B,oEAAoE,EACpE,mIAAmI,EACnI,EAAE,CACH,CAAC;QACJ,CAAC;QAED,IAAI,WAAW,KAAK,oBAAoB,EAAE,CAAC;YACzC,KAAK,CAAC,IAAI,CACR,uBAAuB,EACvB,EAAE,EACF,mDAAmD,EACnD,gEAAgE,EAChE,4HAA4H,EAC5H,kKAAkK,EAClK,EAAE,CACH,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAAoB;IAC7C,MAAM,aAAa,GACjB,GAAG,CAAC,QAAQ,KAAK,QAAQ;QACvB,CAAC,CAAC;YACE,uEAAuE;YACvE,6BAA6B;YAC7B,yBAAyB;SAC1B;QACH,CAAC,CAAC,GAAG,CAAC,QAAQ,KAAK,UAAU;YAC3B,CAAC,CAAC;gBACE,+FAA+F;gBAC/F,KAAK,oBAAoB,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE;gBACjD,mBAAmB,gBAAgB,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE;aAC5D;YACH,CAAC,CAAC;gBACE,4FAA4F;gBAC5F,KAAK,oBAAoB,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE;gBAC9C,gBAAgB,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE;aACtD,CAAC;IAEV,MAAM,KAAK,GAAG;QACZ,uDAAuD;QACvD,+BAA+B;QAC/B,EAAE;QACF,2CAA2C;QAC3C,uBAAuB;QACvB,EAAE;QACF,gBAAgB;QAChB,iBAAiB;QACjB,eAAe,GAAG,CAAC,IAAI,EAAE;QACzB,EAAE;QACF,GAAG,aAAa;QAChB,EAAE;QACF,2DAA2D;QAC3D,uCAAuC;QACvC,qDAAqD;QACrD,EAAE;KACH,CAAC;IAEF,IAAI,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,8BAA8B,EAAE,sBAAsB,EAAE,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,IAAI,cAAc,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC;QAClC,KAAK,CAAC,IAAI,CACR,uFAAuF,EACvF,0CAA0C,EAC1C,mDAAmD,EACnD,EAAE,CACH,CAAC;IACJ,CAAC;IAED,IAAI,cAAc,CAAC,GAAG,EAAE,oBAAoB,CAAC,EAAE,CAAC;QAC9C,KAAK,CAAC,IAAI,CACR,yFAAyF,EACzF,2DAA2D,EAC3D,oDAAoD,EACpD,kCAAkC,EAClC,EAAE,CACH,CAAC;IACJ,CAAC;IAED,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACjC,CAAC;AAED,MAAM,KAAK,GAAG;IACZ,SAAS,EAAE;;;;;;;;CAQZ;IACC,OAAO,EAAE;;;;CAIV;IACC,UAAU,EAAE;;;;CAIb;IACC,QAAQ,EAAE,IAAI,CAAC;QACb,eAAe,EAAE;YACf,MAAM,EAAE,QAAQ;YAChB,GAAG,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,CAAC;YACtC,OAAO,EAAE,IAAI;YACb,YAAY,EAAE,IAAI;YAClB,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,IAAI;YACZ,eAAe,EAAE,IAAI;YACrB,MAAM,EAAE,QAAQ;YAChB,gBAAgB,EAAE,SAAS;YAC3B,iBAAiB,EAAE,IAAI;YACvB,eAAe,EAAE,IAAI;YACrB,GAAG,EAAE,WAAW;YAChB,WAAW,EAAE,IAAI;YACjB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YAC3B,KAAK,EAAE;gBACL,KAAK,EAAE,CAAC,KAAK,CAAC;aACf;SACF;QACD,OAAO,EAAE;YACP,eAAe;YACf,SAAS;YACT,UAAU;YACV,qBAAqB;YACrB,yBAAyB;SAC1B;QACD,OAAO,EAAE,CAAC,cAAc,CAAC;KAC1B,CAAC;CACH,CAAC;AAEF,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { TemplateContext } from "../shared.js";
|
|
2
|
+
/**
|
|
3
|
+
* Generated database files shared by every dialect. Each dialect module
|
|
4
|
+
* provides the full set so the scaffold surface stays stable across `--db`
|
|
5
|
+
* choices.
|
|
6
|
+
*/
|
|
7
|
+
export type DbTemplateFiles = {
|
|
8
|
+
drizzleConfig: string;
|
|
9
|
+
dbSchema: string;
|
|
10
|
+
drizzleTodoRepository: string;
|
|
11
|
+
dbRepositories: string;
|
|
12
|
+
databaseReady: string;
|
|
13
|
+
dbProvider: string;
|
|
14
|
+
dbReset: string;
|
|
15
|
+
dbTestDatabase: string;
|
|
16
|
+
starterMigrationSql: string;
|
|
17
|
+
starterMigrationJournal: string;
|
|
18
|
+
starterMigrationSnapshot: string;
|
|
19
|
+
};
|
|
20
|
+
export declare function dbFiles(ctx: TemplateContext): DbTemplateFiles;
|
|
21
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/templates/db/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAKpD;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,uBAAuB,EAAE,MAAM,CAAC;IAChC,wBAAwB,EAAE,MAAM,CAAC;CAClC,CAAC;AAEF,wBAAgB,OAAO,CAAC,GAAG,EAAE,eAAe,GAAG,eAAe,CAS7D"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { mysqlDbFiles } from "./mysql.js";
|
|
2
|
+
import { postgresDbFiles } from "./postgres.js";
|
|
3
|
+
import { sqliteDbFiles } from "./sqlite.js";
|
|
4
|
+
export function dbFiles(ctx) {
|
|
5
|
+
switch (ctx.database) {
|
|
6
|
+
case "postgres":
|
|
7
|
+
return postgresDbFiles(ctx);
|
|
8
|
+
case "mysql":
|
|
9
|
+
return mysqlDbFiles(ctx);
|
|
10
|
+
default:
|
|
11
|
+
return sqliteDbFiles();
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/templates/db/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAqB5C,MAAM,UAAU,OAAO,CAAC,GAAoB;IAC1C,QAAQ,GAAG,CAAC,QAAQ,EAAE,CAAC;QACrB,KAAK,UAAU;YACb,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC;QAC9B,KAAK,OAAO;YACV,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;QAC3B;YACE,OAAO,aAAa,EAAE,CAAC;IAC3B,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mysql.d.ts","sourceRoot":"","sources":["../../../src/templates/db/mysql.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,wBAAgB,YAAY,CAAC,GAAG,EAAE,eAAe,GAAG,eAAe,CAoZlE"}
|