npm делает отличную работу по созданию иерархии зависимостей пакета как дерева в консоли:
$ npm ls
[email protected]
├── [email protected]
├─┬ [email protected]
│ ├─┬ [email protected]
│ │ └── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ └── [email protected]
└── [email protected]
Как это делает npm?