Este repositório contém eslint-plugin-sonarjs até a versão ^1.0.0 . Para versões >=2.0.0 vá para o repositório do analisador SONARJS. As novas versões do eslint-plugin-sonarjs disponibilizam todas as regras do SONARJS para usuários de ESLint, em vez de um subconjunto, como era com ^1.0.0 morando aqui.
Não se espera que novas mudanças aterrissem aqui.
As regras do SONARJS para ESLint para ajudar os desenvolvedores a produzir código limpo, detectando bugs e padrões suspeitos.
As regras nesta categoria visam encontrar locais em código que tenham uma grande chance de serem bugs, ou seja, não funcionam conforme o pretendido.
no-all-duplicated-branches )no-element-overwrite )no-empty-collection )no-extra-arguments )no-identical-conditions )no-identical-expressions )no-ignored-return ) ( tipos de uso )no-one-iteration-loop )no-use-of-empty-return-value )non-existent-operator ) (: chave: fixável )Os cheiros de código, ou problemas de manutenção, são levantados para locais de código que podem ser caros para mudar no futuro. Essas regras também ajudam a manter a alta qualidade e a legibilidade do código. E, finalmente, algumas regras relatam questões sobre diferentes padrões de código suspeitos.
cognitive-complexity )elseif-without-else ) ( desativado )max-switch-cases )no-collapsible-if )no-collection-size-mischeck ) (: chave: corrigível , tipos de uso )no-duplicate-string )no-duplicated-branches )no-gratuitous-expressions )no-identical-functions )no-inverted-boolean-check ) (: chave: corrigível , desativado )no-nested-switch )no-nested-template-literals )no-redundant-boolean )no-redundant-jump ) (: chave: fixável )no-same-line-conditional ) (: chave inglesa: fixável )no-small-switch )no-unused-collection )no-useless-catch )prefer-immediate-return ) (: chave: fixável )prefer-object-literal )prefer-single-boolean-return ) (: chaveiro: fixável )prefer-while ) (: chave: corrigível ) eslint-plugin-sonarjs usando npm (ou yarn ) para o seu projeto ou globalmente: npm install eslint-plugin-sonarjs --save-dev # install for your project
npm install eslint-plugin-sonarjs -g # or install globallyeslint-plugin-sonarjs aos plugins da sua configuração ESLint. Para Eslint 9: Adicione a opção plugins ao seu eslint.config.js e inclua a configuração recomendada para ativar todas as regras:
import sonarjs from "eslint-plugin-sonarjs";
[
sonarjs.configs.recommended,
{
"plugins": {
sonarjs,
}
}
]
Para Eslint 8: Adicione a opção plugins ao seu .eslintrc e plugin:sonarjs/recommended-legacy à opção extends para permitir todas as regras recomendadas:
{
"plugins" : [ " sonarjs " ],
"extends" : [ " plugin:sonarjs/recommended-legacy " ]
}{
"rules" : {
"sonarjs/cognitive-complexity" : " error " ,
"sonarjs/no-identical-expressions" : " error "
// etc.
}
}@typescript-eslint/parser como um analisador para ESLint (como nós) e defina a opção Parseroptions.project. Graças a ele, as informações do tipo estão disponíveis, o que é benéfico ou mesmo essencial para algumas regras. Este plug -in fornece apenas uma configuração recommended . Quase todas as regras são ativadas neste perfil com algumas exceções (verifique a tag disabled na lista de regras). A configuração recommended ativa as regras com a gravidade error . Incluímos uma configuração recommended-legacy para ser compatível com o Eslint V8, com a mesma configuração de regra.
Este plug-in expõe aos usuários de ESLint um subconjunto de regras JS/TS dos produtos Sonar-* (também conhecidos como SONARJS). Extraímos as regras que não estão disponíveis no Eslint Core ou em outros plugins ESLint para serem benéficos para a comunidade Eslint.
Se você é um usuário de sonarqube ou sonarcoud, para fazer seu código localmente, sugerimos o uso de extensão Sonarlint IDE (disponível para VSCode, JetBrains Ides e Eclipse). Você pode conectar o Sonarlint ao seu projeto Sonarqube/SonarCloud para sincronizar a configuração de regras, status de emissão, etc.
Você quer participar do desenvolvimento do projeto? Dê uma olhada no nosso guia contribuinte!