Situs web | Konfigurasikan ESLint | Aturan | Berkontribusi pada ESLint | Laporkan Bug | Kode Etik | Twitter | Perselisihan | mastodon
ESLint adalah alat untuk mengidentifikasi dan melaporkan pola yang ditemukan dalam kode ECMAScript/JavaScript. Dalam banyak hal, ini mirip dengan JSLint dan JSHint dengan beberapa pengecualian:
Prasyarat: Node.js ( ^18.18.0
, ^20.9.0
, atau >=21.1.0
) dibuat dengan dukungan SSL. (Jika Anda menggunakan distribusi resmi Node.js, SSL selalu ada di dalamnya.)
Anda dapat menginstal dan mengkonfigurasi ESLint menggunakan perintah ini:
npm init @eslint/config@latest
Setelah itu, Anda dapat menjalankan ESLint pada file atau direktori apa pun seperti ini:
npx eslint yourfile.js
Anda dapat mengonfigurasi aturan di file eslint.config.js
seperti dalam contoh ini:
export default [
{
files : [ "**/*.js" , "**/*.cjs" , "**/*.mjs" ] ,
rules : {
"prefer-const" : "warn" ,
"no-constant-binary-expression" : "error"
}
}
] ;
Nama "prefer-const"
dan "no-constant-binary-expression"
adalah nama aturan di ESLint. Nilai pertama adalah tingkat kesalahan aturan dan dapat berupa salah satu nilai berikut:
"off"
atau 0
- matikan aturan"warn"
atau 1
- mengaktifkan aturan sebagai peringatan (tidak memengaruhi kode keluar)"error"
atau 2
- mengaktifkan aturan sebagai kesalahan (kode keluar adalah 1)Tiga tingkat kesalahan memungkinkan Anda mengontrol secara menyeluruh bagaimana ESLint menerapkan aturan (untuk opsi konfigurasi dan detail selengkapnya, lihat dokumen konfigurasi).
Tim ESLint memberikan dukungan berkelanjutan untuk versi saat ini dan dukungan terbatas selama enam bulan untuk versi sebelumnya. Dukungan terbatas hanya mencakup perbaikan bug penting, masalah keamanan, dan masalah kompatibilitas.
ESLint menawarkan dukungan komersial untuk versi saat ini dan sebelumnya melalui mitra kami, Tidelift dan HeroDevs.
Lihat Dukungan Versi untuk lebih jelasnya.
ESLint mematuhi Kode Etik OpenJS Foundation.
Sebelum mengajukan masalah, pastikan untuk membaca pedoman tentang apa yang Anda laporkan:
Ya, ESLint secara asli mendukung penguraian sintaksis JSX (ini harus diaktifkan dalam konfigurasi). Harap dicatat bahwa mendukung sintaksis JSX tidak sama dengan mendukung React. React menerapkan semantik spesifik pada sintaksis JSX yang tidak dikenali ESLint. Kami merekomendasikan penggunaan eslint-plugin-react jika Anda menggunakan React dan menginginkan semantik React.
Tidak, ESLint dan Prettier memiliki tugas yang berbeda: ESLint adalah linter (mencari pola yang bermasalah) dan Prettier adalah pemformat kode. Menggunakan kedua alat adalah hal biasa, lihat dokumentasi Prettier untuk mempelajari cara mengonfigurasi keduanya agar berfungsi dengan baik satu sama lain.
ESLint memiliki dukungan penuh untuk ECMAScript 3, 5, dan setiap tahun mulai tahun 2015 hingga spesifikasi tahap 4 terbaru (default). Anda dapat mengatur sintaks ECMAScript yang Anda inginkan dan pengaturan lainnya (seperti variabel global) melalui konfigurasi.
Parser ESLint hanya secara resmi mendukung standar ECMAScript final terbaru. Kami akan membuat perubahan pada aturan inti untuk menghindari crash pada proposal sintaks ECMAScript tahap 3 (selama diterapkan menggunakan sintaks ESTree eksperimental yang benar). Kami dapat melakukan perubahan pada aturan inti agar dapat bekerja lebih baik dengan ekstensi bahasa (seperti JSX, Flow, dan TypeScript) berdasarkan kasus per kasus.
Dalam kasus lain (termasuk jika aturan perlu memperingatkan lebih banyak atau lebih sedikit kasus karena sintaksis baru, daripada tidak mogok), kami menyarankan Anda menggunakan parser dan/atau plugin aturan lain. Jika Anda menggunakan Babel, Anda dapat menggunakan @babel/eslint-parser dan @babel/eslint-plugin untuk menggunakan opsi apa pun yang tersedia di Babel.
Setelah fitur bahasa diadopsi ke dalam standar ECMAScript (tahap 4 menurut proses TC39), kami akan menerima masalah dan menarik permintaan terkait fitur baru tersebut, sesuai dengan pedoman kontribusi kami. Sampai saat itu tiba, harap gunakan parser dan plugin yang sesuai untuk fitur eksperimental Anda.
ESLint memperbarui versi Node.js yang didukung dengan setiap rilis utama ESLint. Pada saat itu, versi Node.js yang didukung ESLint diperbarui menjadi:
ESLint juga diharapkan dapat bekerja dengan versi Node.js yang dirilis setelah rilis Node.js saat ini.
Lihat Panduan Memulai Cepat untuk versi Node.js yang didukung secara resmi untuk rilis ESLint tertentu.
Buka diskusi atau mampir ke server Discord kami.
File kunci seperti package-lock.json
berguna untuk aplikasi yang diterapkan. Mereka memastikan bahwa ketergantungan konsisten antara lingkungan dan penerapan.
Paket seperti eslint
yang dipublikasikan ke registri npm tidak menyertakan file kunci. npm install eslint
karena pengguna akan mematuhi batasan versi di package.json
ESLint. ESLint dan dependensinya akan disertakan dalam file kunci pengguna jika ada, namun file kunci ESLint sendiri tidak akan digunakan.
Kami sengaja tidak mengunci versi ketergantungan sehingga kami memiliki versi ketergantungan terbaru yang kompatibel dalam pengembangan dan CI yang didapatkan pengguna kami saat menginstal ESLint dalam sebuah proyek.
Blog Twilio menyelami lebih dalam untuk mempelajari lebih lanjut.
Kami telah menjadwalkan rilis setiap dua minggu pada hari Jumat atau Sabtu. Anda dapat mengikuti masalah rilis untuk mengetahui pembaruan tentang penjadwalan rilis tertentu.
ESLint memperhatikan keamanan dengan serius. Kami bekerja keras untuk memastikan bahwa ESLint aman bagi semua orang dan masalah keamanan ditangani dengan cepat dan bertanggung jawab. Baca kebijakan keamanan selengkapnya.
ESLint mengikuti pembuatan versi semantik. Namun, karena sifat ESLint sebagai alat kualitas kode, tidak selalu jelas kapan terjadi perubahan versi minor atau mayor. Untuk membantu memperjelas hal ini bagi semua orang, kami telah menetapkan kebijakan pembuatan versi semantik berikut untuk ESLint:
eslint:recommended
diperbarui dan akan menghasilkan lebih sedikit kesalahan linting (misalnya, penghapusan aturan).eslint:recommended
diperbarui dan dapat mengakibatkan kesalahan linting baru (misalnya, penambahan aturan, sebagian besar pembaruan opsi aturan). Menurut kebijakan kami, pembaruan kecil apa pun mungkin melaporkan lebih banyak kesalahan linting dibandingkan rilis sebelumnya (misal: dari perbaikan bug). Oleh karena itu, kami merekomendasikan penggunaan tanda gelombang ( ~
) di package.json
misalnya "eslint": "~3.1.0"
untuk menjamin hasil build Anda.
Aturan gaya dibekukan sesuai dengan kebijakan kami tentang cara kami mengevaluasi aturan baru dan perubahan aturan. Artinya:
Orang-orang ini menjaga agar proyek tetap berjalan dan merupakan sumber bantuan.
Orang-orang yang mengelola rilis, meninjau permintaan fitur, dan bertemu secara rutin untuk memastikan ESLint dipelihara dengan baik.