FROM node:24-slim AS builder

WORKDIR /app

COPY package*.json ./
RUN --mount=type=cache,target=/root/.npm,sharing=locked npm ci --include=dev

COPY . .
RUN npm run build

FROM node:24-slim AS app

WORKDIR /app

COPY package*.json ./
COPY --from=builder /app/dist ./
RUN --mount=type=cache,target=/root/.npm,sharing=locked npm ci --include=prod

CMD [ "npm", "start" ]
