El comando bun why explica por qué un paquete está instalado en tu proyecto mostrando la cadena de dependencias que llevó a su instalación.
Uso
bash
bun why <package>Argumentos
<package>: El nombre del paquete a explicar. Soporta patrones glob como@org/*o*-lodash.
Opciones
--top: Mostrar solo las dependencias de nivel superior en lugar del árbol de dependencias completo.--depth <number>: Profundidad máxima del árbol de dependencias a mostrar.
Ejemplos
Verificar por qué un paquete específico está instalado:
bash
bun why reacttxt
react@18.2.0
└─ my-app@1.0.0 (requires ^18.0.0)Verificar por qué todos los paquetes con un patrón específico están 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 solo dependencias de nivel superior:
bash
bun why express --toptxt
express@4.18.2
└─ my-app@1.0.0 (requires ^4.18.2)Limitar la profundidad del árbol de dependencias:
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)Entender la salida
La salida muestra:
- El nombre y versión del paquete consultado
- La cadena de dependencias que llevó a su instalación
- El tipo de dependencia (dev, peer, optional, o production)
- El requisito de versión especificado en las dependencias de cada paquete
Para dependencias anidadas, el comando muestra el árbol de dependencias completo por defecto, con la indentación indicando la jerarquía de relaciones.