# 1. Base FROM node:24-alpine AS base RUN npm install -g pnpm # 2. Deps FROM base AS deps WORKDIR /app COPY pnpm-lock.yaml pnpm-workspace.yaml package.json ./ COPY apps/web/package.json ./apps/web/ COPY packages/shared/package.json ./packages/shared/ RUN pnpm install --frozen-lockfile # 3. Dev FROM base AS dev WORKDIR /app COPY --from=deps /app/node_modules ./node_modules COPY . ./ EXPOSE 5173 CMD ["pnpm", "--filter", "web", "dev", "--host"]