FROM node:20-alpine AS builder
WORKDIR /app
COPY package*.json ./
COPY packages/shared/package.json ./packages/shared/
COPY packages/client/package.json ./packages/client/
RUN npm ci --workspace=packages/shared --workspace=packages/client

COPY packages/shared ./packages/shared
COPY packages/client ./packages/client
COPY tsconfig.base.json ./

RUN npm run build -w packages/shared
RUN npm run build -w packages/client

FROM nginx:1.27-alpine AS runtime
COPY --from=builder /app/packages/client/dist /usr/share/nginx/html
COPY packages/client/nginx.conf /etc/nginx/conf.d/default.conf
EXPOSE 80
