Support Node 25 with corepack-managed pnpm#7741
Conversation
Qodo reviews are paused for this user.Troubleshooting steps vary by plan Learn more → On a Teams plan? Using GitHub Enterprise Server, GitLab Self-Managed, or Bitbucket Data Center? |
Review Summary by QodoSupport Node 25 with Corepack-managed pnpm and fix Windows test flakes
WalkthroughsDescription• Route pnpm calls through Corepack for Node 25 compatibility • Update pnpm to 11.1.2 and add explicit engine requirement • Fix Windows test flakes in updater-integration tests • Upgrade CI workflows and fixed-version jobs to Node 25 Diagramflowchart LR
A["pnpm calls"] -->|"route through Corepack"| B["corepack pnpm"]
C["package.json scripts"] -->|"prepend corepack"| B
D["plugin installer"] -->|"use Corepack"| B
E["Windows test cleanup"] -->|"add retry logic"| F["fs.rm maxRetries"]
G["rollback polling"] -->|"replace sleep"| H["poll terminal state"]
I["CI workflows"] -->|"update to"| J["Node 25"]
K["pnpm version"] -->|"bump to"| L["11.1.2"]
File Changes1. src/static/js/pluginfw/installer.ts
|
Code Review by Qodo
1. bin scripts bypass Corepack
|
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
cefdf58 to
6a4466d
Compare
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
❯ why in this PR is tehre so much pnpm shimming/dancing? ● Because Node 25 wasn’t really the hard part; pnpm resolution was. Etherpad already mostly runs on Node 25. The failures came from different places picking
So the “shimmy” is mostly making all those entrypoints converge on the repo-pinned pnpm via Corepack instead of “whatever pnpm happens to be on PATH”. Without that, a fresh clone on Node 25 could:
That’s why the PR touches more than package.json: the point was to make install, CI, startup, plugins, updater, and Docker all use the same pnpm contract. Short version: the PR is not working around Node 25 so much as removing hidden assumptions that “bare pnpm on PATH is fine.” |
|
Corepack is dropped in 25. Need to check that. |
Summary
Testing