- Oxlint, công cụ lint cho JavaScript/TypeScript được phát triển dựa trên Rust, đã chính thức ra mắt phiên bản 1.0
- Hiệu năng nhanh hơn 50~100 lần so với ESLint, hỗ trợ hơn 500 quy tắc của ESLint, và đã có các trường hợp áp dụng thực tế tại các doanh nghiệp lớn như Shopify, Airbnb, Mercedes-Benz
- Có thể dùng ngay mà không cần cấu hình, đồng thời hỗ trợ khả năng di chuyển và chạy song song với cấu hình ESLint hiện có
- Hỗ trợ tích hợp với các trình soạn thảo phổ biến (VSCode, IntelliJ, Zed, v.v.) và cung cấp LSP, cùng các thông báo chẩn đoán lỗi cụ thể và trực quan
- Cũng đã công bố lộ trình tiếp theo như quy tắc tùy chỉnh, tối ưu hiệu năng, cấu hình chi tiết hơn, v.v.
Những điểm chính của Oxlint 1.0
Hiệu năng và triển khai ở quy mô lớn
- Được triển khai bằng Rust nên có thể lint hàng chục nghìn tệp với tốc độ cực cao khi chạy đồng thời
- Ví dụ: lint 126 nghìn tệp của Airbnb trong 7 giây, Mercedes-Benz cải thiện tốc độ 71~97%
- Trên kho mã lớn nhất, phân tích 265 nghìn tệp / 101 quy tắc chỉ trong 22.5 giây
Dùng ngay & dễ áp dụng
- Chỉ cần cài đặt là có thể chạy ngay mà không cần cấu hình
- Có thể dùng trực tiếp với
npx oxlint@latest hoặc pnpm/yarn/bun/deno
- Hỗ trợ cấu hình tùy chỉnh
.oxlintrc.json cho các dự án lớn và môi trường làm việc nhóm
- Dựa trên định dạng ESLint v8 flat config nên là cách làm quen thuộc
- Có thể chuyển cấu hình ESLint hiện có bằng
oxlint-migrate, và vô hiệu hóa các quy tắc trùng lặp bằng eslint-plugin-oxlint
- Cách dùng được khuyến nghị: chạy oxlint cùng với eslint để có phản hồi nhanh hơn
Hỗ trợ quy tắc rộng rãi
- Hỗ trợ toàn bộ quy tắc ESLint cùng nhiều quy tắc từ các plugin typescript-eslint, unicorn, jsdoc, react, jest, import
- Cũng bao gồm các quy tắc riêng như bad comparison sequence, const comparisons
Cấu hình linh hoạt
- Hỗ trợ cấu hình lồng nhau theo thư mục, override theo từng glob, mở rộng cấu hình dùng chung
- Giúp duy trì tiêu chuẩn chất lượng mã nhất quán giữa các nhóm
Tích hợp trình soạn thảo
- Cung cấp extension cho VSCode, IntelliJ/WebStorm, Zed, v.v. và hỗ trợ LSP
- Mang lại chẩn đoán lỗi tức thì và gợi ý sửa lỗi trong nhiều IDE khác nhau
Thông báo chẩn đoán
- Không chỉ mô tả lỗi đơn thuần mà còn trực quan hóa nguyên nhân và hướng dẫn cách khắc phục
Benchmark
| Công cụ |
Thời gian chạy |
| oxlint (đa luồng) |
615ms |
| oxlint (đơn luồng) |
1.8 giây |
| eslint |
33.5 giây |
Lộ trình
- Dự kiến hỗ trợ quy tắc tùy chỉnh dựa trên JavaScript
- Sẽ tiếp tục bổ sung tối ưu hiệu năng, cấu hình chi tiết theo từng glob theo kiểu ESLint v9, v.v.
4 bình luận
Rust có phải là cheat code để cải thiện hiệu năng không
Có vẻ như hiện vẫn chưa hỗ trợ hoàn hảo cho vue hay nestjs.
https://github.com/oxc-project/oxc/issues/481
Oxlint - trình lint JS nhanh hơn ESLint từ 50~100 lần