chore: migrate to node 24 and use pnpm#3074
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Dependency Review SummaryThe full dependency review summary is too large to display here. Please download the artifact named "dependency-review-summary" to view the complete report. |
📦 Next.js Bundle Analysis for aave-uiThis analysis was generated by the Next.js Bundle Analysis action. 🤖 🎉 Global Bundle Size Decreased
DetailsThe global bundle is the javascript bundle that loads alongside every page. It is in its own category because its impact is much higher - an increase to its size means that every page on your website loads slower, and a decrease means every page loads faster. Any third party scripts you have added directly to your app using the If you want further insight into what is behind the changes, give @next/bundle-analyzer a try! Twelve Pages Changed SizeThe following pages changed size from the code in this PR compared to its base branch:
DetailsOnly the gzipped size is provided here based on an expert tip. First Load is the size of the global bundle plus the bundle for the individual page. If a user were to show up to your website and land on a given page, the first load size represents the amount of javascript that user would need to download. If Any third party scripts you have added directly to your app using the Next to the size is how much the size has increased or decreased compared with the base branch of this PR. If this percentage has increased by 20% or more, there will be a red status indicator applied, indicating that special attention should be given to this. |
|
|
📦 Next.js Bundle Analysis for aave-uiThis analysis was generated by the Next.js Bundle Analysis action. 🤖 🎉 Global Bundle Size Decreased
DetailsThe global bundle is the javascript bundle that loads alongside every page. It is in its own category because its impact is much higher - an increase to its size means that every page on your website loads slower, and a decrease means every page loads faster. Any third party scripts you have added directly to your app using the If you want further insight into what is behind the changes, give @next/bundle-analyzer a try! Twelve Pages Changed SizeThe following pages changed size from the code in this PR compared to its base branch:
DetailsOnly the gzipped size is provided here based on an expert tip. First Load is the size of the global bundle plus the bundle for the individual page. If a user were to show up to your website and land on a given page, the first load size represents the amount of javascript that user would need to download. If Any third party scripts you have added directly to your app using the Next to the size is how much the size has increased or decreased compared with the base branch of this PR. If this percentage has increased by 20% or more, there will be a red status indicator applied, indicating that special attention should be given to this. |
mgrabina
left a comment
There was a problem hiding this comment.
solid migration! just one comment
| # Supply-chain safety: refuse to install package versions published less than | ||
| # 10080 minutes (7 days) ago. Newly published versions are quarantined until | ||
| # they have been out long enough to surface as compromised. | ||
| minimumReleaseAge: 10080 |
| # pnpm expands `*` to `.*`, so `@aave*` matches both the `@aave/*` and | ||
| # `@aave-dao/*` scopes. | ||
| minimumReleaseAgeExclude: | ||
| - '@aave*' |
There was a problem hiding this comment.
recommend to make this stricter so avoiding pass for @aave-evil/hack
Summary
Migrates the package manager from yarn → pnpm and bumps the build Node version from 20 → 24.
Node 20 → 24
.nvmrc:20.19→24(used byactions/setup-nodein all CI)package.json: added"engines": { "node": "24.x" }— Vercel reads this to pick the build Node versionYarn → pnpm
package.json:"packageManager": "pnpm@9.15.9"(single source of truth; picked up by corepack +pnpm/action-setup)resolutions→pnpm.overrides. The 3-level yarn selectortronweb/ethers/wsbecameethers>ws, since pnpm overrides only support a single parent scope (matches the original intent of pinningwsunder ethers)scriptsandlint-staged(yarn→pnpm,yarn upgrade --latest→pnpm update --latest).npmrc: addednode-linker=hoistedfor a flatnode_modules, minimizing phantom-dependency breakage during the migration.husky/pre-commit:yarn i18n→pnpm i18nbuild&cypresscomposite actions +crowdin-download/crowdin-uploadnow add apnpm/action-setup@v4step, usecache: 'pnpm', and runpnpm install --frozen-lockfile. Renamed misleadingYARN_COMMAND/YARN_TEST_COMMANDaction inputs toCOMMAND/TEST_COMMAND.prettierignore: added.npmrc(no parser) andpnpm-lock.yaml(oldyarn.lockwas covered by*.lock)README.md,CONTRIBUTING.md,cypress/README.mdpnpm-lock.yaml(imported fromyarn.lockto preserve resolved versions), removedyarn.lockVerification
pnpm installsucceeds and generates the lockfilepnpm buildcompletes end-to-end against the pnpm-managed dependency treepnpm lint:formattingpassesFollow-up (outside this repo)
engines.node— set it to 24.x there too (or clear it), and confirm Node 24 is offerednvm install 24 && nvm useto align local Node🤖 Generated with Claude Code