FROM cypress/base:26.0.0@sha256:446be8fcb63e3cad2f9a4e14720e3d8e35993e12f36da541e09f5740a4c2477c as builder
WORKDIR /build

RUN npm install --global node-gyp && \
    git config --global --add safe.directory /build

COPY ./package.json ./package-lock.json ./
RUN npm ci --no-progress
COPY . /build
RUN npm run postinstall && npm run generate && npm run lint && npm run test:coverage

FROM scratch as export
COPY --from=builder /build/coverage /

# Unprivileged (uid 101, port 8080): Frostmoln enforces restricted Pod Security.
FROM nginxinc/nginx-unprivileged:1.31.7@sha256:94193d5c4c5df716f412bb08eb97956d98fe6b59886f0bc57d6d3a3402a88a02
MAINTAINER Joakim Olsson <joakim@unbound.se>

COPY --chmod=644 ./nginx/nginx.conf /etc/nginx/nginx.conf
COPY --chmod=644 ./nginx/security_headers.conf /etc/nginx/security_headers.conf
COPY --from=builder /build/.output/public/ /usr/share/nginx/html/
