#syntax=docker/dockerfile:1
FROM docker.io/library/node:24-trixie-slim AS builder

WORKDIR /workspace
RUN corepack enable && corepack prepare pnpm@10.33.0 --activate

COPY package.json pnpm-lock.yaml tsconfig.json ./
RUN pnpm install --frozen-lockfile

COPY src ./src
RUN pnpm run build
RUN pnpm prune --prod

FROM docker.io/library/node:24-trixie-slim AS runtime

WORKDIR /workspace
ENV NODE_ENV=production
RUN corepack enable && corepack prepare pnpm@10.33.0 --activate

COPY package.json pnpm-lock.yaml ./
COPY --from=builder /workspace/node_modules ./node_modules
COPY --from=builder /workspace/dist ./dist

CMD ["pnpm", "start"]
