Uma ferramenta CLI para gerenciar versões de pacotes, changelogs e publicações em monorepos, com base em arquivos changeset adicionados pelos colaboradores junto com suas alterações.
sindresorhus/np
Uma CLI que automatiza o npm publish com verificações prévias, atualização de versão, tags do git, testes e pushes, reunindo o processo de release em uma execução interativa.
- Estrelas
- 7,710
- Forks
- 311
- Issues abertas
- 7
- Último commit
- mês passado
O que é?
np é uma ferramenta de linha de comando que substitui a sequência manual habitual para publicar um pacote npm. Execute-a em um projeto e ela verifica se você está na branch de release, se o diretório de trabalho está limpo e atualizado em relação ao remoto e se as versões do Node.js e do npm são compatíveis com o que o projeto exige. Em seguida, reinstala as dependências, executa os testes, atualiza a versão em package.json e package-lock.json, cria uma tag do git e publica no npm.
Se a publicação falhar, np restaura o projeto ao estado anterior. Depois de uma publicação bem-sucedida, envia commits e tags para o GitHub ou GitLab e pode abrir um rascunho pré-preenchido do GitHub Releases. Também impede a publicação acidental de versões pré-release com a dist-tag latest, oferece suporte à autenticação de dois fatores e inclui um modo dry-run que mostra cada etapa sem executá-la.
np funciona com npm, pnpm, Bun e Yarn, e pode publicar no GitHub Packages ou em um registry personalizado. Foi projetada para uso local e interativo, não para CI, e não oferece suporte a monorepos.
Recursos principais
- 01Verifica a branch de release, se a árvore de trabalho está limpa e se há alterações ainda não baixadas antes de publicar.
- 02Atualiza as versões em package.json e package-lock.json e cria uma tag do git.
- 03Executa os testes e restaura o projeto se a publicação falhar.
- 04Envia commits e tags para o GitHub ou GitLab e pode abrir um rascunho de release.
- 05Oferece uma interface interativa e um modo dry-run.
- 06É compatível com npm, pnpm, Bun e Yarn, além do GitHub Packages.
Casos de uso
- Publicar uma biblioteca no npm a partir de uma máquina local, seguindo um processo de release consistente e com verificações.
- Padronizar releases em uma equipe adicionando np como script de release no package.json.
- Publicar versões pré-release com uma dist-tag separada, como beta, sem correr o risco de afetar a tag latest.
- Publicar um pacote privado de um repositório git ignorando a etapa de npm publish.
Início rápido
- 1
Instale np globalmente com npm
npm install --global np - 2
Execute np no seu projeto e siga as instruções interativas
np
Antes de usar
- Monorepos não são compatíveis.
- CI não é um ambiente ideal; a ferramenta foi feita para ser usada localmente de forma interativa.
- Requer Node.js 22 ou posterior, npm 10 ou posterior e Git 2.11 ou posterior.
Em coleções
Tópicos
Perguntas frequentes
- O que é np?
- Uma CLI que automatiza o npm publish com verificações prévias, atualização de versão, tags do git, testes e pushes, reunindo o processo de release em uma execução interativa. np é uma ferramenta de linha de comando que substitui a sequência manual habitual para publicar um pacote npm. Execute-a em um projeto e ela verifica se você está na branch de release, se o diretório de trabalho está limpo e atualizado em relação ao remoto e se as versões do Node.js e do npm são compatíveis com o que o projeto exige. Em seguida, reinstala as dependências, executa os testes, atualiza a versão em package.json e package-lock.json, cria uma tag do git e publica no npm.
- np é gratuito? Qual é a licença?
- np é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- np ainda é mantido?
- Atualizado nos últimos 6 meses. O último commit de np foi em 9 de set. de 2026.
- Para que posso usar np?
- Publicar uma biblioteca no npm a partir de uma máquina local, seguindo um processo de release consistente e com verificações. Padronizar releases em uma equipe adicionando np como script de release no package.json. Publicar versões pré-release com uma dist-tag separada, como beta, sem correr o risco de afetar a tag latest. Publicar um pacote privado de um repositório git ignorando a etapa de npm publish.
- Como instalar np?
- Instale np globalmente com npm: npm install --global np Execute np no seu projeto e siga as instruções interativas: np
- Onde consigo np?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/sindresorhus/np
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Framework comunitário para gerenciar a configuração do zsh, com centenas de plugins e temas, além de uma ferramenta de atualização.
Interface gráfica pensada primeiro para Windows, que gerencia instalações e atualizações de programas no WinGet, Scoop, Chocolatey, Homebrew, APT, pip, npm e outros.
Ferramenta C++ offline que remove marcas d’água visíveis do Gemini por mesclagem alfa reversa, com GUI, CLI e processamento em lote.
Uma coleção de artigos curtos e independentes e trechos de código JavaScript para aprender padrões comuns de programação em 30 segundos ou menos.
Ferramenta baseada em JavaScript para escrever scripts no estilo shell, com uma camada sobre child_process que escapa argumentos com segurança e oferece recursos multiplataforma.