Uh oh!
There was an error while loading. Please reload this page.
chore(deps): update pnpm to v12 - #677
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
✅ Deploy Preview for apollo-module canceled.
|
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 freeto 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.
This PR contains the following updates:
10.13.1→12.3.4Release Notes
pnpm/pnpm (pnpm)
v12.3.4: pnpm 12.3.4Compare Source
Patch Changes
Sped up dependency resolution in large workspaces #14352.
pnpm 12 now accepts the boolean settings as command-line flags on every command that takes them in pnpm 11, for example
pnpm install --unsafe-perm,pnpm add foo --offline, andpnpm install --dangerously-allow-all-builds. pnpm 12 rejected them withunexpected argument, which failed every install on Vercel, whose build runspnpm install --unsafe-perm#14346.pnpm removenow accepts--unsafe-perm, the same flagpnpm install,pnpm add, andpnpm updatetake.Platinum Sponsors
Gold Sponsors
v12.3.3: pnpm 12.3.3Compare Source
Patch Changes
Fixed concurrent installs sharing a store occasionally failing with an ENOENT error while importing a package file #14353.
Sped up writing the lockfile in large workspaces #14352.
Sped up dependency resolution in large workspaces #14352.
pnpm now runs through Node.js when it was installed by a tool that skips build scripts, such as Vercel's
packageManagerprovisioning, Bun, Deno, ornpm install --ignore-scripts. Those installs previously failed withsyntax error near unexpected token ')'. They still cannot run pnpm on Windows. On macOS only a shell can start it #14346.Platinum Sponsors
Gold Sponsors
v12.3.2: pnpm 12.3.2Compare Source
Patch Changes
pnpm audit --fix updateno longer aborts when a vulnerable package has no safe version inside its declared range #14508. The run updates every package it can and lists the rest as remaining.pnpm installno longer reruns root lifecycle scripts when the global virtual store contains an unfinished-build marker in a package slot that the current lockfile does not use pnpm/pnpm#14485.Sped up installs that have no lockfile. pnpm now links packages whose dependency subtree has no peer dependencies into the virtual store while resolution is still running.
pnpm runandpnpm execnow start without reinstalling on filesystems that keep sub-millisecond mtimes, such as NTFS. Previously, every run on those filesystems reinstalled first pnpm/pnpm#14486.pnpm importnow keeps the versions recorded inpackage-lock.json,npm-shrinkwrap.json, oryarn.lockwhen it generatespnpm-lock.yaml. A range inpackage.json, a catalog, or an override still decides which versions are eligible, and the recorded version is preferred among them. The generated lockfile previously could pin newer versions than the source lockfile #14476.pnpm importin a workspace now imports every workspace project into the shared lockfile. It previously imported only the project in the current directory.pnpm importnow fails withERR_PNPM_LOCKFILE_NOT_FOUNDwhen none of the three source lockfiles is present. It also fails withERR_PNPM_YARN_LOCKFILE_PARSE_FAILEDwhen it cannot parseyarn.lock. It previously generated a lockfile from scratch in both cases.pnpm importalways resolves locally. It warns when--pnpr-serveror thepnpr-serversetting is given and does not use the server.Sped up installs in large workspaces. Discovering the workspace projects no longer enumerates every matched directory to learn which manifest files it holds #14352.
Sped up installs in large workspaces. The resolver and the peer pass allocate less for every dependency edge #14352.
pnpm self-update,pnpm with, and automatic package-manager version switching no longer wait through registry retry delays when a configured registry has no signatures andregistry.npmjs.orgis unavailable #14483.Sped up installs in large workspaces. Saving the lockfile is faster, and the install finishes without waiting for memory cleanup #14352.
pnpm installnow relinks workspace packages whenpublishConfig.linkDirectorychanges. Frozen installs report an outdated lockfile until it is regenerated pnpm/pnpm#14488.The pnpm npm wrapper keeps its placeholder shebang-less so pnpm 11 can install pnpm 12 through the version store. Wrapper installs must allow lifecycle scripts to install the native binary #14502.
Sped up dependency resolution when there is no lockfile, and for the dependencies a lockfile does not cover.
Sped up installs in large workspaces. Workspace
link:targets and importer ids are now derived from the paths' suffixes under the workspace root #14352.pnpm installnow reports "Already up to date" when local tarball dependencies have not changed #14495.pnpm updatenow accepts--ignore-scriptsand skips lifecycle scripts during the update pnpm/pnpm#14512.Sped up installs that restore a deleted
node_modulesfrom a warm global virtual store. pnpm no longer re-links packages that are already fully present in the global virtual store #14510.Platinum Sponsors
Gold Sponsors
v12.3.1: pnpm 12.3.1Compare Source
Patch Changes
Sped up installs in large workspaces: the anchor for re-rendering workspace
link:targets is now derived once per project instead of once per dependency edge, and project ordering hashes paths by their raw bytes #14352.After a self-update from pnpm 12.2 to 12.3, global commands such as
node,npm, andyarnfailed withunexpected argument '--shim' found. Global commands now launch normally, and their first launch migrates the global bin directory to native shims. When self-update downgrades to pnpm 12.2 or older, it keeps the newer native shims so those commands continue to work.Sped up installs in large workspaces. The check that verifies each project against the lockfile now runs the projects in parallel #14352.
Platinum Sponsors
Gold Sponsors
v12.3.0: pnpm 12.3Compare Source
Minor Changes
Every context-aware global command (
node,deno,bun, and the shims created withpnpm shim add) is now a native executable on every platform, so environment variables whose names are not valid shell identifiers reach these commands. On Windows,<name>.exereplaces the.cmdand.ps1shims for them. Shims written by earlier pnpm 12 releases are migrated on the next global install or self-update.pnpm removeandpnpm updatenow accept--trust-lockfile,--no-trust-lockfile,--trust-policy,--trust-policy-excludeand--trust-policy-ignore-after, the same flagspnpm installandpnpm addtake, so the supply-chain settings can be overridden for a single run.pnpm removeverifies the lockfile against the active policies the waypnpm installdoes, and--trust-lockfileskips that pass for every entry, not only the package being removed.pnpmnow also honors--config.trust-lockfile=<value>, and accepts the bare--trust-lockfile/--no-trust-lockfilespelling on the commands that previously took the setting from the config file alone.Patch Changes
pnpm add <local directory>,pnpm add <local tarball>,pnpm add file:<path>andpnpm add <tarball URL>work again. A specifier given without a<name>@prefix is no longer read as a registry package name and rejected withERR_PNPM_PACKAGE_MANAGER_ADD_RESOLVE_LATEST#14437.Fixed
pnpm deploy --legacyignoringallowUnusedPatchessupplied through--config.allow-unused-patchesor thePNPM_CONFIG_ALLOW_UNUSED_PATCHESenvironment variable pnpm/pnpm#14450.Fixed
pnpm install --lockfile-onlywriting a lockfile that referenced a missing peer-suffixed snapshot when an npm-aliased dependency took part in a cyclic peer dependency graph. The followingpnpm install --frozen-lockfilefailed withERR_PNPM_LOCKFILE_MISSING_DEPENDENCY#14449.pnpm confignow accepts-g/--global,--location, and--jsonbefore its subcommand pnpm/pnpm#14421.pnpm dedupenow converges in one pass when it re-resolves a lockfile created by pnpm 11, so a second run no longer changes the lockfile #14455.Fixed detached child processes being terminated on Windows when another program launches
pnpmdirectly, without a shell, asnrfrom@antfu/nidoes #14447.Fixed
pnpm docs <package>@<version>ignoring the requested version. It now opens the selected version's homepage and reports a missing version instead of opening the package-level homepage pnpm/pnpm#14428.Sped up installs in large workspaces.
pnpm-lock.yamlis now read while the workspace projects are being discovered #14352.Fixed filtered and recursive
pnpm runandpnpm exechanging when a script reads from the terminal. Interactive prompts work again in a script that pnpm never runs alongside another one, such as a single--filtered project,--workspace-concurrency=1, a dependency chain, or a task declaringconcurrency: 1#14397.Fixed false unmet peer errors for auto-installed peers in linked workspace packages.
Fixed npm global installs on Windows so the PowerShell shims invoke
pnpm.exe.Fixed
pnpm with current <command>when global options precede it, such aspnpm --workspace-root with current --versionpnpm/pnpm#14413.A short-option cluster that mixes a global flag with an option owned by the command, such as
pnpm -ro dist pack-app, is now parsed like the same options written after the command.An option written before the command name is now reported as an unknown option unless that command accepts it, instead of being taken for the command to run.
pnpm -P exec echoandpnpm -z exec echofail the waypnpm --tag next exec echodoes.Apply pure insertions in zero-context patches at the correct line instead of one line early.
Improved peer dependency resolution performance when many packages reuse the same peer ranges.
pnpm outdatedandpnpm updatenow follow local actions and reusable workflows referenced with GitHub's self-repository syntax (uses: $/.github/actions/setup) when looking for outdated GitHub Actions, the same way they follow./references.The
pnpm install --helpdescriptions of--prodand--devno longer claim that the flags take precedence overNODE_ENV. pnpm does not readNODE_ENVwhen selecting which dependency groups to install #14445.Sped up installs in large workspaces. The check that decides whether the lockfile needs updating no longer compares every project against every lockfile entry #14352.
Sped up dependency resolution in large workspaces that use
link:dependencies #14352.On Linux, pnpm now resolves registry hostnames through the system resolver (
getaddrinfo), as it already does on macOS and Windows and as pnpm 11 did. Previously, an/etc/resolv.confcontaining an option the bundled pure-Rust resolver did not recognize, such asoptions no_tld_query, made pnpm ignore the configured nameservers and silently query Google's public DNS instead #14469.Sped up dependency resolution in large workspaces. The resolver builds fewer lookup keys for each dependency #14352.
catalogModeand--save-catalogno longer move a local path, tarball, orworkspace:<path>specifier into a catalog. Such a specifier is resolved against the project that declares it, so one catalog entry cannot mean the same directory for every project that references it #14437.Sped up installs in large workspaces. The workspace dependency graph is now built once per run instead of twice #14352.
Sped up writing
pnpm-lock.yamlin large workspaces #14352.Fixed non-frozen installs through a pnpr server failing instead of regenerating a conflicted lockfile.
pnpm update --interactiverenders its checklist the way pnpm 11 does. Group headings and column headers are separators the cursor skips instead of checkboxes that select nothing. The columns of one group line up with the next.atoggles all andiinverts the selection. The confirmed selection is echoed as a list of package names #14423.Fixed
pnpm configcommands targeting global configuration to skip project package manager version switching, allowing registry authentication to be configured before pnpm downloads a project-pinned version pnpm/pnpm#14463.Fixed pnpm retaining the surrounding quotes in
.npmrcvalues, including auth tokens expanded from environment variables. This restores authentication with registries configured using:_authToken="${TOKEN}"pnpm/pnpm#14427.Fetch and tarball errors no longer print the secrets of the URL they name. Inline
user:pass@credentials and the query string or fragment of a signed URL are hidden, so a failed install orpnpm add <url>cannot leak them into terminal scrollback or CI logs.When
dist-tags.latestnames a version whose manifest pnpm cannot read, the error now names that version and the field it could not decode, instead of reporting the tag as empty.Retry transient Windows file-lock errors, including sharing violations, while linking dependencies with the default (isolated)
nodeLinker. This fixes pnpm/pnpm#14407.pnpm run,pnpm exec,pnpm rebuild, and the script shortcuts such aspnpm testnow load the pnpmfile, soupdateConfighook settings such asextraEnvandextraBinPathsreach the scripts they spawn #14433.The
pnpmexecutable of the npm package now works when the package was installed without running its install scripts, as under--ignore-scriptsor the default build-script block of pnpm and Bun #14346. In that case it runs through Node.js and, in a terminal, says how to switch to the native binary.Sped up installs in large workspaces. The resolver no longer copies the whole lockfile before resolving #14352.
minimumReleaseAgeStrictnow defaults totruewhenminimumReleaseAgeis explicitly configured, whether inpnpm-workspace.yaml, the globalconfig.yaml, aPNPM_CONFIG_*variable, or a CLI flag. The built-in 1440-minute default stays non-strict. Previously an explicit cutoff was treated as non-strict, so immature versions were silently added tominimumReleaseAgeExcludeinstead of being gated with a prompt #14409.Preserve environment variables whose names are not valid shell identifiers when launching Node.js installed by
pnpm runtime set node --globalon Unix pnpm/pnpm#14417.Fixed
pnpm repoandpnpm docsfailing to open the Windows browser from WSL pnpm/pnpm#14467.pnpm link,pnpm outdated, andpnpm importnow apply pnpmfileupdateConfighooks before resolving dependencies.Fixed standalone installations to preserve the bundled
node-gypfiles used to build native dependencies.Fixed resolution against registries whose version manifests carry
_npmUser,dist.attestations,dist.unpackedSize,dist.fileCount, orpeerDependenciesMetain a shape npm does not use. Such a version was skipped as though it had never been published, sopnpm addcould fail with "no version found for the latest tag" even though the registry served it.pnpm unpublishnow completes the two-factor authentication a registry asks for instead of failing withERR_PNPM_UNAUTHORIZEDwhile logged in. A 401 that is an OTP challenge starts the web-based authentication flow, or prompts for a classic one-time password. The obtained password is reused by every request of the run #14464.On Windows, pnpm now resolves host names through the system resolver instead of its own DNS client. The built-in client bound a UDP socket for every lookup, which made Windows Defender Firewall ask to allow
pnpm.exeagain after everypnpm self-update#14405.Platinum Sponsors
Gold Sponsors
v12.2.1: pnpm 12.2.1Compare Source
Patch Changes
pnpmexecutable target without a file extension so pnpm 12.1 and earlier can upgrade to newer pnpm 12 releases on POSIX systems.Platinum Sponsors
Gold Sponsors
v12.2.0: pnpm 12.2Compare Source
Minor Changes
workspace:protocol.Patch Changes
Fixed
pnpm audit --fixfailing withERR_PNPM_INVALID_FIX_OPTIONwhen used without a value, including when another flag follows it, as inpnpm audit --fix --json#13261. Fixedpnpm audit --fix=overrideignoring thesaveExactandsavePrefixsettings when writing vulnerability overrides #11523.Authenticate Node.js runtime downloads from
nodeDownloadMirrorswith URL-scoped npm registry credentials, including bearer tokens, basic auth, andtokenHelperpnpm/pnpm#14334.Fixed detached child processes being terminated after successful commands on Windows.
Sped up installs in large workspaces by resolving each named
workspace:dependency (workspace:*,workspace:^,workspace:1.2.3) once and reusing it across every project that declares it, instead of re-resolving it per project.Fixed
pnpm install --fix-lockfileto derive its repair and filtered-merge views from one lockfile snapshot.Load pnpmfile
updateConfighooks before packing so hook-provided catalogs resolve inpnpm pack,pnpm publish, andpnpm stage publishpnpm/pnpm#14377.pnpm deployno longer requiresinjectWorkspacePackagesto be enabled. A linked workspace dependency is rewritten to afile:dependConfiguration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.