eslint-plugin-project-โครงสร้าง
ปลั๊กอิน Eslint ที่ทรงพลังพร้อมกฎเพื่อช่วยให้คุณบรรลุโครงการที่ปรับขนาดได้สอดคล้องและมีโครงสร้างที่ดี
สร้างกรอบของคุณเอง! กำหนดโครงสร้างโฟลเดอร์องค์ประกอบไฟล์การตั้งชื่อขั้นสูงและสร้างโมดูลอิสระ
นำโครงการของคุณไปสู่อีกระดับและประหยัดเวลาโดยการตรวจสอบหลักการสำคัญของโครงการที่มีสุขภาพดีโดยอัตโนมัติ!
- ข้อมูลทั่วไป
- สนามเด็กเล่นสำหรับกฎโครงสร้างของโครงการ ESLINT-PLUGIN
ตรวจสอบรุ่นล่าสุดและอัปเดตอยู่พร้อมกับคุณสมบัติและการเปลี่ยนแปลงใหม่ ๆ
เป็นส่วนหนึ่งของชุมชน!
ทิ้งไว้และแบ่งปันลิงค์กับเพื่อนของคุณ
- หากคุณมีคำถามใด ๆ หรือต้องการความช่วยเหลือในการสร้างการกำหนดค่าที่ตรงกับความต้องการของคุณความช่วยเหลือ
- หากคุณพบข้อผิดพลาดหรือข้อผิดพลาดในเอกสารปัญหารายงาน
- หากคุณมีความคิดสำหรับคุณสมบัติใหม่หรือการปรับปรุงแนวคิดที่มีอยู่ความคิด
- หากคุณสนใจที่จะพูดคุยเกี่ยวกับโครงสร้างโครงการในกรอบต่าง ๆ หรือต้องการลงคะแนนในแนวคิดที่เสนอการอภิปราย
เอกสาร
- โครงสร้างโครงสร้าง/โฟลเดอร์
- โครงสร้างโครงการ/โมดูลอิสระ
- โครงสร้างโครงการ/ไฟล์
โครงสร้าง - โครงสร้าง/โฟลเดอร์ - โครงสร้าง
บังคับใช้กฎเกี่ยวกับโครงสร้างโฟลเดอร์เพื่อให้โครงการของคุณสอดคล้องกันเป็นระเบียบและคิดออกมาอย่างดี
- การตรวจสอบความถูกต้องของโครงสร้างโฟลเดอร์ ไฟล์/โฟลเดอร์ใด ๆ ที่อยู่นอกโครงสร้างจะถือเป็นข้อผิดพลาด
- ชื่อไฟล์/โฟลเดอร์การตรวจสอบความถูกต้องของ Regex พร้อมคุณสมบัติเช่น WildCard
* และการ . ในฐานะตัวละครพร้อมกับสิ่งอำนวยความสะดวกอื่น ๆ - สร้างในการตรวจสอบกรณี
- สืบทอดชื่อโฟลเดอร์ ไฟล์/โฟลเดอร์สืบทอดชื่อของโฟลเดอร์ที่อยู่ ตัวเลือกในการเพิ่มคำนำหน้า/คำต่อท้ายของคุณเองหรือเปลี่ยนเคส
- การบังคับใช้การมีอยู่ของไฟล์/โฟลเดอร์เมื่อมีไฟล์/โฟลเดอร์เฉพาะอยู่ ตัวอย่างเช่นถ้า
./src/Component.tsx มีอยู่แล้ว ./src/Component.test.tsx และ ./src/stories/Component.stories.tsx ต้องมีอยู่ด้วย - กฎที่ใช้ซ้ำได้สำหรับโครงสร้างโฟลเดอร์
- ตัวเลือกในการสร้างไฟล์กำหนดค่าแยกต่างหากพร้อมการสนับสนุน typeScript
- บังคับให้โครงสร้างซ้อน/แบนสำหรับโฟลเดอร์ที่กำหนด
- รองรับการขยายไฟล์ทั้งหมด
- การเรียกซ้ำโฟลเดอร์ คุณสามารถสร้างโครงสร้างโฟลเดอร์ซ้ำ ๆ และกำหนดขีด จำกัด บนความลึกของการทำรัง นอกจากนี้ยังมีตัวเลือกในการเปลี่ยนกฎในระดับสุดท้ายเช่นการทำให้โครงสร้างโฟลเดอร์แบน
- การทำซ้ำน้อยลงและข้อความแสดงข้อผิดพลาดที่แม่นยำแม้สำหรับโฟลเดอร์ซ้อนกันอย่างลึกซึ้ง (การเรียกซ้ำ) โดยแสดงโครงสร้างโฟลเดอร์เป็นต้นไม้
- การตรวจสอบความยาวของเส้นทางและการแจ้งเตือนเมื่อเกินขีด จำกัด
โครงการ - โครงสร้าง/อิสระ - โมดูล
หลักการสำคัญของโครงการที่มีสุขภาพดีคือการป้องกันการสร้างต้นไม้พึ่งพาจำนวนมากซึ่งการลบหรือแก้ไขคุณลักษณะหนึ่งทำให้เกิดปฏิกิริยาลูกโซ่ที่ส่งผลกระทบต่อโครงการทั้งหมด
สร้างโมดูลที่คุณควบคุมสิ่งที่สามารถนำเข้าได้ กำจัดการพึ่งพาที่ไม่จำเป็นระหว่างโฟลเดอร์หรือไฟล์เพื่อสร้างฟังก์ชันอิสระอย่างแท้จริง
- การสร้างโมดูลที่คุณควบคุมสิ่งที่สามารถนำเข้าได้ (เช่นประเภทฟังก์ชั่นส่วนประกอบของฟังก์ชั่นหนึ่งไม่สามารถนำเข้าสู่ฟังก์ชั่นอื่นได้)
- ความสามารถในการสร้างกฎที่มีรายละเอียดมากแม้สำหรับโครงสร้างโฟลเดอร์ซ้อนกัน ไม่ว่าจะเป็นโมดูลขนาดใหญ่โมดูลย่อยหรือไฟล์เดียวไม่มีข้อ จำกัด
- การสนับสนุนการนำเข้าทุกประเภทรวมถึง
require() , import() , jest.mock() และ jest.requireActual() รวมถึง ExportAllDeclaration และ ExportNamedDeclaration - การปิดใช้งานการนำเข้าภายนอก (node_modules) สำหรับโมดูลที่กำหนด (ตัวเลือกในการเพิ่มข้อยกเว้น)
- การสนับสนุนการนำเข้าที่ไม่เกี่ยวข้อง/สัมพัทธ์
- ตัวแก้ไขการนำเข้าในตัวดังนั้นคุณไม่จำเป็นต้องติดตั้งปลั๊กอินเพิ่มเติมใด ๆ นอกจากนี้ยังมีการกำหนดค่าในตัวสำหรับส่วนขยายไฟล์ที่ได้รับความนิยมมากที่สุดดังนั้นคุณไม่จำเป็นต้องกำหนดค่าอะไรด้วยตนเอง
- รูปแบบการนำเข้าที่นำมาใช้ซ้ำได้
- สนับสนุนนามแฝงเส้นทาง ปลั๊กอินจะตรวจจับ tsconfig.json ของคุณโดยอัตโนมัติและใช้การตั้งค่าของคุณ นอกจากนี้ยังมีตัวเลือกในการป้อนด้วยตนเอง
- ตัวเลือกในการสร้างไฟล์กำหนดค่าแยกต่างหากพร้อมการสนับสนุน typeScript
Project - โครงสร้าง/ไฟล์ - การจัดวาง
เขียนไฟล์ในอุดมคติของคุณ!
มีการควบคุมคำสั่งซื้อและปริมาณของตัวเลือกอย่างเต็มที่
กำหนดอนุสัญญาการตั้งชื่อขั้นสูงและห้ามการใช้ตัวเลือกเฉพาะในไฟล์ที่กำหนด
- การตรวจสอบความถูกต้องของการจัดองค์ประกอบไฟล์
- ตัวเลือกที่รองรับ:
class , function , arrowFunction , type , interface , enum , variable , variableExpression , propertyDefinition - การสืบทอดชื่อไฟล์เป็นชื่อตัวเลือก ตัวเลือกในการเพิ่มคำนำหน้า/คำต่อท้ายของคุณเองเปลี่ยนเคสหรือลบบางส่วนของชื่อไฟล์
- ห้ามมิให้ใช้ตัวเลือกที่กำหนดในไฟล์ที่กำหนด ตัวอย่างเช่น
**/*.consts.ts ไฟล์สามารถมีตัวแปรเท่านั้น **/*.types.ts ไฟล์สามารถมีอินเทอร์เฟซและประเภทเท่านั้น - กำหนดลำดับที่ตัวเลือกของคุณควรปรากฏในไฟล์ที่กำหนด รองรับ
--fix เพื่อแก้ไขคำสั่งซื้อโดยอัตโนมัติ - กฎสำหรับตัวเลือกที่ส่งออกตัวเลือกในรูทของไฟล์และตัวเลือกซ้อน/ทั้งหมดในไฟล์ พวกเขาสามารถใช้ร่วมกันได้
- การบังคับใช้ส่วนประกอบ/ฟังก์ชั่น/คลาสหลักสูงสุดหนึ่งรายการต่อไฟล์
- ความสามารถในการกำหนดขีด จำกัด เฉพาะเกี่ยวกับการเกิดขึ้นของตัวเลือกบางตัวในรูทของไฟล์ที่กำหนด
- ชื่อตัวเลือกการตรวจสอบความถูกต้องของ Regex
- สร้างในการตรวจสอบกรณี
- กฎที่แตกต่างกันสำหรับไฟล์ต่าง ๆ
- ตัวเลือกในการสร้างไฟล์กำหนดค่าแยกต่างหากพร้อมการสนับสนุน typeScript
ขอขอบคุณผู้สนับสนุนทุกคนที่ให้การสนับสนุน! คุณให้ความแข็งแกร่งและแรงจูงใจแก่ฉันต่อไป!
ขอบคุณคุณฉันสามารถช่วยผู้อื่นสร้างโครงการในอุดมคติของพวกเขา!