Skip to content

v2.3.0

@lindesvard lindesvard tagged this 18 Aug 22:38
The lint-and-test job pinned node-version 20, so it resolved 20.20.2 and
failed on import of undici@8.10.0, which does an unconditional
require('node:worker_threads').markAsUncloneable — an export that does not
exist before node 22.10. Two suites died at load with
"webidl.util.markAsUncloneable is not a function": safe-fetch.test.ts and
insights.router.test.ts, both reaching undici through apps/api/src/utils/
safe-fetch.ts.

undici@8 declares engines node >=22.19.0. 22.20.0 matches ARG NODE_VERSION in
apps/*/Dockerfile, so CI now runs the same node as the runtime images.
Verified: full suite is 46 files / 743 tests passing on 22.20.0, and the two
suites reproduce the failure on 20.15.1.

Hardcoded for now; a follow-up should make the version a single source of
truth across the workflow, the Dockerfiles and local dev.

Claude-Session: https://claude.ai/code/session_01D9iqLZvNMsT2wWtW5Znac5
Assets 2
Loading