Skip to main content

pnpm Workspace Generator

Configure your pnpm monorepo workspace visually and get a ready-to-use pnpm-workspace.yaml instantly. Add package globs, set up a catalog for shared versions, pin overrides, and toggle workspace-wide flags.

✓ Package glob patterns ✓ Catalog (pnpm v9+) ✓ Dependency overrides ✓ Runs entirely in your browser

Frequently Asked Questions

What is pnpm-workspace.yaml and why do I need it?▼

pnpm-workspace.yaml is the configuration file that tells pnpm which directories in your repository contain workspace packages. By listing glob patterns such as 'packages/*' or 'apps/*', pnpm treats those directories as local packages and links them together automatically. Without this file, pnpm treats your repository as a single package and does not enable monorepo features like shared dependencies or cross-package linking.

What is the pnpm catalog feature?▼

Introduced in pnpm v9, the catalog feature lets you define a set of canonical dependency versions in pnpm-workspace.yaml under the 'catalog:' key. Individual packages in the workspace can then reference these versions using 'catalog:' as a version specifier in their package.json instead of hard-coding a version string. This keeps all packages in sync and makes version bumps a single-file change.

When should I use package overrides?▼

Use overrides when you need to force every package in the workspace to use a specific version of a transitive dependency — for example, to patch a security vulnerability in a deeply nested package, or to resolve conflicting peer dependency requirements between packages. Overrides are a last resort; prefer updating the direct dependency first.

Should I enable shamefullyHoist?▼

Only enable shamefullyHoist if you have a tool or framework that relies on Node.js resolution finding packages directly in the root node_modules directory rather than through pnpm's isolated symlink layout. Examples include some older Webpack plugins or tools that use require.resolve without traversing symlinks. Enabling it trades strictness for compatibility and can hide missing dependency declarations.

What is the difference between pnpm overrides and resolutions (npm/yarn)?▼

All three fields serve the same purpose — forcing a specific version of a transitive dependency — but have different syntax and scope. npm uses 'overrides' in package.json, Yarn uses 'resolutions', and pnpm uses 'overrides' in either package.json or pnpm-workspace.yaml. Placing overrides in pnpm-workspace.yaml applies them workspace-wide across all packages, which is usually what you want in a monorepo.

Share this tool: X / Twitter LinkedIn
✓ 60,000+ developers use DevPlaybook ★★★★★ 4.8 / 5 on Gumroad ✓ MIT licensed · Instant download ✓ No login required

Related Products

on Gumroad

You Might Also Need

More Free Tools

Enjoying this tool? Get more like it.

Weekly developer tool guides, productivity playbooks & AI tricks. Free. No spam.

DevPlaybook Pro 7 days free

Unlock AI-Powered Dev Tools

  • ⚡ AI Code Review, Doc Generator & SQL Builder
  • ⚡ All premium templates & early access
  • ⚡ Member discounts on Gumroad products
Start Free Trial →

$9/mo after trial · Cancel anytime

Want the full toolkit?

Get DevPlaybook Pro

Every template, guide, boilerplate, and automation script in one bundle. 13 premium products — grab them all at once and save big.

$79
$241 separately Save $162 (67% off)
Get DevPlaybook Pro — $79 →

MIT licensed · Instant download · No subscription

See what's included → Browse all deals →