ESLintrc Üreticisi

Sonraki

Bu üretici, dört seçimden kullanıma hazır bir .eslintrc.json yapılandırması oluşturur: tarayıcı veya Node ortamı, TypeScript desteği ve React desteği. eslint:recommended, seçiminize uygun TypeScript veya React eklentileri ve birkaç mantıklı kural geçersiz kılmasını bir araya getirir, böylece sonucu doğrudan projenize yapıştırabilirsiniz.

ESLint yapılandırması nasıl oluşturulur?

  1. 1

    Ortamı seçin

    Kodun tarayıcıda mı, Node.js içinde mi yoksa her ikisinde mi çalıştığını belirleyin. Üretici, ilgili `env` girdilerini ve `es2022`yi ayarlar.

  2. 2

    TypeScript'i etkinleştirin

    TypeScript'i işaretleyin; üretici `@typescript-eslint/parser` ve önerilen TypeScript eklentisini ekler.

  3. 3

    React'i etkinleştirin

    React'i işaretleyin; üretici, önerilen ön ayarıyla birlikte `eslint-plugin-react` ekler.

  4. 4

    Oluşturun

    Düğmeye tıklayın ve yapılandırma, düzenli biçimlendirilmiş JSON olarak oluşturulur.

  5. 5

    Projenize kopyalayın

    Çıktıyı `.eslintrc.json` dosyasına yapıştırın ve yapılandırmanın referans verdiği eklentileri kurun.

Oluşturulan yapılandırma neleri içerir

Üretici her zaman eslint:recommended ile başlar ve seçimlerinizin gerektirdiği şeyleri tam olarak ekler:

  • browser ve/veya node içeren env, ayrıca es2022
  • TypeScript açıkken @typescript-eslint/parser ve plugin:@typescript-eslint/recommended
  • React açıkken plugin:react/recommended
  • warn olarak ayarlanan no-console ve no-unused-vars

Çıktı, klasik .eslintrc.json biçiminde sade bir JSON nesnesidir; yapıştırıp kendi kurallarınızla genişletebilirsiniz.

Düz yapı vs. Eski yapı

ESLint, .eslintrc.* formatını yerine düz yapılandırma (eslint.config.js) benimseyerek geri çekti. Ana farklar şunlardır:

Konu Eski (.eslintrc) Düz (eslint.config.js)
Biçim JSON, YAML veya CommonJS ESM veya CommonJS JavaScript modülü
Genişletme extends: ["plugin:react/recommended"] Diziye yayma: ...reactPlugin.configs.recommended
Geçersiz kılmalar Glob desenleri içeren overrides dizisi Dışa aktarılan dizide birden fazla nesne
Global değişkenler env: { browser: true } Açık import içeren languageOptions.globals
Yok sayma .eslintignore dosyası Yapılandırma dizisindeki ignores alanı

Yeni projeler düz yapıyı kullanmalıdır. Mevcut projeler 10.x serisi boyunca eski yapıda kalabilir; ancak migrasyon önerilir.

Eklenti ekosistemi

Tipik React/TS proje eklentileri:

@typescript-eslint/eslint-plugin
@typescript-eslint/parser
eslint-plugin-react
eslint-plugin-react-hooks
eslint-plugin-jsx-a11y
eslint-plugin-import
eslint-config-prettier

Bu, orta düzeyde bir görüşe sahip bir yapı için altı paketten oluşur. Üretici yalnızca seçtiklerinizi ekler; böylece yapılandırmanın referans verdiği şeyleri kurarsınız.

Prettier ile bir arada çalışma

Prettier biçimlendirmeyi yönetir; ESLint ise biçimlendirmenin ötesinde doğruluk ve stil konularını ele alır. Çakışmaları önlemek için:

  1. eslint-config-prettier paketini yükleyin ve onu extends/config dosyanızdaki SON öğe olarak ekleyin.
  2. Prettier’in çıktısıyla çelişen tüm ESLint kurallarını devre dışı bırakır.
  3. Prettier’i ayrı olarak çalıştırın (düzenleyicide kaydederken, pre-commit kancasında veya CI sürecinde).

eslint-plugin-prettier paketini yeni projelerde kullanmayın; bu araç ESLint içinde Prettier’i çalıştırarak ESLint’i yavaşlatır. İki aracı birbirinden ayrı tutun.

Kuralların ayarlanması için ipuçları

  • Gevşek başlayın, kademeli olarak sıkılaştırın. Hatalardan önce uyarıları etkinleştirin.
  • Testler için geçersiz kılın. Test dosyaları genellikle no-unused-expressions kuralının gevşetilmesini ve Jest global değişkenlerinin kullanılabilir olmasını gerektirir.
  • Betikler için geçersiz kılın. Derleme betikleri, env: node genel olarak eklenmeden Node global değişkenlerine ihtiyaç duyabilir.
  • Geçersiz kılmaları belgeleyin. Her kural geçersiz kılma, nedenini açıklayan bir yorumu hak eder.

Düzenleyicinizle uyumlu yapılandırma

VS Code için ESLint uzantısının yüklü ve yapılandırılmış olması gerekir. Kaydederken otomatik düzeltme için bunları çalışma alanı ayarlarınıza ekleyin:

{
  "editor.codeActionsOnSave": { "source.fixAll.eslint": "explicit" },
  "eslint.validate": ["javascript", "typescript", "javascriptreact", "typescriptreact"]
}

Sık Sorulan Sorular

Yeni projeler için düz yapılandırma (eslint.config.js) kullanın. Bu üretici, ESLint’in eski modda doğrudan okuduğu klasik .eslintrc.json biçimini üretir; daha sonra geçiş yaparsanız nelerin değişeceğini yukarıdaki karşılaştırma tablosu gösterir.

Evet, TypeScript kullanıyorsanız. @typescript-eslint/parser ve @typescript-eslint/eslint-plugin, TypeScript’e uyumlu düzeltme işlevselliğini destekler. Sadece sözdizimi değil, tip bilincine dayalı kurallar için de analizleyiciyi project: './tsconfig.json' ile yapılandırın.

Genellikle CI’de gerekli bağımlılık dosyaları eksik olur. Yerel ortam ile CI’deki @typescript-eslint/*, eklentiler ve ESLint sürümünün uyumlu olduğundan emin olun. Lockfile’i korumak için CI’de npm ci’yi (npm install yerine) kullanın.

Hayır. Seçimleriniz yalnızca yapılandırmayı oluşturmak için kullanılır; kaydedilmez ve üçüncü taraflarla paylaşılmaz.

İlgili Araçlar

Araç diğer dillerde mevcuttur