ARG NODE_VERSION=22.14.0

FROM node:${NODE_VERSION}-alpine  AS development

WORKDIR /app

RUN --mount=type=cache,target=/root/.npm
COPY package.json .
COPY package-lock.json .

RUN npm install

COPY . .

RUN npm run build

FROM nginx:alpine AS production

COPY --from=development /app/dist /usr/share/nginx/html

COPY nginx/nginx.conf /etc/nginx/conf.d/default.conf

EXPOSE 80 443

ENTRYPOINT [ "nginx", "-g", "daemon off;" ]