create-better-t-stack 3.4.1 → 3.4.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
CHANGED
|
@@ -38,7 +38,7 @@ Follow the prompts to configure your project or use the `--yes` flag for default
|
|
|
38
38
|
| **Runtime** | • Bun<br>• Node.js<br>• Cloudflare Workers<br>• None |
|
|
39
39
|
| **Database** | • SQLite<br>• PostgreSQL<br>• MySQL<br>• MongoDB<br>• None |
|
|
40
40
|
| **ORM** | • Drizzle (TypeScript-first)<br>• Prisma (feature-rich)<br>• Mongoose (for MongoDB)<br>• None |
|
|
41
|
-
| **Database Setup** | • Turso (SQLite)<br>• Cloudflare D1 (SQLite)<br>• Neon (PostgreSQL)<br>• Supabase (PostgreSQL)<br>• Prisma Postgres
|
|
41
|
+
| **Database Setup** | • Turso (SQLite)<br>• Cloudflare D1 (SQLite)<br>• Neon (PostgreSQL)<br>• Supabase (PostgreSQL)<br>• Prisma Postgres<br>• MongoDB Atlas<br>• None (manual setup) |
|
|
42
42
|
| **Authentication** | Better-Auth (email/password, with more options coming soon) |
|
|
43
43
|
| **Styling** | Tailwind CSS with shadcn/ui components |
|
|
44
44
|
| **Addons** | • PWA support<br>• Tauri (desktop applications)<br>• Starlight (documentation site)<br>• Biome (linting and formatting)<br>• Husky (Git hooks)<br>• Turborepo (optimized builds) |
|
package/dist/cli.js
CHANGED
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { a as router, i as init, n as createBtsCli, o as sponsors, r as docs, t as builder } from "./src-
|
|
2
|
+
import { a as router, i as init, n as createBtsCli, o as sponsors, r as docs, t as builder } from "./src-BmqgKPgS.js";
|
|
3
3
|
|
|
4
4
|
export { builder, createBtsCli, docs, init, router, sponsors };
|
|
@@ -81,7 +81,6 @@ const dependencyVersionMap = {
|
|
|
81
81
|
"@prisma/client": "^6.15.0",
|
|
82
82
|
prisma: "^6.15.0",
|
|
83
83
|
"@prisma/adapter-d1": "^6.15.0",
|
|
84
|
-
"@prisma/extension-accelerate": "^2.0.2",
|
|
85
84
|
"@prisma/adapter-libsql": "^6.15.0",
|
|
86
85
|
"@prisma/adapter-planetscale": "^6.15.0",
|
|
87
86
|
mongoose: "^8.14.0",
|
|
@@ -5407,7 +5406,7 @@ const AVAILABLE_REGIONS = [
|
|
|
5407
5406
|
label: "US West (N. California)"
|
|
5408
5407
|
}
|
|
5409
5408
|
];
|
|
5410
|
-
async function setupWithCreateDb(serverDir, packageManager
|
|
5409
|
+
async function setupWithCreateDb(serverDir, packageManager) {
|
|
5411
5410
|
try {
|
|
5412
5411
|
log.info("Starting Prisma Postgres setup with create-db.");
|
|
5413
5412
|
const selectedRegion = await select({
|
|
@@ -5432,7 +5431,7 @@ async function setupWithCreateDb(serverDir, packageManager, orm) {
|
|
|
5432
5431
|
return null;
|
|
5433
5432
|
}
|
|
5434
5433
|
return {
|
|
5435
|
-
databaseUrl:
|
|
5434
|
+
databaseUrl: createDbResponse.connectionString,
|
|
5436
5435
|
claimUrl: createDbResponse.claimUrl
|
|
5437
5436
|
};
|
|
5438
5437
|
} catch (error) {
|
|
@@ -5450,12 +5449,12 @@ async function initPrismaDatabase(serverDir, packageManager) {
|
|
|
5450
5449
|
stdio: "inherit",
|
|
5451
5450
|
shell: true
|
|
5452
5451
|
});
|
|
5453
|
-
log.info(pc.yellow("Please copy the Prisma Postgres URL
|
|
5452
|
+
log.info(pc.yellow("Please copy the Prisma Postgres URL.\nIt looks like: postgresql://user:password@host:5432/db?sslmode=require"));
|
|
5454
5453
|
const databaseUrl = await text({
|
|
5455
5454
|
message: "Paste your Prisma Postgres database URL:",
|
|
5456
5455
|
validate(value) {
|
|
5457
5456
|
if (!value) return "Please enter a database URL";
|
|
5458
|
-
if (!value.startsWith("
|
|
5457
|
+
if (!value.startsWith("postgresql://")) return "URL should start with postgresql://";
|
|
5459
5458
|
}
|
|
5460
5459
|
});
|
|
5461
5460
|
if (isCancel(databaseUrl)) return null;
|
|
@@ -5504,18 +5503,6 @@ function displayManualSetupInstructions$1(target) {
|
|
|
5504
5503
|
|
|
5505
5504
|
DATABASE_URL="your_database_url"`);
|
|
5506
5505
|
}
|
|
5507
|
-
async function addPrismaAccelerateExtension(projectDir) {
|
|
5508
|
-
try {
|
|
5509
|
-
await addPackageDependency({
|
|
5510
|
-
dependencies: ["@prisma/extension-accelerate"],
|
|
5511
|
-
projectDir: path.join(projectDir, "packages/db")
|
|
5512
|
-
});
|
|
5513
|
-
return true;
|
|
5514
|
-
} catch (_error) {
|
|
5515
|
-
log.warn(pc.yellow("Could not add Prisma Accelerate extension automatically"));
|
|
5516
|
-
return false;
|
|
5517
|
-
}
|
|
5518
|
-
}
|
|
5519
5506
|
async function setupPrismaPostgres(config, cliInput) {
|
|
5520
5507
|
const { packageManager, projectDir, orm, backend } = config;
|
|
5521
5508
|
const manualDb = cliInput?.manualDb ?? false;
|
|
@@ -5563,16 +5550,12 @@ async function setupPrismaPostgres(config, cliInput) {
|
|
|
5563
5550
|
});
|
|
5564
5551
|
if (isCancel(setupMethod)) return exitCancelled("Operation cancelled");
|
|
5565
5552
|
let prismaConfig = null;
|
|
5566
|
-
if (setupMethod === "create-db") prismaConfig = await setupWithCreateDb(dbDir, packageManager
|
|
5553
|
+
if (setupMethod === "create-db") prismaConfig = await setupWithCreateDb(dbDir, packageManager);
|
|
5567
5554
|
else prismaConfig = await initPrismaDatabase(dbDir, packageManager);
|
|
5568
5555
|
if (prismaConfig) {
|
|
5569
5556
|
await writeEnvFile$1(projectDir, backend, prismaConfig);
|
|
5570
|
-
if (orm === "prisma")
|
|
5571
|
-
|
|
5572
|
-
await addPrismaAccelerateExtension(projectDir);
|
|
5573
|
-
}
|
|
5574
|
-
const connectionType = orm === "drizzle" ? "direct connection" : "Prisma Accelerate";
|
|
5575
|
-
log.success(pc.green(`Prisma Postgres database configured successfully with ${connectionType}!`));
|
|
5557
|
+
if (orm === "prisma") await addDotenvImportToPrismaConfig(projectDir, backend);
|
|
5558
|
+
log.success(pc.green("Prisma Postgres database configured successfully!"));
|
|
5576
5559
|
if (prismaConfig.claimUrl) log.info(pc.blue(`Claim URL saved to .env: ${prismaConfig.claimUrl}`));
|
|
5577
5560
|
} else {
|
|
5578
5561
|
await writeEnvFile$1(projectDir, backend);
|
package/package.json
CHANGED
|
@@ -1,10 +1,5 @@
|
|
|
1
1
|
import { PrismaClient } from "../prisma/generated/client";
|
|
2
|
-
{{#if (and (eq dbSetup "prisma-postgres") (eq orm "prisma"))}}
|
|
3
|
-
import { withAccelerate } from "@prisma/extension-accelerate";
|
|
4
2
|
|
|
5
|
-
const prisma = new PrismaClient().$extends(withAccelerate());
|
|
6
|
-
{{else}}
|
|
7
3
|
const prisma = new PrismaClient();
|
|
8
|
-
{{/if}}
|
|
9
4
|
|
|
10
5
|
export default prisma;
|
|
@@ -12,10 +12,10 @@
|
|
|
12
12
|
"@tanstack/react-form": "^1.23.5",
|
|
13
13
|
"@tailwindcss/vite": "^4.1.8",
|
|
14
14
|
"@tanstack/react-query": "^5.80.6",
|
|
15
|
-
"@tanstack/react-router": "^1.132.31",
|
|
15
|
+
"@tanstack/react-router": {{#if (eq auth "clerk")}}"1.134.4"{{else}}"^1.132.31"{{/if}},
|
|
16
16
|
"@tanstack/react-router-with-query": "^1.130.17",
|
|
17
|
-
"@tanstack/react-start": "^1.132.31",
|
|
18
|
-
"@tanstack/router-plugin": "^1.132.31",
|
|
17
|
+
"@tanstack/react-start": {{#if (eq auth "clerk")}}"1.134.6"{{else}}"^1.132.31"{{/if}},
|
|
18
|
+
"@tanstack/router-plugin": {{#if (eq auth "clerk")}}"1.134.4"{{else}}"^1.132.31"{{/if}},
|
|
19
19
|
"class-variance-authority": "^0.7.1",
|
|
20
20
|
"clsx": "^2.1.1",
|
|
21
21
|
"lucide-react": "^0.525.0",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"zod": "^4.0.2"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
|
-
"@tanstack/react-router-devtools": "^1.132.31",
|
|
33
|
+
"@tanstack/react-router-devtools": {{#if (eq auth "clerk")}}"1.134.4"{{else}}"^1.132.31"{{/if}},
|
|
34
34
|
"@testing-library/dom": "^10.4.0",
|
|
35
35
|
"@testing-library/react": "^16.2.0",
|
|
36
36
|
"@types/react": "~19.1.10",
|