ci: test against Node 20 - #1768
Conversation
- Add Node 20 to the CI test matrix - Fall back to `ws` WebSocket in crossws tests since Node 20 lacks a global WebSocket - Upgrade pnpm to 12.0.0-beta.3
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
ℹ️ No critical issues — one note on the pnpm beta.
Reviewed changes
- Node 20 added to CI matrix — one-line addition in
.github/workflows/ci.yaml. - pnpm upgraded to 12.0.0-beta.3 —
packageManagerfield in rootpackage.json; lockfile regenerated. - WebSocket fallback for crossws tests — the two crossws test helpers now import
wsas a fallback constructor since Node 20 has no globalWebSocket.
The typeof WebSocket !== 'undefined' guard is correct — it avoids the ReferenceError that would occur from referencing an undeclared global directly.
The pnpm beta upgrade affects all workflows (CI, release, codspeed, sponsor sync) since they all use pnpm/action-setup@v6 without a pinned version, which delegates to corepack. If you'd prefer to limit the beta exposure, you could pin pnpm/action-setup@v6 with version: 12 in the release workflow while keeping packageManager at a stable release. That's a judgement call — nothing blocking here.
DeepSeek Pro (free via Pullfrog for OSS) | 𝕏

wsWebSocket in crossws tests since Node 20 lacks a global WebSocket