ARG NODE_VERSION=24.15.0 FROM ubuntu:24.04 ARG NODE_VERSION ARG PNPM_VERSION=11.1.3 ENV DEBIAN_FRONTEND=noninteractive RUN apt-get update \ && apt-get install --yes --no-install-recommends \ build-essential \ ca-certificates \ ccache \ clang \ cmake \ curl \ git \ libclang-rt-dev \ llvm \ xz-utils \ zlib1g-dev \ && rm -rf /var/lib/apt/lists/* RUN curl --fail --silent --show-error --location \ --output /tmp/node.tar.xz \ "https://nodejs.org/dist/v${NODE_VERSION}/node-v${NODE_VERSION}-linux-x64.tar.xz" \ && curl --fail --silent --show-error --location \ --output /tmp/SHASUMS256.txt \ "https://nodejs.org/dist/v${NODE_VERSION}/SHASUMS256.txt" \ && grep " node-v${NODE_VERSION}-linux-x64.tar.xz$" /tmp/SHASUMS256.txt \ | sed 's#node-v[^ ]*-linux-x64.tar.xz#/tmp/node.tar.xz#' \ | sha256sum --check --strict - \ && tar -xJf /tmp/node.tar.xz --directory /usr/local --strip-components=1 \ && rm /tmp/node.tar.xz /tmp/SHASUMS256.txt RUN npm install --global "pnpm@${PNPM_VERSION}" WORKDIR /workspace COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./ COPY packages/cli/package.json packages/cli/package.json COPY packages/compiler/package.json packages/compiler/package.json COPY packages/runtime/package.json packages/runtime/package.json RUN pnpm install --frozen-lockfile \ && chmod -R a+rwX /workspace