-FROM node:lts-alpine as builder
+FROM node:lts-alpine AS builder
# Build simulator
WORKDIR /usr/builder
-COPY .npmrc package.json package-lock.json tsconfig.json rollup.config.mjs prepare.js build-requirements.mjs ./
+COPY .npmrc package.json pnpm-lock.yaml tsconfig.json rollup.config.mjs build-requirements.mjs skip-preinstall.cjs prepare.cjs ./
COPY src ./src
COPY docker/config.json ./src/assets/config.json
-COPY docker/authorization-tags.json ./src/assets/authorization-tags.json
+COPY docker/idtags.json ./src/assets/idtags.json
RUN set -ex \
&& apk add --no-cache --virtual .gyp build-base python3 \
- && npm set progress=false \
- && npm config set depth 0 \
- && npm cache clean --force \
- && npm clean-install \
- && npm run build \
+ && corepack enable \
+ && corepack prepare pnpm@latest --activate \
+ && pnpm set progress=false \
+ && pnpm config set depth 0 \
+ && pnpm install --ignore-scripts \
+ && pnpm build \
&& apk del .gyp
# Build simulator dashboard
WORKDIR /usr/builder/webui
COPY ui/web ./
RUN set -ex \
- && npm set progress=false \
- && npm config set depth 0 \
- && npm cache clean --force \
- && npm clean-install \
- && npm run build
+ && corepack enable \
+ && corepack prepare pnpm@latest --activate \
+ && pnpm set progress=false \
+ && pnpm config set depth 0 \
+ && pnpm install --ignore-scripts \
+ && pnpm build
FROM node:lts-alpine