如何使用tslint整理整个文件夹


69

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

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

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

gulp-tslint仅通过命令行,是否可以在没有其他东西的情况下验证我的项目?


4
想通了,可以使用通配符tslint src/**/*.ts
ValeriiVasin

感谢您的评论。我想知道到底如何使用通配符。
mihkov '17

Answers:


107

您可以使用全局文件删除多个文件。

通常,如果您仅按原样传递glob,则您的shell会将其扩展并将结果文件传递给TSLint。因此,例如,在启用了globstar选项的bash 4+中,您可以执行以下操作以对全部.ts.tsx文件进行整理:

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

尽管使用的命令可以跨平台和Shell始终运行,但您可能会更好。为此,您可以在引号中使用通配符。当用引号引起来时,该glob将按原样传递给TSLint,后者将使用node-glob处理它。然后,您可以运行以下命令以获取与上述相同的结果:

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

确实,似乎无引号仅适用于Windows。谢谢!
arseniyandru

因此,如果我有src的直接子文件,则此方法不起作用。说src / index.ts,这是我想的一个常见用例
aitchkhan

@HaroonKhan都应该工作。在您的情况下,我假设您使用的是blob的bash版本。您可能没有设置globstar选项。尝试切换到引用版本以利用node-glob的优势,它还具有使脚本更加独立
JKillian

像魅力一样工作,但现在失败了lint-staged:)将在一段时间内进行查看
aitchkhan


24

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

tslint --project .

文档

-p,--project:

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


1
这有效:)谢谢。另一种通配符方法不是找到所有文件。
博德曼

我不太了解--project参数。您知道如何排除文件吗?
user11081980

--project参数只是告诉它使用tsconfig.json文件中的设置。因此,如果要排除文件,则需要在tsconfig.json中进行配置。
马特·布朗

11

如果您的项目中包含tsconfig.json,则可以--project高级。

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

在此处输入图片说明

请注意,在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"
}
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.