@@ -7,47 +7,38 @@ WORKDIR /app
77# Copy root files
88COPY package.json pnpm-lock.yaml pnpm-workspace.yaml turbo.json ./
99
10- # Copy all package.json files first
10+ # Copy all package.json files
1111COPY packages/server/package.json ./packages/server/
1212COPY packages/types/package.json ./packages/types/
1313COPY packages/typescript-config/package.json ./packages/typescript-config/
1414
15- # Install dependencies (including Prisma)
16- RUN pnpm install --frozen-lockfile
15+ # Install ALL dependencies with shamefully-hoist to flatten everything
16+ RUN pnpm install --frozen-lockfile --shamefully-hoist
1717
1818# Copy source code
1919COPY packages/server ./packages/server
2020COPY packages/types ./packages/types
2121COPY packages/typescript-config ./packages/typescript-config
2222
23- # Generate Prisma Client
23+ # Generate Prisma Client (will be in node_modules now)
2424RUN cd packages/server && npx prisma generate
2525
26- # Build types first, then server
26+ # Build
2727RUN pnpm --filter @workspace/types build
2828RUN pnpm --filter server build
2929
3030FROM base AS runner
3131WORKDIR /app
3232
33- # Copy package files for production install
34- COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./
35- COPY packages/server/package.json ./packages/server/
36-
37- # Install ONLY production dependencies
38- RUN pnpm install --prod --frozen-lockfile
39-
40- # Copy Prisma client from builder
41- COPY --from=builder /app/node_modules/.prisma ./node_modules/.prisma
42- COPY --from=builder /app/node_modules/@prisma ./node_modules/@prisma
43-
44- # Copy built application
45- COPY --from=builder /app/packages/server/dist ./packages/server/dist
46- COPY --from=builder /app/packages/server/package.json ./packages/server/package.json
33+ # Copy everything from builder - dependencies are already flattened
34+ COPY --from=builder /app/node_modules ./node_modules
35+ COPY --from=builder /app/packages/server/dist ./dist
36+ COPY --from=builder /app/packages/server/package.json ./package.json
37+ COPY --from=builder /app/packages/server/prisma ./prisma
4738
4839ENV NODE_ENV=production
4940ENV PORT=4000
5041
5142EXPOSE 4000
5243
53- CMD ["node" , "packages/server/ dist/index.js" ]
44+ CMD ["node" , "dist/index.js" ]
0 commit comments