Upgrade the project runtime from Node.js 18 to Node.js 22 (LTS, codename “Jod”). Node 22 includes stabilized --watch, a built-in WebSocket client, and general performance/V8 upgrades. Node 18 is EOL, so we should move the toolchain and CI to 22.x.
Release notes: https://nodejs.org/en/blog/release/v22.20.0