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#494

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

Merged
Slashgear merged 1 commit intomasterfromrenovate/pnpm-10.x
Jul 28, 2025
Merged

Conversation

@renovate
Copy link
Contributor

@renovaterenovatebot commentedFeb 3, 2025
edited
Loading

This PR contains the following updates:

PackageChangeAgeConfidence
pnpm (source)9.15.9 ->10.13.1ageconfidence

Release Notes

pnpm/pnpm (pnpm)

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 their name are no longer hoisted to the root ofnode_modules. Related Issue:#​8378

    • Upgraded@yarnpkg/extensions to v2.0.3. This may alter your lockfile.

    • virtual-store-dir-max-length: the default value on Windows has been reduced to 60 characters.

    • Reduced environment variables for scripts:
      During script execution, fewernpm_package_* environment variables are set. Onlyname,version,bin,engines, andconfig remain.
      Related Issue:#​8552

    • All dependencies are now installed even ifNODE_ENV=production. Related Issue:#​8827

  • Changes to the global store:

    • Store version bumped to v10.

    • Some registries allow identical content to be published under different package names or versions. To accommodate this, index files in the store are now stored using both the content hash and package identifier.

      This approach ensures that we can:

      1. Validate that the integrity in the lockfile corresponds to the correct package, which might not be the case after a poorly resolved Git conflict.
      2. Allow the same content to be referenced by different packages or different versions of the same package.
        Related PR:#​8510
        Related Issue:#​8204
    • More efficient side effects indexing. The structure of index files in the store has changed. Side effects are now tracked more efficiently by listing only file differences rather than all files.
      Related PR:#​8636

    • A newindex directory stores package content mappings. Previously, these files were infiles.

  • Other breaking changes:

    • The# character is now escaped in directory names withinnode_modules/.pnpm.
      Related PR:#​8557
    • Runningpnpm add --global pnpm orpnpm add --global @&#8203;pnpm/exe now fails with an error message, directing you to usepnpm self-update instead.
      Related PR:#​8728
    • Dependencies added via a URL now record the final resolved URL in the lockfile, ensuring that any redirects are fully captured.
      Related Issue:#​8833
    • Thepnpm deploy command now only works in workspaces that haveinject-workspace-packages=true. This limitation is introduced to allow us to create a proper lockfile for the deployed project using the workspace lockfile.
    • Removed conversion from lockfile v6 to v9. If you need v6-to-v9 conversion, use pnpm CLI v9.
    • pnpm test now passes all parameters after thetest keyword directly to the underlying script. This matches the behavior ofpnpm run test. Previously you needed to use the-- prefix.
      Related PR:#​8619
  • node-gyp updated to version 11.

  • pnpm deploy now tries creating a dedicated lockfile from a shared lockfile for deployment. It will fallback to deployment without a lockfile if there is no shared lockfile orforce-legacy-deploy is set totrue.

Minor Changes
  • Added support for a new type of dependencies called "configurational dependencies". These dependencies are installed before all the other types of dependencies (before "dependencies", "devDependencies", "optionalDependencies").

    Configurational dependencies cannot have dependencies of their own or lifecycle scripts. They should be added using exact version and the integrity checksum. Example:

    {"pnpm": {"configDependencies": {"my-configs":"1.0.0+sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw=="    }  }}

    Related RFC:#​8.
    Related PR:#​8915.

  • New settings:

    • Newverify-deps-before-run setting. This setting controls howpnpm checksnode_modules before running scripts:

      • install: Automatically runpnpm install ifnode_modules is outdated.
      • warn: Print a warning ifnode_modules is outdated.
      • prompt: Prompt the user to confirm runningpnpm install ifnode_modules is outdated.
      • error: Throw an error ifnode_modules is outdated.
      • false: Disable dependency checks.
        Related Issue:#​8585
    • Newinject-workspace-packages setting enables hard-linking all local workspace dependencies instead of symlinking them. Previously, this could be achieved usingdependenciesMeta[].injected, which remains supported.
      Related PR:#​8836

  • Faster repeat installs:

    On repeated installs,pnpm performs a quick check to ensurenode_modules is up to date.
    Related PR:#​8838

  • pnpm add integrates with default workspace catalog:

    When adding a dependency,pnpm add checks the default workspace catalog. If the dependency and version requirement match the catalog,pnpm add uses thecatalog: protocol. Without a specified version, it matches the catalog’s version. If it doesn’t match, it falls back to standard behavior.
    Related Issue:#​8640

  • pnpm dlx now resolves packages to their exact versions and uses these exact versions for cache keys. This ensurespnpm dlx always installs the latest requested packages.
    Related PR:#​8811

  • Nonode_modules validation on certain commands. Commands that should not modifynode_modules (e.g.,pnpm install --lockfile-only) no longer validate or purgenode_modules.
    Related PR:#​8657


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.

@vercel
Copy link

vercelbot commentedFeb 3, 2025
edited
Loading

The latest updates on your projects. Learn more aboutVercel for Git ↗︎

NameStatusPreviewCommentsUpdated (UTC)
lyonjs-website✅ Ready (Inspect)Visit Preview💬Add feedbackJul 9, 2025 1:00pm

@renovaterenovatebotforce-pushed therenovate/pnpm-10.x branch from1c8496f to3656384CompareMarch 7, 2025 20:15
@renovaterenovatebotforce-pushed therenovate/pnpm-10.x branch frombf1a690 to47d070cCompareApril 1, 2025 17:02
@renovaterenovatebotforce-pushed therenovate/pnpm-10.x branch from47d070c tob98f73aCompareApril 7, 2025 23:10
@renovaterenovatebotforce-pushed therenovate/pnpm-10.x branch from656a6ba toc4c5da4CompareMay 13, 2025 19:50
@renovaterenovatebotforce-pushed therenovate/pnpm-10.x branch fromc4c5da4 to386578bCompareJune 2, 2025 14:07
@renovaterenovatebotforce-pushed therenovate/pnpm-10.x branch from386578b to6cbea13CompareJune 8, 2025 17:44
@renovaterenovatebotforce-pushed therenovate/pnpm-10.x branch from6cbea13 to9b64afaCompareJune 23, 2025 02:15
@renovaterenovatebotforce-pushed therenovate/pnpm-10.x branch from9b64afa toa0bf888CompareJune 24, 2025 11:00
@renovaterenovatebotforce-pushed therenovate/pnpm-10.x branch froma0bf888 tod58ab47CompareJune 26, 2025 21:46
@renovaterenovatebotforce-pushed therenovate/pnpm-10.x branch fromd58ab47 tofc0936eCompareJuly 9, 2025 12:58
@SlashgearSlashgear merged commitb12e4e5 intomasterJul 28, 2025
8 checks passed
@SlashgearSlashgear deleted the renovate/pnpm-10.x branchJuly 28, 2025 19:47
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

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

2 participants

@Slashgear

[8]ページ先頭

©2009-2025 Movatter.jp