# syntax=docker/dockerfile:1.7
FROM node:20-slim AS base
WORKDIR /app
FROM base AS deps
COPY package*.json ./
RUN npm install --omit=dev
FROM deps AS build
RUN npm install --include=dev
COPY . .
RUN npm run build
FROM base AS runtime
ENV NODE_ENV=production
WORKDIR /app
COPY --from=deps /app/node_modules ./node_modules
COPY --from=build /app/dist ./dist
COPY package*.json ./
CMD ["node", "dist/index.js"]