Перейти до вмісту
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 завантажується де-небудь?
Ні. Парсинг і форматування виконуються повністю у вашому браузері — ваш файл, включаючи будь-які імена приватних пакетів, які він містить, ніколи не покидає ваш пристрій.