FROM node:25-bookworm-slim

RUN apt-get update && apt-get install -y \
  --no-install-recommends \
  --no-install-suggests \
  git \
  python3 \
  xz-utils \
  make \
  automake \
  libtool \
  cmake \
  pkg-config \
  ca-certificates \
  curl \
  && rm -rf /var/lib/apt/lists/*

RUN npm install -g typescript@5.8.3 pnpm@10.19.0

RUN cd / \
  && git clone --depth 1 https://github.com/emscripten-core/emsdk.git \
  && cd emsdk \
  && ./emsdk install 4.0.5 \
  && ./emsdk activate 4.0.5 \
  && cd .. \
  && rm -rf emsdk/.git

ENV PATH="${PATH}:/emsdk:/emsdk/upstream/emscripten" \
  EMSDK=/emsdk \
  EMSDK_NODE=/emsdk/node/20.18.0_64bit/bin/node

RUN curl -L -o /usr/local/bin/wasm-split \
  https://github.com/getsentry/symbolicator/releases/download/25.6.2/wasm-split-Linux-x86_64 \
  && chmod +x /usr/local/bin/wasm-split
