Перейти к содержанию
100% локально

Анализ зависимостей package.json

Разделите package.json на production, dev, peer и optional зависимости с указанием их версионных диапазонов.

Входные данные
Выходные данные

Анализ зависимостей package.json

Вставьте содержимое файла package.json, и этот инструмент отсортирует все зависимости по категориям — production, development, peer и optional — и выведет диапазон версии рядом с каждым названием пакета. Он создан для быстрого просмотра неизвестного репозитория и определения его зависимостей без прокрутки огромного JSON, а также для проверки pull-request'ов, затрагивающих список зависимостей.

Выберите способ сортировки списка: сгруппировать по типам или отсортировать по алфавиту. Количество в каждой группе показывает, сколько пакетов находится в каждой категории. Опция "Объяснять диапазоны версий" добавляет краткое описание к каждой строке, объясняя, какие обновления разрешены — каретка разрешает минорные и патч-обновления, тильда только патч-обновления, точная версия никогда не обновляется автоматически, а просто звездочка принимает любую версию. Два дополнительных флажка выделяют риск: один указывает на пакеты, привязанные к точной версии или полностью без ограничений, другой отмечает любое имя пакета, повторяющееся в разных группах, обычно это признак необходимости очистки. Отдельный переключатель добавляет поля engines и packageManager, если они присутствуют.

Вывод отображается как обычная выровненная таблица, сгруппированный обычный текстовый список или таблица Markdown, готовая для вставки в README или описание pull-request'а. Инструмент читает только необходимые поля и игнорирует остальное, поэтому вставка полного package.json со скриптами и метаданными работает точно так же, как вставка урезанной версии.

Все работает локально в вашем браузере. Ваш package.json никогда не загружается, что важно, если он содержит имена приватных или неопубликованных пакетов. Скопируйте результат, загрузите его как .txt файл или отправьте прямо на вход другого инструмента для продолжения работы.

FAQ

Какие поля она читает из package.json?
dependencies, devDependencies, peerDependencies, optionalDependencies, и — когда опция включена — engines и packageManager. Все остальные поля, включая scripts и metadata, игнорируются.
Что считается "фиксированной" или "неограниченной" версией?
Фиксированная версия не имеет оператора диапазона вообще, например "4.17.21" — она никогда не обновляется при установке. Неограниченная версия — это "*" или пустая строка, которая принимает любую версию. Опция выделения отмечает обе, так как они находятся на противоположных концах одной проблемы: отсутствие контроля над тем, что получится при установке.
Почему пакет может появиться в более чем одной группе?
Это обычно означает, что зависимость была добавлена дважды вручную, или перемещена из devDependencies в peerDependencies без удаления старой записи. Опция выделения дублей отмечает любое имя пакета, которое появляется в двух или более из четырех групп.
Она проверяет диапазоны версий в реестре npm?
Нет. Она только читает синтаксис диапазона, уже находящийся в файле — она не проверяет сеть на предмет того, какие версии фактически существуют, поэтому работает полностью в режиме offline.
Мой package.json загружается где-нибудь?
Нет. Парсинг и форматирование выполняются полностью в вашем браузере — ваш файл, включая любые имена приватных пакетов, которые он содержит, никогда не покидает ваше устройство.