Yarn Plug'n'Play

Plug'n'Play (PnP) is Yarn's alternative to the traditional node_modules folder. Yarn generates a single `.pnp.cjs` file containing the exact dependency tree which Node.js consults at runtime via a require hook. PnP enables faster installs, deterministic module resolution, and strict boundaries between declared and undeclared dependencies. A Rust implementation (pnp-rs) is available for non-Node runtimes.

API entry from apis.yml

apis.yml Raw ↑
aid: yarn-pkg:yarn-plug-n-play
name: Yarn Plug'n'Play
tags:
- Plug'n'Play
- PnP
- Module Resolution
- JavaScript
humanURL: https://yarnpkg.com/features/pnp
properties:
- url: https://yarnpkg.com/features/pnp
  type: Documentation
- url: https://github.com/yarnpkg/berry/tree/master/packages/yarnpkg-pnp
  type: SourceCode
- url: https://github.com/yarnpkg/pnp-rs
  type: SourceCode
description: Plug'n'Play (PnP) is Yarn's alternative to the traditional node_modules folder. Yarn generates
  a single `.pnp.cjs` file containing the exact dependency tree which Node.js consults at runtime via
  a require hook. PnP enables faster installs, deterministic module resolution, and strict boundaries
  between declared and undeclared dependencies. A Rust implementation (pnp-rs) is available for non-Node
  runtimes.