このリポジトリには、バージョン^1.0.0までのeslint-plugin-sonarjsが含まれています。バージョン>=2.0.0については、Sonarjsアナライザーのリポジトリにアクセスしてください。 eslint-plugin-sonarjsの新しいバージョンは、Sonarjsルール^1.0.0すべてESLINTユーザーが利用できるようにします。
ここには新しい変更は予想されません。
SonarjsがESLINTのルールをルールして、開発者がバグと疑わしいパターンを検出することにより、クリーンコードを作成するのに役立ちます。
このカテゴリのルールは、バグになる可能性が高いコード内の場所を見つけることを目的としています。つまり、意図したとおりに機能しません。
no-all-duplicated-branches )がないはずですno-element-overwrite )no-empty-collection )no-extra-arguments )no-identical-conditions )no-identical-expressions )no-ignored-return )( outes-types )no-one-iteration-loop )no-use-of-empty-return-value )non-existent-operator )(:レンチ:修正可能)コードの臭い、または保守性の問題は、将来的には変化するのに費用がかかる可能性のあるコードの場所のために提起されます。これらのルールは、高いコードの品質と読みやすさを維持するのにも役立ちます。そして最後に、いくつかのルールは、異なる疑わしいコードパターンに関する問題を報告しています。
cognitive-complexity )elseif-without-else )(無効)max-switch-cases )が多すぎるはずですno-collapsible-if )no-collection-size-mischeck )(:レンチ: fixable 、 outes-types )no-duplicate-string )no-duplicated-branches )を持つべきではありませんno-gratuitous-expressions )no-identical-functions )no-inverted-boolean-check )(:レンチ:固定可能、無効)no-nested-switch )no-nested-template-literals )no-redundant-boolean )no-redundant-jump )(:レンチ:修正可能)no-same-line-conditional )(:レンチ:修正可能)no-small-switch )no-unused-collection )no-useless-catch )prefer-immediate-return )(:wrench: fixable )prefer-object-literal )prefer-single-boolean-return )に包まれるべきではありません(:wrench: fixable )prefer-while )」の代わりに使用する必要があります(:wrench: fixable ) npm (またはyarn )を使用してeslint-plugin-sonarjsをインストールします。 npm install eslint-plugin-sonarjs --save-dev # install for your project
npm install eslint-plugin-sonarjs -g # or install globallyeslint-plugin-sonarjs Eslint構成のプラグインに追加します。 ESLINT 9の場合: eslint.config.jsにpluginsオプションを追加し、すべてのルールを有効にする推奨設定を含めます。
import sonarjs from "eslint-plugin-sonarjs";
[
sonarjs.configs.recommended,
{
"plugins": {
sonarjs,
}
}
]
ESLINT 8の場合: .eslintrcおよびプラグインにpluginsオプションを追加plugin:sonarjs/recommended-legacy extendsオプションをすべて有効にして、すべての推奨ルールを有効にします。
{
"plugins" : [ " sonarjs " ],
"extends" : [ " plugin:sonarjs/recommended-legacy " ]
}{
"rules" : {
"sonarjs/cognitive-complexity" : " error " ,
"sonarjs/no-identical-expressions" : " error "
// etc.
}
}@typescript-eslint/parser Eslintのパーサーとして(私たちと同じように)使用し、Parseroptions.Projectオプションを設定します。そのおかげで、タイプ情報が利用可能です。これは、一部のルールに有益であるか、不可欠です。 このプラグインは、 recommended構成のみを提供します。いくつかの例外を除いて、ほとんどすべてのルールがこのプロファイルでアクティブになります(ルールリストのdisabledタグを確認してください)。 recommended構成は、 errorの重大度でルールをアクティブにします。同じルール構成を使用して、Eslint V8との逆方向に互換性があるように、 recommended-legacy構成を含めます。
このプラグインは、Sonar-*製品(別名Sonarjs)のJS/TSルールのサブセットをESLINTユーザーに公開します。 ESLINTコアまたは他のESLINTプラグインでは利用できないルールを抽出し、ESLINTコミュニティにとって有益である。
あなたがSonarqubeまたはSonarcloudユーザーである場合、コードをローカルにリントするために、Sonarlint IDE拡張機能(VSCODE、JetBrains IDES、Eclipseで利用可能)を使用することをお勧めします。 SonarlintをSonarqube/Sonarcloudプロジェクトに接続して、ルールの構成、問題のステータスなどを同期させることができます。
プロジェクトの開発に参加したいですか?寄付ガイドをご覧ください!