Аналізатор пакетів NPM

Вставте ваш package.json для аналізу залежностей, пошуку важких пакетів і оцінки впливу на розмір бандла

Аналізатор пакетів NPM

Вставте ваш package.json для аналізу залежностей, пошуку важких пакетів і оцінки впливу на розмір бандла

Можливості

  • Аналізуйте dependencies та devDependencies у package.json одним поглядом
  • Виявляйте важкі пакети, такі як moment, lodash і core-js, з легшими альтернативами
  • Оцінюйте загальний вплив на розмір бандла від продакшен-залежностей
  • Знаходьте застарілі, незакріплені та git-залежності
  • Визначайте застарілі шаблони інструментів, такі як TSLint або Babel 6

Як використовувати

  1. Скопіюйте вміст вашого файлу package.json з проєкту.
  2. Вставте його в область введення та натисніть Аналізувати.
  3. Перегляньте огляд залежностей, проблеми та оцінки розміру.

Поради та найкращі практики

  • Вставте код напряму або використовуйте функцію завантаження файлів для більших файлів.
  • Інструмент зберігає ваше початкове введення — ви завжди можете повернутися і змінити його.
  • Використовуйте вивід напряму у вашій IDE або конвеєрі збірки.
  • Перевірте відформатований вивід на наявність попереджень або повідомлень валідації.
  • Вся обробка виконується на стороні клієнта, що робить її безпечною для пропрієтарного коду.

Запитання та відповіді

Чи надсилаються дані мого package.json на сервер?

Ні. Весь аналіз виконується повністю у вашому браузері. Нічого не завантажується і не зберігається на жодному сервері. Вміст вашого package.json залишається приватним і локальним на вашому комп'ютері.

Як оцінюються розміри бандла?

Відомі важкі пакети, такі як moment, lodash і core-js, мають попередньо виміряні розміри. Інші залежності використовують середню оцінку 25 КБ кожна. Це приблизні оцінки, які допомагають виявити найбільших учасників розміру бандла.

Які проблеми виявляє аналізатор?

Аналізатор перевіряє наявність важких пакетів з легшими альтернативами, застарілих пакетів, версій з підстановочними знаками або незакріплених, git-залежностей, відсутніх полів ліцензії або engine, а також застарілих шаблонів інструментів, таких як TSLint або старих версій Babel.

Чи можу я проаналізувати lock-файл (package-lock.json або yarn.lock)?

Наразі інструмент підтримує лише вміст package.json. Lock-файли мають іншу структуру і не обробляються цим аналізатором. Ми зосереджуємося на оголошеннях залежностей, які ви контролюєте безпосередньо.

Чому інструмент пропонує замінити moment на date-fns або dayjs?

moment займає приблизно 290 КБ у мініфікованому вигляді і не підтримує tree-shaking, що означає, що вся бібліотека включається у ваш бандл, навіть якщо ви використовуєте лише одну функцію. date-fns (з підтримкою tree-shaking) і dayjs (2 КБ) — сучасні альтернативи, які значно зменшують розмір бандла.

Чи перевіряє цей інструмент уразливості безпеки?

Цей інструмент зосереджений на аналізі бандла та найкращих практиках, а не на уразливостях безпеки. Для аудиту безпеки використовуйте npm audit або такі інструменти, як Snyk. Однак ми позначаємо застарілі пакети, які можуть мати відомі проблеми безпеки.

Чи можу я використовувати це для файлів package.json монорепозиторію або workspace?

Так. Ви можете вставити будь-який вміст package.json, включаючи корінь workspace або окремі файли пакетів. Аналізатор обробить усі dependencies та devDependencies, які він знайде в наданому вами JSON.