Generator ESLintrc
Generator ini membuat konfigurasi .eslintrc.json siap pakai dari empat pilihan: lingkungan browser atau Node, dukungan TypeScript, dan dukungan React. Alat ini merangkai eslint:recommended, plugin TypeScript atau React yang sesuai, dan beberapa penggantian aturan yang masuk akal, sehingga Anda dapat menempelkan hasilnya ke proyek Anda.
Cara Membuat Konfigurasi ESLint
-
1
Pilih lingkungan
Tentukan apakah kode berjalan di browser, di Node.js, atau keduanya. Generator akan menyetel entri `env` yang sesuai, plus `es2022`.
-
2
Aktifkan TypeScript
Centang TypeScript dan generator menambahkan `@typescript-eslint/parser` beserta plugin TypeScript yang direkomendasikan.
-
3
Aktifkan React
Centang React dan generator menambahkan `eslint-plugin-react` dengan preset yang direkomendasikan.
-
4
Buat
Klik tombol dan konfigurasi dibuat sebagai JSON dengan format yang rapi.
-
5
Salin ke proyek Anda
Tempel hasilnya ke `.eslintrc.json` dan pasang plugin yang dirujuknya.
Isi konfigurasi yang dihasilkan
Generator selalu memulai dari eslint:recommended dan menambahkan persis sesuai pilihan Anda:
envdenganbrowserdan/ataunode, pluses2022@typescript-eslint/parserdanplugin:@typescript-eslint/recommendedjika TypeScript aktifplugin:react/recommendedjika React aktifno-consoledanno-unused-varsdisetel kewarn
Hasilnya adalah objek JSON sederhana dalam bentuk klasik .eslintrc.json, siap ditempel dan dikembangkan dengan aturan Anda sendiri.
Konfigurasi flat versus konfigurasi legacy
ESLint 9 telah menghapus dukungan terhadap format .eslintrc.* dan beralih menggunakan format konfigurasi datar (eslint.config.js). Perbedaan utamanya adalah sebagai berikut:
| Aspek | Lama (.eslintrc) | Datar (eslint.config.js) |
|---|---|---|
| Format | JSON, YAML, atau CommonJS | Modul JavaScript ESM atau CommonJS |
| Pewarisan | extends: ["plugin:react/recommended"] |
Disebar ke dalam array: ...reactPlugin.configs.recommended |
| Penggantian | Array overrides dengan pola glob |
Berbagai objek dalam array yang diekspor |
| Variabel global | env: { browser: true } |
languageOptions.globals dengan impor eksplisit |
| Pengabaian | File .eslintignore |
Field ignores dalam array konfigurasi |
Proyek-proyek baru sebaiknya menggunakan konfigurasi flat. Proyek yang sudah ada dapat tetap menggunakan konfigurasi lama hingga versi 10.x, namun migrasi sangat disarankan.
Ekosistem plugin
Plugin proyek React/TS yang umum digunakan:
@typescript-eslint/eslint-plugin
@typescript-eslint/parser
eslint-plugin-react
eslint-plugin-react-hooks
eslint-plugin-jsx-a11y
eslint-plugin-import
eslint-config-prettier
Itu berarti enam paket untuk satu konfigurasi dengan pendapat yang cukup jelas. Generator menambahkan yang Anda pilih, sehingga Anda hanya memasang apa yang dirujuk konfigurasi.
Koeksistensi dengan Prettier
Prettier menangani pemformatan; ESLint menangani keakuratan dan gaya penulisan di luar aspek pemformatan. Untuk menghindari konflik:
- Instal
eslint-config-prettierdan tambahkan sebagai item TERAKHIR dalam extends/config Anda. - Ini menonaktifkan setiap aturan ESLint yang bertentangan dengan keluaran Prettier.
- Jalankan Prettier secara terpisah (saat menyimpan dalam editor, pada tahap pra-komit, atau dalam proses CI).
Jangan gunakan eslint-plugin-prettier dalam proyek baru karena alat ini memperlambat kinerja ESLint dengan menjalankan Prettier di dalamnya. Gunakan kedua alat tersebut secara terpisah.
Tips Penyetelan Aturan
- Mulai longgar, lalu perketat bertahap. Aktifkan peringatan sebelum error.
- Override untuk tes. File tes sering perlu
no-unused-expressionsdilonggarkan dan global Jest tersedia. - Override untuk skrip. Skrip build mungkin memerlukan global Node tanpa menambahkan
env: nodesecara global. - Dokumentasikan override. Setiap penggantian aturan layak disertai komentar yang menjelaskan alasannya.
Konfigurasi yang sesuai dengan editor Anda
VS Code memerlukan ekstensi ESLint yang telah terinstal dan dikonfigurasi. Tambahkan ekstensi tersebut ke pengaturan ruang kerja Anda agar perbaikan otomatis dapat dilakukan saat menyimpan file.
{
"editor.codeActionsOnSave": { "source.fixAll.eslint": "explicit" },
"eslint.validate": ["javascript", "typescript", "javascriptreact", "typescriptreact"]
}
Pertanyaan yang Sering Diajukan
Untuk proyek baru, gunakan konfigurasi flat (eslint.config.js). Generator ini menghasilkan format klasik .eslintrc.json, yang dibaca ESLint secara native dalam mode legacy; tabel perbandingan di atas menunjukkan apa yang berubah jika Anda migrasi nanti.
Ya, jika Anda menggunakan TypeScript. @typescript-eslint/parser dan @typescript-eslint/eslint-plugin mendukung fitur pemeriksaan kode yang mempertimbangkan TypeScript. Untuk aturan yang berbasis tipe (tidak hanya sintaksis), konfigurasikan juga parser dengan project: './tsconfig.json'.
Umumnya terdapat ketergantungan yang hilang dalam proses CI. Pastikan nilai @typescript-eslint/*, plugin, dan versi ESLint sesuai antara lingkungan lokal dan lingkungan CI. Gunakan npm ci (bukan npm install) dalam CI untuk mematuhi aturan lockfile.
Tidak. Pilihan Anda hanya digunakan untuk membuat konfigurasi; tidak disimpan dan tidak dibagikan kepada pihak ketiga mana pun.
Alat Terkait
Referensi Tabel ASCII
Tabel ASCII lengkap dari 0 sampai 127 dengan desimal, heksadesimal, oktal, biner, dan referensi karakter numerik HTML untuk setiap karakter, termasuk kode kontrol seperti NUL, LF, dan DEL.
Referensi Karakter HTML
Daftar entitas HTML yang dapat dicari, beserta kode bernama dan kode numeriknya, serta fitur salin dengan satu klik untuk karakter khusus dan simbol.
Referensi pintasan papan ketik
Cari pintasan bawaan terdokumentasi untuk VS Code, Chrome, dan Bash dengan GNU Readline di macOS, Windows, dan Linux.
Penghitung FPS
Ukur FPS browser dengan requestAnimationFrame: penghalusan, frame rate minimum dan maksimum, ambang peringatan, dan grafik opsional. Berjalan lokal, tanpa unggahan dan tanpa API.
Generator Warna Acak
Buat 1 hingga 50 warna HEX acak dengan contoh warna yang bisa dipratinjau, disalin, dan dipakai di CSS, pengujian, atau eksplorasi palet.
Pemformat HTML
Format HTML secara lokal di browser dengan inden dua atau empat spasi. HTML tidak diunggah atau divalidasi.
Alat ini tersedia dalam bahasa lain
- Generador de ESLintrc [ES]
- เครื่องสร้าง ESLintrc [TH]
- ESLintrc-generator [NL]
- ESLintrc生成器 [ZH]
- ESLintrc 생성기 [KO]
- Générateur d'ESLintrc [FR]
- ESLintrc-generator [SV]
- Gerador de ESLintrc [PT]
- ESLintrc-Generator [DE]
- ESLintrc Üreticisi [TR]
- Generator .eslintrc [PL]
- ESLintrc Generator [EN]
- ESLintrc ジェネレーター [JA]
- Bộ tạo ESLintrc [VI]
- مولد ESLintrc [AR]
- Generatore ESLintrc [IT]
- Генератор ESLintrc [RU]