Este repositorio contiene eslint-plugin-sonarjs hasta la versión ^1.0.0 . Para versiones >=2.0.0 vaya al repositorio del analizador SONARJS. Las nuevas versiones de eslint-plugin-sonarjs hacen que todas las reglas de Sonarjs estén disponibles para los usuarios de Eslint, en lugar de un subconjunto como estaba con ^1.0.0 viviendo aquí.
No se espera que nuevos cambios aterricen aquí.
SONARJS Reglas para Eslint para ayudar a los desarrolladores a producir código limpio al detectar errores y patrones sospechosos.
Las reglas en esta categoría tienen como objetivo encontrar lugares en código que tengan una alta probabilidad de ser errores, es decir, no funcionan según lo previsto.
no-all-duplicated-branches )no-element-overwrite )no-empty-collection )no-extra-arguments )no-identical-conditions )no-identical-expressions )no-ignored-return ) ( usos tipos )no-one-iteration-loop )no-use-of-empty-return-value )non-existent-operator ) (: llave de llave: fijable )Los olores de código, o problemas de mantenimiento, se plantean para lugares de código que podrían ser costosos de cambiar en el futuro. Estas reglas también ayudan a mantener la alta calidad y legibilidad del código. Y finalmente, algunas reglas informan cuestiones sobre diferentes patrones de código sospechoso.
cognitive-complexity )elseif-without-else ) ( deshabilitado )max-switch-cases )no-collapsible-if )no-collection-size-mischeck ) (: Wrench: fijable , tipos de usos )no-duplicate-string )no-duplicated-branches )no-gratuitous-expressions )no-identical-functions )no-inverted-boolean-check ) (: llave: fijable , deshabilitado )no-nested-switch )no-nested-template-literals )no-redundant-boolean )no-redundant-jump ) (: llave: fijable )no-same-line-conditional ) (: Wrench: Fixable )no-small-switchno-unused-collection )no-useless-catch )prefer-immediate-return ) (: llave de llave: fijable )prefer-object-literal )prefer-single-boolean-return ) (: llave: fijable )prefer-while ) (: llave: fijable ) eslint-plugin-sonarjs usando npm (o yarn ) para su proyecto o a nivel mundial: npm install eslint-plugin-sonarjs --save-dev # install for your project
npm install eslint-plugin-sonarjs -g # or install globallyeslint-plugin-sonarjs a los complementos de su configuración de Eslint. Para Eslint 9: Agregue la opción plugins a su eslint.config.js e incluya la configuración recomendada para habilitar todas las reglas:
import sonarjs from "eslint-plugin-sonarjs";
[
sonarjs.configs.recommended,
{
"plugins": {
sonarjs,
}
}
]
Para Eslint 8: Agregue la opción plugins a su .eslintrc y plugin:sonarjs/recommended-legacy a la opción extends para habilitar todas las reglas recomendadas:
{
"plugins" : [ " sonarjs " ],
"extends" : [ " plugin:sonarjs/recommended-legacy " ]
}{
"rules" : {
"sonarjs/cognitive-complexity" : " error " ,
"sonarjs/no-identical-expressions" : " error "
// etc.
}
}@typescript-eslint/parser como analizador para Eslint (como lo hacemos) y establezca la opción parseroptions.project. Gracias a él, la información de tipo está disponible, que es beneficiosa o incluso esencial para algunas reglas. Este complemento proporciona solo una configuración recommended . Casi todas las reglas se activan en este perfil con algunas excepciones (verifique la etiqueta disabled en la lista de reglas). La configuración recommended activa reglas con gravedad error . Incluimos una configuración recommended-legacy para ser compatible con Backward con Eslint V8, con la misma configuración de reglas.
Este complemento expone a los usuarios de Eslint un subconjunto de reglas JS/TS de productos sonar-* (también conocido como Sonarjs). Extrajimos las reglas que no están disponibles en el núcleo de Eslint u otros complementos de Eslint para ser beneficiosos para la comunidad de Eslint.
Si usted es un usuario de Sonarqube o Sonarcloud, para vincular su código localmente, sugerimos usar la extensión IDE de Sonarlint (disponible para VScode, JetBrains IDES y Eclipse). Puede conectar Sonarlint a su proyecto Sonarqube/Sonarcloud para sincronizar la configuración de reglas, estados de emisión, etc.
¿Quieres participar en el desarrollo del proyecto? ¡Echa un vistazo a nuestra guía contribuyente!