Skip to content

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 react
txt
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 --top
txt
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 2
txt
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.

Bun by www.bunjs.com.cn edit