Skip to content

Conversation

@stoe
Copy link
Owner

@stoe stoe commented Oct 3, 2025

Summary

Bump the required runtime engines to modern versions:

  • Node.js: >=22
  • npm: >=11

What Changed

  • Updated package.json engines field from the previous lower requirements to {"node": ">=22", "npm": ">=11"}.
  • No production source code changes.
  • No dependency additions/removals as part of this PR (tooling-only engines metadata update).

Rationale

Node 22 provides:

  • Stable, up-to-date V8 with performance & security improvements.
  • Enhanced ESM stability and loader behavior beneficial for this CLI (the project is type: module).
  • Longer support window; reduces maintenance burden for older Node lines.
  • Alignment with current GitHub-hosted runners (Node 22 now broadly available) and simplifies CI matrix.

Raising npm to 11 ensures compatibility with lockfile format / workspace and provenance improvements.

Verification

  • Local install under Node 22 succeeds without warnings about engine mismatch.
  • Test suite passes (npm test).
  • Lint passes (npm run pretest).
  • CLI smoke test (invoking ./cli.js --help) works under Node 22.

Impact / Risk

  • Users running Node <22 will receive an engines warning (or potential install block if their tooling enforces engines). This is intentional.
  • No functional change for users already on Node 22.
  • Very low risk: Only metadata updated.

Migration Guidance

If a consumer is on Node 20, upgrade via nvm:

nvm install 22
nvm use 22

Or with volta:

volta install node@22

Possible Follow-Ups (Optional)

  • Update CI matrix to test only Node 22 (and maybe 23/nightly for early warnings).
  • Document minimum Node version in readme.md usage section.
  • Remove any polyfills targeting older Node if present (none identified yet).

Release Note

Chore: require Node >=22 and npm >=11.

Checklist

  • Engines field updated
  • Tests pass on Node 22
  • Lint passes
  • No runtime code changes

Let me know if you’d like CI updates bundled here or in a follow-up PR.

Copilot AI review requested due to automatic review settings October 3, 2025 14:23
@stoe stoe added the feature-request 🚧 Want something new? label Oct 3, 2025
@stoe stoe self-assigned this Oct 3, 2025
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Updates the minimum Node.js and npm version requirements in package.json from Node >=20 and npm >=10 to Node >=22 and npm >=11.

  • Updated Node.js engine requirement from >=20 to >=22
  • Updated npm engine requirement from >=10 to >=11

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@stoe stoe merged commit fe82cbf into main Oct 3, 2025
8 checks passed
@stoe stoe deleted the stoe/node branch October 3, 2025 14:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature-request 🚧 Want something new?

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant