Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

chore(deps): update pnpm to v10#2871

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Open
renovate wants to merge1 commit intomaster
base:master
Choose a base branch
Loading
fromrenovate/pnpm-10.x

Conversation

@renovate
Copy link
Contributor

@renovaterenovatebot commentedMar 20, 2025
edited
Loading

This PR contains the following updates:

PackageChangeAgeConfidence
pnpm (source)9.12.3 ->10.21.0ageconfidence

Release Notes

pnpm/pnpm (pnpm)

v10.21.0

Compare Source

v10.20.0

Compare Source

Minor Changes
  • Support--all option inpnpm --help to list all commands#​8628.
Patch Changes
  • When thelatest version doesn't satisfy the maturity requirement configured byminimumReleaseAge, pick the highest version that is mature enough, even if it has a different major version#​10100.
  • create command should not verify patch info.
  • SetmanagePackageManagerVersions tofalse, when switching to a different version of pnpm CLI, in order to avoid subsequent switches#​10063.

v10.19.0

Compare Source

Minor Changes
  • You can now allow specific versions of dependencies to run postinstall scripts.onlyBuiltDependencies now accepts package names with lists of trusted versions. For example:

    onlyBuiltDependencies:  -nx@21.6.4 || 21.6.5  -esbuild@0.25.1

    Related PR:#​10104.

  • Added support for exact versions inminimumReleaseAgeExclude#​9985.

    You can now list one or more specific versions that pnpm should allow to install, even if those versions don’t satisfy the maturity requirement set byminimumReleaseAge. For example:

    minimumReleaseAge:1440minimumReleaseAgeExclude:  -nx@21.6.5  -webpack@4.47.0 || 5.102.1

v10.18.3

Compare Source

Patch Changes
  • Fix a bug where pnpm would infinitely recurse when usingverifyDepsBeforeInstall: install and pre/post install scripts that called other pnpm scripts#​10060.
  • Fixed scoped registry keys (e.g.,@scope:registry) being parsed as property paths inpnpm config get when--location=project is used#​9362.
  • Remove pnpm-specific CLI options before passing to npm publish to prevent "Unknown cli config" warnings#​9646.
  • Fixed EISDIR error when bin field points to a directory#​9441.
  • Preserve version and hasBin for variations packages#​10022.
  • Fixedpnpm config set --location=project incorrectly handling keys with slashes (auth tokens, registry settings)#​9884.
  • When bothpnpm-workspace.yaml and.npmrc exist,pnpm config set --location=project now writes topnpm-workspace.yaml (matching read priority)#​10072.
  • Prevent a table width error inpnpm outdated --long#​10040.
  • Sync bin links after injected dependencies are updated by build scripts. This ensures that binaries created during build processes are properly linked and accessible to consuming projects#​10057.

v10.18.2

Compare Source

Patch Changes
  • pnpm outdated --long should work#​10040.
  • Replace ndjson with split2. Reduce the bundle size of pnpm CLI#​10054.
  • pnpm dlx should request the full metadata of packages, whenminimumReleaseAge is set#​9963.
  • pnpm version switching should work when the pnpm home directory is in a symlinked directory#​9715.
  • FixEPIPE errors when piping output to other commands#​10027.

v10.18.1

Compare Source

Patch Changes
  • Don't print a warning, when--lockfile-only is used#​8320.
  • pnpm setup creates a command shim to the pnpm executable. This is needed to be able to runpnpm self-update on Windows#​5700.
  • When using pnpm catalogs and running a normalpnpm install, pnpm produced false positive warnings for "skip adding to the default catalog because it already exists". This warning now only prints when usingpnpm add --save-catalog as originally intended.

v10.18.0

Compare Source

Minor Changes
  • Added network performance monitoring to pnpm by implementing warnings for slow network requests, including both metadata fetches and tarball downloads.

    Added configuration options for warning thresholds:fetchWarnTimeoutMs andfetchMinSpeedKiBps.
    Warning messages are displayed when requests exceed time thresholds or fall below speed minimums

    Related PR:#​10025.

Patch Changes
  • Retry filesystem operations on EAGAIN errors#​9959.
  • Outdated command respectsminimumReleaseAge configuration#​10030.
  • Correctly apply thecleanupUnusedCatalogs configuration when removing dependent packages.
  • Don't fail with a meaningless error whenscriptShell is set tofalse#​8748.
  • pnpm dlx should not fail whenminimumReleaseAge is set#​10037.

v10.17.1

Compare Source

Patch Changes
  • When a version specifier cannot be resolved because the versions don't satisfy theminimumReleaseAge setting, print this information out in the error message#​9974.
  • Fixstate.json creation path when executingpnpm patch in a workspace project#​9733.
  • WhenminimumReleaseAge is set and thelatest tag is not mature enough, prefer a non-deprecated version as the newlatest#​9987.

v10.17.0

Compare Source

Minor Changes
  • TheminimumReleaseAgeExclude setting now supports patterns. For instance:

    minimumReleaseAge:1440minimumReleaseAgeExclude:  -"@​eslint/*"

    Related PR:#​9984.

Patch Changes
  • Don't ignore theminimumReleaseAge check, when the package is requested by exact version and the packument is loaded from cache#​9978.
  • WhenminimumReleaseAge is set and the active version under a dist-tag is not mature enough, do not downgrade to a prerelease version in case the original version wasn't a prerelease one#​9979.

v10.16.1

Compare Source

Patch Changes
  • The full metadata cache should be stored not at the same location as the abbreviated metadata. This fixes a bug where pnpm was loading the abbreviated metadata from cache and couldn't find the "time" field as a result#​9963.
  • Forcibly disable ANSI color codes when generating patch diff#​9914.

v10.16.0

Compare Source

Minor Changes
  • There have been several incidents recently where popular packages were successfully attacked. To reduce the risk of installing a compromised version, we are introducing a new setting that delays the installation of newly released dependencies. In most cases, such attacks are discovered quickly and the malicious versions are removed from the registry within an hour.

    The new setting is calledminimumReleaseAge. It specifies the number of minutes that must pass after a version is published before pnpm will install it. For example, settingminimumReleaseAge: 1440 ensures that only packages released at least one day ago can be installed.

    If you setminimumReleaseAge but need to disable this restriction for certain dependencies, you can list them under theminimumReleaseAgeExclude setting. For instance, with the following configuration pnpm will always install the latest version of webpack, regardless of its release time:

    minimumReleaseAgeExclude:  -webpack

    Related issue:#​9921.

  • Added support forfinders#​9946.

    In the past,pnpm list andpnpm why could only search for dependencies byname (and optionally version). For example:

    pnpm why minimist

    prints the chain of dependencies to any installed instance ofminimist:

    verdaccio 5.20.1├─┬ handlebars 4.7.7│ └── minimist 1.2.8└─┬ mv 2.1.1  └─┬ mkdirp 0.5.6    └── minimist 1.2.8

    What if we want to search byother properties of a dependency, not just its name? For instance, find all packages that havereact@17 in their peer dependencies?

    This is now possible with "finder functions". Finder functions can be declared in.pnpmfile.cjs and invoked with the--find-by=<function name> flag when runningpnpm list orpnpm why.

    Let's say we want to find any dependencies that have React 17 in peer dependencies. We can add this finder to our.pnpmfile.cjs:

    module.exports={finders:{react17:(ctx)=>{returnctx.readManifest().peerDependencies?.react==="^17.0.0";},},};

    Now we can use this finder function by running:

    pnpm why --find-by=react17

    pnpm will find all dependencies that have this React in peer dependencies and print their exact locations in the dependency graph.

    @&#8203;apollo/client 4.0.4├── @&#8203;graphql-typed-document-node/core 3.2.0└── graphql-tag 2.12.6

    It is also possible to print out some additional information in the output by returning a string from the finder. For example, with the following finder:

    module.exports={finders:{react17:(ctx)=>{constmanifest=ctx.readManifest();if(manifest.peerDependencies?.react==="^17.0.0"){return`license:${manifest.license}`;}returnfalse;},},};

    Every matched package will also print out the license from itspackage.json:

    @&#8203;apollo/client 4.0.4├── @&#8203;graphql-typed-document-node/core 3.2.0│   license: MIT└── graphql-tag 2.12.6    license: MIT
Patch Changes
  • Fix deprecation warning printed when executing pnpm with Node.js 24#​9529.
  • Throw an error ifnodeVersion is not set to an exact semver version#​9934.
  • pnpm publish should be able to publish a.tar.gz file#​9927.
  • Canceling a running process with Ctrl-C should makepnpm run return a non-zero exit code#​9626.

v10.15.1

Compare Source

Patch Changes
  • Fix.pnp.cjs crash when importing subpath#​9904.
  • When resolving peer dependencies, pnpm looks whether the peer dependency is present in the root workspace project's dependencies. This change makes it so that the peer dependency is correctly resolved even from aliased npm-hosted dependencies or other types of dependencies#​9913.

v10.15.0

Compare Source

Minor Changes
  • Added thecleanupUnusedCatalogs configuration. When set totrue, pnpm will remove unused catalog entries during installation#​9793.
  • Automatically load pnpmfiles from config dependencies that are named@*/pnpm-plugin-*#​9780.
  • pnpm config get now prints an INI string for an object value#​9797.
  • pnpm config get now accepts property paths (e.g.pnpm config get catalog.react,pnpm config get .catalog.react,pnpm config get 'packageExtensions["@&#8203;babel/parser"].peerDependencies["@&#8203;babel/types"]'), andpnpm config set now accepts dot-leading or subscripted keys (e.g.pnpm config set .ignoreScripts true).
  • pnpm config get --json now prints a JSON serialization of config value, andpnpm config set --json now parses the input value as JSON.
