Skip to content
This repository has been archived by the owner on Nov 30, 2023. It is now read-only.

Update pnpm to v8 #71

Merged
merged 1 commit into from
Jun 5, 2023
Merged

Update pnpm to v8 #71

merged 1 commit into from
Jun 5, 2023

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Mar 28, 2023

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
pnpm (source) 7.30.5 -> 8.6.1 age adoption passing confidence
pnpm (source) 7.x -> 8.x age adoption passing confidence

Release Notes

pnpm/pnpm

v8.6.1

Compare Source

Patch Changes
  • When dedupe-peer-dependents is enabled (default), use the path (not id) to determine compatibility.

    When multiple dependency groups can be deduplicated, the latter ones are sorted according to number of peers to allow them to
    benefit from deduplication.

    Resolves: #​6605

  • Some minor performance improvements by removing await from loops #​6617.

Our Gold Sponsors
Our Silver Sponsors

v8.6.0

Compare Source

Minor Changes

  • Some settings influence the structure of the lockfile, so we cannot reuse the lockfile if those settings change. As a result, we need to store such settings in the lockfile. This way we will know with which settings the lockfile has been created.

    A new field will now be present in the lockfile: settings. It will store the values of two settings: autoInstallPeers and excludeLinksFromLockfile. If someone tries to perform a frozen-lockfile installation and their active settings don't match the ones in the lockfile, then an error message will be thrown.

    The lockfile format version is bumped from v6.0 to v6.1.

    Related PR: #​6557
    Related issue: #​6312

  • A new setting, exclude-links-from-lockfile, is now supported. When enabled, specifiers of local linked dependencies won't be duplicated in the lockfile.

    This setting was primarily added for use by Bit CLI, which links core aspects to node_modules from external directories. As such, the locations may vary across different machines, resulting in the generation of lockfiles with differing locations.

Patch Changes

  • Don't print "Lockfile is up-to-date" message before finishing all the lockfile checks #​6544.
  • When updating dependencies, preserve the range prefix in aliased dependencies. So npm:foo@1.0.0 becomes npm:foo@1.1.0.
  • Print a meaningful error when a project referenced by the workspace: protocol is not found in the workspace #​4477.
  • pnpm rebuild should not fail when node-linker is set to hoisted and there are skipped optional dependencies #​6553.
  • Peers resolution should not fail when a linked in dependency resolves a peer dependency.
  • Build projects in a workspace in correct order #​6568.

Our Gold Sponsors

Our Silver Sponsors

v8.5.1

Compare Source

Patch Changes

  • Expanded missing command error, including 'did you mean' #​6492.
  • When installation fails because the lockfile is not up-to-date with the package.json file(s), print out what are the differences #​6536.
  • Normalize current working directory on Windows #​6524.

Our Gold Sponsors

Our Silver Sponsors

v8.5.0

Compare Source

Minor Changes

  • pnpm patch-remove command added #​6521.

Patch Changes

  • pnpm link -g <pkg-name> should not modify the package.json file #​4341.
  • The deploy command should not ask for confirmation to purge the node_modules directory #​6510.
  • Show cyclic workspace dependency details #​5059.
  • Node.js range specified through the engines field should match prerelease versions #​6509.

Our Gold Sponsors

Our Silver Sponsors

v8.4.0

Compare Source

Minor Changes

  • pnpm publish supports the --provenance CLI option #​6435.

Patch Changes

  • Link the bin files of local workspace dependencies, when node-linker is set to hoisted 6486.
  • Ask the user to confirm the removal of node_modules directory unless the --force option is passed.
  • Do not create a node_modules folder with a .modules.yaml file if there are no dependencies inside node_modules.

Our Gold Sponsors

Our Silver Sponsors

v8.3.1

Compare Source

Patch Changes

  • Patch node-fetch to fix an error that happens on Node.js 20 #​6424.

Our Gold Sponsors

Our Silver Sponsors

v8.3.0

Compare Source

Minor Changes

  • A custom compression level may be specified for the pnpm pack command using the pack-gzip-level setting #​6393.
  • Add --check flag to pnpm dedupe. No changes will be made to node_modules or the lockfile. Exits with a non-zero status code if changes are possible.
  • pnpm install --resolution-only re-runs resolution to print out any peer dependency issues #​6411.

Patch Changes

  • Warn user when publishConfig.directory of an injected workspace dependency does not exist #​6396.
  • Use hard links to link the node executable on Windows machines #​4315.

Our Gold Sponsors

Our Silver Sponsors

