360 Secure SkillHub
360 安全技能中心

pnpm

基于 pnpm 12.x 的参考型 Skill,涵盖 CLI 命令、pnpm-workspace.yaml 配置、工作区与 monorepo 过滤、内容寻址 store、catalogs/overrides/patches/hooks、供应链安全、任务编排、版本管理、Python/Cargo 多生态,以及 CI/CD、迁移与性能最佳实践。

antfu
热度 0.00
最近更新 2026-10-18 16:21:56
分类:开发依赖:纯提示词应用场景:DevOps / 工作流 / 模板

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add antfu/skills/pnpm
Metadata
name
pnpm
description
Node.js package manager with strict dependency resolution. Use when running pnpm specific commands, configuring workspaces via pnpm-workspace.yaml, or managing dependencies with catalogs, patches, overrides, config dependencies, or the global virtual store.
metadata
{"author":"Anthony Fu","version":"2026.9.25","source":"Generated from https://github.com/pnpm/pnpm, scripts located at https://github.com/antfu/skills"}

pnpm is a fast, disk space efficient package manager. It uses a content-addressable store to deduplicate packages across all projects on a machine, and enforces strict dependency resolution by default, preventing phantom dependencies.

pnpm v12 is a Rust rewrite of v11: stable, and keeps v11's commands, flags, settings, and lockfile format — so most guidance here applies to both. A handful of v12 behaviors differ (git deps resolve via HTTPS, project-aware global bins, other package managers, packageImportMethod: auto hardlinks first on Linux, --resolution-only removed) — see best-practices-migration.

Configuration model (important): pnpm settings live in pnpm-workspace.yaml (and the global config.yaml) using camelCase keys. .npmrc is used only for authentication/registry credentials, and the pnpm field of package.json is no longer read. When working in a pnpm project, check pnpm-workspace.yaml for settings/workspace structure and .npmrc only for auth. Always use --frozen-lockfile (or pnpm ci) in CI.

The skill is based on pnpm 12.x, generated at 2026-09-25. It covers v11+v12 behavior (config split, isolated global packages, allowBuilds, pmOnFail, global virtual store, native release management, workspace task orchestration, and experimental Python/Cargo support) where current docs describe them.

Core

Topic Description Reference
CLI Commands install/add/remove/update, run, dlx/pnx, workspace, runtime, publishing (version, view, sbom, stage) core-cli
Configuration pnpm-workspace.yaml settings (camelCase), global config.yaml, packageConfigs, .npmrc auth core-config
Workspaces Monorepo support: filtering, workspace protocol, shared lockfile, packageConfigs core-workspaces
Store Content-addressable store, virtual store, node linker modes, frozen/read-only store core-store

Features

Topic Description Reference
Catalogs Centralized dependency versions; catalogMode, catalog: in overrides features-catalogs
Overrides Force versions (incl. transitive & peer deps); packageExtensions features-overrides
Patches Modify third-party packages; patchedDependencies in pnpm-workspace.yaml features-patches
Aliases Install under custom names (npm:) and registry aliases (namedRegistries) features-aliases
Hooks .pnpmfile.mjs hooks (readPackage, updateConfig, beforePacking), finders, resolvers/fetchers features-hooks
Peer Dependencies Auto-install, strict mode, rules, dedupePeers, peers check features-peer-deps
Config Dependencies Share hooks/settings/catalogs/patches across repos via configDependencies features-config-dependencies
Global Virtual Store & Shims Shared node_modules, git-worktree multi-agent setups, isolated global packages, project-aware bins, other package managers features-global-virtual-store
Supply-Chain Security Build approval (allowBuilds), minimumReleaseAge, trustPolicy, lockfile integrity features-supply-chain-security
Task Orchestration Cross-project task graphs (tasks/dependsOn), concurrency groups, priority, pnpm pipeline features-task-orchestration
Release Management Native versioning: pnpm change/version -r/lane, lanes, epics, fixed groups features-versioning
Multi-Ecosystem Python (pypi:) and Cargo (crate:) dependencies alongside npm (experimental) features-multi-ecosystem

Best Practices

Topic Description Reference
CI/CD Setup GitHub Actions, GitLab, Docker, pnpm ci, store caching, frozen lockfiles best-practices-ci
Migration npm/Yarn → pnpm, phantom deps, and pnpm v10 → v11 → v12 upgrade notes best-practices-migration
Performance Install optimizations, allowBuilds, global virtual store, workspace parallelization best-practices-performance