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 CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { createBtsCli } from "./src-CVjU4aav.js";
2
+ import { createBtsCli } from "./src-BUa64nwX.js";
3
3
 
4
4
  //#region src/cli.ts
5
5
  createBtsCli().run();
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
1
  #!/usr/bin/env node
2
- import { builder, createBtsCli, docs, init, router, sponsors } from "./src-CVjU4aav.js";
2
+ import { builder, createBtsCli, docs, init, router, sponsors } from "./src-BUa64nwX.js";
3
3
 
4
4
  export { builder, createBtsCli, docs, init, router, sponsors };
@@ -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 && ${packageManager} db:generate`)}`);
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 to Alchemy:")}\n${pc.cyan("•")} Deploy: ${`cd apps/web && ${runCmd} deploy`}`);
5765
- else if (serverDeploy === "alchemy" && webDeploy !== "alchemy") instructions.push(`${pc.bold("Deploy server to Alchemy:")}\n${pc.cyan("•")} Deploy: ${`cd apps/server && ${runCmd} deploy`}`);
5766
- else if (webDeploy === "alchemy" && serverDeploy === "alchemy") instructions.push(`${pc.bold("Deploy to Alchemy:")}\n${pc.cyan("•")} Deploy: ${`${runCmd} 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.1",
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",