Não se preocupe mais com o package manager do seu projeto NodeJS
Cansado de ter que lembrar se o projeto usa npm, yarn ou pnpm? Existe uma solução simples que vai acabar com essa dor de cabeça.
O problema
Quantas vezes você já:
- Executou
npm installem um projeto que usa yarn? - Tentou
yarn addem um projeto que usa pnpm? - Perdeu tempo descobrindo qual package manager usar?
A solução: ni
O ni (Node Install) é uma ferramenta que detecta automaticamente qual package manager usar baseado nos arquivos de lock presentes no projeto.
Instalação
npm i -g @antfu/ni
Como usar
Em vez de lembrar qual comando usar, simplesmente use:
## Instalar dependências ni ## Adicionar dependência ni axios ## Adicionar dependência de desenvolvimento ni -D typescript ## Executar scripts nr dev nr build nr test ## Remover dependência nun axios
Como funciona
O ni verifica os arquivos de lock na seguinte ordem:
pnpm-lock.yaml→ usa pnpmyarn.lock→ usa yarnpackage-lock.json→ usa npm- Se nenhum for encontrado → usa npm
Comandos disponíveis
| Comando | Descrição |
|---|---|
ni | Instalar dependências |
ni <pkg> | Adicionar dependência |
ni -D <pkg> | Adicionar dev dependency |
nr <script> | Executar script |
nun <pkg> | Remover dependência |
nci | Clean install |
na | Upgrade interativo |
Configuração no VS Code
Adicione ao seu settings.json:
{ "terminal.integrated.shellIntegration.enabled": true, "terminal.integrated.commandsToSkipShell": ["ni", "nr", "nun", "nci", "na"] }
Aliases úteis
Adicione ao seu .bashrc ou .zshrc:
alias nid="ni -D" alias nis="ni -S" alias nig="ni -g"
Vantagens
1. Consistência entre projetos
Não importa qual package manager o projeto usa, você sempre usa os mesmos comandos.
2. Menos erros
Nunca mais vai executar o comando errado por engano.
3. Onboarding mais fácil
Novos desenvolvedores não precisam saber qual package manager usar.
4. Scripts mais limpos
Seus scripts podem usar ni independente do package manager.
Exemplo prático
Antes:
## Projeto A (npm) npm install meu-projeto npm run dev ## Projeto B (yarn) yarn install yarn dev ## Projeto C (pnpm) pnpm install pnpm dev
Depois:
## Qualquer projeto ni nr dev
Integração com Docker
FROM node:18-alpine ## Instalar ni globalmente RUN npm i -g @antfu/ni WORKDIR /app COPY package*.json ./ COPY yarn.lock* ./ COPY pnpm-lock.yaml* ./ ## Usar ni para instalar dependências RUN ni COPY . . CMD ["nr", "start"]
Conclusão
O ni é uma ferramenta simples que resolve um problema comum no desenvolvimento JavaScript/TypeScript. Uma vez que você começar a usar, não vai querer voltar atrás.
Instale hoje mesmo e pare de se preocupar com qual package manager usar!