FROM node:22-alpine

ENV USER=node

ENV PATH="/home/node/.npm-global/bin:${PATH}"
ENV NPM_CONFIG_PREFIX="/home/node/.npm-global"

RUN mkdir -p /usr/src/ && chown -R $USER /usr/src/

USER "${USER}"

RUN mkdir -p "${NPM_CONFIG_PREFIX}/lib"

WORKDIR /usr/src/

COPY --chown=$USER package*.json ./
COPY --chown=$USER src/assets ./src/assets
COPY --chown=$USER src/version.ts ./src/version.ts

RUN npm --global config set legacy-peer-deps true
RUN npm install --silent

COPY --chown=$USER . .

WORKDIR /usr/src/preview

RUN npm install
