ci: upgrade pnpm to v11#17169
Merged
Merged
Conversation
Contributor
📦 esbuild Bundle Analysis for payloadThis analysis was generated by esbuild-bundle-analyzer. 🤖
Largest pathsThese visualization shows top 20 largest paths in the bundle.Meta file: packages/next/meta_index.json, Out file: esbuild/index.js
Meta file: packages/payload/meta_index.json, Out file: esbuild/index.js
Meta file: packages/payload/meta_shared.json, Out file: esbuild/exports/shared.js
Meta file: packages/richtext-lexical/meta_client.json, Out file: esbuild/exports/client_optimized/index.js
Meta file: packages/ui/meta_client.json, Out file: esbuild/exports/client_optimized/index.js
Meta file: packages/ui/meta_shared.json, Out file: esbuild/exports/shared_optimized/index.js
DetailsNext to the size is how much the size has increased or decreased compared with the base branch of this PR.
|
Three build-and-test-templates jobs (green on 3.x under v10) regressed under v11: - website: restore `--all` to the pack step. The ported build-template script remaps every workspace dep to a local tarball, so all workspace packages (e.g. @payloadcms/admin-bar) must be packed; the whitelist omitted it and `workspace:*` could not resolve. - with-vercel-postgres: mirror the root allowBuilds set in build-template-with-local-pkgs.ts so v11 permits bufferutil/utf-8-validate (and any other template build dep) to run install scripts. - blank: bump tsx 4.21.0 -> 4.22.4 (the sole template still on 4.21.0). Under `--import=tsx/esm` the 4.21.0 loader turns pnpm's pnpmfile probe into a fatal "Cannot find module .pnpmfile.mjs".
AlessioGr
approved these changes
Jul 1, 2026
Contributor
|
🚀 This is included in version v3.86.0 |
This was referenced Jul 10, 2026
denolfe
added a commit
that referenced
this pull request
Jul 10, 2026
…17279) # Overview Fixes the release script hanging after "Tagging release" since the pnpm v11 upgrade (#17169). pnpm v11's native `publish` treats `--json` as non-interactive and emits the web-auth URL as JSON instead of prompting, so the 2FA link never surfaces and the release hangs. ## Key Changes - **Drop `--json` from `pnpm publish` in the releaser** ## References / Links - [ci: upgrade pnpm to v11 (#17169)](#17169) — the upgrade that surfaced this - [pnpm 11.0 release notes](https://pnpm.io/blog/releases/11.0) — native publish, no longer delegates to the npm CLI - [pnpm#11476](pnpm/pnpm#11476) — `--json` emits empty stdout on publish - [nx#35575](nrwl/nx#35575) — pnpm 11 native publish writes nothing to stdout - [Migrating from pnpm v10 to v11](https://pnpm.io/migration)
denolfe
added a commit
that referenced
this pull request
Jul 10, 2026
…17280) # Overview Fixes the release script hanging after "Tagging release" since the pnpm v11 upgrade (#17169). pnpm v11's native `publish` treats `--json` as non-interactive and emits the web-auth URL as JSON instead of prompting, so the 2FA link never surfaces and the release hangs. ## Key Changes - **Drop `--json` from `pnpm publish` in the releaser** ## References / Links - [ci: upgrade pnpm to v11 (#17169)](#17169) — the upgrade that surfaced this - [pnpm 11.0 release notes](https://pnpm.io/blog/releases/11.0) — native publish, no longer delegates to the npm CLI - [pnpm#11476](pnpm/pnpm#11476) — `--json` emits empty stdout on publish - [nx#35575](nrwl/nx#35575) — pnpm 11 native publish writes nothing to stdout - [Migrating from pnpm v10 to v11](https://pnpm.io/migration)
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.
Overview
Ports pnpm
10.27.0→11.9.0onto the3.xline (from #17114, adapted for 3.x divergence).pnpm v11 ignores
package.json#pnpmand reads--ignore-workspaceas "skippnpm-workspace.yamlentirely." So root config moves intopnpm-workspace.yaml, and every previously--ignore-workspace'd install becomes a standalone workspace root.Key Changes
Migrate root pnpm config to
pnpm-workspace.yamlMoves
overrides, the build allowlist (onlyBuiltDependencies→allowBuilds), andverifyDepsBeforeRun: falseout ofpackage.json(which v11 ignores) intopnpm-workspace.yaml. BumpspackageManagerand.tool-versionsto11.9.0; removes the rootenginesblock to matchmain.Make
test/a standalone workspace rootsetupProd.tswritestest/pnpm-workspace.yaml(tarball overrides +dangerouslyAllowAllBuilds) instead of mutatingpackage.json#pnpm, so the prod-test flow installs without--ignore-workspace.Write build approvals when scaffolding
create-payload-appwrites anallowBuildsblock into the scaffoldedpnpm-workspace.yamlbefore install, so new projects install under v11 withoutERR_PNPM_IGNORED_BUILDS.Port template-build tooling to standalone roots
build-template-with-local-pkgs.tsandgenerate-template-variations.tswrite a transient standalonepnpm-workspace.yamlinstead of passing--ignore-workspace. The pack step runs with--allso every workspace dependency (e.g.@payloadcms/admin-bar) has a local tarball for itsworkspace:*spec to remap onto, and the template build allowlist mirrors the rootallowBuilds. Widens templateengines.pnpmto^9 || ^10 || ^11, and bumps the blank template'stsxto4.22.4(the 4.21.0 ESM loader made pnpm's.pnpmfile.mjsprobe fatal under--import=tsx/esm).CI
Fixes Playwright version extraction (v11's multi-line
pnpm lsbroke theGITHUB_ENVwrite) and adds acheck-template-build-approvalsjob that scaffolds the blank template and installs it under v11 to catch allowlist drift.Catalogs
Migrate from overrides to pnpm catalogs
Design Decisions
allowBuildsmirroring the root list: rather thandangerouslyAllowAllBuilds, template builds reuse the monorepo's allowlist so a single set governs both, keeping build-script approval explicit and auditable.ERR_PNPM_IGNORED_BUILDSa user would hit.References / Links
verifyDepsBeforeRundeadlock: verify-deps-before-run=install causes infinite loop with prepare and postinstall pnpm/pnpm#8865