Repository navigation
chore(deps): update pnpm to v11.28.4 - #1636
Merged
Merged
Conversation
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.
This PR contains the following updates:
11.28.3→11.28.4Release Notes
pnpm/pnpm (pnpm)
v11.28.4: pnpm 11.28.4Compare Source
pnpm 11.28.4 fixes two ways credentials could leak, makes
pnpm install --frozen-lockfileaccept several lockfiles it rejected, warns when an optional dependency cannot be fetched, and stopspnpm self-updatefrom installing a second pnpm next to a Homebrew one.Patch Changes
pnpm loginno longer forwards credentials in its request body to another origin during redirects.The error for a tarball that fails its integrity check no longer prints credentials, query strings, or fragments from the tarball URL.
Installing packages
pnpm install --frozen-lockfilenow succeeds in a project with no dependencies whenpnpm-lock.yamlrecords only the pinned pnpm version. Other commands write such a lockfile when they run before the first install. A lockfile missing the---line after that section is accepted too #16477.pnpm install --frozen-lockfileagain succeeds when a workspace project recorded inpnpm-lock.yamlhas no directory, such as a project left out of a Docker build context. It still fails if the project's directory exists without apackage.json#16453.pnpm install --frozen-lockfileno longer fails withERR_PNPM_OUTDATED_LOCKFILEfor a workspace project that declaresdependenciesMetaand whose dependencies are all workspace links. pnpm now records that project'sdependenciesMetainpnpm-lock.yaml#16457.Fixed frozen installs replacing a hoisted dependency with a workspace package of the same name. A later
pnpm dedupethen removed the hoisted link #16485.With
enableGlobalVirtualStoreon, scripts can run entry points that a CommonJS require hook loads again, such asts-node index.ts. They failed withERR_UNKNOWN_FILE_EXTENSIONon Node.js versions without built-in TypeScript support #16436.Optional dependencies
pnpm installnow prints a warning with the error when an optional dependency cannot be fetched and is skipped. The skipped package is no longer linked intonode_modulesas a broken symlink or listed among the added dependencies. Thepnpm:skipped-optional-dependencylog reports the skip with thefetch_failurereason #16514.When an optional dependency fails to build, pnpm now removes its link from
node_modules. A repeatpnpm installthen reports "Already up to date" and no longer reruns the failing build #16468.Fixed frozen installs creating symlinks to the working directory for skipped optional dependencies and unresolved peer dependencies #16454.
Hoisted node_modules
With
nodeLinker: hoisted, a filtered install now keeps the packages of the workspace projects an earlier install put innode_modules. This also covers the install thatpnpm --filter <selector> runandpnpm --filter <selector> execstart before the command. Before, these installs removed every package that only the unselected projects needed #16483.A filtered install of a workspace project also no longer fails with
ERR_PNPM_LOCKFILE_MISSING_DEPENDENCYafter a filtered install of another project.pnpm installwithnodeLinker: hoistednow refreshes directories supplied by custom fetchers when reinstalling.Speed and network
pnpm now revalidates cached registry metadata with a conditional request, so the registry can answer
304 Not Modified. Before, pnpm downloaded the whole document again for registries whose responses forbid caching, such asCache-Control: no-store#16528, and for packages published withinminimumReleaseAge#16506.A fetch timeout while other downloads from the same host are still running now lowers concurrency for that host to one connection. Retries of that request, and later downloads from that host, use the lower concurrency. Other hosts keep the configured concurrency #12791.
Running scripts
Scripts run without a terminal no longer start a second
sheach. One watchdog per pnpm command now ends every script's process group if pnpm is killed, sopnpm -r runacross many projects starts half as many processes #16489.pnpm runandpnpm execnow warn and run the command when the install thatverifyDepsBeforeRunstarts fails. This lets scripts run in sandboxes where pnpm cannot install, such as containers with a read-only store or no network #15173.A filtered
pnpm runorpnpm execnow finds dependencies out of date when a workspace dependency of a selected project has nonode_modulesdirectory, as after a filtered install. WithverifyDepsBeforeRun: install, pnpm installs that dependency before running the command pnpm/tasks#45.pnpm rebuildandpnpm approve-buildsrefresh command launchers when a build changes a command's interpreter or replaces it with a native executable. Dependent packages' build scripts use the refreshed launchers.Updating pnpm
pnpm self-updatenow fails for Homebrew-installed pnpm and prints thebrew upgradecommand for the installed formula, such asbrew upgrade pnpmorbrew upgrade pnpm@11. It used to install a second copy of pnpm that the Homebrew one kept shadowing #16547.On Windows,
pnpm self-updatenow replaces apnpm.exeleft inPNPM_HOMEor inPNPM_HOME\bin. InPNPM_HOME, that executable kept running the old version after a successful update. InPNPM_HOME\bin, the update failed withEPERM. If the executable was inPNPM_HOME,self-updatenow asks you to runpnpm setup#9094.pnpm can now switch to a
packageManagerversion below 11 on x64 musl Linux, such as Alpine #16467.A
devEngines.packageManagerrange now records the running pnpm inpnpm-lock.yamlonly if it meetsminimumReleaseAge. Otherwise pnpm records the newest version in the range that meets it. If no version in the range does, pnpm still records the running pnpm #16431.Filtering, settings, and other commands
The
[<since>]filter selector works again with Git 2.24 through 2.27 #16561. With Git older than 2.24, the selector now fails with an error that names the required Git version.Package-name filters now support
?to match one character #2817.pnpm -r pkg getnow reports every selected project when several share a package name. Projects with the same name are keyed by their directory relative to the workspace root. Before, only one of them appeared in the output.pnpm now reports an
INVALID_SETTINGerror whenallowUnusedPatchesinpnpm-workspace.yamlis not a boolean, or whenignoredOptionalDependenciesorrequiredScriptsis not an array of strings. A quotedallowUnusedPatchesvalue such as"false"was treated astrue.pnpm store path,pnpm store status, and other commands that look up the default store no longer fail when the current directory is not writable. pnpm now uses the store in the pnpm home directory in that case #16554.Platinum Sponsors
Gold Sponsors
Configuration
📅 Schedule: (in timezone America/Phoenix)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate CLI.