如何忽略tslint的特定目录或文件?


135

使用的IDE是WebStorm 11.0.3,已配置tslint并可以使用它,但是由于尝试解析大型* .d.ts库文件而挂起。

有没有办法忽略特定的文件或目录?

Answers:


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

命令行界面

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 2013年

4
多次重复排除参数
Markus Wagner'1

4
对更新进行小幅修正:应该正确linterOptions,而不应该如此cliOptions
JeB

4
还值得一提的是,exclude目录中的全局模式应相对于tslint.json
JeB

64

当前使用Visual Studio Code和禁用tslint的命令是

/* tslint:disable */

为我工作。查看此页面,大约在3/4处有一些禁用命令https://c9.io/lijunle/tslint

要注意的事情。上面的禁用会禁用该页面上的所有tslint规则。如果您要在页面的一半下方禁用特定规则,则有一个规则列表。因此,您可以关闭诸如

/* tslint:disable comment-format */

1
从所有答案来看,这是唯一可行的方法。谢谢!
奥兹·洛德里格斯

27

除了Michael的答案之外,请考虑第二种方法:向tslint.json添加linterOptions.exclude

例如,您可能有tslint.json以下几行:

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

17

从开始,tslint v5.8.0您可以在文件excludelinterOptions密钥下设置属性tslint.json

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

更多信息请参见这里


2
这应该标记为正确的答案(并于2017年11月更新)。
安德烈斯·埃利桑多

要做到这一点,正确的方法是更换cliOptionslinterOptions
索格


7

我必须使用** / *语法来排除文件夹中的文件:

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

5

linterOptions当前仅由CLI处理。如果不使用CLI,则根据所使用的代码库,您需要在其他位置设置忽略。webpack,tsconfig等


3

可以通过定义exclude参数来修改package.json中的lint脚本,以确认在tslint 5.11.0版本上它可以工作:

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

干杯!!


1
您是在指其他答案,还是只是想为问题提供替代答案?
Dharman

1

作为补充

禁用下一行的所有规则 // tslint:disable-next-line

要禁用下一行的特定规则// tslint:disable-next-line:rule1 rule2...

要禁用当前行的所有规则someCode(); // tslint:disable-line

要禁用当前行的特定规则someCode(); // tslint:disable-line:rule1

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.