SonarQube: интегрировать ESLint для JavaScript в SonarQube?
Мы определили наши правила, которые должны использоваться для кода JavaScript, с помощью ESLint. Теперь мы хотим интегрировать ESLint в SonarQube, как мы делали это раньше, аналогично Checkstyle для JavaCode.
По следующей ссылке описано, почему SonarQube не хочет предоставлять плагин для ESLint:
http://www.sonarqube.org/sonarqube-javascript-plugin-why-compete-with-jslint-and-jshint/
В SonarQube все еще нет плагина ESLint? Не является ли это частью маркетинговой стратегии? Существует также плагин для Checkstyle, FindBugs и т.д. Почему SonarQube вдруг перестает поддерживать интеграцию других инструментов анализа кода?
Ответы
Ответ 1
Да, для ESLint до сих пор нет плагина, и это часть стратегии, но в другом направлении.
Фактически, наши первые плагины были предназначены для внешних анализаторов, и со временем мы поняли, что простое объединение результатов других инструментов на самом деле не служит сообществу, потому что это сообщество обращалось к нам с ошибками правил, запросами и предложениями по улучшению - и всем, что мы мог сделать, это было направить их на производителей инструментов.
Поэтому вместо этого мы начали писать свои собственные правила для повышения оперативности и, как мы полагаем, повышения точности.
Я призываю вас принять правила, которые, по вашему мнению, отсутствуют в Google Group SonarQube
Изменить Стратегия прошла полный круг. SonarJS теперь импортирует отчеты ESLint.
Ответ 2
Я еще не пробовал, но я только что открыл этот плагин, который кажется очень перспективным для любого проекта переднего плана:
https://github.com/groupe-sii/sonar-web-frontend-plugin
Возможно, стоит попробовать
Ответ 3
У вас есть хороший вариант здесь:
https://github.com/sleroy/SonarEsLintPlugin
Из документов:
• Установите Node.js
• Установите EsLint (3+) с помощью npm, установите -g eslint или убедитесь, что он установлен локально для вашего проекта
• Если вы устанавливаете глобально, найдите путь к EsLint и скопируйте его - будет похоже на C:\Users \
[Имя пользователя]\AppData\Roaming\npm\node_modules\eslint\bin\eslint.js в Windows
• Скопируйте файл .jar (загруженный со страницы https://github.com/sleroy/SonarEsLintPlugin/releases) в папку расширений SonarQube
• Перезапустите сервер SonarQube
• Перейдите к веб-интерфейсу SonarQube, войдите в систему как Admin, откройте Настройки
• Перейдите на вкладку "Правила", затем установите набор правил EsLint, затем примените его к своему проекту - измените активацию правила при необходимости.