tslintの特定のディレクトリまたはファイルを無視する方法は?


135

使用されているIDEはWebStorm 11.0.3です。tslintは構成されて機能しますが、大きな* .d.tsライブラリファイルを解析しようとするため、ハングします。

特定のファイルまたはディレクトリを無視する方法はありますか?

回答:


200

tslint v5.8.0の更新

で述べたようにSaugat Acharyaさん、あなたは今、更新することができますtslint.json CLIオプション:

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

詳細については、このプルリクエストをご覧ください。


この機能はtslint 3.6で導入されました

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

--exclude(または-e)を追加できるようになりました。ここでPRを参照してください。

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

あなたは使用を見ています

-e, --exclude         exclude globs from path expansion

複数のパスを除外する方法を知っていますか?
Juan Henao

4
exclude引数を数回繰り返します
Markus Wagner

4
更新に対する小さな修正:それはそうである必要がlinterOptionsありますcliOptions
JeB 2017年

4
それは除外するディレクトリ内globパターンがに対するものでなければならないことを言及することも価値があるtslint.json
ジェブ

64

現在Visual Studio Codeとtslintを無効にするコマンドを使用しています

/* tslint:disable */

私のために働いた。このページをチェックしてください。その下の約3/4に、いくつかの無効化コマンドがあります。https://c9.io/lijunle/tslint

注意すべき点。上記を無効にすると、そのページのすべてのtslintルールが無効になります。ページの途中で特定のルールを無効にする場合は、ルールのリストがあります。したがって、次のような特定のものをオフにすることができます

/* tslint:disable comment-format */

1
すべての答えから、これがうまくいった唯一のものです。ありがとう!
Oz Lodriguez

27

Michaelの回答に加えて、2番目の方法を検討してください。tsintert.jsonにlinterOptions.excludeを追加します。

たとえば、tslint.json次の行があるとします。

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

17

まず、ファイルのキーの下にプロパティtslint v5.8.0を設定できます。excludelinterOptionstslint.json

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

この詳細については、こちらをご覧ください


2
これは正しい(2017年11月に更新された)回答としてマークする必要があります。
Andres Elizondo 2017年

これを行う正しい方法は、と置き換えるcliOptionsことlinterOptionsです。
Saugat


7

フォルダー内のファイルを除外するには、** / *構文を使用する必要がありました。

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

5

linterOptionsは現在、CLIでのみ処理されます。CLIを使用していない場合は、使用しているコードベースに応じて、他の場所で無視を設定する必要があります。webpack、tsconfigなど


3

バージョンtslint 5.11.0では、exclude引数を定義してpackage.jsonのlintスクリプトを変更することで機能することを確認できます。

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

乾杯!!


1
他の回答を参照していましたか、それとも質問に対する別の回答を提供したいだけですか?
ダーマン

1

追加として

次の行のすべてのルールを無効にするには // tslint:disable-next-line

無効にするには 次の行の特定のルール// tslint:disable-next-line:rule1 rule2...

無効にするには 現在の行のすべてのルールsomeCode(); // tslint:disable-line

現在の行の特定のルールを無効にするには:someCode(); // tslint:disable-line:rule1

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.