Klasör için eslint kurallarını devre dışı bırak


182

Bir klasör için belirli kuralları devre dışı bırakmanın bir yolu var mı? Örneğin, testklasördeki tüm test dosyalarım için gerekli JSDoc yorumlarına sahip olmak istemiyorum . Bunu yapmanın bir yolu var mı?


eslint-babel, .eslint-ignore dosyalarını ve ayarlarını yok sayıyor gibi görünüyor.
ivanixmobile

Yanıtlar:


305

Eslint kurallarından bazı klasörleri yoksaymak için dosyayı .eslintignorekök dizinde oluşturabilir ve oraya atlamak istediğimiz klasörün yolunu ekleyebiliriz (aynı şekilde .gitignore).

Aşağıda Dosya ve Dizinleri Yoksaymaya ilişkin ESLint belgelerinden bir örnek verilmiştir :

# path/to/project/root/.eslintignore
# /node_modules/* and /bower_components/* in the project root are ignored by default

# Ignore built files except build/index.js
build/*
!build/index.js

35
Bu çözüm, belirli bir dizin için belirli kuralların nasıl devre dışı bırakılacağını soran orijinal soruya gerçekten cevap vermez . Burada , verilen dizinler için tüm kuralları devre dışı bırakıyorsunuz . Daha iyi cevap burada: stackoverflow.com/a/41316801/882638
ericgio

3
Şuradan alıntı ESLint belgelerinde " Bir .eslintignore dosyada herhangi desen yanı sıra, ESLint hep dosyaları yok sayar / node_modules / * ve / bower_components / *. " Yani eklemeye gerek var /node_modules, /distyalnız dizinleri hem dışlamak için yeterlidir . Ayrıca alt dizinler belirlenirken glob paterni desteklenir.
ozanmuyes

Vue.config.js veya package.json ile yapmanın yolu var mı?
Serge

3
.eslintrc.jsonBaşka bir .estlint dosyasına ihtiyacımız olmadığından ve eslint-config-myconfigpaylaşılan bir yapılandırmadaki değerleri yok sayabilmemiz için yapılandırma dizininde hangi dizinlerin yoksayılacağını yapılandırmanın herhangi bir yolu var mı?
Joshua Pinter

1
Bu konuda birden fazla benzer yayın var. İhtiyacım vardı: --ignore-pathve / veya --ignore-pattern, ve bu da bu soruyu doğru bir şekilde cevaplıyor.
Neil Guy Lindberg

50

Önceki yanıtlar doğru yoldaydı, ancak bunun tam cevabı sadece bir grup dosya için kuralları devre dışı bırakmak olacak, bazı klasörler için kuralları devre dışı bırakmak / etkinleştirmek için gerekli belgeleri bulacaksınız (çünkü bazı durumlarda Her şeyi göz ardı etmek istemiyorum, sadece belirli kuralları devre dışı bırakın). Misal:

{
    "env": {},
    "extends": [],
    "parser": "",
    "plugins": [],
    "rules": {},
    "overrides": [
      {
        "files": ["test/*.spec.js"], // Or *.test.js
        "rules": {
          "require-jsdoc": "off"
        }
      }
    ],
    "settings": {}
}

2
Bu yanıt daha iyidir, çünkü belirli bir dizin için belirli bir kuralı kapatabilirsiniz . Bir dizin için tüm kuralları kapatmak yerine.
Storm Muller

1
Bu başlangıçta benim için işe yaramadı. Eğer bir yok emin olun .eslintrc.jsbir o klasördeki extends: "../.eslintrc.js"!
Florian Wendelborn

2

YAML sürümü:

overrides:
  - files: *-tests.js
    rules:
      no-param-reassign: 0

Mocha testleri için belirli kurallara örnek:

Ayrıca, bir klasör için aşağıdaki gibi belirli bir env ayarlayabilirsiniz:

overrides:
  - files: test/*-tests.js
    env:
      mocha: true

Bu yapılandırma , yalnızca test klasörünüz için olan describeve ittanımlanmayan hata mesajını düzeltir :

/myproject/test/init-tests.js
6: 1 hata ' tanımla ' tanımlanmadı no-undef
9: 3 hata 'it' tanımlanmadı no-undef

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.