From 7045bdbdde458bf16943a03599a2c392dd4798a3 Mon Sep 17 00:00:00 2001 From: james hadfield Date: Mon, 27 Jul 2026 13:03:24 +1200 Subject: [PATCH 1/2] Use Node.js v24 In preparation for Auspice v3 which has a minimum nodejs dep of v24 --- Dockerfile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index 8be2f9d..dc25e90 100644 --- a/Dockerfile +++ b/Dockerfile @@ -42,10 +42,10 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ dpkg-dev \ unzip -# Install a specific Node.js version +# Install a specific Node.js version to build Auspice (currently Node v24) # https://github.com/nodesource/distributions/blob/ba48c1fe6e843e9ffb60aefc5da5d00234c83f04/README.md#using-debian-as-root-nodejs-20 RUN apt-get update && apt-get install -y curl \ - && curl -fsSL https://deb.nodesource.com/setup_20.x -o nodesource_setup.sh \ + && curl -fsSL https://deb.nodesource.com/setup_24.x -o nodesource_setup.sh \ && bash nodesource_setup.sh \ && apt-get install -y nodejs @@ -382,10 +382,10 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ zlib1g \ zstd -# Install a specific Node.js version +# Install a specific Node.js version to use as Auspice's runtime (currently Node v24) # https://github.com/nodesource/distributions/blob/ba48c1fe6e843e9ffb60aefc5da5d00234c83f04/README.md#using-debian-as-root-nodejs-20 RUN apt-get update && apt-get install -y curl \ - && curl -fsSL https://deb.nodesource.com/setup_20.x -o nodesource_setup.sh \ + && curl -fsSL https://deb.nodesource.com/setup_24.x -o nodesource_setup.sh \ && bash nodesource_setup.sh \ && apt-get install -y nodejs From a38bed64daa15e9394bfa949ea265e68efada95f Mon Sep 17 00:00:00 2001 From: james hadfield Date: Thu, 3 Sep 2026 12:34:24 +1200 Subject: [PATCH 2/2] Fix Auspice v3 build by installing dev deps before pruning Auspice 3.0.0 now has a prepare lifecycle script that runs `tsc` (a devDependency) during `npm install`. Our previous `npm install --omit dev` skipped devDependencies but still triggered `prepare`, so the build failed with `tsc: not found`. This new approach allows auspice to install with dev dependencies and then prune them out after linking. This isn't relevant for normal `npm` installs as the prepare step runs during publishing not installing. From-source installs should also not be affected as `npm ci` / `npm install` will install dev dependencies. Co-Authored-By: Claude Opus 4.8 --- Dockerfile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index dc25e90..6abc2ea 100644 --- a/Dockerfile +++ b/Dockerfile @@ -216,7 +216,9 @@ RUN curl -fsSL https://github.com/nextstrain/nextclade/releases/latest/download/ # ⁴ https://github.com/mapbox/node-pre-gyp/blob/v1.0.10/lib/node-pre-gyp.js#L186 WORKDIR /nextstrain/auspice RUN /builder-scripts/download-repo https://github.com/nextstrain/auspice release . \ - && npm install --omit dev && npm link + && npm install \ + && npm link --ignore-scripts \ + && npm prune --omit dev # Add NCBI Datasets command line tools for access to NCBI Datsets Virus Data Packages RUN curl -fsSL https://ftp.ncbi.nlm.nih.gov/pub/datasets/command-line/v2/linux-${TARGETARCH}/datasets \