How to ignore a particular directory or file for tslint?
使用的IDE是WebStorm 11.0.3,已配置tslint并可以使用它,但是由于尝试解析大型* .d.ts库文件而挂起。
有没有办法忽略特定的文件或目录?
tslint v5.8.0更新
如Saugat Acharya所述,您现在可以更新tslint.json CLI选项:
1 2 3 4 5 6 7 8 9 | { "extends":"tslint:latest", "linterOptions": { "exclude": [ "bin", "lib/*generated.js" ] } } |
此拉取请求中的更多信息。
tslint 3.6引入了此功能
1 | tslint "src/**/*.ts" -e "**/__test__/**" |
您现在可以添加--exclude(或-e),请参见PR。
CLI
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 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 |
您正在使用
1 | -e, --exclude exclude globs from path expansion |
我正在使用Visual Studio Code
为我工作。查看此页面,大约在3/4处有一些禁用命令https://c9.io/lijunle/tslint
要注意的事情。上面的禁用会禁用该页面上的所有tslint规则。如果您要在页面的一半下方禁用特定规则,则有一个规则列表。因此,您可以关闭诸如
1 | /* tslint:disable comment-format */ |
除了Michael的答案外,请考虑第二种方法:向tslint.json添加linterOptions.exclude
例如,您的
1 2 3 4 5 6 7 | { "linterOptions": { "exclude": [ "someDirectory/*.d.ts" ] } } |
从
1 2 3 4 5 6 7 8 9 10 | { "extends":"tslint:latest", "linterOptions": { "exclude": [ "bin", "**/__test__", "lib/*generated.js" ] } } |
在此更多信息。
还有其他人遇到了这个问题。不幸的是,排除文件只有一个公开的问题:https://github.com/palantir/tslint/issues/73
因此,恐怕答案是否定的。
linterOptions当前仅由CLI处理。
如果不使用CLI,则根据所使用的代码库,您需要在其他位置设置忽略。 webpack,tsconfig等
我必须使用** / *语法来排除文件夹中的文件:
1 2 3 4 5 6 | "linterOptions": { "exclude": [ "src/auto-generated/**/*", "src/app/auto-generated/**/*" ] }, |
可以在tslint 5.11.0版上通过定义exclude参数来修改package.json中的lint脚本来确认其正常工作:
1 | "lint":"ng lint --exclude src/models/** --exclude package.json" |
干杯!!