- Oxlint, alat lint JavaScript/TypeScript yang dikembangkan berbasis Rust, resmi dirilis dalam versi 1.0
- Performa 50~100 kali lebih cepat dibanding ESLint, mendukung lebih dari 500 aturan ESLint, serta sudah memiliki contoh penerapan nyata di perusahaan besar (Shopify, Airbnb, Mercedes-Benz, dll.)
- Bisa langsung digunakan tanpa konfigurasi dan juga mendukung portabilitas serta penggunaan bersamaan dengan konfigurasi ESLint yang sudah ada
- Mendukung integrasi editor utama (VSCode, IntelliJ, Zed, dll.) serta menyediakan LSP, dengan pesan diagnosis error yang spesifik dan tervisualisasi
- Roadmap ke depan juga telah diumumkan, termasuk aturan kustom, optimasi performa, dan konfigurasi yang lebih terperinci
Poin utama Oxlint 1.0
Performa dan penerapan skala besar
- Diimplementasikan dengan Rust sehingga dapat melakukan lint super cepat pada puluhan ribu file secara paralel
- Contoh: Airbnb melint 126 ribu file dalam 7 detik, Mercedes-Benz mencatat peningkatan kecepatan 71~97%
- Pada repositori skala terbesar, menganalisis 265 ribu file/101 aturan hanya dalam 22,5 detik
Langsung pakai & mudah diadopsi
- Setelah instalasi, bisa langsung dijalankan tanpa perlu konfigurasi
npx oxlint@latest atau langsung gunakan dengan pnpm/yarn/bun/deno
- Mendukung konfigurasi kustom
.oxlintrc.json untuk proyek besar dan lingkungan tim
- Berbasis format flat config ESLint v8, jadi terasa familier
- Konfigurasi ESLint lama dapat dimigrasikan dengan
oxlint-migrate, dan aturan duplikat dapat dinonaktifkan dengan eslint-plugin-oxlint
- Pendekatan yang direkomendasikan: jalankan oxlint dan eslint bersama untuk mendapatkan feedback yang lebih cepat
Dukungan aturan yang luas
- Mendukung seluruh aturan ESLint serta banyak aturan plugin dari typescript-eslint, unicorn, jsdoc, react, jest, dan import
- Juga mencakup aturan unik seperti bad comparison sequence, const comparisons, dan lainnya
Konfigurasi yang fleksibel
- Mendukung konfigurasi bertingkat per folder, override per glob, dan ekstensi shared config
- Memungkinkan tim menjaga standar kualitas kode yang konsisten
Integrasi editor
- Menyediakan ekstensi untuk VSCode, IntelliJ/WebStorm, Zed, dll. serta dukungan LSP
- Memberikan diagnosis error instan dan saran perbaikan di berbagai IDE
Pesan diagnosis
- Tidak hanya menjelaskan error secara sederhana, tetapi juga menampilkan penyebab dan cara penyelesaiannya secara visual
Benchmark
| Alat |
Waktu eksekusi |
| oxlint (multi-thread) |
615ms |
| oxlint (single-thread) |
1.8 detik |
| eslint |
33.5 detik |
Roadmap
- Dukungan aturan kustom berbasis JavaScript akan ditambahkan
- Akan terus ditambahkan optimasi performa berkelanjutan, konfigurasi glob yang lebih rinci ala ESLint v9, dan lainnya
4 komentar
Apakah Rust adalah cheat code untuk meningkatkan performa?
Sepertinya dukungan untuk vue atau nestjs masih belum sepenuhnya lengkap ya.
https://github.com/oxc-project/oxc/issues/481
Oxlint - linter JS yang 50~100 kali lebih cepat daripada ESLint