feat: add Node.js 20.x, 22.x, and 24.x LTS support #219
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Add comprehensive support for Node.js LTS versions 20.x, 22.x, and
24.x, while dropping support for older versions. The changes ensure
the library works correctly across all current LTS releases.
Update package.json engines field to require Node.js >=20.0.0. Update
GitHub Actions CI to test on all three LTS versions using the latest
stable action versions (actions/checkout@v4, actions/setup-node@v4).
Update dependencies for Node.js LTS compatibility:
Modernize linting infrastructure to support Node.js 24 by upgrading
ESLint to v8 and Prettier to v3. Remove deprecated babel-eslint and
eslint-config-chatur packages. Update ESLint configuration files for
modern standards. Apply Prettier v3 formatting to codebase.
Create .nvmrc file pinned to Node.js 24 and .releaserc.json for
explicit semantic-release configuration. Move release config from
package.json to dedicated configuration file.
Enhance GitHub Actions with OIDC for trusted npm publishing with
provenance attestation. Update semantic-release to version 25 for
OIDC support. Remove NPM_TOKEN secret requirement as authentication
now uses OIDC. Add proper permissions for release job and configure
registry URL for npm.
All 647 tests pass with 100% code coverage on Node.js 20.x, 22.x, and
24.x. Browser builds (UMD) and documentation builds succeed on all
Node.js versions with no critical deprecation warnings.
Note: Master branch already had modern tooling (webpack 5, babel 7,
TypeScript 5.9.2), eliminating OpenSSL compatibility concerns.
BREAKING CHANGE: Minimum Node.js version is now 20.0.0. Users must
upgrade to Node.js 20.x, 22.x, or 24.x to use this version.