pnpm Hooks

Programmatic extension points for customizing dependency resolution and installation behavior. `.pnpmfile.cjs` exposes lifecycle hooks (`readPackage`, `afterAllResolved`) that let projects rewrite package manifests before installation. The `pnpm` block in `package.json` adds `overrides`, `packageExtensions`, `patchedDependencies`, `peerDependencyRules`, and `neverBuiltDependencies` for fine-grained dependency control without forking packages.

pnpm Hooks is one of 5 APIs that pnpm publishes on the APIs.io network.

Tagged areas include Hooks, Extension, Node.js, and Package Manager. The published artifact set on APIs.io includes API documentation.

API entry from apis.yml

apis.yml Raw ↑
aid: pnpm:pnpm-hooks
name: pnpm Hooks
tags:
- Hooks
- Extension
- Node.js
- Package Manager
humanURL: https://pnpm.io/pnpmfile
properties:
- url: https://pnpm.io/pnpmfile
  name: .pnpmfile.cjs
  type: Documentation
- url: https://pnpm.io/package_json#pnpmoverrides
  name: pnpm.overrides
  type: Documentation
- url: https://pnpm.io/package_json#pnpmpackageextensions
  name: pnpm.packageExtensions
  type: Documentation
- url: https://pnpm.io/package_json#pnpmpatcheddependencies
  name: pnpm.patchedDependencies
  type: Documentation
description: Programmatic extension points for customizing dependency resolution and installation behavior.
  `.pnpmfile.cjs` exposes lifecycle hooks (`readPackage`, `afterAllResolved`) that let projects rewrite
  package manifests before installation. The `pnpm` block in `package.json` adds `overrides`, `packageExtensions`,
  `patchedDependencies`, `peerDependencyRules`, and `neverBuiltDependencies` for fine-grained dependency
  control without forking packages.