FROM node:22.18.0-alpine3.22 AS dependencies WORKDIR /app COPY package*.json ./ RUN npm ci FROM dependencies AS test COPY . . CMD ["npm", "test"] FROM dependencies AS build COPY . . RUN npm run build FROM nginxinc/nginx-unprivileged:1.29.1-alpine3.22 AS preview COPY --from=build /app/dist /usr/share/nginx/html EXPOSE 8080 HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 CMD wget -q -O /dev/null http://127.0.0.1:8080/ || exit 1