`engines`, `@types/node` and the three esbuild targets said node20 while both
stages of the image have been node:24-alpine for a while — and since
24.10.2026 the development machines run 24 too. So the bundles are built for
exactly the runtime that carries them instead of for a version nobody runs
any more.
`npm run check`: 110 files, 1825 tests, green on node 24.22.1.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>