Перейти до вмісту

Інспектор файлу блокування

Виведіть усі пакунки з файлу блокування з точною версією та вказанням, чи вони прямими або непрямими залежностями.

Введення
Другий файл блокування (необов'язково, для порівняння)
Вихід

Інспектор файлу блокування

Вставте файл package-lock.json, yarn.lock або pnpm-lock.yaml, і цей інструмент виведе всі пакунки, що містяться в ньому, з точною версією, яка дозволена, і вказанням на те, чи є пакунок прямою залежністю (однією, що указана в маніфесті вашого проекту) або непрямою (запозичена іншим пакунком). Це швидкий спосіб перевірити, що насправді потрапляє в node_modules, переглянути pull request, який торкається файлу блокування, або відстежити, звідки взялася неочікувана версія.

Виберіть формат, який відповідає вашому файлу, потім відсортуйте список по абетці або за кількістю інших пакунків, від яких він залежить — це виявить непрямі пакунки, на які найбільше опирається ваш проект. Фільтр звужує результат на одне ім'я або область видимості, наприклад @babel/ або eslint. Увімкнення позначення дублів додає резюме для будь-якої назви пакунка, яка з'являється більш ніж в одній версії — частої причини більшого bundle. Виберіть простий список, таблицю фіксованої ширини або CSV для електронних таблиць. Вставте другий файл блокування в додаткове поле для порівняння двох версій одного проекту й точного перегляду того, які пакунки були додані, видалені чи оновлені.

Інструмент однаково обробляє кінці рядків Windows та Unix. Для package-lock.json і pnpm-lock.yaml він читає власний список залежностей проекту, щоб розрізнити реальні прямі залежності від тих, що просто піднялися на вершину node_modules; yarn.lock (класичний v1) не містить такої записи, тому його записи виводяться без цієї різниці. Дуже великі файли блокування обробляються без зависання вкладки, а результат понад 10 МБ обмежується повідомленням із пропозицією відфільтрувати або порівняти менший файл.

Усе працює локально у вашому браузері — ваш файл блокування і дерево залежностей, які він описує, ніколи не завантажуються. Скопіюйте результат, завантажте його як файл .txt або відправте назад у вхідні дані для подальшої фільтрації.

FAQ

Яка різниця між прямою та непрямою залежністю?
Пряма залежність — це та, яку файл package.json вашого проекту перелічує за назвою. Непряма залежність була запозичена лише тому, що від неї залежить один із цих пакунків.
Чому yarn.lock показує всі пакунки однаково, без прямих та непрямих?
yarn.lock (класичний v1) не записує власний список залежностей проекту так, як це роблять package-lock.json і pnpm-lock.yaml, тому в самому файлі немає нічого, щоб розрізнити пакунок верхнього рівня від одного, запозиченого непрямо.
Як працює порівняння двох файлів блокування?
Вставте старий файл блокування в основне поле та новий у друге поле, використовуючи той самий формат для обох. Інструмент виведе кожен пакунок, версія якого змінилася, плюс усе, що було додано або видалено.
Що вважається дублем?
Назва пакунка, яка з'являється більш ніж в одній версії в одному й тому ж файлі блокування — частої причини збільшеного розміру bundle, коли дві залежності по-різному закріплюють несумісну версію однієї й тієї ж бібліотеки.
Мій файл блокування завантажується кудись?
Ні. Розбір відбувається повністю у вашому браузері — файл ніколи не залишає вашого пристрою.