Skip to content

Conversation

@BMJ-075
Copy link

@BMJ-075 BMJ-075 commented Oct 14, 2025

Align runtime to Node.js 20 LTS and enforce versions to avoid Corepack/Yarn issues and improve reproducibility.

Changes:

  • Add .nvmrc (20.19.0) and .npmrc (engine-strict=true).
  • Add engines to package.json (node >=20.18 <21, yarn >=4 <5).
  • Update README.md to require Node 20 and add Corepack + nvm setup.
  • Commit Yarn Berry config: .yarnrc.yml and .yarn/install-state.gz.

Testing:

  • With Node 20.19.0 / Yarn 4.9.4:
  • yarn install --immutable OK
  • yarn test → 24/24 passed
  • yarn validate → OK

Note: One peer warning (@cowprotocol/cow-sdk → ethers), non-blocking.

Summary by CodeRabbit

  • Documentation

    • Updated prerequisites to require Node.js 20 LTS (recommended 20.19.0).
    • Added setup steps for enabling corepack, installing Node via nvm, and verifying Yarn.
    • Refreshed installation guidance to align with the new Node 20 setup.
  • Chores

    • Enforced strict engine checks during package operations.
    • Standardized Node.js version to 20.19.0 for local development.
    • Configured Yarn to use the node-modules linker.
    • Declared supported Node and Yarn versions and specified the package manager version.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Oct 14, 2025

Walkthrough

Updates project runtime/tooling configuration to Node.js 20 LTS. Adds strict engine enforcement for npm, configures Yarn to node-modules linker, pins Node version via .nvmrc, sets engines and packageManager in package.json, and adjusts README prerequisites and setup steps accordingly.

Changes

Cohort / File(s) Summary
Runtime/Engines Configuration
package.json, .npmrc, .nvmrc, .yarnrc.yml
Add engines (Node 20, Yarn) and packageManager (Yarn 4.9.4) to package.json; enable npm engine-strict; add .nvmrc with Node 20.19.0; configure Yarn nodeLinker: node-modules.
Documentation
README.md
Update prerequisites to Node.js 20 LTS (Iron), recommend v20.19.0; add setup steps using corepack and nvm; include Yarn version sanity check.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related issues

Suggested reviewers

  • shoom3301
  • alfetopito

Poem

Little paws tap npm drums, hop-hop—strict and neat,
Yarn rolls out tidy balls, node-modules at my feet.
Iron moons of Node 20 glow, steady as can be,
nvm burrows version snug: 20.19.0 for me.
With corepack carrots cached, I ship—bugs flee! 🥕🐇

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The title succinctly captures the core update of aligning the project’s runtime to Node 20 LTS and enforcing version constraints, directly reflecting the main change introduced by the pull request.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link
Contributor


Thank you for your submission, we really appreciate it. Like many open-source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution. You can sign the CLA by just posting a Pull Request Comment same as the below format.


I have read the CLA Document and I hereby sign the CLA


You can retrigger this bot by commenting recheck in this Pull Request. Posted by the CLA Assistant Lite bot.

@BMJ-075
Copy link
Author

BMJ-075 commented Oct 14, 2025

I have read the CLA Document and I hereby sign the CLA

@BMJ-075
Copy link
Author

BMJ-075 commented Oct 14, 2025

closes #1182

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (2)
package.json (1)

67-73: Align engines.node with .nvmrc/README for consistency.

Consider requiring >=20.19.0 to match .nvmrc and docs. engines.yarn is optional given packageManager, but fine to keep.

Apply:

   "engines": {
-    "node": ">=20.18.0 <21",
+    "node": ">=20.19.0 <21",
     "yarn": ">=4.0.0 <5"
   },
README.md (1)

57-68: Minor setup clarity: group nvm command; optionally mention nvm install.

Shell clarity/readability:

- nvm use || nvm install 20.19.0 && nvm use 20.19.0
+ nvm use || (nvm install 20.19.0 && nvm use 20.19.0)

Optionally add a note/link to install nvm if the command is missing, and/or run:

  • corepack use yarn@4.9.4 (not required with packageManager, but makes the step explicit).
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 1603e3d and f0cfba7.

⛔ Files ignored due to path filters (2)
  • .yarn/install-state.gz is excluded by !**/.yarn/**, !**/*.gz
  • yarn.lock is excluded by !**/yarn.lock, !**/*.lock
📒 Files selected for processing (5)
  • .npmrc (1 hunks)
  • .nvmrc (1 hunks)
  • .yarnrc.yml (1 hunks)
  • README.md (1 hunks)
  • package.json (1 hunks)
🔇 Additional comments (3)
.nvmrc (1)

1-2: Pinned Node version looks good.

.npmrc (1)

1-2: No npm usage detected in CI workflows
Verified that GitHub workflows contain no npm install or npm ci invocations; retaining engine-strict=true is safe.

.yarnrc.yml (1)

1-1: LGTM. .gitignore has no .yarn entries, so Yarn metadata won’t be ignored.

@BMJ-075
Copy link
Author

BMJ-075 commented Oct 14, 2025

recheck

@BMJ-075
Copy link
Author

BMJ-075 commented Oct 14, 2025

I have read the CLA Document and I hereby sign the CLA

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.

2 participants