如何使用tslint lint整个文件夹

Val*_*sin 60 typescript tslint

是否可以使用tslint lint整个文件夹?

使用eslint可以eslint ./src验证整个文件夹.

当我尝试为tslint做同样的事情时 - 我收到了一个错误Error: EISDIR: illegal operation on a directory.在他们的网站示例中 - 他们展示了如何验证单个文件,通常情况并非如此.

是否可以在没有额外的东西的情况下验证我的项目,例如gulp-tslint,从命令行?

JKi*_*ian 97

您可以使用glob来lint多个文件.

通常,如果你只是按原样传递一个glob,你的shell将展开它并将结果文件传递给TSLint.例如,在启用了globstar选项的bash 4+中,您可以执行以下操作来lint all .ts.tsxfiles:

tslint src/**/*.ts{,x}
Run Code Online (Sandbox Code Playgroud)

尽管使用一个可以跨平台和shell一致工作的命令,你可能会更好.为此,您可以在引号中传递glob.在引号中,glob将按原样传递给TSLint,后者将使用node-glob处理它.然后,您可以运行以下命令以获得与上面相同的结果:

tslint 'src/**/*.ts?(x)'
Run Code Online (Sandbox Code Playgroud)

  • 单引号就是诀窍 - 非常感谢!! (3认同)

Mat*_*wne 19

现在有一个--project选择.例:

tslint --project .
Run Code Online (Sandbox Code Playgroud)

来自文档:

-p, - project:

包含tsconfig.json文件的路径或目录,该文件将用于确定将要打印哪些文件.此标志还启用需要类型检查器的规则.


Dan*_*iaz 9

如果您的项目具有tsconfig.json,则可以建议--project进行。

在我的情况下,我有一个本机脚本项目,该项目在项目根目录中包含一个tsconfig.ts,所以我有以下内容:

在此处输入图片说明

请注意,在json中,“ node_modules”和“ platforms”目录被排除。这意味着除了“ node_modules”和“ platforms”目录外,项目中的所有文件都将被映射。

我在我的package.json文件中添加了此脚本,“ tslint”用于记录错误,“ tslint-fix”用于修复错误。

"scripts": {
    "tslint": "tslint -p tsconfig.json",
    "tslint-fix": "tslint --fix -p tsconfig.json"
}
Run Code Online (Sandbox Code Playgroud)