# Multi-stage build pentru Angular 21 SPA, served by nginx static.
# Imaginea finala = ~50MB (alpine + dist).

# Stage 1: build Angular cu Node 20
FROM node:20-alpine AS build
WORKDIR /src

# Layer caching: package*.json inainte de COPY-ul restului
COPY package*.json ./
RUN npm ci

COPY . .
RUN npm run build -- --configuration production

# Stage 2: serve static cu nginx alpine
FROM nginx:1.27-alpine

# Copy build output (Angular 21 build -> dist/<project>/browser/)
COPY --from=build /src/dist/news-portal-app/browser/ /usr/share/nginx/html/

# nginx config cu SPA fallback (rute Angular client-side -> /index.html)
COPY nginx.conf /etc/nginx/conf.d/default.conf

EXPOSE 80
