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

使用的 IDE 是 WebStorm 11.0.3,tslint 已经配置并可以工作,但是它挂起是因为它尝试解析大型 * 。D.ts 库文件。

是否有忽略特定文件或目录的方法?

152215 次浏览

其他人谁遇到的问题。不幸的是,只有一个开放的问题,排除文件: https://github.com/palantir/tslint/issues/73

所以恐怕不行。

Tslint v5.8.0更新

正如 Saugat Acharya所提到的,您现在可以更新 Tslint Json CLI 选项:

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

更多信息 在这个请求中


这个特性已经在 斜率3.6中引入

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

现在可以在这里添加——  排除(或-e) ,查看 公关

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

当前使用 VisualStudio 代码和禁用 tslint 的命令是

/* tslint:disable */

值得注意。上面的禁用将禁用该页上的所有 tlint 规则。如果您想禁用一个特定的规则,您可以指定一个/多个规则。

/* tslint:disable comment-format */
/* tslint:disable:rule1 rule2 rule3 etc.. */

或启用规则

/* tslint:enable comment-format */

更深入地了解 TSLint 规则标志

除了 Michael 的回答之外,考虑第二种方法: 将 LinterOptions 排除添加到 tslint.json

例如,tslint.json可能包含以下代码行:

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

tslint v5.8.0开始,您可以在 tslint.json文件的 linterOptions键下设置一个 exclude属性:

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

关于这个 给你的更多信息。

LinterOptions 目前只由 CLI 处理。 如果您没有使用 CLI,那么根据所使用的代码库,您需要在其他地方设置忽略。Webpack、 tsconfig 等

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

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

可以通过定义排除参数来修改 package.json 中的 lint 脚本,从而确认在版本 tslint 5.11.0上可以正常工作:

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

干杯!

作为补充

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

禁用 下一行的具体规则: // tslint:disable-next-line:rule1 rule2...

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

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

在代码示例中添加该节

"linterOptions": {
"exclude": [
"node_modules/**/*.",
"db/**/*.",
"integrations/**/*."
]
},