15 คะแนน โดย GN⁺ 2025-06-17 | 4 ความคิดเห็น | แชร์ทาง WhatsApp
  • Oxlint เครื่องมือ lint สำหรับ JavaScript/TypeScript ที่พัฒนาด้วย Rust เปิดตัวเวอร์ชัน 1.0 อย่างเป็นทางการแล้ว
  • ทำงานได้เร็วกว่า ESLint 50~100 เท่า, รองรับกฎของ ESLint มากกว่า 500 ข้อ และมีกรณีใช้งานจริงในองค์กรขนาดใหญ่อย่าง Shopify, Airbnb, Mercedes-Benz เป็นต้น
  • ใช้งานได้ทันทีโดยไม่ต้องตั้งค่า และรองรับทั้ง การย้ายค่าตั้งเดิม รวมถึง การใช้งานร่วมกัน กับ ESLint
  • รองรับ การเชื่อมต่อกับเอดิเตอร์หลัก (VSCode, IntelliJ, Zed เป็นต้น) และมี LSP พร้อมข้อความวินิจฉัยข้อผิดพลาดที่ละเอียดและแสดงผลเข้าใจง่าย
  • ยังเผย โรดแมปในอนาคต เช่น กฎแบบกำหนดเอง, การเพิ่มประสิทธิภาพ, และการตั้งค่าที่ละเอียดมากขึ้น

ไฮไลต์สำคัญของ Oxlint 1.0

ประสิทธิภาพและการใช้งานในระดับใหญ่

  • พัฒนาด้วย Rust ทำให้ lint ไฟล์นับหมื่นได้รวดเร็วมากเมื่อรันพร้อมกัน
  • ตัวอย่าง: lint ไฟล์ 126,000 ไฟล์ของ Airbnb ได้ใน 7 วินาที, ส่วน Mercedes-Benz เร็วขึ้น 71~97%
  • ในรีโพซิทอรีขนาดใหญ่ที่สุด วิเคราะห์ไฟล์ 265,000 ไฟล์ด้วยกฎ 101 ข้อได้ภายใน 22.5 วินาที

ใช้งานได้ทันที & นำไปใช้ได้ง่าย

  • ติดตั้งแล้ว รันได้ทันทีโดยไม่ต้องตั้งค่า
    • ใช้งานได้ทันทีด้วย npx oxlint@latest หรือผ่าน pnpm/yarn/bun/deno
  • รองรับการตั้งค่าแบบกำหนดเองผ่าน .oxlintrc.json สำหรับโปรเจกต์ขนาดใหญ่และสภาพแวดล้อมแบบทีม
    • อิงตามฟอร์แมต flat config ของ ESLint v8 จึงคุ้นเคยและใช้งานง่าย
    • ย้ายค่าตั้งเดิมจาก ESLint ได้ด้วย oxlint-migrate และปิดกฎที่ซ้ำซ้อนได้ด้วย eslint-plugin-oxlint
  • แนวทางที่แนะนำ: รัน oxlint ร่วมกับ eslint เพื่อรับ feedback ได้เร็วขึ้น

รองรับกฎอย่างกว้างขวาง

  • รองรับ กฎทั้งหมดของ ESLint และกฎจำนวนมากจากปลั๊กอิน typescript-eslint, unicorn, jsdoc, react, jest, import
  • มีกฎเฉพาะของตัวเองด้วย เช่น bad comparison sequence, const comparisons

การตั้งค่าที่ยืดหยุ่น

  • รองรับ การตั้งค่าแบบซ้อนตามโฟลเดอร์, override ตาม glob, และการขยาย shared config
  • ช่วยให้ทีมรักษามาตรฐานคุณภาพโค้ดให้สม่ำเสมอได้

การเชื่อมต่อกับเอดิเตอร์

  • มีส่วนขยายสำหรับ VSCode, IntelliJ/WebStorm, Zed เป็นต้น และรองรับ LSP
  • ช่วยให้ วินิจฉัยข้อผิดพลาดและแนะนำการแก้ไขได้ทันที ใน IDE หลากหลายตัว

ข้อความวินิจฉัย

  • ไม่ได้มีแค่คำอธิบายข้อผิดพลาดแบบง่าย ๆ แต่ยัง แสดงสาเหตุและแนวทางแก้ไขแบบมองเห็นได้ชัดเจน

Benchmark

เครื่องมือ เวลาในการรัน
oxlint(มัลติเธรด) 615ms
oxlint(เธรดเดียว) 1.8 วินาที
eslint 33.5 วินาที

โรดแมป

  • เตรียมรองรับ custom rule ที่เขียนด้วย JavaScript
  • มีแผนเพิ่ม การปรับแต่งประสิทธิภาพ อย่างต่อเนื่อง และเพิ่มการตั้งค่าแบบละเอียดตาม glob ในแนวทางของ ESLint v9

4 ความคิดเห็น

 
whitelips 2025-06-17

Rust คือคีย์ลัดโกงเพื่อเพิ่มประสิทธิภาพหรือเปล่า

 
blizard4479 2025-06-17

ดูเหมือนว่ายังไม่ได้รองรับ vue หรือ nestjs อย่างสมบูรณ์นะครับ