Источник: Nuances of Programming Команды npm list (npm ls) и npm config list (npm config ls) не особо популярны. Тем не менее они помогут решить некоторые проблемы в среде разработки, избавив от “ловушек” и “тупиков”. 1. npm list/ls Менеджер npm включает в себя тысячи пакетов. Многие из них обычно используют другие пакеты в качестве зависимостей. А те, в свою очередь, нуждаются в других пакетах в качестве зависимостей. Бывает так, что глубине этих зависимостей не видно конца. Но иногда нужно найти имя конкретного пакета, который используется в проекте...
В NPM выявлена недоработка, позволяющая определить существование пакетов в закрытых репозиториях. Проблема вызвана разным временем реакции при запросе существующего и несуществующего пакета сторонним пользователем, не имеющего доступа к репозиторию. При отсутствии доступа для любых пакетов в приватных репозиториях сервер registry.npmjs.org возвращает ошибку с кодом "404", но в случае существования пакета с запрошенным именем ошибка выдаётся с ощутимой задержкой. Атакующий может использовать данную особенность для определения наличия пакета при подборе имён пакетов по словарям...