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
Generator Konfigurasi Webpack
Buat webpack.config.js untuk webpack 5 bagi JavaScript biasa, React, atau Vue: TypeScript, Babel, CSS atau Sass, gambar, HtmlWebpackPlugin, server pengembangan, dan baris npm install.
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.
Validator OpenAPI
Tempel dokumen OpenAPI atau Swagger dalam JSON atau YAML dan periksa struktur intinya: bidang versi, objek info, dan paths, dengan galat dan peringatan yang jelas.
Pemformat PHP
Tambahkan baris baru dan indentasi 2 atau 4 spasi ke cuplikan PHP sederhana. Periksa hasilnya: alat ini bukan parser PHP dan tidak menerapkan PSR-12.
Generator Loader CSS
Buat spinner lingkaran CSS murni: atur diameter, ketebalan border, warna dan kecepatan rotasi, lihat pratinjau langsung, lalu salin CSS siap pakai. Tanpa SVG, tanpa JavaScript.
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.
Alat ini tersedia dalam bahasa lain
- ESLintrc-generator [SV]
- Gerador de ESLintrc [PT]
- Generador de ESLintrc [ES]
- เครื่องสร้าง ESLintrc [TH]
- Générateur d'ESLintrc [FR]
- ESLintrc-Generator [DE]
- ESLintrc 생성기 [KO]
- ESLintrc ジェネレーター [JA]
- ESLintrc-generator [NL]
- مولد ESLintrc [AR]
- Bộ tạo ESLintrc [VI]
- Generator .eslintrc [PL]
- ESLintrc Generator [EN]
- Generatore ESLintrc [IT]
- Генератор ESLintrc [RU]
- ESLintrc Üreticisi [TR]
- ESLintrc生成器 [ZH]