Patch Changes
  • Semi-breaking. When automatically installing missing peer dependencies, prefer versions that are already present in the direct dependencies of the root workspace package#​9835.
  • When executing thepnpm create command, must verify whether the node version is supported even if a cache already exists#​9775.
  • When making requests for the non-abbreviated packument, add*/* to theAccept header to avoid getting a 406 error on AWS CodeArtifact#​9862.
  • The standalone exe version of pnpm works with glibc 2.26 again#​9734.
  • Fix a regression in whichpnpm dlx pkg --help doesn't pass--help topkg#​9823.

v10.14.0

Compare Source

Minor Changes
  • Added support for JavaScript runtime resolution

    Declare Node.js, Deno, or Bun indevEngines.runtime (insidepackage.json) and let pnpm download and pin it automatically.

    Usage example:

    {"devEngines": {"runtime": {"name":"node","version":"^24.4.0","onFail":"download"(we only support the "download" value for now)    }  }}

    How it works:

    1. pnpm install resolves your specified range to the latest matching runtime version.
    2. The exact version (and checksum) is saved in the lockfile.
    3. Scripts use the local runtime, ensuring consistency across environments.

    Why this is better:

    1. This new setting supports also Deno and Bun (vs. our Node-only settingsuseNodeVersion andexecutionEnv.nodeVersion)
    2. Supports version ranges (not just a fixed version).
    3. The resolved version is stored in the pnpm lockfile, along with an integrity checksum for future validation of the Node.js content's validity.
    4. It can be used on any workspace project (likeexecutionEnv.nodeVersion). So, different projects in a workspace can use different runtimes.
    5. For nowdevEngines.runtime setting will install the runtime locally, which we will improve in future versions of pnpm by using a shared location on the computer.

    Related PR:#​9755.

  • Add--cpu,--libc, and--os topnpm install,pnpm add, andpnpm dlx to customizesupportedArchitectures via the CLI#​7510.

Patch Changes
  • Fix a bug in whichpnpm add downloads packages whoselibc differ frompnpm.supportedArchitectures.libc.
  • The integrities of the downloaded Node.js artifacts are verified#​9750.
  • Allowdlx to parse CLI flags and options between thedlx command and the command to run or between thedlx command and--#​9719.
  • pnpm install --prod should removing hoisted dev dependencies#​9782.
  • Fix an edge case bug causing local tarballs to not re-link into the virtual store. This bug would happen when changing the contents of the tarball without renaming the file and running a filtered install.
  • Fix a bug causingpnpm install to incorrectly assume the lockfile is up to date after changing a local tarball that has peers dependencies.

v10.13.1

Compare Source

Patch Changes
  • Run user defined pnpmfiles after pnpmfiles of plugins.

v10.13.0

Compare Source

Minor Changes
  • Added the possibility to load multiple pnpmfiles. Thepnpmfile setting can now accept a list of pnpmfile locations#​9702.

  • pnpm will now automatically load thepnpmfile.cjs file from anyconfig dependency named@pnpm/plugin-* orpnpm-plugin-*#​9729.

    The order in which config dependencies are initialized should not matter — they are initialized in alphabetical order. If a specific order is needed, the paths to thepnpmfile.cjs files in the config dependencies can be explicitly listed using thepnpmfile setting inpnpm-workspace.yaml.

Patch Changes
  • When patching dependencies installed viapkg.pr.new, treat them as Git tarball URLs#​9694.
  • Prevent conflicts between local projects' config and the global config indangerouslyAllowAllBuilds,onlyBuiltDependencies,onlyBuiltDependenciesFile, andneverBuiltDependencies#​9628.
  • Sort keys inpnpm-workspace.yaml with deep#​9701.
  • Thepnpm rebuild command should not add pkgs included inignoredBuiltDependencies toignoredBuilds innode_modules/.modules.yaml#​9338.
  • Replacedshell-quote withshlex for quoting command arguments#​9381.

v10.12.4

Compare Source

Patch Changes

v10.12.3

Compare Source

Patch Changes
  • Restore hoisting of optional peer dependencies when installing with an outdated lockfile.
    Regression introduced inv10.12.2 by#​9648; resolves#​9685.

v10.12.2

Compare Source

Patch Changes
  • Fixed hoisting withenableGlobalVirtualStore set totrue#​9648.
  • Fix the--help and-h flags not working as expected for thepnpm create command.
  • The dependency package path output by thepnpm licenses list --json command is incorrect.
  • Fix a bug in whichpnpm deploy fails due to overridden dependencies having peer dependencies causingERR_PNPM_OUTDATED_LOCKFILE#​9595.

v10.12.1

Minor Changes
  • Experimental. Added support for global virtual stores. When enabled,node_modules contains only symlinks to a central virtual store, rather tonode_modules/.pnpm. By default, this central store is located at<store-path>/links (you can find the store path by runningpnpm store path).

    In the central virtual store, each package is hard linked into a directory whose name is the hash of its dependency graph. This allows multiple projects on the system to symlink shared dependencies from this central location, significantly improving installation speed when a warm cache is available.

    This is conceptually similar to howNixOS manages packages, using dependency graph hashes to create isolated and reusable package directories.

    To enable the global virtual store, setenableGlobalVirtualStore: true in your rootpnpm-workspace.yaml, or globally via:

    pnpm config -gset enable-global-virtual-storetrue

    NOTE: In CI environments, where caches are typically cold, this setting may slow down installation. pnpm automatically disables the global virtual store when running in CI.

    Related PR:#​8190

  • Thepnpm update command now supports updatingcatalog: protocol dependencies and writes new specifiers topnpm-workspace.yaml.
  • Added two new CLI options (--save-catalog and--save-catalog-name=<name>) topnpm add to save new dependencies as catalog entries.catalog: orcatalog:<name> will be added topackage.json and the package specifier will be added to thecatalogs orcatalog[<name>] object inpnpm-workspace.yaml#​9425.
  • Semi-breaking. The keys used for side-effects caches have changed. If you have a side-effects cache generated by a previous version of pnpm, the new version will not use it and will create a new cache instead#​9605.
  • Added a new setting calledci for explicitly telling pnpm if the current environment is a CI or not.
Patch Changes
  • Sort versions printed bypnpm patch using semantic versioning rules.
  • Improve the way the error message displays mismatched specifiers. Show differences instead of 2 whole objects#​9598.
  • Revert#​9574 to fix a regression#​9596.

v10.11.1

Compare Source

Patch Changes
  • Fix an issue in whichpnpm deploy --legacy creates unexpected directories when the rootpackage.json has a workspace package as a peer dependency#​9550.
  • Dependencies specified via a URL that redirects will only be locked to the target if it is immutable, fixing a regression when installing from GitHub releases. (#​9531)
  • Installation should not exit with an error ifstrictPeerDependencies istrue but all issues are ignored bypeerDependencyRules#​9505.
  • Usepnpm_config_ env variables instead ofnpm_config_#​9571.
  • Fix a regression (in v10.9.0) causing the--lockfile-only flag onpnpm update to produce a differentpnpm-lock.yaml than an update without the flag.
  • Letpnpm deploy work in repos withoverrides wheninject-workspace-packages=true#​9283.
  • Fixed the problem of path loss caused by parsing URL address. Fixes a regression shipped in pnpm v10.11 via#​9502.
  • pnpm -r --silent run should not print out section#​9563.

v10.11.0

Compare Source

Minor Changes
  • A new setting added forpnpm init to create apackage.json withtype=module, wheninit-type ismodule. Works as a flag for the init command too#​9463.

  • Added support for Nushell topnpm setup#​6476.

  • Added two new flags to thepnpm audit command,--ignore and--ignore-unfixable#​8474.

    Ignore all vulnerabilities that have no solution:

    > pnpm audit --ignore-unfixable

    Provide a list of CVE's to ignore those specifically, even if they have a resolution.

    > pnpm audit --ignore=CVE-2021-1234 --ignore=CVE-2021-5678
  • Added support for recursively running pack in every project of a workspace#​4351.

    Now you can runpnpm -r pack to pack all packages in the workspace.

Patch Changes
  • pnpm version management should work, whendangerouslyAllowAllBuilds is set totrue#​9472.
  • pnpm link should work from inside a workspace#​9506.
  • Set the defaultworkspaceConcurrency toMath.min(os.availableParallelism(), 4)#​9493.
  • Installation should not exit with an error ifstrictPeerDependencies istrue but all issues are ignored bypeerDependencyRules#​9505.
  • ReadupdateConfig frompnpm-workspace.yaml#​9500.
  • Add support forrecursive pack
  • Removeurl.parse usage to fix warning on Node.js 24#​9492.
  • pnpm run should be able to run commands from the workspace root, ifignoreScripts is set tottrue#​4858.

v10.10.0

Compare Source

Minor Changes
  • Allow loading thepreResolution,importPackage, andfetchers hooks from local pnpmfile.
Patch Changes
  • Fixcd command, whenshellEmulator istrue#​7838.
  • Sort keys inpnpm-workspace.yaml#​9453.
  • Pass thenpm_package_json environment variable to the executed scripts#​9452.
  • Fixed a mistake in the description of the--reporter=silent option.

v10.9.0

Compare Source

Minor Changes
  • Added support for installing JSR packages. You can now install JSR packages using the following syntax:

    pnpm add jsr:<pkg_name>

    or with a version range:

    pnpm add jsr:<pkg_name>@&#8203;<range>

    For example, running:

    pnpm add jsr:@&#8203;foo/bar

    will add the following entry to yourpackage.json:

    {"dependencies": {"@&#8203;foo/bar":"jsr:^0.1.2"  }}

    When publishing, this entry will be transformed into a format compatible with npm, older versions of Yarn, and previous pnpm versions:

    {"dependencies": {"@&#8203;foo/bar":"npm:@&#8203;jsr/foo__bar@^0.1.2"  }}

    Related issue:#​8941.

    Note: The@jsr scope defaults tohttps://npm.jsr.io/ if the@jsr:registry setting is not defined.

  • Added a new setting,dangerouslyAllowAllBuilds, for automatically running any scripts of dependencies without the need to approve any builds. It was already possible to allow all builds by adding this topnpm-workspace.yaml:

    neverBuiltDependencies:[]

    dangerouslyAllowAllBuilds has the same effect but also allows to be set globally via:

    pnpm config set dangerouslyAllowAllBuilds true

    It can also be set when running a command:

    pnpm install --dangerously-allow-all-builds
Patch Changes
  • Fix a false negative inverifyDepsBeforeRun whennodeLinker ishoisted and there is a workspace package without dependencies andnode_modules directory#​9424.
  • Explicitly dropverifyDepsBeforeRun support fornodeLinker: pnp. CombiningverifyDepsBeforeRun andnodeLinker: pnp will now print a warning.

v10.8.1

Compare Source

Patch Changes
  • Removed bright white highlighting, which didn't look good on some light themes#​9389.
  • If there is no pnpm related configuration inpackage.json,onlyBuiltDependencies will be written topnpm-workspace.yaml file#​9404.

v10.8.0

Compare Source

Minor Changes
  • Experimental. A new hook is supported for updating configuration settings. The hook can be provided via.pnpmfile.cjs. For example:

    module.exports={hooks:{updateConfig:(config)=>({      ...config,nodeLinker:"hoisted",}),},};
  • Now you can use thepnpm add command with the--config flag to install new configurational dependencies#​9377.

Patch Changes
  • Do not hang indefinitely, when there is a glob that starts with!/ inpnpm-workspace.yaml. This fixes a regression introduced by#​9169.
  • pnpm audit --fix should update the overrides inpnpm-workspace.yaml.
  • pnpm link should update overrides inpnpm-workspace.yaml, not inpackage.json#​9365.

v10.7.1

Compare Source

Patch Changes
  • pnpm config set should convert the settings to their correct type before adding them topnpm-workspace.yaml#​9355.
  • pnpm config get should read auth related settings via npm CLI#​9345.
  • Replace leading~/ in a path in.npmrc with the home directory#​9217.

v10.7.0

Compare Source

Minor Changes
  • pnpm config get andlist also show settings set inpnpm-workspace.yaml files#​9316.

  • It should be possible to use env variables inpnpm-workspace.yaml setting names and value.

  • Add an ability to patch dependencies by version ranges. Exact versions override version ranges, which in turn override name-only patches. Version range* is the same as name-only, except that patch application failure will not be ignored.

    For example:

    patchedDependencies:foo:patches/foo-1.patchfoo@^2.0.0:patches/foo-2.patchfoo@2.1.0:patches/foo-3.patch

    The above configuration would applypatches/foo-3.patch tofoo@2.1.0,patches/foo-2.patch to allfoo versions which satisfy^2.0.0 except2.1.0, andpatches/foo-1.patch to the remainingfoo versions.

    [!WARNING]
    The version ranges should not overlap. If you want to specialize a sub range, make sure to exclude it from the other keys. For example:

    # pnpm-workspace.yamlpatchedDependencies:# the specialized sub range'foo@2.2.0-2.8.0':patches/foo.2.2.0-2.8.0.patch# the more general patch, excluding the sub range above'foo@>=2.0.0 <2.2.0 || >2.8.0':'patches/foo.gte2.patch

    In most cases, however, it's sufficient to just define an exact version to override the range.

  • pnpm config set --location=project saves the setting to apnpm-workspace.yaml file if no.npmrc file is present in the directory#​9316.

  • Renamepnpm.allowNonAppliedPatches topnpm.allowUnusedPatches. The old name is still supported but it would print a deprecation warning message.

  • Addpnpm.ignorePatchFailures to manage whether pnpm would ignore patch application failures.

    IfignorePatchFailures is not set, pnpm would throw an error when patches with exact versions or version ranges fail to apply, and it would ignore failures from name-only patches.

    IfignorePatchFailures is explicitly set tofalse, pnpm would throw an error when any type of patch fails to apply.

    IfignorePatchFailures is explicitly set totrue, pnpm would print a warning when any type of patch fails to apply.

Patch Changes
  • Remove dependency paths from audit output to prevent out-of-memory errors#​9280.

v10.6.5

Compare Source

Patch Changes
  • Remove warnings after having explicitly approved no builds#​9296.
  • When installing different dependency packages, should retain theignoredBuilds field in the.modules.yaml file#​9240.
  • Fix usages of thecatalog: protocol ininjected local workspace packages. This previously errored withERR_PNPM_SPEC_NOT_SUPPORTED_BY_ANY_RESOLVER.#​8715
  • Settingworkspace-concurrency to less than or equal to 0 should work#​9297.

v10.6.4

Compare Source

Patch Changes
  • Fixpnpm dlx with--allow-build flag#​9263.
  • Invalid Node.js version inuse-node-version should not cause pnpm itself to break#​9276.
  • The max amount of workers running for linking packages from the store has been reduced to 4 to achieve optimal results#​9286. The workers are performing many file system operations, so increasing the number of CPUs doesn't help performance after some point.

v10.6.3

Compare Source

Patch Changes
  • pnpm install --prod=false should not crash, when executed in a project with apnpm-workspace.yaml file#​9233. This fixes regression introduced via#​9211.

  • Add the missingnode-options config torecursive run#​9180.

  • Removed a branching code path that only executed whendedupe-peer-dependents=false. We believe this internal refactor will not result in behavior changes, but we expect it to make future pnpm versions behave more consistently for projects that overridededupe-peer-dependents to false. There should be less unique bugs from turning offdedupe-peer-dependents.

    See details in#​9259.

v10.6.2

Compare Source

Patch Changes
  • pnpm self-update should always update the version in thepackageManager field ofpackage.json.
  • Fix running pnpm CLI from pnpm CLI on Windows when the CLI is bundled to an executable#​8971.
  • pnpm patch-commit will now use the same filesystem as the store directory to compare and create patch files.
  • Don't show info output when--loglevel=error is used.
  • peerDependencyRules should be set inpnpm-workspace.yaml to take effect.

v10.6.1

Compare Source

Patch Changes
  • The pnpm CLI process should not stay hanging, when--silent reporting is used.
  • When--loglevel is set toerror, don't show installation summary, execution time, and big tarball download progress.
  • Don't ignore pnpm.patchedDependencies frompackage.json#​9226.
  • When executing theapprove-builds command, if package.json containsonlyBuiltDependencies orignoredBuiltDependencies, the selected dependency package will continue to be written intopackage.json.
  • When a package version cannot be found in the package metadata, print the registry from which the package was fetched.

v10.6.0

Compare Source

Minor Changes
  • pnpm-workspace.yaml can now hold all the settings that.npmrc accepts. The settings should use camelCase#​9211.

    pnpm-workspace.yaml example:

    verifyDepsBeforeRun:installoptimisticRepeatInstall:truepublicHoistPattern:  -"*types*"  -"!@&#8203;types/react"
  • Projects using afile: dependency on a local tarball file (i.e..tgz,.tar.gz,.tar) will see a performance improvement during installation. Previously, using afile: dependency on a tarball caused the lockfile resolution step to always run. The lockfile will now be considered up-to-date if the tarball is unchanged.

Patch Changes
  • pnpm self-update should not leave a directory with a broken pnpm installation if the installation fails.
  • fast-glob replace withtinyglobby to reduce the size of the pnpm CLI dependencies#​9169.
  • pnpm deploy should not remove fields from the deployed package'spackage.json file#​9215.
  • pnpm self-update should not read the pnpm settings from thepackage.json file in the current working directory.
  • Fixpnpm deploy creating apackage.json without theimports andlicense field#​9193.
  • pnpm update -i should list only packages that have newer versions#​9206.
  • Fix a bug causing entries in thecatalogs section of thepnpm-lock.yaml file to be removed whendedupe-peer-dependents=false on a filtered install.#​9112

v10.5.2

Compare Source

Patch Changes
  • Thepnpm config set command should change the global.npmrc file by default.
    This was a regression introduced by#​9151 and shipped in pnpm v10.5.0.

v10.5.1

Compare Source

Patch Changes
  • Throw an error message if apnpm-workspaces.yaml orpnpm-workspaces.yml file is found instead of apnpm-workspace.yaml#​9170.
  • Fix the update ofpnpm-workspace.yaml by thepnpm approve-builds command#​9168.
  • Normalize generated link paths inpackage.json#​9163
  • Specifyingoverrides inpnpm-workspace.yaml should work.
  • pnpm dlx should ignore settings from thepackage.json file in the current working directory#​9178.

v10.5.0

Compare Source

Minor Changes
  • Allow to set the "pnpm" settings frompackage.json via thepnpm-workspace.yaml file#​9121.

  • Added support for automatically syncing files of injected workspace packages afterpnpm run#​9081. Use thesync-injected-deps-after-scripts setting to specify which scripts build the workspace package. This tells pnpm when syncing is needed. The setting should be defined in a.npmrc file at the root of the workspace. Example:

    sync-injected-deps-after-scripts[]=compile
  • Thepackages field inpnpm-workspace.yaml became optional.

Patch Changes
  • pnpm link with no parameters should work as if--global is specified#​9151.
  • Allow scope registry CLI option without--config. prefix such as--@&#8203;scope:registry=https://scope.example.com/npm#​9089.
  • pnpm link <path> should calculate relative path from the root of the workspace directory#​9132.
  • Fix a bug causing catalog snapshots to be removed from thepnpm-lock.yaml file when using--fix-lockfile and--filter.#​8639
  • Fix a bug causing catalog protocol dependencies to not re-resolve on a filtered install#​8638.

v10.4.1

Compare Source

Patch Changes
  • Throws an error when the value provided by the--allow-build option overlaps with thepnpm.ignoredBuildDependencies list#​9105.
  • Print pnpm's version after the execution time at the end of the console output.
  • Print warning about ignored builds of dependencies on repeat install#​9106.
  • Settinginit-package-manager should work.

v10.4.0

Compare Source

Minor Changes
  • pnpm approve-builds --global works now for allowing dependencies of globally installed packages to run postinstall scripts.

  • Thepnpm add command now supports a new flag,--allow-build, which allows building the specified dependencies. For instance, if you want to install a package calledbundle that hasesbuild as a dependency and want to allowesbuild to run postinstall scripts, you can run:

    pnpm --allow-build=esbuild add bundle

    This will runesbuild's postinstall script and also add it to thepnpm.onlyBuiltDependencies field ofpackage.json. So,esbuild will always be allowed to run its scripts in the future.

    Related PR:#​9086.

  • Thepnpm init command adds apackageManager field with the current version of pnpm CLI#​9069. To disable this behaviour, set theinit-package-manager setting tofalse.

Patch Changes
  • pnpm approve-builds should work after two consecutivepnpm install runs#​9083.
  • Fix instruction for updating pnpm with corepack#​9101.
  • The pnpm version specified bypackageManager cannot start withv.

v10.3.0

Compare Source

Minor Changes
  • Added a new setting calledstrict-dep-builds. When enabled, the installation will exit with a non-zero exit code if any dependencies have unreviewed build scripts (aka postinstall scripts)#​9071.
Patch Changes
  • Fix a false negative ofverify-deps-before-run afterpnpm install --production|--no-optional#​9019.
  • Print the warning about blocked installation scripts at the end of the installation output and make it more prominent.

v10.2.1

Compare Source

Patch Changes
  • Don't read a package from side-effects cache if it isn't allowed to be built#​9042.
  • pnpm approve-builds should work, when executed from a subdirectory of a workspace#​9042.
  • pnpm deploy --legacy should work without injected dependencies.
  • Add information about how to deploy without "injected dependencies" to the "pnpm deploy" error message.

v10.2.0

Compare Source

Minor Changes
  • Packages executed viapnpm dlx andpnpm create are allowed to be built (run postinstall scripts) by default.

    If the packages executed bydlx orcreate have dependencies that have to be built, they should be listed via the--allow-build flag. For instance, if you want to run a package calledbundle that hasesbuild in dependencies and want to allowesbuild to run postinstall scripts, run:

    pnpm --allow-build=esbuild dlx bundle

    Related PR:#​9026.

Patch Changes
  • Quote args for scripts with shell-quote to support new lines (on POSIX only)#​8980.
  • Fix a bug in whichpnpm deploy fails to read the correctprojectId when the deploy source is the same as the workspace directory#​9001.
  • Proxy settings should be respected, when resolving Git-hosted dependencies#​6530.
  • Preventoverrides from adding invalid version ranges topeerDependencies by keeping thepeerDependencies and overriding them with proddependencies#​8978.
  • Sort the package names in the "pnpm.onlyBuiltDependencies" list saved bypnpm approve-builds.

v10.1.0

Compare Source

Minor Changes
  • Added a new command for printing the list of dependencies with ignored build scripts:pnpm ignored-builds#​8963.
  • Added a new command for approving dependencies for running scripts during installation:pnpm approve-builds#​8963.
  • Added a new setting calledoptimistic-repeat-install. When enabled, a fast check will be performed before proceeding to installation. This way a repeat install or an install on a project with everything up-to-date becomes a lot faster. But some edge cases might arise, so we keep it disabled by default for now#​8977.
  • Added a new field "pnpm.ignoredBuiltDependencies" for explicitly listing packages that should not be built. When a package is in the list, pnpm will not print an info message about that package not being built#​8935.
Patch Changes
  • Verify that the package name is valid when executing the publish command.
  • When runningpnpm install, thepreprepare andpostprepare scripts of the project should be executed#​8989.
  • Allowworkspace: andcatalog: to be part of wider version range inpeerDependencies.
  • pnpm deploy should inherit thepnpm object from the rootpackage.json#​8991.
  • Make sure that the deletion of anode_modules in a sub-project of a monorepo is detected as out-of-date#​8959.
  • Fix infinite loop caused by lifecycle scripts usingpnpm to execute other scripts duringpnpm install withverify-deps-before-run=install#​8954.
  • Replacestrip-ansi with the built-inutil.stripVTControlCharacters#​9009.
  • Do not print patched dependencies as ignored dependencies that require a build#​8952.

v10.0.0

Compare Source

Major Changes
  • Lifecycle scripts of dependencies are not executed during installation by default! This is a breaking change aimed at increasing security. In order to allow lifecycle scripts of specific dependencies, they should be listed in thepnpm.onlyBuiltDependencies field ofpackage.json#​8897. For example:

    {"pnpm": {"onlyBuiltDependencies": ["fsevents"]  }}
  • pnpm link behavior updated:

    Thepnpm link command now adds overrides to the rootpackage.json.

    • In a workspace: The override is added to the root of the workspace, linking the dependency to all projects in the workspace.
    • Global linking: To link a package globally, runpnpm link from the package’s directory. Previously, you needed to usepnpm link -g.
      Related PR:#​8653
  • Secure hashing with SHA256:

    Various hashing algorithms have been updated to SHA256 for enhanced security and consistency:

    • Long paths insidenode_modules/.pnpm are now hashed with SHA256.
    • Long peer dependency hashes in the lockfile now use SHA256 instead of MD5. (This affects very few users since these are only used for long keys.)
    • The hash stored in thepackageExtensionsChecksum field ofpnpm-lock.yaml is now SHA256.
    • The side effects cache keys now use SHA256.
    • The pnpmfile checksum in the lockfile now uses SHA256 (#​8530).
  • Configuration updates:

    • manage-package-manager-versions: enabled by default. pnpm now manages its own version based on thepackageManager field inpackage.json by default.

    • public-hoist-pattern: nothing is hoisted by default. Packages containingeslint orprettier in t


Configuration

📅Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦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.


  • If you want to rebase/retry this PR, check this box

This PR was generated byMend Renovate. View therepository job log.

@renovaterenovatebot added the dependenciesPull requests that update a dependency file labelMar 20, 2025
@github-actions
Copy link
Contributor

github-actionsbot commentedMar 20, 2025
edited
Loading

🚀 Snapshot Release (alpha)

The latest changes of this PR are available asalpha on npm (based on the declaredchangesets):

PackageVersionInfo
@graphql-inspector/action5.0.9-alpha-20251028183855-65a74925a9b1f9ae06559d0fa41581f4ebfa866enpm ↗︎unpkg ↗︎
@graphql-inspector/cli5.0.9-alpha-20251028183855-65a74925a9b1f9ae06559d0fa41581f4ebfa866enpm ↗︎unpkg ↗︎
@graphql-inspector/audit-command5.0.9-alpha-20251028183855-65a74925a9b1f9ae06559d0fa41581f4ebfa866enpm ↗︎unpkg ↗︎
@graphql-inspector/coverage-command6.1.3-alpha-20251028183855-65a74925a9b1f9ae06559d0fa41581f4ebfa866enpm ↗︎unpkg ↗︎
@graphql-inspector/diff-command5.0.9-alpha-20251028183855-65a74925a9b1f9ae06559d0fa41581f4ebfa866enpm ↗︎unpkg ↗︎
@graphql-inspector/introspect-command5.0.9-alpha-20251028183855-65a74925a9b1f9ae06559d0fa41581f4ebfa866enpm ↗︎unpkg ↗︎
@graphql-inspector/similar-command5.0.9-alpha-20251028183855-65a74925a9b1f9ae06559d0fa41581f4ebfa866enpm ↗︎unpkg ↗︎
@graphql-inspector/validate-command5.0.9-alpha-20251028183855-65a74925a9b1f9ae06559d0fa41581f4ebfa866enpm ↗︎unpkg ↗︎
@graphql-inspector/core6.3.0-alpha-20251028183855-65a74925a9b1f9ae06559d0fa41581f4ebfa866enpm ↗︎unpkg ↗︎

@github-actions
Copy link
Contributor

github-actionsbot commentedMar 20, 2025
edited
Loading

💻 Website Preview

The latest changes are available as preview in:https://pr-2871.graphql-inspector.pages.dev

@renovaterenovatebotforce-pushed therenovate/pnpm-10.x branch frombf0c852 to5057684CompareApril 1, 2025 13:38
@renovaterenovatebotforce-pushed therenovate/pnpm-10.x branch from5057684 tob990f6fCompareApril 7, 2025 19:39
@renovaterenovatebotforce-pushed therenovate/pnpm-10.x branch from795876a to78db8f0CompareMay 13, 2025 19:44
@renovaterenovatebotforce-pushed therenovate/pnpm-10.x branch from78db8f0 to2b12b61CompareJune 2, 2025 18:46
@renovaterenovatebotforce-pushed therenovate/pnpm-10.x branch from2b12b61 to58e9734CompareJune 8, 2025 17:37
@renovaterenovatebotforce-pushed therenovate/pnpm-10.x branch from58e9734 to489cd6cCompareJune 23, 2025 03:32
@renovaterenovatebotforce-pushed therenovate/pnpm-10.x branch from489cd6c tocf763ddCompareJune 24, 2025 13:36
@renovaterenovatebotforce-pushed therenovate/pnpm-10.x branch fromcf763dd to156d45dCompareJune 26, 2025 17:38
@renovaterenovatebotforce-pushed therenovate/pnpm-10.x branch from156d45d to81c399eCompareJuly 9, 2025 12:51
@renovaterenovatebotforce-pushed therenovate/pnpm-10.x branch from81c399e to7735f3aCompareJuly 31, 2025 16:59
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment

Reviewers

No reviews

Assignees

No one assigned

Labels

dependenciesPull requests that update a dependency file

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

0 participants


[8]ページ先頭

©2009-2025 Movatter.jp