# Контекст сборки web — корень репо (docker-compose: build.context: .):
# фронтенд + расширение (ZIP для страницы /extension, ТЗ 3.18).

# --- Фронтенд ---
FROM node:22-alpine AS build
WORKDIR /build
RUN apk add --no-cache git
COPY frontend/package.json frontend/package-lock.json frontend/.npmrc ./
RUN npm ci
COPY frontend/ .
RUN npm run build

# --- Расширение: сборка + zip в раздаваемые статики ---
FROM node:22-alpine AS ext
WORKDIR /ext
RUN apk add --no-cache git zip
COPY extension/package.json extension/package-lock.json extension/.npmrc ./
RUN npm ci
COPY extension/ .
RUN npm run build && mkdir -p /zip/extension && zip -qr /zip/extension/gntodo-extension.zip dist

FROM nginx:alpine
COPY --from=build /build/dist /usr/share/nginx/html
COPY --from=ext /zip/extension /usr/share/nginx/html/extension
COPY frontend/nginx.conf /etc/nginx/conf.d/default.conf
EXPOSE 80