github pnpm/pnpm v7.4.0-4

latest releases: v9.0.6, v9.0.5, v9.0.4...
pre-release22 months ago

Minor Changes

  • Dependencies patching is possible via the pnpm.patchedDependencies field of the package.json.
    To patch a package, the package name, exact version, and the relative path to the patch file should be specified. For instance:

    {
      "pnpm": {
        "patchedDependencies": {
          "eslint@1.0.0": "./patches/eslint@1.0.0.patch"
        }
      }
    }
  • Two new commands added: pnpm patch and pnpm patch-commit.

    pnpm patch <pkg> prepares a package for patching. For instance, if you want to patch express v1, run:

    pnpm patch express@1.0.0
    

    pnpm will create a temporary directory with express@1.0.0 that you can modify with your changes.
    Once you are read with your changes, run:

    pnpm patch-commit <path to temp folder>
    

    This will create a patch file and write it to <project>/patches/express@1.0.0.patch.
    Also, it will reference this new patch file from the patchedDependencies field in package.json:

    {
      "pnpm": {
        "patchedDependencies": {
          "express@1.0.0": "patches/express@1.0.0.patch"
        }
      }
    }
  • A new experimental command added: pnpm deploy. The deploy command takes copies a project from a workspace and installs all of its production dependencies (even if some of those dependencies are other projects from the workspace).

    For example, the new command will deploy the project named foo to the dist directory in the root of the workspace:

    pnpm --filter=foo deploy dist
    
  • package-import-method supports a new option: clone-or-copy.

  • New setting added: include-workspace-root. When it is set to true, the run, exec, add, and test commands will include the root package, when executed recursively #4906

Patch Changes

  • Don't crash when pnpm update --interactive is cancelled with Ctrl+c.

  • The use-node-version setting should work with prerelease Node.js versions. For instance:

    use-node-version=18.0.0-rc.3
    
  • Return early when the lockfile is up-to-date.

  • Resolve native workspace path for case-insensitive file systems #4904.

  • Don't link local dev dependencies, when prod dependencies should only be installed.

  • pnpm audit --fix should not add an override for a vulnerable package that has no fixes released.

Our Gold Sponsors

Our Silver Sponsors

Don't miss a new pnpm release

NewReleases is sending notifications on new releases.