O comando bun why explica por que um pacote está instalado no seu projeto mostrando a cadeia de dependências que levou à sua instalação.
Uso
bash
bun why <package>Argumentos
<package>: O nome do pacote para explicar. Suporta padrões glob como@org/*ou*-lodash.
Opções
--top: Mostrar apenas dependências de nível superior em vez da árvore de dependências completa.--depth <number>: Profundidade máxima da árvore de dependências a ser exibida.
Exemplos
Verificar por que um pacote específico está instalado:
bash
bun why reacttxt
react@18.2.0
└─ my-app@1.0.0 (requires ^18.0.0)Verificar por que todos os pacotes com um padrão específico estão instalados:
bash
bun why "@types/*"txt
@types/react@18.2.15
└─ dev my-app@1.0.0 (requires ^18.0.0)
@types/react-dom@18.2.7
└─ dev my-app@1.0.0 (requires ^18.0.0)Mostrar apenas dependências de nível superior:
bash
bun why express --toptxt
express@4.18.2
└─ my-app@1.0.0 (requires ^4.18.2)Limitar a profundidade da árvore de dependências:
bash
bun why express --depth 2txt
express@4.18.2
└─ express-pollyfill@1.20.1 (requires ^4.18.2)
└─ body-parser@1.20.1 (requires ^1.20.1)
└─ accepts@1.3.8 (requires ^1.3.8)
└─ (deeper dependencies hidden)Entendendo a saída
A saída mostra:
- O nome e versão do pacote sendo consultado
- A cadeia de dependências que levou à sua instalação
- O tipo de dependência (dev, peer, optional ou production)
- O requisito de versão especificado nas dependências de cada pacote
Para dependências aninhadas, o comando mostra a árvore de dependências completa por padrão, com indentação indicando a hierarquia de relacionamentos.