Tslint için belirli bir dizini veya dosyayı nasıl yok sayabilirim?


135

Kullanılan IDE, WebStorm 11.0.3'tür, tslint yapılandırılır ve çalışır, ancak büyük * .d.ts kitaplık dosyalarını ayrıştırmaya çalıştığı için kilitlenir.

Belirli bir dosyayı veya dizini yoksaymanın bir yolu var mı?

Yanıtlar:


200

Tslint v5.8.0 Güncellemesi

Saugat Acharya tarafından belirtildiği gibi , tslint.json CLI Seçeneklerini güncelleyebilirsiniz :

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

Bu çekme isteğinde daha fazla bilgi .


Bu özellik tslint 3.6 ile tanıtıldı

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

Artık --exclude (veya -e) bkz ekleyebilir PR burada.

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

kullanmaya bakıyorsun

-e, --exclude         exclude globs from path expansion

birden çok yolu nasıl hariç tutacağınızı biliyor musunuz?
Juan Henao

4
dışlama argümanını birkaç kez tekrarlayın
Markus Wagner

4
Güncellemede küçük düzeltme: linterOptionscliOptions
Olmalı

4
Ayrıca, dışlama dizini içindeki glob kalıplarının aşağıdakilere göre olacağını belirtmek gerekirtslint.json
JeB

64

Şu anda Visual Studio Code ve tslint'i devre dışı bırakma komutu kullanılıyor

/* tslint:disable */

benim için çalıştı. Bu sayfaya göz atın, yolun yaklaşık 3/4'ü bazı devre dışı bırakma komutları var https://c9.io/lijunle/tslint

Dikkat edilmesi gereken bir şey. Yukarıdaki devre dışı bırakma, o sayfadaki TÜM tslint kurallarını devre dışı bırakır. Belirli bir kuralı sayfanın yarısında devre dışı bırakmak istiyorsanız bir kurallar listesi vardır. Böylece, aşağıdakiler gibi belirli şeyleri kapatabilirsiniz:

/* tslint:disable comment-format */

1
tüm cevaplardan, bu işe yarayan tek cevaptı. Teşekkürler!
Oz Lodriguez

27

Michael'ın cevabına ek olarak, ikinci bir yol düşünün: tslint.json'a linterOptions.exclude ekleme

Örneğin, tslint.jsonaşağıdaki satırlara sahip olabilirsiniz :

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

17

Başlayarak, dosyanızdaki anahtarınızın altında tslint v5.8.0bir excludeözellik ayarlayabilirsiniz :linterOptionstslint.json

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

Bu konuda daha fazla bilgi burada .


2
Bu doğru (ve Kasım 2017'de güncellenmiş) cevap olarak işaretlenmelidir.
Andres Elizondo

Bunu yapmanın doğru yolu değiştirmektir cliOptionsile linterOptions.
Saugat


7

Bir klasördeki dosyaları hariç tutmak için ** / * sözdizimini kullanmak zorunda kaldım:

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

5

linterOptions şu anda yalnızca CLI tarafından yürütülmektedir. CLI kullanmıyorsanız, kullandığınız kod tabanına bağlı olarak yoksaymayı başka bir yere ayarlamanız gerekir. webpack, tsconfig, vb.


3

Tslint 5.11.0 sürümünde package.json içindeki lint betiğini dışlama argümanı tanımlayarak değiştirerek çalıştığını doğrulayabilir:

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

Alkış !!


1
Başka bir cevaba atıfta bulunuyordunuz mu yoksa sadece soruya alternatif bir cevap mı vermek istediniz?
Dharman

1

Ek olarak

Sonraki satırdaki tüm kuralları devre dışı bırakmak için // tslint:disable-next-line

Sonraki satıra ilişkin belirli kuralları devre dışı bırakmak için :// tslint:disable-next-line:rule1 rule2...

Geçerli satırın tüm kurallarını devre dışı bırakmak için :someCode(); // tslint:disable-line

Geçerli satır için belirli kuralları devre dışı bırakmak için :someCode(); // tslint:disable-line:rule1

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.