Skip to content
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 our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(deps): update pnpm to v9 #78

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

chore(deps): update pnpm to v9 #78

wants to merge 1 commit into from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Apr 16, 2024

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
pnpm (source) 8.15.9 -> 9.15.4 age adoption passing confidence

Release Notes

pnpm/pnpm (pnpm)

v9.15.4

Compare Source

v9.15.3

Compare Source

v9.15.2: pnpm 9.15.2

Compare Source

Patch Changes

  • Fixed publish/pack error with workspace dependencies with relative paths #​8904. It was broken in v9.4.0 (398472c).
  • Use double quotes in the command suggestion by pnpm patch on Windows #​7546.
  • Do not fall back to SSH, when resolving a git-hosted package if git ls-remote works via HTTPS #​8906.
  • Improve how packages with blocked lifecycle scripts are reported during installation. Always print the list of ignored scripts at the end of the output. Include a hint about how to allow the execution of those packages.

Platinum Sponsors

Bit Bit Figma

Gold Sponsors

Discord Prisma
u|screen JetBrains
Nx CodeRabbit
Route4Me Workleap
Canva

v9.15.1

Compare Source

v9.15.0

Compare Source

v9.14.4

Compare Source

v9.14.3

Compare Source

v9.14.2

Compare Source

Patch Changes

  • pnpm publish --json should work #​8788.

Platinum Sponsors

Bit Bit Figma

Gold Sponsors

Discord Prisma
u|screen JetBrains
Nx CodeRabbit
Route4Me

v9.14.1

Compare Source

Minor Changes

  • Added support for pnpm pack --json to print packed tarball and contents in JSON format #​8765.

Patch Changes

  • pnpm exec should print a meaningful error message when no command is provided #​8752.
  • pnpm setup should remove the CLI from the target location before moving the new binary #​8173.
  • Fix ERR_PNPM_TARBALL_EXTRACT error while installing a dependency from GitHub having a slash in branch name #​7697.
  • Don't crash if the use-node-version setting is used and the system has no Node.js installed #​8769.
  • Convert settings in local .npmrc files to their correct types. For instance, child-concurrency should be a number, not a string #​5075.
  • pnpm should fail if a project requires a different package manager even if manage-package-manager-versions is set to true.
  • pnpm init should respect the --dir option #​8768.

Platinum Sponsors

Bit Bit Figma

Gold Sponsors

Discord Prisma
u|screen JetBrains
Nx CodeRabbit
Route4Me

v9.14.0

Compare Source

v9.13.2: pnpm 9.13.2

Compare Source

Patch Changes

  • Detection of circular peer dependencies should not crash with aliased dependencies #​8759. Fixes a regression introduced in the previous version.
  • Fix race condition of symlink creations caused by multiple parallel dlx processes.

Platinum Sponsors

Bit Bit Figma

Gold Sponsors

Discord Prisma
u|screen JetBrains
Nx CodeRabbit
Route4Me

Silver Sponsors

Leniolabs_ Vercel
Depot moonrepo
devowl.io Cerbos
vlt Vite

v9.13.1: pnpm 9.13.1

Compare Source

Patch Changes

  • Fixed some edge cases where resolving circular peer dependencies caused a dead lock #​8720.

Platinum Sponsors

Bit Bit Figma

Gold Sponsors

Discord Prisma
u|screen JetBrains
Nx CodeRabbit
Route4Me

Silver Sponsors

Leniolabs_ Vercel
Depot moonrepo
devowl.io Cerbos
vlt Vite

v9.13.0: pnpm 9.13

Compare Source

Minor Changes

  • The self-update now accepts a version specifier to install a specific version of pnpm. E.g.:

    pnpm self-update 9.5.0
    

    or

    pnpm self-update next-10
    

Patch Changes

  • Fix Cannot read properties of undefined (reading 'name') that is printed while trying to render the missing peer dependencies warning message #​8538.

Platinum Sponsors

Bit Figma

Gold Sponsors

Discord Prisma
u|screen JetBrains
Nx CodeRabbit
Route4Me

Silver Sponsors

Leniolabs_ Vercel
Depot moonrepo
devowl.io Cerbos
vlt Vite

v9.12.3

Compare Source

