# Worker – multi-stage build (spec §50–51)
FROM node:22-alpine AS builder
WORKDIR /build
RUN corepack enable
COPY package.json pnpm-workspace.yaml pnpm-lock.yaml .npmrc ./
COPY tsconfig.base.json turbo.json ./
COPY packages ./packages
COPY apps/worker ./apps/worker
RUN pnpm install --frozen-lockfile --filter @app/worker...
RUN pnpm --filter @app/worker build

FROM node:22-alpine AS runtime
RUN addgroup -S app && adduser -S app -G app
WORKDIR /app
ENV NODE_ENV=production
COPY --from=builder /build/apps/worker/dist ./dist
COPY --from=builder /build/apps/worker/package.json ./package.json
COPY --from=builder /build/node_modules ./node_modules
USER app
CMD ["node", "dist/index.js"]
