# ─── 1) Build stage ────────────────────────────────────────────────────────────
FROM node:24 AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build    # → /app/dist

# ─── 2) Production stage ──────────────────────────────────────────────────────
FROM node:24-alpine
WORKDIR /app
ENV NODE_ENV=production

# install prod deps
COPY package*.json ./
RUN npm ci --omit=dev

# copy built SPA + flatten your server code
COPY --from=builder /app/dist      ./dist
COPY --from=builder /app/src/server.js  ./server.js
COPY --from=builder /app/src/db.js      ./db.js
COPY --from=builder /app/src/models     ./models

EXPOSE 3000

CMD ["node", "server.js"]