Patch Changes
  • Don't purge node_modules, when typing "n" in the prompt that asks whether to remove node_modules before installation #​8655.
  • Fix a bug causing pnpm to infinitely spawn itself when manage-package-manager-versions=true is set and the .tools directory is corrupt.
  • Use crypto.hash, when available, for improved performance #​8629.
  • Fixed a race condition in temporary file creation in the store by including worker thread ID in filename. Previously, multiple worker threads could attempt to use the same temporary file. Temporary files now include both process ID and thread ID for uniqueness #​8703.
  • All commands should read settings from the package.json at the root of the workspace #​8667.
  • When manage-package-manager-versions is set to true, errors spawning a self-managed version of pnpm will now be shown (instead of being silent).
  • Pass the find command to npm, it is an alias for npm search

v9.12.2

Compare Source

Patch Changes
  • When checking whether a file in the store has executable permissions, the new approach checks if at least one of the executable bits (owner, group, and others) is set to 1. Previously, a file was incorrectly considered executable only when all the executable bits were set to 1. This fix ensures that files with any executable permission, regardless of the user class, are now correctly identified as executable #​8546.

v9.12.1

Compare Source

Patch Changes
  • pnpm update --latest should not update the automatically installed peer dependencies #​6657.
  • pnpm publish should be able to publish from a local tarball #​7950.
  • The pnpx command should work correctly on Windows, when pnpm is installed via the standalone installation script #​8608.
  • Prevent EBUSY errors caused by creating symlinks in parallel dlx processes #​8604.
  • Fix maximum call stack size exceeded error related to circular workspace dependencies #​8599.

v9.12.0

Compare Source

Minor Changes
  • Fix peer dependency resolution dead lock #​8570. This change might change some of the keys in the snapshots field inside pnpm-lock.yaml but it should happen very rarely.

  • pnpm outdated command supports now a --sort-by=name option for sorting outdated dependencies by package name #​8523.

  • Added the ability for overrides to remove dependencies by specifying "-" as the field value #​8572. For example, to remove lodash from the dependencies, use this configuration in package.json:

    {
      "pnpm": {
        "overrides": {
          "lodash": "-"
        }
      }
    }
Patch Changes
  • Fixed an issue where pnpm list --json pkg showed "private": false for a private package #​8519.
  • Packages with libc that differ from pnpm.supportedArchitectures.libc are not downloaded #​7362.
  • Prevent ENOENT errors caused by running store prune in parallel #​8586.
  • Add issues alias to pnpm bugs #​8596.

v9.11.0

Compare Source

Minor Changes
  • Experimental: added pnpm cache commands for inspecting the metadata cache #​8512.
Patch Changes
  • Fix a regression in which pnpm deploy with node-linker=hoisted produces an empty node_modules directory #​6682.
  • Don't print a warning when linking packages globally #​4761.
  • pnpm deploy should work in workspace with shared-workspace-lockfile=false #​8475.

v9.10.0

Compare Source

Minor Changes
  • Support for a new CLI flag, --exclude-peers, added to the list and why commands. When --exclude-peers is used, peer dependencies are not printed in the results, but dependencies of peer dependencies are still scanned #​8506.

  • Added a new setting to package.json at pnpm.auditConfig.ignoreGhsas for ignoring vulnerabilities by their GHSA code #​6838.

    For instance:

    {
      "pnpm": {
        "auditConfig": {
          "ignoreGhsas": [
            "GHSA-42xw-2xvc-qx8m",
            "GHSA-4w2v-q235-vp99",
            "GHSA-cph5-m8f7-6c5x",
            "GHSA-vh95-rmgr-6w4m"
          ]
        }
      }
    }
Patch Changes
  • Throw an exception if pnpm switches to the same version of itself.
  • Reduce memory usage during peer dependencies resolution.

v9.9.0

Compare Source