v8.2.0

Compare Source

Minor Changes

  • Allow env variables to be specified with default values in .npmrc. This is a convention used by Yarn too.
    Using ${NAME-fallback} will return fallback if NAME isn't set. ${NAME:-fallback} will return fallback if NAME isn't set, or is an empty string #​6018.

Patch Changes

  • Add -g to mismatch registries error info when original command has -g option #​6224.
  • Don't fail with EBUSY error when trying to copy a file from the store #​6201
  • pnpm config get <key> should print boolean values #​6360
  • Don't print an info message about linked dependencies if they are real linked dependencies specified via the link: protocol in package.json #​6372

Our Gold Sponsors

Our Silver Sponsors

v8.1.1

Compare Source

Patch Changes

  • Repeat installation should work on a project that has a dependency with parentheses in the scope name #​6348.
  • Error summary should be reported as expected.
  • Update @yarnpkg/shell to fix issues in the shell emulator #​6320.
  • Installation should not fail when there is a local dependency in a directory that starts with the @ character #​6332.
  • Registries are now passed to the preResolution hook.

Our Gold Sponsors

Our Silver Sponsors

v8.1.0

Compare Source

Minor Changes

  • A new setting has been added called dedupe-direct-deps, which is disabled by default. When set to true, dependencies that are already symlinked to the root node_modules directory of the workspace will not be symlinked to subproject node_modules directories. This feature was enabled by default in v8.0.0 but caused issues, so it's best to disable it by default #​6299.
  • Add ignore-workspace-cycles to silence workspace cycle warning #​6308.

Patch Changes

  • Print the right lowest supported Node.js version in the error message, when pnpm is executed with an old Node.js version #​6297.
  • Improve the outdated lockfile error message #​6304.

Our Gold Sponsors

Our Silver Sponsors

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

v7.33.0

Compare Source

Minor Changes

  • Some settings influence the structure of the lockfile, so we cannot reuse the lockfile if those settings change. As a result, we need to store such settings in the lockfile. This way we will know with which settings the lockfile has been created.

    A new field will now be present in the lockfile: settings. It will store the values of two settings: autoInstallPeers and excludeLinksFromLockfile. If someone tries to perform a frozen-lockfile installation and their active settings don't match the ones in the lockfile, then an error message will be thrown.

    The lockfile format version is bumped from v6.0 to v6.1.

    Related PR: #​6557
    Related issue: #​6312

Patch Changes

  • When updating dependencies, preserve the range prefix in aliased dependencies. So npm:foo@1.0.0 becomes npm:foo@1.1.0.
  • Print a meaningful error when a project referenced by the workspace: protocol is not found in the workspace #​4477.
  • Should respect ignore patterns in updateConfig.ignoreDependencies #​6548

Our Gold Sponsors

Our Silver Sponsors


Configuration

📅 Schedule: Branch creation - "every 5 day" in timezone Europe/Berlin, 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 these updates again.


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

This PR has been generated by Mend Renovate. View repository job log here.

@renovate renovate bot added dependencies Pull requests that update a dependency file devops labels Mar 28, 2023
@renovate renovate bot force-pushed the renovate/pnpm-8.x branch 3 times, most recently from 9c050d1 to 2b27cb5 Compare April 4, 2023 05:12
@renovate renovate bot force-pushed the renovate/pnpm-8.x branch 2 times, most recently from e864bee to 80b5287 Compare April 10, 2023 03:09
@renovate renovate bot force-pushed the renovate/pnpm-8.x branch 4 times, most recently from 0aacf95 to b675fc3 Compare April 24, 2023 02:03
@renovate renovate bot force-pushed the renovate/pnpm-8.x branch 3 times, most recently from c4e0f99 to 2f0f1a8 Compare May 2, 2023 17:09
@renovate renovate bot force-pushed the renovate/pnpm-8.x branch 2 times, most recently from fa51a98 to b995ba4 Compare May 15, 2023 02:44
@renovate renovate bot force-pushed the renovate/pnpm-8.x branch 3 times, most recently from 401dd78 to 8ea06da Compare May 31, 2023 00:43
@renovate renovate bot force-pushed the renovate/pnpm-8.x branch 3 times, most recently from 2e94c82 to 4037e04 Compare June 5, 2023 19:23
@piscis piscis merged commit 7c0dc70 into main Jun 5, 2023
@piscis piscis deleted the renovate/pnpm-8.x branch June 5, 2023 19:34
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
dependencies Pull requests that update a dependency file devops
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant