FROM node:20-alpine AS base

WORKDIR /app
COPY package.json package-lock.json* ./
RUN npm install
COPY . .
RUN npm run build && \
    find src/api -name "schema.json" | while read f; do \
      mkdir -p "dist/$(dirname "$f")" && cp "$f" "dist/$f"; \
    done

FROM node:20-alpine AS production
WORKDIR /app
COPY --from=base /app ./
EXPOSE 1337
CMD ["npm", "run", "start"]
