/
Вопросы и ответы
/
Помощь
/

Проблемы с CodeClimate и ошибками линтера при сборке проекта Node.js

Проблемы с CodeClimate и ошибками линтера при сборке проекта Node.js

При подключении репозитория к CodeClimate появляется ошибка 404 This page does not exist, и бейджик Maintainability в README не работает.

Также при запуске команды make lint выводятся ошибки:

/mnt/c/Users/ha/Desktop/frontend-project-lvl1/frontend-project-lvl1/bin/brain-games.js 3:10 error 'userName' is defined but never used no-unused-vars
/mnt/c/Users/ha/Desktop/frontend-project-lvl1/frontend-project-lvl1/src/cli.js 4:1 error Prefer default export import/prefer-default-export

Как правильно подключить CodeClimate и исправить ошибки линтера?

7 дней назад

Nikolai Gagarinov

Ответы

1

1. Ошибка 404 в CodeClimate и бейджик

  • Чаще всего проблема с бейджиком возникает из-за того, что был выбран неправильный формат кода для вставки. Для Markdown бейдж нужно копировать из раздела Maintainability Badge → Markdown, а не HTML.
  • После правильного выбора бейдж появится и ссылка будет работать.

2. Проблемы с линтером (make lint)

  • Ошибки линтера показывают, что код не соответствует правилам ESLint. Например:

    • no-unused-vars — переменная объявлена, но не используется. Нужно удалить или использовать переменную.
    • import/prefer-default-export — рекомендуется использовать экспорт по умолчанию, если экспортируется только один элемент.

Исправлять ошибки можно вручную или с помощью автоматической команды:

npx eslint . --fix
  • Если при запуске make lint появляется Permission denied для eslint, убедитесь, что зависимости установлены и у вас есть права на выполнение:
npm install
chmod +x ./node_modules/.bin/eslint

3. Ошибка package.json не найден при сборке в CI

  • При сборке через GitHub Actions или другой CI нужно использовать шаг checkout, чтобы код репозитория оказался в рабочей директории.
  • Без этого npm install не сможет найти package.json и выдает ошибку ENOENT. Пример:
- uses: actions/checkout@v3
- run: npm install

В итоге:

  • Для бейджика — использовать Markdown из CodeClimate.
  • Для линтера — исправить ошибки или применить --fix.
  • Для CI — убедиться, что код репозитория загружен через checkout.

7 дней назад

Nikolai Gagarinov