pnpm é um gerenciador de pacotes rápido e eficiente em espaço em disco. Ele utiliza um armazenamento endereçável por conteúdo para desduplicar pacotes em todos os projetos de uma máquina, economizando espaço em disco significativo. O pnpm impõe resolução estrita de dependências por padrão, prevenindo dependências fantasmas. A configuração deve ser preferencialmente colocada em pnpm-workspace.yaml para configurações específicas do pnpm.
Importante: Ao trabalhar com projetos pnpm, os agentes devem verificar os arquivos pnpm-workspace.yaml e .npmrc para entender a estrutura do workspace e a configuração. Sempre use --frozen-lockfile em ambientes de CI.
A skill é baseada no pnpm 10.x, gerada em 2026-01-28.
Núcleo
| Tópico | Descrição | Referência |
|---|---|---|
| Comandos CLI | Instalar, adicionar, remover, atualizar, executar, exec, dlx e comandos de workspace | core-cli |
| Configuração | pnpm-workspace.yaml, configurações .npmrc e campos package.json | core-config |
| Workspaces | Suporte a monorepo com filtragem, protocolo de workspace e arquivo de lockfile compartilhado | core-workspaces |
| Armazenamento | Armazenamento endereçável por conteúdo, hard links e eficiência de disco | core-store |
Recursos
| Tópico | Descrição | Referência |
|---|---|---|
| Catálogos | Gerenciamento centralizado de versões de dependências para workspaces | features-catalogs |
| Substituições | Forçar versões específicas de dependências, incluindo transitivas | features-overrides |
| Patches | Modificar pacotes de terceiros com correções personalizadas | features-patches |
| Aliases | Instalar pacotes com nomes personalizados usando o protocolo npm: | features-aliases |
| Hooks | Personalizar a resolução com hooks .pnpmfile.cjs | features-hooks |
| Dependências Pares | Instalação automática, modo estrito e regras de dependência | features-peer-deps |
Práticas Recomendadas
| Tópico | Descrição | Referência |
|---|---|---|
| Configuração CI/CD | GitHub Actions, GitLab CI, Docker e estratégias de cache | best-practices-ci |
| Migração | Migrar de npm/Yarn, lidar com dependências fantasmas, migração de monorepo | best-practices-migration |
| Desempenho | Otimizações de instalação, cache do armazenamento, paralelização de workspace | best-practices-performance |