create-better-t-stack 2.36.1 → 2.36.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/dist/cli.js +1 -1
- package/dist/index.js +1 -1
- package/dist/{src-CVjU4aav.js → src-BUa64nwX.js} +24 -24
- package/package.json +1 -1
package/dist/cli.js
CHANGED
package/dist/index.js
CHANGED
|
@@ -5628,7 +5628,7 @@ async function getDockerStatus(database) {
|
|
|
5628
5628
|
async function displayPostInstallInstructions(config) {
|
|
5629
5629
|
const { database, relativePath, packageManager, depsInstalled, orm, addons, runtime, frontend, backend, dbSetup, webDeploy, serverDeploy } = config;
|
|
5630
5630
|
const isConvex = backend === "convex";
|
|
5631
|
-
const runCmd = packageManager === "npm" ? "npm run" : packageManager;
|
|
5631
|
+
const runCmd = packageManager === "npm" ? "npm run" : packageManager === "pnpm" ? "pnpm run" : "bun run";
|
|
5632
5632
|
const cdCmd = `cd ${relativePath}`;
|
|
5633
5633
|
const hasHuskyOrBiome = addons?.includes("husky") || addons?.includes("biome");
|
|
5634
5634
|
const databaseInstructions = !isConvex && database !== "none" ? await getDatabaseInstructions(database, orm, runCmd, runtime, dbSetup, serverDeploy) : "";
|
|
@@ -5717,21 +5717,21 @@ async function getDatabaseInstructions(database, orm, runCmd, _runtime, dbSetup,
|
|
|
5717
5717
|
instructions.push(`${pc.cyan("1.")} Login to Cloudflare: ${pc.white(`${packageManager} wrangler login`)}`);
|
|
5718
5718
|
instructions.push(`${pc.cyan("2.")} Create D1 database: ${pc.white(`${packageManager} wrangler d1 create your-database-name`)}`);
|
|
5719
5719
|
instructions.push(`${pc.cyan("3.")} Update apps/server/wrangler.jsonc with database_id and database_name`);
|
|
5720
|
-
instructions.push(`${pc.cyan("4.")} Generate migrations: ${pc.white(`cd apps/server && ${
|
|
5720
|
+
instructions.push(`${pc.cyan("4.")} Generate migrations: ${pc.white(`cd apps/server && ${runCmd} db:generate`)}`);
|
|
5721
5721
|
instructions.push(`${pc.cyan("5.")} Apply migrations locally: ${pc.white(`${packageManager} wrangler d1 migrations apply YOUR_DB_NAME --local`)}`);
|
|
5722
5722
|
instructions.push(`${pc.cyan("6.")} Apply migrations to production: ${pc.white(`${packageManager} wrangler d1 migrations apply YOUR_DB_NAME`)}`);
|
|
5723
5723
|
}
|
|
5724
|
-
if (dbSetup === "d1" && serverDeploy === "alchemy") {}
|
|
5724
|
+
if (dbSetup === "d1" && serverDeploy === "alchemy") instructions.push(`${pc.yellow("NOTE:")} D1 migrations are automatically handled by Alchemy`);
|
|
5725
5725
|
if (orm === "prisma") {
|
|
5726
5726
|
if (dbSetup === "turso") instructions.push(`${pc.yellow("NOTE:")} Turso support with Prisma is in Early Access and requires\n additional setup. Learn more at:\n https://www.prisma.io/docs/orm/overview/databases/turso`);
|
|
5727
5727
|
if (database === "mongodb" && dbSetup === "docker") instructions.push(`${pc.yellow("WARNING:")} Prisma + MongoDB + Docker combination\n may not work.`);
|
|
5728
5728
|
if (dbSetup === "docker") instructions.push(`${pc.cyan("•")} Start docker container: ${`${runCmd} db:start`}`);
|
|
5729
5729
|
instructions.push(`${pc.cyan("•")} Apply schema: ${`${runCmd} db:push`}`);
|
|
5730
|
-
instructions.push(`${pc.cyan("•")} Database UI: ${`${runCmd} db:studio`}`);
|
|
5730
|
+
if (!(dbSetup === "d1" && serverDeploy === "alchemy")) instructions.push(`${pc.cyan("•")} Database UI: ${`${runCmd} db:studio`}`);
|
|
5731
5731
|
} else if (orm === "drizzle") {
|
|
5732
5732
|
if (dbSetup === "docker") instructions.push(`${pc.cyan("•")} Start docker container: ${`${runCmd} db:start`}`);
|
|
5733
5733
|
if (dbSetup !== "d1") instructions.push(`${pc.cyan("•")} Apply schema: ${`${runCmd} db:push`}`);
|
|
5734
|
-
instructions.push(`${pc.cyan("•")} Database UI: ${`${runCmd} db:studio`}`);
|
|
5734
|
+
if (!(dbSetup === "d1" && serverDeploy === "alchemy")) instructions.push(`${pc.cyan("•")} Database UI: ${`${runCmd} db:studio`}`);
|
|
5735
5735
|
if (database === "sqlite" && dbSetup !== "d1") instructions.push(`${pc.cyan("•")} Start local DB (if needed): ${`cd apps/server && ${runCmd} db:local`}`);
|
|
5736
5736
|
} else if (orm === "mongoose") {
|
|
5737
5737
|
if (dbSetup === "docker") instructions.push(`${pc.cyan("•")} Start docker container: ${`${runCmd} db:start`}`);
|
|
@@ -5761,9 +5761,9 @@ function getWranglerDeployInstructions(runCmd, webDeploy, serverDeploy) {
|
|
|
5761
5761
|
}
|
|
5762
5762
|
function getAlchemyDeployInstructions(runCmd, webDeploy, serverDeploy) {
|
|
5763
5763
|
const instructions = [];
|
|
5764
|
-
if (webDeploy === "alchemy" && serverDeploy !== "alchemy") instructions.push(`${pc.bold("Deploy web
|
|
5765
|
-
else if (serverDeploy === "alchemy" && webDeploy !== "alchemy") instructions.push(`${pc.bold("Deploy server
|
|
5766
|
-
else if (webDeploy === "alchemy" && serverDeploy === "alchemy") instructions.push(`${pc.bold("Deploy
|
|
5764
|
+
if (webDeploy === "alchemy" && serverDeploy !== "alchemy") instructions.push(`${pc.bold("Deploy web with Alchemy:")}\n${pc.cyan("•")} Dev: ${`cd apps/web && ${runCmd} alchemy:dev`}\n${pc.cyan("•")} Deploy: ${`cd apps/web && ${runCmd} deploy`}\n${pc.cyan("•")} Destroy: ${`cd apps/web && ${runCmd} destroy`}`);
|
|
5765
|
+
else if (serverDeploy === "alchemy" && webDeploy !== "alchemy") instructions.push(`${pc.bold("Deploy server with Alchemy:")}\n${pc.cyan("•")} Dev: ${`cd apps/server && ${runCmd} alchemy:dev`}\n${pc.cyan("•")} Deploy: ${`cd apps/server && ${runCmd} deploy`}\n${pc.cyan("•")} Destroy: ${`cd apps/server && ${runCmd} destroy`}`);
|
|
5766
|
+
else if (webDeploy === "alchemy" && serverDeploy === "alchemy") instructions.push(`${pc.bold("Deploy with Alchemy:")}\n${pc.cyan("•")} Dev: ${`${runCmd} alchemy:dev`}\n${pc.cyan("•")} Deploy: ${`${runCmd} deploy`}\n${pc.cyan("•")} Destroy: ${`${runCmd} destroy`}`);
|
|
5767
5767
|
return instructions.length ? `\n${instructions.join("\n")}` : "";
|
|
5768
5768
|
}
|
|
5769
5769
|
|
|
@@ -5802,13 +5802,13 @@ async function updateRootPackageJson(projectDir, options) {
|
|
|
5802
5802
|
if (options.backend === "convex") scripts["dev:setup"] = `turbo -F ${backendPackageName} dev:setup`;
|
|
5803
5803
|
if (needsDbScripts) {
|
|
5804
5804
|
scripts["db:push"] = `turbo -F ${backendPackageName} db:push`;
|
|
5805
|
-
scripts["db:studio"] = `turbo -F ${backendPackageName} db:studio`;
|
|
5805
|
+
if (!(options.dbSetup === "d1" && options.serverDeploy === "alchemy")) scripts["db:studio"] = `turbo -F ${backendPackageName} db:studio`;
|
|
5806
5806
|
if (options.orm === "prisma") {
|
|
5807
5807
|
scripts["db:generate"] = `turbo -F ${backendPackageName} db:generate`;
|
|
5808
|
-
scripts["db:migrate"] = `turbo -F ${backendPackageName} db:migrate`;
|
|
5808
|
+
if (!(options.dbSetup === "d1" && options.serverDeploy === "alchemy")) scripts["db:migrate"] = `turbo -F ${backendPackageName} db:migrate`;
|
|
5809
5809
|
} else if (options.orm === "drizzle") {
|
|
5810
5810
|
scripts["db:generate"] = `turbo -F ${backendPackageName} db:generate`;
|
|
5811
|
-
scripts["db:migrate"] = `turbo -F ${backendPackageName} db:migrate`;
|
|
5811
|
+
if (!(options.dbSetup === "d1" && options.serverDeploy === "alchemy")) scripts["db:migrate"] = `turbo -F ${backendPackageName} db:migrate`;
|
|
5812
5812
|
}
|
|
5813
5813
|
}
|
|
5814
5814
|
if (options.dbSetup === "docker") {
|
|
@@ -5827,13 +5827,13 @@ async function updateRootPackageJson(projectDir, options) {
|
|
|
5827
5827
|
if (options.backend === "convex") scripts["dev:setup"] = `pnpm --filter ${backendPackageName} dev:setup`;
|
|
5828
5828
|
if (needsDbScripts) {
|
|
5829
5829
|
scripts["db:push"] = `pnpm --filter ${backendPackageName} db:push`;
|
|
5830
|
-
scripts["db:studio"] = `pnpm --filter ${backendPackageName} db:studio`;
|
|
5830
|
+
if (!(options.dbSetup === "d1" && options.serverDeploy === "alchemy")) scripts["db:studio"] = `pnpm --filter ${backendPackageName} db:studio`;
|
|
5831
5831
|
if (options.orm === "prisma") {
|
|
5832
5832
|
scripts["db:generate"] = `pnpm --filter ${backendPackageName} db:generate`;
|
|
5833
|
-
scripts["db:migrate"] = `pnpm --filter ${backendPackageName} db:migrate`;
|
|
5833
|
+
if (!(options.dbSetup === "d1" && options.serverDeploy === "alchemy")) scripts["db:migrate"] = `pnpm --filter ${backendPackageName} db:migrate`;
|
|
5834
5834
|
} else if (options.orm === "drizzle") {
|
|
5835
5835
|
scripts["db:generate"] = `pnpm --filter ${backendPackageName} db:generate`;
|
|
5836
|
-
scripts["db:migrate"] = `pnpm --filter ${backendPackageName} db:migrate`;
|
|
5836
|
+
if (!(options.dbSetup === "d1" && options.serverDeploy === "alchemy")) scripts["db:migrate"] = `pnpm --filter ${backendPackageName} db:migrate`;
|
|
5837
5837
|
}
|
|
5838
5838
|
}
|
|
5839
5839
|
if (options.dbSetup === "docker") {
|
|
@@ -5852,13 +5852,13 @@ async function updateRootPackageJson(projectDir, options) {
|
|
|
5852
5852
|
if (options.backend === "convex") scripts["dev:setup"] = `npm run dev:setup --workspace ${backendPackageName}`;
|
|
5853
5853
|
if (needsDbScripts) {
|
|
5854
5854
|
scripts["db:push"] = `npm run db:push --workspace ${backendPackageName}`;
|
|
5855
|
-
scripts["db:studio"] = `npm run db:studio --workspace ${backendPackageName}`;
|
|
5855
|
+
if (!(options.dbSetup === "d1" && options.serverDeploy === "alchemy")) scripts["db:studio"] = `npm run db:studio --workspace ${backendPackageName}`;
|
|
5856
5856
|
if (options.orm === "prisma") {
|
|
5857
5857
|
scripts["db:generate"] = `npm run db:generate --workspace ${backendPackageName}`;
|
|
5858
|
-
scripts["db:migrate"] = `npm run db:migrate --workspace ${backendPackageName}`;
|
|
5858
|
+
if (!(options.dbSetup === "d1" && options.serverDeploy === "alchemy")) scripts["db:migrate"] = `npm run db:migrate --workspace ${backendPackageName}`;
|
|
5859
5859
|
} else if (options.orm === "drizzle") {
|
|
5860
5860
|
scripts["db:generate"] = `npm run db:generate --workspace ${backendPackageName}`;
|
|
5861
|
-
scripts["db:migrate"] = `npm run db:migrate --workspace ${backendPackageName}`;
|
|
5861
|
+
if (!(options.dbSetup === "d1" && options.serverDeploy === "alchemy")) scripts["db:migrate"] = `npm run db:migrate --workspace ${backendPackageName}`;
|
|
5862
5862
|
}
|
|
5863
5863
|
}
|
|
5864
5864
|
if (options.dbSetup === "docker") {
|
|
@@ -5877,13 +5877,13 @@ async function updateRootPackageJson(projectDir, options) {
|
|
|
5877
5877
|
if (options.backend === "convex") scripts["dev:setup"] = `bun run --filter ${backendPackageName} dev:setup`;
|
|
5878
5878
|
if (needsDbScripts) {
|
|
5879
5879
|
scripts["db:push"] = `bun run --filter ${backendPackageName} db:push`;
|
|
5880
|
-
scripts["db:studio"] = `bun run --filter ${backendPackageName} db:studio`;
|
|
5880
|
+
if (!(options.dbSetup === "d1" && options.serverDeploy === "alchemy")) scripts["db:studio"] = `bun run --filter ${backendPackageName} db:studio`;
|
|
5881
5881
|
if (options.orm === "prisma") {
|
|
5882
5882
|
scripts["db:generate"] = `bun run --filter ${backendPackageName} db:generate`;
|
|
5883
|
-
scripts["db:migrate"] = `bun run --filter ${backendPackageName} db:migrate`;
|
|
5883
|
+
if (!(options.dbSetup === "d1" && options.serverDeploy === "alchemy")) scripts["db:migrate"] = `bun run --filter ${backendPackageName} db:migrate`;
|
|
5884
5884
|
} else if (options.orm === "drizzle") {
|
|
5885
5885
|
scripts["db:generate"] = `bun run --filter ${backendPackageName} db:generate`;
|
|
5886
|
-
scripts["db:migrate"] = `bun run --filter ${backendPackageName} db:migrate`;
|
|
5886
|
+
if (!(options.dbSetup === "d1" && options.serverDeploy === "alchemy")) scripts["db:migrate"] = `bun run --filter ${backendPackageName} db:migrate`;
|
|
5887
5887
|
}
|
|
5888
5888
|
}
|
|
5889
5889
|
if (options.dbSetup === "docker") {
|
|
@@ -5921,14 +5921,14 @@ async function updateServerPackageJson(projectDir, options) {
|
|
|
5921
5921
|
if (options.database === "sqlite" && options.orm === "drizzle" && options.dbSetup !== "d1") scripts["db:local"] = "turso dev --db-file local.db";
|
|
5922
5922
|
if (options.orm === "prisma") {
|
|
5923
5923
|
scripts["db:push"] = "prisma db push";
|
|
5924
|
-
scripts["db:studio"] = "prisma studio";
|
|
5924
|
+
if (!(options.dbSetup === "d1" && options.serverDeploy === "alchemy")) scripts["db:studio"] = "prisma studio";
|
|
5925
5925
|
scripts["db:generate"] = "prisma generate";
|
|
5926
|
-
scripts["db:migrate"] = "prisma migrate dev";
|
|
5926
|
+
if (!(options.dbSetup === "d1" && options.serverDeploy === "alchemy")) scripts["db:migrate"] = "prisma migrate dev";
|
|
5927
5927
|
} else if (options.orm === "drizzle") {
|
|
5928
5928
|
scripts["db:push"] = "drizzle-kit push";
|
|
5929
|
-
scripts["db:studio"] = "drizzle-kit studio";
|
|
5929
|
+
if (!(options.dbSetup === "d1" && options.serverDeploy === "alchemy")) scripts["db:studio"] = "drizzle-kit studio";
|
|
5930
5930
|
scripts["db:generate"] = "drizzle-kit generate";
|
|
5931
|
-
scripts["db:migrate"] = "drizzle-kit migrate";
|
|
5931
|
+
if (!(options.dbSetup === "d1" && options.serverDeploy === "alchemy")) scripts["db:migrate"] = "drizzle-kit migrate";
|
|
5932
5932
|
}
|
|
5933
5933
|
}
|
|
5934
5934
|
if (options.dbSetup === "docker") {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-better-t-stack",
|
|
3
|
-
"version": "2.36.
|
|
3
|
+
"version": "2.36.2",
|
|
4
4
|
"description": "A modern CLI tool for scaffolding end-to-end type-safe TypeScript projects with best practices and customizable configurations",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|