Skip to content

chore: migrate to Node.js 24 LTS#7868

Merged
paulbalaji merged 4 commits intomainfrom
chore/node-24-migration
Jan 27, 2026
Merged

chore: migrate to Node.js 24 LTS#7868
paulbalaji merged 4 commits intomainfrom
chore/node-24-migration

Conversation

@paulbalaji
Copy link
Copy Markdown
Collaborator

@paulbalaji paulbalaji commented Jan 22, 2026

Summary

  • Upgrade Node.js target from v20 to v24
  • Update .nvmrc, all Dockerfiles, and README documentation

Changes

File Change
.nvmrc v20v24
Dockerfile node:20-slimnode:24-slim
typescript/warp-monitor/Dockerfile node:20-slim/alpinenode:24-slim/alpine
typescript/rebalancer/Dockerfile node:20-slim/alpinenode:24-slim/alpine
typescript/ccip-server/Dockerfile node:20-slimnode:24-slim
typescript/cosmos-types/Dockerfile node:20-alpinenode:24-alpine
README.md Updated Node version references

Verification

  • pnpm install - success
  • pnpm build - success (deprecation warning for fs.Stats constructor, non-blocking)
  • pnpm lint - success (pre-existing warnings only)
  • ⚠️ pnpm test - fork tests in @hyperlane-xyz/core fail due to missing RPC_URL_BASE env var (pre-existing, not Node 24 related)

Node 24 Breaking Changes Considered

  • OpenSSL 3.5: RSA/DSA keys <2048 bits prohibited (no impact found)
  • V8 13.6: Buffer.allocUnsafe regression fixed in 24.11.1+ (we target 24.13.0)
  • Native modules: ABI change requires rebuild (handled by fresh pnpm install)

@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented Jan 22, 2026

⚠️ No Changeset found

Latest commit: 83100205cd6a4cbb111dffb2d6a8a67faf3afbbb

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@codecov
Copy link
Copy Markdown

codecov Bot commented Jan 22, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 77.02%. Comparing base (94c6499) to head (551eb05).
⚠️ Report is 5 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #7868   +/-   ##
=======================================
  Coverage   77.02%   77.02%           
=======================================
  Files         117      117           
  Lines        2651     2651           
  Branches      244      244           
=======================================
  Hits         2042     2042           
  Misses        593      593           
  Partials       16       16           
Components Coverage Δ
core 87.80% <ø> (ø)
hooks 71.86% <ø> (ø)
isms 81.10% <ø> (ø)
token 86.67% <ø> (ø)
middlewares 84.98% <ø> (ø)
🚀 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.

@paulbalaji paulbalaji force-pushed the chore/node-24-migration branch from a299b12 to 8310020 Compare January 22, 2026 23:30
Update Node.js target from v20 to v24.13.0 (latest LTS) across:
- .nvmrc for local development
- All Dockerfiles (root, warp-monitor, rebalancer, ccip-server, cosmos-types)
- README.md documentation

Build and lint verified passing on Node 24.
@paulbalaji paulbalaji force-pushed the chore/node-24-migration branch 2 times, most recently from 6be1dc3 to c93264b Compare January 26, 2026 14:39
@paulbalaji paulbalaji requested review from Xaroz, antigremlin and xeno097 and removed request for Mo-Hussain, nambrot and troykessler January 26, 2026 16:27
@paulbalaji paulbalaji changed the title chore: migrate monorepo to Node.js 24 LTS chore: migrate to Node.js 24 LTS Jan 26, 2026
Copy link
Copy Markdown
Contributor

@xeno097 xeno097 left a comment

Choose a reason for hiding this comment

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

Considering the bump on the node js version we should also update the type definitions and any typescript config linked to the node version to have them in sync

Image

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@socket-security
Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Addednpm/​@​types/​node@​24.10.91001008196100

View full report

@hyper-gonk
Copy link
Copy Markdown
Contributor

hyper-gonk Bot commented Jan 27, 2026

🕵️ Warp Monitor Docker Image Built Successfully

Image Tags:

gcr.io/abacus-labs-dev/hyperlane-warp-monitor:pr-7868
gcr.io/abacus-labs-dev/hyperlane-warp-monitor:551eb05-20260127-141006

@hyper-gonk
Copy link
Copy Markdown
Contributor

hyper-gonk Bot commented Jan 27, 2026

♻️ Rebalancer Docker Image Built Successfully

Image Tags:

gcr.io/abacus-labs-dev/hyperlane-rebalancer:pr-7868
gcr.io/abacus-labs-dev/hyperlane-rebalancer:551eb05-20260127-141006

@hyper-gonk
Copy link
Copy Markdown
Contributor

hyper-gonk Bot commented Jan 27, 2026

🐳 Monorepo Docker Image Built Successfully

Image Tags:

gcr.io/abacus-labs-dev/hyperlane-monorepo:pr-7868
gcr.io/abacus-labs-dev/hyperlane-monorepo:551eb05-20260127-141000

@paulbalaji paulbalaji enabled auto-merge January 27, 2026 14:15
@hyper-gonk
Copy link
Copy Markdown
Contributor

hyper-gonk Bot commented Jan 27, 2026

🔍 CCIP Server Docker Image Built Successfully

Image Tags:

gcr.io/abacus-labs-dev/hyperlane-offchain-lookup-server:pr-7868
gcr.io/abacus-labs-dev/hyperlane-offchain-lookup-server:551eb05-20260127-141008

@paulbalaji paulbalaji added this pull request to the merge queue Jan 27, 2026
paulbalaji added a commit to hyperlane-xyz/hyperlane-warp-ui-template that referenced this pull request Jan 27, 2026
## Summary
- Add `.nvmrc` with v24 for local development consistency
- Add `engines` field to `package.json` requiring Node >= 24
- Update CI workflow to use `.nvmrc` instead of `package.json` for node
version

Part of the Node.js 24 LTS migration across all Hyperlane repositories.

**Related PRs:**
- hyperlane-monorepo:
hyperlane-xyz/hyperlane-monorepo#7868

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Merged via the queue into main with commit bb31f16 Jan 27, 2026
111 checks passed
@paulbalaji paulbalaji deleted the chore/node-24-migration branch January 27, 2026 14:28
@github-project-automation github-project-automation Bot moved this from In Review to Done in Hyperlane Tasks Jan 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants