ข้ามไปยังเนื้อหาหลัก
โปรเจกต์ทั้งหมด

โปรเจกต์โอเพนซอร์ส

NextRanger

รากฐานวิศวกรรม Next.js ที่เข้มงวด ซึ่งการตัดสินใจด้านสถาปัตยกรรมถูกบังคับใช้ด้วยเครื่องมือ แทนที่จะเป็นเพียงเอกสารที่ถูกลืม

ภาพรวม

NextRanger คือจุดเริ่มต้นที่ผมใช้สำหรับงาน frontend ที่จริงจัง แนวคิดพื้นฐานคือข้อตกลงที่ทีมยอมรับแต่ไม่สามารถบังคับใช้ได้จะค่อยๆ เสื่อมสลายไปตามเวลา ดังนั้นกฎสำคัญทุกข้อจึงถูกแสดงออกมาเป็นกฎ lint เป็นชนิดข้อมูล หรือเป็นการทดสอบที่ล้มเหลว แทนที่จะเป็นย่อหน้าใน README

สถาปัตยกรรม

Next.js App Router พร้อม Server Components เป็นค่าเริ่มต้น TypeScript แบบ strict และโครงสร้างแบบ module-first ที่มีการพึ่งพาทางเดียว: เส้นทางพึ่งพาโมดูล โมดูลพึ่งพาโค้ดที่ใช้ร่วมกัน โค้ดที่ใช้ร่วมกันพึ่งพา wrapper ของ vendor และไม่มีทิศทางย้อนกลับ แต่ละแพ็กเกจจากบุคคลที่สามมี wrapper ที่รับผิดชอบเพียงหนึ่งเดียว ทำให้การอัปเกรดและการจัดการข้อผิดพลาดอยู่ในไฟล์ที่ถูกรีวิวเพียงไฟล์เดียว

งานวิศวกรรม

ปลั๊กอิน ESLint ที่กำหนดเองบังคับใช้นโยบายเลเยอร์ ความเป็นเจ้าของแพ็กเกจ คอมโพเนนต์ที่จำกัดเฉพาะ TSX และความครอบคลุมของการแปลภาษา Vitest และ Playwright ครอบคลุมการทดสอบ unit, integration, end-to-end, การเข้าถึง และการทดสอบภาพ พร้อมทั้งการรองรับหลายภาษาแบบ RTL, CSP ที่ใช้ nonce และเกต CI ที่รันชุดทดสอบทั้งหมดก่อนการรวมโค้ดทุกครั้ง

บทบาท
ผู้เขียน ออกแบบโมเดลสถาปัตยกรรม ชุดกฎ ESLint ที่กำหนดเอง และเกตควบคุมคุณภาพ
หมวดหมู่
Full-stack
สแตก
Next.jsReactTypeScriptESLintVitestPlaywrightTailwind CSS
ภาษาโปรแกรม
TypeScript