Skip to content

Min dev node version - #773

Merged
derekpierre merged 3 commits into
nucypher:signing-epicfrom
derekpierre:min-node-version
Apr 14, 2026
Merged

derekpierre merged 3 commits into
nucypher:signing-epicfrom
derekpierre:min-node-version

Conversation

@derekpierre

@derekpierre derekpierre commented Apr 10, 2026 •

Copy link
Copy Markdown
Contributor

Type of PR:

  • Bugfix
  • Feature
  • Documentation
  • Other

Required reviews:

  • 1
  • 2
  • 3

What this does:

  • Node v18 is end-of-life, https://nodejs.org/en/about/previous-releases, and no longer works with vitest (our test suite). Update min dev node version to be 22. This a dev version update but does not enforce use of this newer version for users of the library i.e. library runtime might still work fine on Node 18.
  • Other updates may be needed for node version 25 support since there was some removal of experimental webstorage in that version - src,lib,test: unflag --experimental-webstorage by default nodejs/node#57666. Not sure about all of the specifics, but for now node v25 is not used as part of CI, and node v24 is the cap.
  • We also probably need to change the library to require newer node version for adopter usage, this can tackled in a separate PR; not sure about all of the side effects of this magnitude of change.

Issues fixed/closed:

  • Fixes #...

Why it's needed:

Explain how this PR fits in the greater context of the NuCypher Network. E.g.,
if this PR address a nucypher/productdev issue, let reviewers know!

Notes for reviewers:

Those with more Typescript knowledge can comment on best practices here.

@derekpierre derekpierre mentioned this pull request Apr 10, 2026
30 of 35 tasks
@codecov-commenter

codecov-commenter commented Apr 10, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
⚠️ Please upload report for BASE (signing-epic@a6efe66). Learn more about missing BASE report.

Additional details and impacted files
@@               Coverage Diff               @@
##             signing-epic     #773   +/-   ##
===============================================
  Coverage                ?   90.81%           
===============================================
  Files                   ?       98           
  Lines                   ?     8629           
  Branches                ?      567           
===============================================
  Hits                    ?     7836           
  Misses                  ?      750           
  Partials                ?       43           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@derekpierre derekpierre changed the title [WIP] Min node version Min dev node version Apr 10, 2026
@derekpierre
derekpierre marked this pull request as ready for review April 10, 2026 18:33

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

This PR updates the repository’s development/CI Node.js baseline in response to Node 18 reaching end-of-life and incompatibilities with the current Vitest-based test suite.

Changes:

  • Bump the dev Node version in .nvmrc from 18 to 22.
  • Update GitHub Actions CI matrices to run on newer Node versions (main CI: 22/24; npm package check: 22).
  • Adjust a Vitest mock call-site to avoid using Array.prototype.at() when retrieving the latest mock call.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.

File Description
packages/taco/test/taco-sign.test.ts Replaces .at(-1) with an index-based last-call lookup in a test.
.nvmrc Updates local/dev Node version to 22.
.github/workflows/npm.yml Updates the npm package validation job to run on Node 22.x.
.github/workflows/main.yml Updates main CI Node matrix to 22.x and 24.x.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/main.yml
Comment thread .github/workflows/npm.yml Outdated
Don't include node v25 which has a change where node's built-in localStorage can interfere with the browser-like one.
@derekpierre
derekpierre merged commit 4993876 into nucypher:signing-epic Apr 14, 2026
5 checks passed
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.

6 participants