如何使用tslint lint整个文件夹

时间:2016-04-06 10:07:23

标签: typescript tslint

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

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

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

是否可以在没有gulp-tslint之类的额外内容的情况下验证我的项目,只需从命令行进行验证?

3 个答案:

答案 0 :(得分:87)

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

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

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

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

tslint 'src/**/*.ts?(x)'

答案 1 :(得分:13)

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

tslint --project .

来自docs

  

-p, - project:

     

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

答案 2 :(得分:4)

  

如果您的项目有tsconfig.ts,您可以接受--project advange。

在我的情况下,我有一个nativescript项目,它包含项目根目录下的tsconfig.ts,所以我有这个:

enter image description here

请注意,在json' node_modules'和平台'目录被排除在外。 这意味着除了' node_modules'和平台'目录。

我已将这些脚本添加到我的package.json,' tslint'记录错误和' tslint-fix'修复错误。

scripts: {
    tslint: "tslint -p tsconfig.json",
    tslint-fix: "tslint --fix -p tsconfig.json"
}