Анализатор пакетов NPM
Вставьте ваш package.json для анализа зависимостей, поиска тяжёлых пакетов и оценки влияния на размер бандла
Анализатор пакетов NPM
Вставьте ваш package.json для анализа зависимостей, поиска тяжёлых пакетов и оценки влияния на размер бандла
Возможности
- Анализируйте dependencies и devDependencies в package.json одним взглядом
- Обнаруживайте тяжёлые пакеты, такие как moment, lodash и core-js, с более лёгкими альтернативами
- Оценивайте общее влияние на размер бандла от продакшен-зависимостей
- Находите устаревшие, незакреплённые и git-зависимости
- Определяйте устаревшие шаблоны инструментов, такие как TSLint или Babel 6
Как использовать
- Скопируйте содержимое вашего файла package.json из проекта.
- Вставьте его в область ввода и нажмите Анализировать.
- Просмотрите обзор зависимостей, проблемы и оценки размера.
Советы и лучшие практики
- Вставьте код напрямую или используйте функцию загрузки файлов для более крупных файлов.
- Инструмент сохраняет ваш исходный ввод — вы всегда можете вернуться и изменить его.
- Используйте вывод напрямую в вашей 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.