Part of pnpm/tasks#191. Wrong claims, fixed in the v12 docs and, where the same text is wrong for v11, in the v11 docs: - logout: drop the nonexistent --scope option. - patch: the edit dir is node_modules/.pnpm_patches/<name>@<version>; drop the "*" special case. - patch-commit: fix the ---patches-dir heading. - prefix: describe the real marker walk instead of "closest package.json". - setup: setup installs pnpm as a global package and writes pn/pnpx/pnx. - start, test: "run start" and "run test" are not aliases. - unlink: drop the system-wide and link --global wording. - unpublish: a package name is required; --otp has no env var; --registry wording. - update: --depth is dependency depth, not directory depth. - version: --tag-version-prefix defaults to the tagVersionPrefix setting. - view: the first argument is always the package. - why: drop --global and --only-projects; --exclude-peers has no effect; --prod includes optionalDependencies. - install: recursiveInstall spelling; replace the stale ci-info snippet. - v12 only: pack-app runtime default and builder download, pnx provisioning list and cmd.exe typo, tasks sample priority. Missing flags, settings, and error codes on the v12 pages: install (about twenty flags), lane, licenses, link, list, outdated, owner, pack-app path rules, pack, patch, patch-remove, peers, permissions, ping, pipeline, pm, pnx, prune, publish, rebuild, recursive, remove, repo, root, run, runtime, sbom, search, self-update, set-script, setup, shim, stage, star, start, store, tasks, team, test, token, unlink, unpublish, update, version, view, why, with. Stale history on the v12 pages: removed "Added in" markers older than v12 and rewrote "Since v11.x" and "In v11" sentences as current behavior (login, logout, licenses, link, outdated, patch, pnx, publish, runtime, sbom, self-update, setup, update, and others). Review follow-up: patch's default edit directory is named after the argument as typed (both versions); self-update installs the unscoped package only for pnpm 12 and newer; only --no-bail is restricted; npm_package_* covers name, version, config, engines and bin; prefix -g prints the parent of root -g; --optional no longer claims to override --no-optional.
25 lines
838 B
Markdown
25 lines
838 B
Markdown
---
|
|
id: patch-commit
|
|
title: "pnpm patch-commit <path>"
|
|
---
|
|
|
|
Generate a patch out of a directory and save it (inspired by a similar command in Yarn).
|
|
|
|
This command will compare the changes from `path` to the package it was supposed to patch, generate a patch file, save the patch file to `patchesDir` (which can be customized by the `--patches-dir` option), and add an entry to [`patchedDependencies`].
|
|
|
|
Usage:
|
|
|
|
```sh
|
|
pnpm patch-commit <path>
|
|
```
|
|
|
|
* `path` is the path to a modified copy of the patch target package, it is usually a temporary directory generated by [`pnpm patch`](./patch).
|
|
|
|
## Options
|
|
|
|
### --patches-dir <patchesDir>
|
|
|
|
The generated patch file will be saved to this directory. By default, patches are saved to the `patches` directory in the root of the project.
|
|
|
|
[`patchedDependencies`]: ./patch.md#patcheddependencies
|