# Build stage
FROM node:18-alpine AS build
WORKDIR /app
COPY frontend/package*.json frontend/yarn.lock* ./
# Use yarn if present, else npm
RUN if [ -f yarn.lock ]; then yarn install; else npm ci; fi
COPY frontend ./
RUN if [ -f yarn.lock ]; then yarn build; else npm run build; fi

# Serve stage
FROM nginx:alpine
COPY --from=build /app/build /usr/share/nginx/html
EXPOSE 80