Minor Changes
  • Minor breaking change. This change might result in resolving your peer dependencies slightly differently but we don't expect it to introduce issues.

    We had to optimize how we resolve peer dependencies in order to fix some infinite loops and out-of-memory errors during peer dependencies resolution.

    When a peer dependency is a prod dependency somewhere in the dependency graph (with the same version), pnpm will resolve the peers of that peer dependency in the same way across the subgraph.

    For example, we have react-dom in the peer deps of the form and button packages. card has react-dom and react as regular dependencies and card is a dependency of form.

    These are the direct dependencies of our example project:

    form
    react@16
    react-dom@16
    

    These are the dependencies of card:

    button
    react@17
    react-dom@16
    

    When resolving peers, pnpm will not re-resolve react-dom for card, even though card shadows react@16 from the root with react@17. So, all 3 packages (form, card, and button) will use react-dom@16, which in turn uses react@16. form will use react@16, while card and button will use react@17.

    Before this optimization react-dom@16 was duplicated for the card, so that card and button would use a react-dom@16 instance that uses react@17.

    Before the change:

    form
    -> react-dom@16(react@16)
    -> react@16
    card
    -> react-dom@16(react@17)
    -> react@17
    button
    -> react-dom@16(react@17)
    -> react@17
    

    After the change

    form
    -> react-dom@16(react@16)
    -> react@16
    card
    -> react-dom@16(react@16)
    -> react@17
    button
    -> react-dom@16(react@16)
    -> react@17
    
Patch Changes
  • pnpm deploy should write the node_modules/.modules.yaml to the node_modules directory within the deploy directory #​7731.
  • Don't override a symlink in node_modules if it already points to the right location pnpm/symlink-dir#54.

v9.8.0

Compare Source

Minor Changes
  • Added a new command for upgrading pnpm itself when it isn't managed by Corepack: pnpm self-update. This command will work, when pnpm was installed via the standalone script from the pnpm installation page #​8424.

    When executed in a project that has a packageManager field in its package.json file, pnpm will update its version in the packageManager field.

Patch Changes
  • CLI tools installed in the root of the workspace should be added to the PATH, when running scripts and use-node-version is set.

  • pnpm setup should never switch to another version of pnpm.

    This fixes installation with the standalone script from a directory that has a package.json with the packageManager field. pnpm was installing the version of pnpm specified in the packageManager field due to this issue.

  • Ignore non-string value in the os, cpu, libc fields, which checking optional dependencies #​8431.

  • Remember the state of edit dir, allow running pnpm patch-commit the second time without having to re-run pnpm patch.

v9.7.1

Compare Source

Patch Changes
  • Fixed passing public-hoist-pattern and hoist-pattern via env variables #​8339.
  • pnpm setup no longer creates Batch/Powershell scripts on Linux and macOS #​8418.
  • When dlx uses cache, use the real directory path not the symlink to the cache #​8421.
  • pnpm exec now supports executionEnv #​8356.
  • Remove warnings for non-root pnpm field, add warnings for non-root pnpm subfields that aren't executionEnv #​8143.
  • Replace semver in "peerDependency" with workspace protocol #​8355.
  • Fix a bug in patch-commit in which relative path is rejected #​8405.
  • Update Node.js in @pnpm/exe to v20.

v9.7.0

Compare Source

Minor Changes
  • Added pnpm version management to pnpm. If the manage-package-manager-versions setting is set to true, pnpm will switch to the version specified in the packageManager field of package.json #​8363. This is the same field used by Corepack. Example:

    {
      "packageManager": "pnpm@9.3.0"
    }
  • Added the ability to apply patch to all versions:
    If the key of pnpm.patchedDependencies is a package name without a version (e.g. pkg), pnpm will attempt to apply the patch to all versions of
    the package. Failures will be skipped.
    If it is a package name and an exact version (e.g. pkg@x.y.z), pnpm will attempt to apply the patch to that exact version only. Failures will
    cause pnpm to fail.

    If there's only one version of pkg installed, pnpm patch pkg and subsequent pnpm patch-commit $edit_dir will create an entry named pkg in
    pnpm.patchedDependencies. And pnpm will attempt to apply this patch to other versions of pkg in the future.

    If there are multiple versions of pkg installed, pnpm patch pkg will ask which version to edit and whether to attempt to apply the patch to all.
    If the user chooses to apply the patch to all, pnpm patch-commit $edit_dir would create a pkg entry in pnpm.patchedDependencies.
    If the user chooses not to apply the patch to all, pnpm patch-commit $edit_dir would create a pkg@x.y.z entry in pnpm.patchedDependencies with
    x.y.z being the version the user chose to edit.

    If the user runs pnpm patch pkg@x.y.z with x.y.z being the exact version of pkg that has been installed, pnpm patch-commit $edit_dir will always
    create a pkg@x.y.z entry in pnpm.patchedDependencies.

  • Change the default edit dir location when running pnpm patch from a temporary directory to node_modules/.pnpm_patches/pkg[@​version] to allow the code editor to open the edit dir in the same file tree as the main project.

  • Substitute environment variables in config keys #​6679.

