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?

DevNebulae
sumber
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
YaTaras
sumber
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": {}
}
Alberto Perez
sumber
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

A-312
sumber