⬆️ Update pnpm to v8 #48

Merged
renovate-bot merged 1 commits from renovate/pnpm-8.x into main 2023-03-29 03:15:18 +02:00
Collaborator

This PR contains the following updates:

Package Type Update Change
pnpm (source) packageManager major 7.30.5 -> 8.0.0

Release Notes

pnpm/pnpm

v8.0.0

Compare Source

We are excited to announce the latest release of pnpm! To install it, check the installation page.

image

Major Changes

Node.js 14 Support Discontinued

If you still require Node.js 14, don't worry. We ship pnpm bundled with Node.js. This means that regardless of which Node.js version you've installed, pnpm will operate using the necessary Node.js runtime. For this to work you need to install pnpm either using the standalone script or install the @pnpm/exe package.

Configuration Updates

Most of the configuration changes are related to peer dependencies. Most of these settings were implemented long ago, and we recommended them to users encountering peer dependency issues. The recently added dedupe-peer-dependents resolved many such problems. With these new defaults, pnpm will face significantly fewer issues during migration from other package managers.

Lockfile Modifications
  • Lockfile v6 is adopted. This new format improves the readability of the lockfile by removing hashes from package IDs. It also has some rearrangement of fields in the importers section. The new pnpm-lock.yaml file is more resistant to git merge conflicts!
  • The registry field is removed from the resolution object in pnpm-lock.yaml.
  • A lockfile is generated even for projects with no dependencies.
Other Changes
  • When there's a files field in the package.json, only the files that are listed in it will be deployed. The same logic is applied when injecting packages. This behaviour can be changed by setting the deploy-all-files setting to true (Related issue #​5911).
  • Direct dependencies are deduped. If a dependency is present in both a project and the workspace root, it will only be linked to the workspace root.

Migration Instructions

Before updating pnpm to v8 in your CI, regenerate your pnpm-lock.yaml. To upgrade your lockfile, run pnpm install and commit the changes. Existing dependencies will not be updated; however, due to configuration changes in pnpm v8, some missing peer dependencies may be added to the lockfile and some packages may get deduplicated.

You can commit the new lockfile even before upgrading Node.js in the CI, as pnpm v7 already supports the new lockfile format.

pnpm v7 Support

pnpm v7 will likely not receive any new features, but it will continue to get bug fixes for a few months and vulnerability fixes for at least a year.

Our Gold Sponsors

Our Silver Sponsors


Configuration

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

🚦 Automerge: Enabled.

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 has been generated by Renovate Bot.

This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [pnpm](https://pnpm.io) ([source](https://github.com/pnpm/pnpm)) | packageManager | major | [`7.30.5` -> `8.0.0`](https://renovatebot.com/diffs/npm/pnpm/7.30.5/8.0.0) | --- ### Release Notes <details> <summary>pnpm/pnpm</summary> ### [`v8.0.0`](https://github.com/pnpm/pnpm/releases/tag/v8.0.0) [Compare Source](https://github.com/pnpm/pnpm/compare/v7.30.5...v8.0.0) We are excited to announce the latest release of pnpm! To install it, check the [installation page](https://pnpm.io/installation). ![image](https://user-images.githubusercontent.com/1927579/228101984-4a6bf4e5-9e70-480f-bf3b-140288e8f81e.png) #### Major Changes ##### Node.js 14 Support Discontinued If you still require Node.js 14, don't worry. We ship pnpm bundled with Node.js. This means that regardless of which Node.js version you've installed, pnpm will operate using the necessary Node.js runtime. For this to work you need to install pnpm either using the [standalone script](https://pnpm.io/installation#using-a-standalone-script) or install the `@pnpm/exe` package. ##### Configuration Updates - [`auto-install-peers`](https://pnpm.io/npmrc#auto-install-peers): enabled by default. - [`dedupe-peer-dependents`](https://pnpm.io/npmrc#dedupe-peer-dependents): enabled by default. - [`resolve-peers-from-workspace-root`](https://pnpm.io/npmrc#resolve-peers-from-workspace-root): enabled by default. - [`save-workspace-protocol`](https://pnpm.io/npmrc#save-workspace-protocol): set to `rolling` by default. - [`resolution-mode`](https://pnpm.io/npmrc#resolution-mode): set to `lowest-direct` by default. - [`publishConfig.linkDirectory`](https://pnpm.io/package_json#publishconfiglinkdirectory): enabled by default. Most of the configuration changes are related to peer dependencies. Most of these settings were implemented long ago, and we recommended them to users encountering peer dependency issues. The recently added `dedupe-peer-dependents` resolved many such problems. With these new defaults, pnpm will face significantly fewer issues during migration from other package managers. ##### Lockfile Modifications - [Lockfile v6](https://github.com/pnpm/pnpm/pull/5810) is adopted. This new format improves the readability of the lockfile by removing hashes from package IDs. It also has some rearrangement of fields in the `importers` section. **The new `pnpm-lock.yaml` file is more resistant to git merge conflicts!** - The registry field is removed from the `resolution` object in `pnpm-lock.yaml`. - A lockfile is generated even for projects with no dependencies. ##### Other Changes - When there's a `files` field in the `package.json`, only the files that are listed in it will be [deployed](https://pnpm.io/cli/deploy). The same logic is applied when [injecting packages](https://pnpm.io/package_json#dependenciesmetainjected). This behaviour can be changed by setting the [`deploy-all-files`](https://pnpm.io/8.x/npmrc#deploy-all-files) setting to `true` (Related issue [#&#8203;5911](https://github.com/pnpm/pnpm/issues/5911)). - Direct dependencies are deduped. If a dependency is present in both a project and the workspace root, it will only be linked to the workspace root. #### Migration Instructions Before updating pnpm to v8 in your CI, regenerate your `pnpm-lock.yaml`. To upgrade your lockfile, run `pnpm install` and commit the changes. Existing dependencies will not be updated; however, due to configuration changes in pnpm v8, some missing peer dependencies may be added to the lockfile and some packages may get deduplicated. You can commit the new lockfile even before upgrading Node.js in the CI, as pnpm v7 already supports the new lockfile format. #### pnpm v7 Support pnpm v7 will likely not receive any new features, but it will continue to get bug fixes for a few months and vulnerability fixes for at least a year. #### Our Gold Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://bit.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80"></a> </td> <td align="center" valign="middle"> <a href="https://novu.co/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/novu.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/novu_light.svg" /> <img src="https://pnpm.io/img/users/novu.svg" width="180" /> </picture> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://prisma.io/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/prisma.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/prisma_light.svg" /> <img src="https://pnpm.io/img/users/prisma.svg" width="180" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://www.flightcontrol.dev/?ref=pnpm" target="_blank"><img src="https://pnpm.io/img/users/flightcontrol.png" width="240"></a> </td> </tr> </tbody> </table> #### Our Silver Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://leniolabs.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <img src="https://pnpm.io/img/users/leniolabs.jpg" width="80"> </a> </td> <td align="center" valign="middle"> <a href="https://vercel.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/vercel.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/vercel_light.svg" /> <img src="https://pnpm.io/img/users/vercel.svg" width="180" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://depot.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/depot.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/depot_light.svg" /> <img src="https://pnpm.io/img/users/depot.svg" width="200" /> </picture> </a> </td> </tr> </tbody> </table> </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4yNC41IiwidXBkYXRlZEluVmVyIjoiMzUuMjQuNSJ9-->
renovate-bot added 1 commit 2023-03-29 03:15:17 +02:00
renovate-bot merged commit 55c80739a9 into main 2023-03-29 03:15:18 +02:00
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: sebclem/ansible-role-template#48
No description provided.