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.

Yarn Plug’n’Play is one of 10 APIs that Yarn publishes on the APIs.io network.

Tagged areas include Plug’n’Play, PnP, Module Resolution, and JavaScript. The published artifact set on APIs.io includes API documentation.

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.