Skip to content

Require Node 22 or later - #303

Merged
keichi merged 1 commit into
masterfrom
bump-node-version
Oct 15, 2026
Merged

keichi merged 1 commit into
masterfrom
bump-node-version

Conversation

@keichi

@keichi keichi commented Oct 15, 2026

Copy link
Copy Markdown
Owner

Summary

Node 14–20 are EOL, so this drops them.

  • engines.node: >=14 → >=22. This is a breaking change for users, so the next release should be a major version.
  • CI test matrix: 16/18/20 → 22/24/26. Publish workflow: Node 14 → 24.
  • Bump @types/node to 22. Also set moduleResolution: "node" explicitly; without it, the ESM build (--module esnext) can't resolve undici-types.
  • Bump mocha to 11, since mocha 10 fails to start on Node 26 (yargs require is not defined in ES module scope).

This is a prerequisite for moving the tests to Vitest (#302), which requires Node 22.12+.

Testing

  • npm test on Node 22, 24, and 26: 166 passing
  • npm run test:browser (karma, ChromeHeadless): 166 SUCCESS
  • npm run build and npm run format pass

Node 14-20 are EOL. Raise engines to >=22 and test on 22/24/26 in CI;
publish with Node 24.

- Bump @types/node to 22, and set moduleResolution explicitly so the ESM
  build can resolve its undici-types dependency.
- Bump mocha to 11, since mocha 10 fails to start on Node 26.
@keichi
keichi merged commit 1056e12 into master Oct 15, 2026
6 checks passed
@keichi
keichi deleted the bump-node-version branch October 15, 2026 14:05
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