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, затем примените его к своему проекту - измените активацию правила при необходимости.