Этот репозиторий содержит 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 )no-identical-conditions )no-identical-expressions )no-ignored-return ) ( используют типы )no-one-iteration-loop )no-use-of-empty-return-valuenon-existent-operator ) (: ключ: Fixable )Запах кода или проблемы с обслуживанием поднимается для мест кода, которые могут быть дорогостоящими для изменения в будущем. Эти правила также помогают сохранить высокое качество кода и читаемость. И, наконец, некоторые правила сообщают о проблемах с различными подозрительными шаблонами кода.
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 ) (: ключ: Fixable , отключен )no-nested-switch )no-nested-template-literals )no-redundant-boolean )no-redundant-jump ) (: ключ: Fixable )no-same-line-conditional ) (: ключ: Fixable )no-small-switch ).no-unused-collection )no-useless-catch ).prefer-immediate-return ) (: ключ: Fixable )prefer-object-literal )prefer-single-boolean-return ) (: wrench: fixable )prefer-while ) (: wrench: fixable ) eslint-plugin-sonarjs используя npm (или yarn ) для вашего проекта или во всем мире: 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 (как мы делаем) и установите опцию проведенного анализа. Благодаря этому доступна информация о типе, что полезно или даже необходимо для некоторых правил. Этот плагин обеспечивает только recommended конфигурацию. Почти все правила активируются в этом профиле с несколькими исключениями (проверьте тег disabled в списке правил). recommended конфигурация активирует правила с серьезностью error . Мы включаем recommended-legacy конфигурации, которая будет обратной совместимой с Eslint V8, с той же конфигурацией правила.
Этот плагин предоставляет пользователям Eslint подмножество правил JS/TS из продуктов Sonar* (он же Sonarjs). Мы извлекли правила, которые недоступны в Eslint Core или других плагинах Eslint, чтобы быть полезными для сообщества Eslint.
Если вы пользователь Sonarqube или Sonarcloud, чтобы локально вырвать свой код, мы предлагаем использовать расширение Sonarlint IDE (доступно для VSCODE, JetBrains IDES и Eclipse). Вы можете подключить Sonarlint с проектом Sonarqube/Sonarcloud, чтобы синхронизировать конфигурацию правил, статусы выпуска и т. Д.
Вы хотите участвовать в разработке проекта? Посмотрите на наше руководство!