Nonaktifkan aturan eslint untuk folder


181

Apakah ada cara untuk menonaktifkan aturan khusus untuk folder? Misalnya, saya tidak ingin meminta komentar JSDoc untuk semua file pengujian saya di testfolder. Apakah ada cara untuk melakukan ini?


eslint-babel tampaknya mengabaikan semua file dan pengaturan .eslint-abaikan.
ivanixmobile

Jawaban:


302

Untuk mengabaikan beberapa folder dari aturan eslint kita dapat membuat file .eslintignoredi direktori root dan menambahkan path ke folder yang kita inginkan dihilangkan (dengan cara yang sama seperti untuk.gitignore ).

Berikut adalah contoh dari dokumen ESLint tentang Mengabaikan File dan Direktori :

# 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

34
Solusi ini tidak benar-benar menjawab pertanyaan awal, yang menanyakan cara menonaktifkan aturan khusus untuk direktori tertentu. Di sini Anda menonaktifkan semua aturan untuk direktori yang diberikan. Jawaban yang lebih baik ada di sini: stackoverflow.com/a/41316801/882638
ericgio

3
Kutipan dari dokumentasi ESLint " Selain pola dalam file .eslintignore, ESLint selalu mengabaikan file dalam / node_modules / * dan / bower_components / *. " Jadi tidak perlu menambahkan /node_modules, /distsendirian saja sudah cukup untuk mengecualikan kedua direktori tersebut. . Juga pola glob didukung saat menentukan (sub) direktori.
ozanmuyes

Apakah ada cara untuk melakukannya dengan vue.config.js atau package.json?
Serge

3
Apakah ada cara mengkonfigurasi direktori mana yang harus diabaikan dalam .eslintrc.jsonfile konfigurasi itu sendiri sehingga kita tidak memerlukan file .estlint lain dan kita dapat mewarisi nilai-nilai diabaikan dari eslint-config-myconfigkonfigurasi bersama?
Joshua Pinter

1
Ada beberapa posting serupa tentang ini. Saya membutuhkan: --ignore-pathdan / atau --ignore-pattern, dan saya pikir itu juga secara akurat menjawab pertanyaan ini.
Neil Guy Lindberg

50

Jawaban sebelumnya ada di jalur yang benar, tetapi jawaban lengkap untuk ini adalah Menonaktifkan aturan hanya untuk sekelompok file , di sana Anda akan menemukan dokumentasi yang diperlukan untuk menonaktifkan / mengaktifkan aturan untuk folder tertentu (Karena dalam beberapa kasus Anda tidak tidak ingin mengabaikan semuanya, hanya menonaktifkan aturan tertentu). Contoh:

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

2
Jawaban ini lebih baik karena Anda dapat mematikan aturan tertentu untuk direktori yang diberikan. Alih-alih hanya mematikan semua aturan untuk direktori.
Storm Muller

1
Awalnya ini tidak berhasil untuk saya. Pastikan Anda tidak memiliki .eslintrc.jsdi folder itu dengan extends: "../.eslintrc.js"!
Florian Wendelborn

2

Versi YAML:

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

Contoh aturan khusus untuk pengujian moka:

Anda juga dapat mengatur env tertentu untuk folder, seperti ini:

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

Konfigurasi ini akan memperbaiki pesan kesalahan tentang describedan ittidak ditentukan, hanya untuk folder pengujian Anda:

/myproject/test/init-tests.js
6: 1 kesalahan 'jelaskan' tidak didefinisikan no-undef
9: 3 kesalahan 'itu' tidak didefinisikan tanpa-undef

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.