73

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

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

当我尝试对 tslint 执行相同操作时 - 我收到错误消息Error: EISDIR: illegal operation on a directory。在他们在网站上的示例中 - 他们展示了如何验证单个文件,通常情况并非如此。

gulp-tslint是否可以仅从命令行验证我的项目而无需额外的东西?

4

3 回答 3

110

您可以使用 glob 对多个文件进行 lint。

通常,如果你只是按原样传递一个 glob,你的 shell 将扩展它并将生成的文件传递给 TSLint。因此,例如,在启用 globstar 选项的 bash 4+ 中,您可以执行以下操作来 lint 所有.ts文件.tsx

tslint src/**/*.ts{,x}

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

tslint 'src/**/*.ts?(x)'
于 2016-04-06T16:01:21.030 回答
27

现在有一个--project选项。例子:

tslint --project .

文档

-p,--项目:

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

于 2018-03-20T18:36:14.923 回答
11

如果您的项目有 tsconfig.json,您可以使用 --project advange。

就我而言,我有一个 nativescript 项目,其中包含一个tsconfig.jsonat 项目根目录,所以我有这个:

在此处输入图像描述

请注意,在 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"
}
于 2018-05-17T20:02:18.850 回答