Bagaimana cara mengabaikan direktori atau file tertentu untuk tslint?

135

IDE yang digunakan adalah WebStorm 11.0.3, tslint sudah dikonfigurasikan dan berfungsi, tetapi ia hang karena mencoba mem-parsing file library * .d.ts yang besar.

Apakah ada cara untuk mengabaikan file atau direktori tertentu?

pengguna3330840
sumber

Jawaban:

200

Pembaruan untuk tslint v5.8.0

Seperti yang disebutkan oleh Saugat Acharya , Anda sekarang dapat memperbarui tslint.json Opsi CLI:

{
  "extends": "tslint:latest",
  "linterOptions": {
      "exclude": [
          "bin",
          "lib/*generated.js"
      ]
  }
}

Informasi lebih lanjut dalam permintaan tarik ini .


Fitur ini telah diperkenalkan dengan tslint 3.6

tslint \"src/**/*.ts\" -e \"**/__test__/**\"

Anda sekarang dapat menambahkan --exclude (atau -e) lihat PR di sini.

CLI

usage: tslint [options] file ...

Options:

-c, --config          configuration file
--force               return status code 0 even if there are lint errors
-h, --help            display detailed help
-i, --init            generate a tslint.json config file in the current working directory
-o, --out             output file
-r, --rules-dir       rules directory
-s, --formatters-dir  formatters directory
-e, --exclude         exclude globs from path expansion
-t, --format          output format (prose, json, verbose, pmd, msbuild, checkstyle)  [default: "prose"]
--test                test that tslint produces the correct output for the specified directory
-v, --version         current version

Anda ingin menggunakan

-e, --exclude         exclude globs from path expansion
Michael
sumber
Anda tahu cara mengecualikan banyak jalur?
Juan Henao
4
ulangi argumen kecualikan beberapa kali
Markus Wagner
4
Koreksi kecil untuk pembaruan: seharusnya linterOptionsdan tidakcliOptions
JeB
4
Perlu juga disebutkan bahwa pola gumpalan di dalam direktori pengecualian harus relatif terhadaptslint.json
JeB
64

Saat ini menggunakan Visual Studio Code dan perintah untuk menonaktifkan tslint adalah

/* tslint:disable */

bekerja untukku. Lihat halaman ini, sekitar 3/4 dari jalan ke bawah ada beberapa perintah menonaktifkan https://c9.io/lijunle/tslint

Sesuatu yang perlu diperhatikan. Nonaktifkan di atas menonaktifkan SEMUA aturan tslint pada halaman itu. Jika Anda ingin menonaktifkan aturan tertentu di bagian bawah halaman ada daftar aturan. Sehingga Anda dapat mematikan hal-hal tertentu seperti

/* tslint:disable comment-format */
Anggota DeadlyChambers
sumber
1
dari semua jawaban, ini adalah satu-satunya yang berhasil. Terima kasih!
Oz Lodriguez
27

Selain jawaban Michael, pertimbangkan cara kedua: menambahkan linterOptions.exclude ke tslint.json

Misalnya, Anda mungkin memiliki tslint.jsonbaris berikut:

{
  "linterOptions": {
    "exclude": [
      "someDirectory/*.d.ts"
    ]
  }
}
arkhwise
sumber
17

Mulai dari tslint v5.8.0Anda dapat mengatur excludeproperti di bawah linterOptionskunci Anda di tslint.jsonfile Anda :

{
  "extends": "tslint:latest",
  "linterOptions": {
      "exclude": [
          "bin",
          "**/__test__",
          "lib/*generated.js"
      ]
  }
}

Informasi lebih lanjut tentang ini di sini .

Saugat
sumber
2
Ini harus ditandai sebagai jawaban yang benar (dan diperbarui November-2017).
Andres Elizondo
Cara yang benar untuk melakukan ini adalah menggantinya cliOptionsdengan linterOptions.
Saugat
7

Saya harus menggunakan sintaks ** / * untuk mengecualikan file dalam folder:

    "linterOptions": {
        "exclude": [
          "src/auto-generated/**/*",
          "src/app/auto-generated/**/*"
        ]
    },
techguy2000
sumber
5

linterOptions saat ini hanya ditangani oleh CLI. Jika Anda tidak menggunakan CLI maka tergantung pada basis kode yang Anda gunakan, Anda perlu mengatur pengabaian di tempat lain. paket web, tsconfig, dll

Keris
sumber
3

Dapat mengkonfirmasi bahwa pada versi tslint 5.11.0 berfungsi dengan memodifikasi skrip lint di package.json dengan mendefinisikan argumen exclude:

"lint": "ng lint --exclude src/models/** --exclude package.json"

Bersulang!!

Sanid Sa
sumber
1
Apakah Anda merujuk pada jawaban lain, atau apakah Anda hanya ingin memberikan jawaban alternatif untuk pertanyaan itu?
Dharman
1

Sebagai tambahan

Untuk menonaktifkan semua aturan untuk baris berikutnya // tslint:disable-next-line

Untuk menonaktifkan aturan khusus untuk baris berikutnya :// tslint:disable-next-line:rule1 rule2...

Untuk menonaktifkan semua aturan untuk baris saat ini :someCode(); // tslint:disable-line

Untuk menonaktifkan aturan khusus untuk baris saat ini :someCode(); // tslint:disable-line:rule1

AlbertK
sumber