該存儲庫包含eslint-plugin-sonarjs到版本^1.0.0 。對於版本>=2.0.0請轉到Sonarjs分析儀的存儲庫。 eslint-plugin-sonarjs的新版本使所有Sonarjs規則都可用於Eslint用戶,而不是^1.0.0居住在這裡的子集。
預計不會在這裡降落新的變化。
Sonarjs的ESLINT規則,可以通過檢測錯誤和可疑模式來幫助開發人員生成乾淨的代碼。
此類別中的規則旨在找到有很大機會成為錯誤的代碼中的位置,即不按預期工作。
no-all-duplicated-branches )no-element-overwrite )no-empty-collection )no-extra-arguments arguments )no-identical-conditions )no-identical-expressions )no-ignored-return )(使用類型)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 )(:扳手:可固定,用途類型)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 Return )(:扳手:可固定)prefer-object-literal )prefer-single-boolean-return return )(:wrench: fixable )prefer-while )(:扳手:可固定) 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:將plugins選項添加到您的eslint.config.js ,並包含推薦的配置以啟用所有規則:
import sonarjs from "eslint-plugin-sonarjs";
[
sonarjs.configs.recommended,
{
"plugins": {
sonarjs,
}
}
]
對於ESLINT 8:將plugins選項添加到您的.eslintrc和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嚴重性的規則。我們包括recommended-legacy配置,該配置與ESLINT V8兼容,並具有相同的規則配置。
該插件向Eslint用戶展示了Sonar-*產品(又稱Sonarjs)的JS/TS規則的子集。我們提取了Eslint Core或其他ESLINT插件中無法使用的規則,以對ESLINT社區有益。
如果您是Sonarqube或Sonarcloud用戶,請在本地填寫代碼,我們建議使用Sonarlint IDE擴展名(可用於VSCODE,JETBRAINS IDES和ECLIPSE)。您可以將聲音連接到Sonarqube/Sonarcloud項目以同步規則配置,發行狀態等。
您想參加該項目的開發嗎?看看我們的貢獻指南!