From e75cbf372481684ca53a791e4d1be0fcd427531e Mon Sep 17 00:00:00 2001 From: Christomatt Date: Sat, 31 Jan 2026 07:42:26 +0100 Subject: [PATCH] Move ALL dependencies to production deps, remove devDependencies entirely --- docker/Dockerfile | 7 +++---- package.json | 30 ++++++++++++++---------------- 2 files changed, 17 insertions(+), 20 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 5ba21a0..2fa3b03 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -15,8 +15,8 @@ WORKDIR /app # Copy package files for efficient layer caching COPY package.json package-lock.json* ./ -# Install production dependencies only (using ci for reproducible builds) -RUN npm ci --only=production --ignore-scripts && npm cache clean --force +# Install all dependencies (production + dev all in dependencies now) +RUN npm ci --ignore-scripts && npm cache clean --force # ============================================ # Stage 2: Builder @@ -64,14 +64,13 @@ COPY --from=builder /app/public ./public COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./ COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static -# Copy node_modules from builder (includes all deps needed for migrations) +# Copy node_modules from builder (includes ALL dependencies) COPY --from=builder --chown=nextjs:nodejs /app/node_modules ./node_modules # Copy drizzle migrations, config, and schema (needed for migrations) COPY --from=builder --chown=nextjs:nodejs /app/drizzle ./drizzle COPY --from=builder --chown=nextjs:nodejs /app/drizzle.config.ts ./ COPY --from=builder --chown=nextjs:nodejs /app/package.json ./ -COPY --from=builder --chown=nextjs:nodejs /app/package-lock.json ./ COPY --from=builder --chown=nextjs:nodejs /app/src/db/schema.ts ./src/db/schema.ts # Copy entrypoint script diff --git a/package.json b/package.json index fa1895a..b9b7100 100644 --- a/package.json +++ b/package.json @@ -21,12 +21,23 @@ }, "dependencies": { "@aws-sdk/client-s3": "^3.972.0", + "@tailwindcss/postcss": "^4", + "@types/bcryptjs": "^2.4.6", + "@types/node": "^20.19.30", + "@types/pg": "^8.16.0", + "@types/react": "^19", + "@types/react-dom": "^19", + "@types/uuid": "^10.0.0", "@upstash/redis": "^1.34.3", "bcryptjs": "^2.4.3", "crypto-js": "^4.2.0", "dotenv": "^17.2.3", + "dotenv-cli": "^11.0.0", "drizzle-kit": "^0.31.8", "drizzle-orm": "^0.44.1", + "eslint": "^9", + "eslint-config-next": "16.1.4", + "fast-check": "^4.5.3", "jose": "^6.0.11", "libsodium-wrappers-sumo": "^0.8.2", "lucide-react": "^0.562.0", @@ -35,24 +46,11 @@ "pg": "^8.17.2", "react": "19.2.3", "react-dom": "19.2.3", - "uuid": "^11.1.0", - "zod": "^4.3.5" - }, - "devDependencies": { - "@tailwindcss/postcss": "^4", - "@types/bcryptjs": "^2.4.6", - "@types/node": "^20.19.30", - "@types/pg": "^8.16.0", - "@types/react": "^19", - "@types/react-dom": "^19", - "@types/uuid": "^10.0.0", - "dotenv-cli": "^11.0.0", - "eslint": "^9", - "eslint-config-next": "16.1.4", - "fast-check": "^4.5.3", "tailwindcss": "^4", "tsx": "^4.21.0", "typescript": "^5", - "vitest": "^4.0.18" + "uuid": "^11.1.0", + "vitest": "^4.0.18", + "zod": "^4.3.5" } } \ No newline at end of file