FROM node:20-alpine AS base

WORKDIR /app

FROM base AS client_deps
COPY client/package.json client/package-lock.json ./client/
RUN cd client && npm ci

FROM client_deps AS client_build
COPY client ./client
RUN cd client && npm run build

FROM base AS server_deps
COPY server/package.json server/package-lock.json ./server/
COPY server/prisma ./server/prisma
RUN cd server && npm ci

FROM server_deps AS server_build
COPY server ./server
COPY --from=client_build /app/client/dist ./client/dist

WORKDIR /app/server
ENV NODE_ENV=production
CMD ["npm", "start"]