Patch Changes
  • pnpm install should run node-gyp rebuild if the project has a binding.gyp file even if the project doesn't have an install script #​8293.
  • Print warnings to stderr #​8342.
  • Peer dependencies of optional peer dependencies should be automatically installed #​8323.

v9.6.0

Compare Source

Minor Changes
  • Support specifying node version (via pnpm.executionEnv.nodeVersion in package.json) for running lifecycle scripts per each package in a workspace #​6720.
  • Overrides now support the catalogs: protocol #​8303.
Patch Changes

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - "* 0-3 * * *" in timezone Asia/Shanghai.

🚦 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 by Mend Renovate. View the repository job log.

Copy link

coderabbitai bot commented Apr 16, 2024

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Walkthrough

The primary change involves upgrading the packageManager version in the package.json file from pnpm@8.15.9 to pnpm@9.9.0. This enhancement reflects a series of incremental updates to the package manager, which may include bug fixes, enhancements, and new features relevant to dependency management.

Changes

File Change Summary
package.json Updated packageManager from pnpm@8.15.9 to pnpm@9.9.0 through several incremental versions: pnpm@9.7.0, pnpm@9.7.1, pnpm@9.8.0, and pnpm@9.9.0.

Poem

🐰 In a world of code, so bright and new,
A rabbit hops forth with joy to pursue.
Upgraded the tools, oh what a delight,
With pnpm so swift, we take to flight!
Bugs be gone, let the features unfold,
In this coding adventure, let stories be told! 🌟


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR. (Beta)
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@renovate renovate bot force-pushed the renovate/pnpm-9.x branch 8 times, most recently from d447d82 to b02c4c3 Compare April 22, 2024 21:05
@renovate renovate bot force-pushed the renovate/pnpm-9.x branch 3 times, most recently from 316f841 to 30798da Compare April 30, 2024 22:08
@renovate renovate bot force-pushed the renovate/pnpm-9.x branch 3 times, most recently from 131bf46 to 3d4ab6c Compare May 6, 2024 21:21
@renovate renovate bot force-pushed the renovate/pnpm-9.x branch 2 times, most recently from d0b0526 to e7ea9c0 Compare May 18, 2024 23:29
@renovate renovate bot force-pushed the renovate/pnpm-9.x branch 5 times, most recently from 98b104f to e097149 Compare May 27, 2024 21:16
@renovate renovate bot force-pushed the renovate/pnpm-9.x branch 6 times, most recently from 5d6021e to 68dbcfc Compare June 5, 2024 13:57
@renovate renovate bot force-pushed the renovate/pnpm-9.x branch 2 times, most recently from 63ebca9 to 8889bcb Compare June 10, 2024 15:23
@renovate renovate bot force-pushed the renovate/pnpm-9.x branch 5 times, most recently from a9be967 to 14a9004 Compare November 20, 2024 11:34
@renovate renovate bot force-pushed the renovate/pnpm-9.x branch 6 times, most recently from c36060d to b773725 Compare November 29, 2024 13:55
@renovate renovate bot force-pushed the renovate/pnpm-9.x branch 4 times, most recently from 3738014 to 37d3dab Compare December 12, 2024 23:05
@renovate renovate bot force-pushed the renovate/pnpm-9.x branch 4 times, most recently from b994989 to 8002ec5 Compare December 20, 2024 01:48
@renovate renovate bot force-pushed the renovate/pnpm-9.x branch 5 times, most recently from 5b8987d to d75d4be Compare December 31, 2024 21:12
@renovate renovate bot force-pushed the renovate/pnpm-9.x branch 3 times, most recently from 1db50bd to 65d362c Compare January 9, 2025 22:25
@renovate renovate bot force-pushed the renovate/pnpm-9.x branch from 65d362c to dcd2114 Compare January 13, 2025 21:04
@renovate renovate bot force-pushed the renovate/pnpm-9.x branch from dcd2114 to 6e76232 Compare January 21, 2025 20:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants