Dieses Repository enthält eslint-plugin-sonarjs bis zu Version ^1.0.0 . Für Versionen >=2.0.0 gehen Sie bitte zum Repository des Sonarjs -Analysators. Die neuen Versionen von eslint-plugin-sonarjs stellen alle Sonarjs-Regeln für Eslint-Benutzer zur Verfügung, anstatt wie bei ^1.0.0 , die hier leben.
Es werden keine neuen Änderungen erwartet, die hier landen.
Sonarjs Regeln für Eslint, um Entwicklern dabei zu helfen, sauberen Code zu erstellen, indem er Fehler und verdächtige Muster erfasst.
Regeln in dieser Kategorie zielen darauf ab, Orte in Code zu finden, die eine hohe Chance haben, Fehler zu sein, dh nicht wie beabsichtigt.
no-all-duplicated-branches )no-element-overwrite )no-empty-collection )no-extra-arguments )no-identical-conditions )no-identical-expressions ) verwendet werdenno-ignored-return ) ( Nutzungstypen )no-one-iteration-loop )no-use-of-empty-return-value )non-existent-operator ) (: Schraubenschlüssel: fixierbar )Code -Gerüche oder Probleme mit der Wartbarkeit werden für Codeorte aufgeworfen, die sich in Zukunft kostspielig ändern können. Diese Regeln tragen auch dazu bei, die hohe Codequalität und Lesbarkeit zu erhalten. Und schließlich melden einige Regeln Probleme zu verschiedenen verdächtigen Codemustern.
cognitive-complexity )elseif-without-else ) enden ( deaktiviert )max-switch-cases ) habenno-collapsible-if )no-collection-size-mischeck ) (: Schraubenschlüssel: Fixierbar , Verwendungstypen )no-duplicate-string )no-duplicated-branches )no-gratuitous-expressions )no-identical-functions )no-inverted-boolean-check ) (: WNECHEN: FEELTE , BEHANDLIGT )no-nested-switch )no-nested-template-literals )no-redundant-boolean )no-redundant-jump ) (: wlarch: fixable )no-same-line-conditional ) (: WNECHEN: Fixierbar )no-small-switch ) haben.no-unused-collection )no-useless-catch ) tunprefer-immediate-return ) (: WNECHENCH: Fixierbar )prefer-object-literal )prefer-single-boolean-return ) eingewickelt werden (: WRECHEN: Fixierbar )prefer-while ) (: wrwch: fixable ) eslint-plugin-sonarjs mit npm (oder yarn ) für Ihr Projekt oder global: npm install eslint-plugin-sonarjs --save-dev # install for your project
npm install eslint-plugin-sonarjs -g # or install globallyeslint-plugin-sonarjs hinzu. Für Eslint 9: Fügen Sie Ihre Option plugins zu Ihrem eslint.config.js hinzu und fügen Sie die empfohlene Konfiguration hinzu, um alle Regeln zu aktivieren:
import sonarjs from "eslint-plugin-sonarjs";
[
sonarjs.configs.recommended,
{
"plugins": {
sonarjs,
}
}
]
Für Eslint 8: Fügen plugins Ihrer .eslintrc und plugin:sonarjs/recommended-legacy zur Option extends , um alle empfohlenen Regeln zu aktivieren:
{
"plugins" : [ " sonarjs " ],
"extends" : [ " plugin:sonarjs/recommended-legacy " ]
}{
"rules" : {
"sonarjs/cognitive-complexity" : " error " ,
"sonarjs/no-identical-expressions" : " error "
// etc.
}
}@typescript-eslint/parser als Parser für Eslint (wie wir) und setzen Sie die Option Parseroptions.Project. Dank dessen sind Typinformationen verfügbar, was für einige Regeln vorteilhaft oder sogar unerlässlich ist. Dieses Plugin bietet nur eine recommended Konfiguration. Fast alle Regeln werden in diesem Profil mit wenigen Ausnahmen aktiviert (überprüfen Sie das disabled Tag in der Liste der Regeln). Die recommended Konfiguration aktiviert Regeln mit error . Wir fügen eine Konfiguration recommended-legacy hinzu, die mit ESLINT V8 mit derselben Regelkonfiguration rückwärts kompatibel ist.
Dieses Plugin zeigt ESlint-Benutzer eine Untergruppe von JS/TS-Regeln aus Sonar-* -Produkten (auch bekannt als Sonarjs) aus. Wir haben die Regeln extrahiert, die in Eslint Core oder anderen Eslint -Plugins nicht verfügbar sind, um für die Eslint -Community von Vorteil zu sein.
Wenn Sie ein Sonarqube- oder Sonarcloud -Benutzer sind, um Ihren Code lokal abzugeben, empfehlen wir die Verwendung von SonarLint IDE -Erweiterung (verfügbar für VSCODE, JetBrains IDES und Eclipse). Sie können SonarLint mit Ihrem Sonarqube/Sonarcloud -Projekt verbinden, um die Konfiguration der Regeln, den Problemstatus usw. zu synchronisieren.
Möchten Sie an der Entwicklung des Projekts teilnehmen? Schauen Sie sich unseren beitragenden Leitfaden an!