ที่เก็บนี้มี 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 ซ้ำอย่างมากที่สุดควรได้รับการ refactorno-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-expressionsno-identical-functions )no-inverted-boolean-check ) (: ประแจ: แก้ไขได้ ปิดใช้งาน )no-nested-switchno-nested-template-literalsno-redundant-boolean )no-redundant-jump ) (: ประแจ: แก้ไขได้ )no-same-line-conditional ) (: ประแจ: แก้ไขได้ )no-small-switch )no-unused-collection )no-useless-catch )prefer-immediate-return คืนหรือโยนทันทีprefer-object-literalprefer-single-boolean-return then-else"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 เพื่อผ้าสำลีของคุณในพื้นที่เราขอแนะนำให้ใช้ส่วนขยาย Sonarlint IDE (พร้อมใช้งานสำหรับ vScode, jetbrains ides และ eclipse) คุณสามารถเชื่อมต่อ Sonarlint กับโครงการ Sonarqube/Sonarcloud ของคุณเพื่อซิงโครไนซ์การกำหนดค่ากฎสถานะปัญหา ฯลฯ
คุณต้องการมีส่วนร่วมในการพัฒนาโครงการหรือไม่? ดูคู่มือการสนับสนุนของเรา!