Repository navigation
Conversation
Volta cannot run pnpm 12, so pnpm is now a root devDependency. Volta only pins node per app. pnpm 11+ reads settings only from pnpm-workspace.yaml and blocks unlisted build scripts, so each app now has a pnpm-workspace.yaml with allowBuilds and minimumReleaseAge: 0.
mydea
reviewed
Oct 14, 2026
mydea
reviewed
Oct 14, 2026
| @@ -23,7 +23,6 @@ | |||
| }, | |||
| "volta": { | |||
Member
There was a problem hiding this comment.
not directly related to this test, but we should actually replace these with a reference to the workspace volta config.
Member
There was a problem hiding this comment.
(I may open a PR to update this everywhere)
Member
|
Semi related, opened #25369 to actually update volta config in e2e test apps to better align with the fact we are using node 24 anyhow now by default! |
mydea
reviewed
Oct 14, 2026
| "test:assert": "pnpm test" | ||
| }, | ||
| "//": "We just need the @sentry/aws-serverless layer zip file, not the NPM package", | ||
| "//": "We need to override this here again to ensure this is not overwritten by the test runner", |
Member
There was a problem hiding this comment.
this comment seems weird now, is this right?
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Moves the E2E tests from pnpm 9 to pnpm 12. Volta still pins node per app.
pnpm-workspace.yaml. pnpm 11+ reads its settings only from this file.allowBuilds: pnpm 11+ fails the install on build scripts that are not listed.falseis only for scripts that just print a message.minimumReleaseAge: 0: by default, pnpm 11+ installs only releases that are at least 24 hours old, and falls back to older versions. The apps test against the newest releases.@electron/rebuild^4.2.1. Older versions depend on@electron/node-gypfrom git, and pnpm 11+ blocks git dependencies of dependencies.package.json#pnpm, and some apps usedpackage.json#resolutions. pnpm 11+ ignores both without an error. The E2E runner now fails if an app still uses them.next/package.json.pnpm add next@15now saves^15.x.y, and the old version checks did not work with the^."nitro": "^3.0.0", because pnpm 12 resolvedlatest || *to the placeholdernitro@0.0.0. This installs the samenitro@3.0.0as pnpm 9. A follow-up moves them to the nitro beta, which needs Vite 8.test:assert, not intest:build. CI installs Playwright in the background while the app builds, so the install intest:buildran at the same time and failed.Why pnpm is a root devDependency
pnpm switches to the version in a
packageManagerfield, but a pnpm must already be installed to do that. Yarn installs that first pnpm as a devDependency, because Volta can't run pnpm 12 and is unmaintained. Thepnpmpackage is a native binary, so it does not depend on the node version that an app pins.yarn.lockpins the version, so local runs and CI use the same pnpm. Contributors need no extra setup, and CI caches pnpm withnode_modules.Rejected alternatives:
pnpm/action-setupalone: it only installs pnpm in CI. Contributors would have to install pnpm themselves, and their version could differ from CI.packageManagerin the rootpackage.json. A test app can still pin another pnpm version (10.30 or newer, which readsallowBuilds) with its ownpackageManagerfield.