Об этом проекте

pnpm-multi-versions — это утилита, предназначенная для сканирования lock-файла pnpm и выявления зависимостей, установленных в нескольких версиях в рамках проекта. Она предоставляет как интерфейс командной строки (CLI), так и JavaScript API для гибкой интеграции. ### Использование CLI Запуск CLI выводит список пакетов с несколькими установленными версиями. Пользователи могут использовать флаг `--dependents`, чтобы отобразить древовидную визуализацию, показывающую, какие конкретные пакеты зависят от каждой версии дублированной зависимости. ### Использование API Программно инструмент предоставляет функцию, которая принимает разобранный lock-файл и параметры конфигурации. Ключевые параметры включают: - `ignoreMajor`: Логическое значение для игнорирования различий в основных версиях. - `dependents`: Логическое значение для вычисления и сопоставления зависимых пакетов для каждой версии. API возвращает три основные структуры данных: - `versionsMap`: Карта, сопоставляющая имена пакетов с набором установленных версий. - `dependentsMap`: Вложенная карта, показывающая, какие пакеты (с конкретными версиями) зависят от каждой версии целевых пакетов. - `multipleVersions`: Набор, содержащий имена всех пакетов, у которых установлено несколько версий. Это помогает разработчикам выявлять дублирующиеся версии зависимостей в проектах, управляемых с помощью pnpm, способствуя оптимизации и очистке.