diff --git a/apps/cli/src/constants.ts b/apps/cli/src/constants.ts index fc87ca8..fb24d8a 100644 --- a/apps/cli/src/constants.ts +++ b/apps/cli/src/constants.ts @@ -26,8 +26,8 @@ export const dependencyVersionMap = { "@libsql/client": "^0.14.0", postgres: "^3.4.5", - "@prisma/client": "^5.7.1", - prisma: "^5.7.1", + "@prisma/client": "^6.5.0", + prisma: "^6.5.0", "vite-plugin-pwa": "^0.21.2", "@vite-pwa/assets-generator": "^0.2.6", diff --git a/apps/cli/src/helpers/addons-setup.ts b/apps/cli/src/helpers/addons-setup.ts index 60146df..6598b81 100644 --- a/apps/cli/src/helpers/addons-setup.ts +++ b/apps/cli/src/helpers/addons-setup.ts @@ -10,9 +10,9 @@ export async function setupAddons( addons: ProjectAddons[], packageManager: PackageManager, ) { - if (addons.includes("docker")) { - await setupDocker(projectDir); - } + // if (addons.includes("docker")) { + // await setupDocker(projectDir); + // } if (addons.includes("pwa")) { await setupPwa(projectDir); } @@ -81,88 +81,6 @@ async function setupHusky(projectDir: string) { } } -async function setupDocker(projectDir: string) { - const dockerfileContent = `FROM node:18-alpine AS base - -# Install dependencies only when needed -FROM base AS deps -RUN apk add --no-cache libc6-compat -WORKDIR /app - -# Install dependencies -COPY package.json bun.lockb* yarn.lock* package-lock.json* pnpm-lock.yaml* ./ -RUN \\ - if [ -f yarn.lock ]; then yarn --frozen-lockfile; \\ - elif [ -f package-lock.json ]; then npm ci; \\ - elif [ -f pnpm-lock.yaml ]; then yarn global add pnpm && pnpm i --frozen-lockfile; \\ - elif [ -f bun.lockb ]; then yarn global add bun && bun install --frozen-lockfile; \\ - else npm i; \\ - fi - -# Build the app -FROM base AS builder -WORKDIR /app -COPY --from=deps /app/node_modules ./node_modules -COPY . . - -# First build client -RUN npm run build -w @better-t/client -# Then build server -RUN npm run build -w @better-t/server - -# Production image -FROM base AS runner -WORKDIR /app - -ENV NODE_ENV production - -# Copy necessary files from builder -COPY --from=builder /app/package.json ./package.json -COPY --from=builder /app/packages/server/dist ./packages/server/dist -COPY --from=builder /app/packages/client/dist ./packages/client/dist -COPY --from=builder /app/node_modules ./node_modules -COPY --from=builder /app/packages/server/package.json ./packages/server/package.json -COPY --from=builder /app/packages/client/package.json ./packages/client/package.json - -EXPOSE 3000 - -CMD ["node", "packages/server/dist/index.js"] -`; - - const dockerComposeContent = `version: '3' - -services: - app: - build: . - ports: - - "3000:3000" - environment: - - NODE_ENV=production - - TURSO_CONNECTION_URL=\${TURSO_CONNECTION_URL} - - TURSO_AUTH_TOKEN=\${TURSO_AUTH_TOKEN} - - CORS_ORIGIN=\${CORS_ORIGIN} - restart: always -`; - - const dockerignoreContent = `.git -node_modules -**/node_modules -**/dist -.env -.env.* -`; - - await fs.writeFile(path.join(projectDir, "Dockerfile"), dockerfileContent); - await fs.writeFile( - path.join(projectDir, "docker-compose.yml"), - dockerComposeContent, - ); - await fs.writeFile( - path.join(projectDir, ".dockerignore"), - dockerignoreContent, - ); -} - async function setupPwa(projectDir: string) { const pwaTemplateDir = path.join(PKG_ROOT, "template/with-pwa"); if (await fs.pathExists(pwaTemplateDir)) { diff --git a/apps/cli/src/helpers/create-project.ts b/apps/cli/src/helpers/create-project.ts index 6996b20..4658ddb 100644 --- a/apps/cli/src/helpers/create-project.ts +++ b/apps/cli/src/helpers/create-project.ts @@ -187,11 +187,6 @@ async function updatePackageConfigurations( serverPackageJson.scripts["db:local"] = "turso dev --db-file local.db"; } - if (options.auth) { - serverPackageJson.scripts["auth:generate"] = - "npx @better-auth/cli generate --output ./src/db/auth-schema.ts"; - } - if (options.orm === "prisma") { serverPackageJson.scripts["db:push"] = "prisma db push"; serverPackageJson.scripts["db:studio"] = "prisma studio"; diff --git a/apps/cli/src/helpers/create-readme.ts b/apps/cli/src/helpers/create-readme.ts index 06ea714..ffbdbb0 100644 --- a/apps/cli/src/helpers/create-readme.ts +++ b/apps/cli/src/helpers/create-readme.ts @@ -174,9 +174,5 @@ function generateScriptsList( } } - if (auth) { - scripts += `\n- \`cd packages/server && ${packageManagerRunCmd} auth:generate\`: Generate authentication schema`; - } - return scripts; } diff --git a/apps/cli/src/index.ts b/apps/cli/src/index.ts index 7bbd35c..0e6c6bd 100644 --- a/apps/cli/src/index.ts +++ b/apps/cli/src/index.ts @@ -30,7 +30,6 @@ async function main() { .option("--postgres", "Use PostgreSQL database") .option("--auth", "Include authentication") .option("--no-auth", "Exclude authentication") - .option("--docker", "Include Docker setup") .option("--pwa", "Include Progressive Web App support") .option("--tauri", "Include Tauri desktop app support") .option("--biome", "Include Biome for linting and formatting") @@ -74,8 +73,7 @@ async function main() { ...("git" in options && { git: options.git }), ...("install" in options && { noInstall: !options.install }), ...("turso" in options && { turso: options.turso }), - ...((options.docker || - options.pwa || + ...((options.pwa || options.tauri || options.biome || options.husky || @@ -84,7 +82,6 @@ async function main() { options.addons === false ? [] : ([ - ...(options.docker ? ["docker"] : []), ...(options.pwa ? ["pwa"] : []), ...(options.tauri ? ["tauri"] : []), ...(options.biome ? ["biome"] : []), diff --git a/apps/cli/src/prompts/addons.ts b/apps/cli/src/prompts/addons.ts index 9e41377..e45315b 100644 --- a/apps/cli/src/prompts/addons.ts +++ b/apps/cli/src/prompts/addons.ts @@ -10,11 +10,6 @@ export async function getAddonsChoice( const response = await multiselect({ message: "Which Addons would you like to add?", options: [ - { - value: "docker", - label: "Docker setup", - hint: "Containerize your application", - }, { value: "pwa", label: "PWA (Progressive Web App)", diff --git a/apps/cli/src/types.ts b/apps/cli/src/types.ts index ad934b3..a844f77 100644 --- a/apps/cli/src/types.ts +++ b/apps/cli/src/types.ts @@ -1,7 +1,7 @@ export type ProjectDatabase = "sqlite" | "postgres" | "none"; export type ProjectOrm = "drizzle" | "prisma" | "none"; export type PackageManager = "npm" | "pnpm" | "yarn" | "bun"; -export type ProjectAddons = "docker" | "pwa" | "tauri" | "biome" | "husky"; +export type ProjectAddons = "pwa" | "tauri" | "biome" | "husky"; export interface ProjectConfig { projectName: string; diff --git a/apps/cli/template/base/packages/server/package.json b/apps/cli/template/base/packages/server/package.json index 887a23e..a6af912 100644 --- a/apps/cli/template/base/packages/server/package.json +++ b/apps/cli/template/base/packages/server/package.json @@ -11,7 +11,7 @@ "compile": "bun build --compile --minify --sourcemap --bytecode ./src/index.ts --outfile server" }, "dependencies": { - "@hono/node-server": "^1.13.8", + "@hono/node-server": "^1.14.0", "@hono/trpc-server": "^0.3.4", "@trpc/server": "^11.0.0", "dotenv": "^16.4.7",