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
Enregistrer un commentaire