يحتوي هذا المستودع على 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-conditionsno-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-switchno-unused-collection )no-useless-catch )prefer-immediate-return ) (: مفتاح الربط: قابل للتثبيت )prefer-object-literal )prefer-single-boolean-return ) (: وجع: Fixable )prefer-while ) (: مفتاح الربط: قابلة للتثبيت ) 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 (كما نفعل) وتعيين خيار parseroptions.project. بفضل ذلك ، تتوفر معلومات النوع ، وهي مفيدة أو حتى ضرورية لبعض القواعد. يوفر هذا البرنامج المساعد تكوين recommended فقط. يتم تنشيط جميع القواعد تقريبًا في هذا الملف الشخصي مع استثناءات قليلة (تحقق من علامة disabled في قائمة القواعد). التكوين recommended ينشط القواعد مع شدة error . نحن ندرج تكوين recommended-legacy ليكون متوافقًا مع ESLINT V8 ، مع نفس تكوين القاعدة ..
يعرض هذا البرنامج المساعد لمستخدمي ESLINT مجموعة فرعية من قواعد JS/TS من منتجات Sonar-* (AKA Sonarjs). لقد استخرجنا القواعد غير المتوفرة في Eslint Core أو غيرها من الإضافات ESLINT لتكون مفيدة لمجتمع ESLINT.
إذا كنت من مستخدمي Sonarqube أو Sonarcloud ، لتربط الكود الخاص بك محليًا ، فإننا نقترح استخدام Extension Sonarlint IDE (متوفر لـ VScode و JetBrains Ides و Eclipse). يمكنك توصيل Sonarlint بمشروع Sonarqube/Sonarcloud الخاص بك لمزامنة تكوين القواعد ، وأوضع إصدار ، إلخ.
هل تريد المشاركة في تطوير المشروع؟ إلقاء نظرة على دليلنا المساهمة!