Jenkins, SonarQ et Javascript: surcharger des règles

Si vous utilisez SonarQ, il se peut qu'il affiche ce genre de choses:



Ce qui est un peu stupide.

Or il se peut qu'il affiche un grand nombre de faux positifs car:
1) Pas adapté au Web / JavaScript
2) Pas adapté aux frameworks comme Angular où nous avons potentiellement pleins de services à injecter dans le contrôleurs, et SonarQ va du coup nous sortir des erreurs car "trop de paramètres"

Il existe néanmoins un moyen simple de remédier à cela.

Dans le lien suivant, j'expliquer comment déclarer un sonar properties via jenkins: http://julienroche.blogspot.fr/2017/07/jenins-sonar-et-application-web.html

Il suffit de l'étendre afin d'injecter de la surcharge. Ces règles, vous pouvez les trouver sur le lien suivant: http://dist.sonarsource.com/reports/coverage/rules_in_javascript.html



Il suffit alors de spécifier les règles que nous ne souhaitons en utilisant le "sonar.issue.ignore.multicriteria":

# Ignore some stupid rules
sonar.issue.ignore.multicriteria=StrictMode,FunctionComplexity,ExpressionsComplex,ExcessiveParameterList,BigFunction,BigFile
sonar.issue.ignore.multicriteria.StrictMode.ruleKey=javascript:StrictMode
sonar.issue.ignore.multicriteria.StrictMode.resourceKey=**/*.js
sonar.issue.ignore.multicriteria.FunctionComplexity.ruleKey=javascript:FunctionComplexity 
sonar.issue.ignore.multicriteria.FunctionComplexity.resourceKey=**/*.js
sonar.issue.ignore.multicriteria.ExpressionsComplex.ruleKey=javascript:S1067
sonar.issue.ignore.multicriteria.ExpressionsComplex.resourceKey=**/*.js
sonar.issue.ignore.multicriteria.ExcessiveParameterList.ruleKey=javascript:ExcessiveParameterList
sonar.issue.ignore.multicriteria.ExcessiveParameterList.resourceKey=**/*.js
sonar.issue.ignore.multicriteria.BigFunction.ruleKey=javascript:S138
sonar.issue.ignore.multicriteria.BigFunction.resourceKey=**/*.js
sonar.issue.ignore.multicriteria.BigFile.ruleKey=javascript:S104
sonar.issue.ignore.multicriteria.BigFile.resourceKey=**/*.js

Commentaires

Posts les plus consultés de ce blog

ISO: liens & outils utiles

NodeJs et SSL: une petite analyse

Créer sa commande slack en quelques minutes