Skip to content

Update watcher runtime to Node 22#12

Open
phroi wants to merge 5 commits into
rosen-bridge:devfrom
sonami-tech:node-22-migration
Open

Update watcher runtime to Node 22#12
phroi wants to merge 5 commits into
rosen-bridge:devfrom
sonami-tech:node-22-migration

Conversation

@phroi
Copy link
Copy Markdown

@phroi phroi commented May 10, 2026

Why

  • Align watcher with the Rosen Node 22 runtime baseline.
  • Keep release packaging and GitHub release workflow on the same Node version.
  • Fix Node 22 bundling resolution issues found during build verification.

Changes

  • Update Node references to 22.18.0 in .nvmrc, Dockerfile, package engines, lockfile, and release workflow.
  • Update @types/node to the Node 22 line.
  • Adjust Rollup CommonJS and node-resolve settings for Node 22 packaging.
  • Add a changeset for the runtime bump.

Dependency Notes

This is the watcher-side Node 22 migration. It should land after the package-level ESM fixes are published from:

After those packages are released, watcher should be re-verified against the published versions before the final watcher release.

Checks

  • npx npm@11.6.2 run type-check
  • npx npm@11.6.2 run build
  • npx npm@11.6.2 run test: 181 passing

@phroi
Copy link
Copy Markdown
Author

phroi commented May 10, 2026

BTW watcher still has the old JSON imports using assert { type: 'json' }.

Conversely, Node 22 prefers the newer import attributes syntax (with { type: 'json' }), but watcher is still on TypeScript 4.x (typescript@^4.7.2), so I would likely need to bump the Typescript version too.

If you want, I can modernize those JSON imports in this PR, but I expect that to fit better in a separate TypeScript/tooling update so the syntax change and parser support can be verified together.

Phroi

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant