v0.44.1 — CI hotfix: install pnpm directly (Node 26 ships no Corepack)
Hotfix for the 0.44.0 Node 26 bump.
The break
0.44.0 moved the base images to node:26-alpine but left the
corepack enable && corepack prepare pnpm@latest --activate line in place, so the docker build
died at /bin/sh: corepack: not found (exit 127). Corepack was unbundled in Node 25 — it is
"distributed with Node.js from version 14.19.0 up to (but not including) 25.0.0" — and
node:26-alpine confirms it: npm 11.17.0 present, corepack absent.
The fix
- [x] Install pnpm with
npminstead, pinned via a globalARGto the version inpackage.json'spackageManagerfield.
That also closes a latent reproducibility hole the old line carried: corepack prepare pnpm@latest
resolved to whatever pnpm was newest when the image happened to be built, which could drift from
the version that generated pnpm-lock.yaml. The images now report pnpm 10.23.0 rather than a
moving target.
Verified against a real daemon, not just by reading: the root Dockerfile's builder stage builds
clean end to end, module-builder now reaches its final step (failing only on the expected
empty-token 401), and a faithful replica of the production stage installs --prod and compiles
better-sqlite3 13. CI builds only the root Dockerfile.
Known-broken, pre-existing
packages/server-core/Dockerfile gets the same fix but remains broken for an unrelated reason:
neither of its stages installs python3/make/g++, so better-sqlite3 cannot compile when no
prebuild matches. Nothing references that file — it is dead config, and should probably be deleted
rather than repaired.