是否可以使用tslint lint整个文件夹?
使用eslint可以eslint ./src
来验证整个文件夹。
当我尝试为tslint做同样的事情时 - 我收到错误Error: EISDIR: illegal operation on a directory
。在他们在网站上的示例中 - 他们展示了如何验证单个文件,通常情况并非如此。
是否可以在没有gulp-tslint
之类的额外内容的情况下验证我的项目,只需从命令行进行验证?
答案 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,所以我有这个:
请注意,在json' node_modules'和平台'目录被排除在外。 这意味着除了' node_modules'和平台'目录。强>
我已将这些脚本添加到我的package.json,' tslint'记录错误和' tslint-fix'修复错误。
scripts: {
tslint: "tslint -p tsconfig.json",
tslint-fix: "tslint --fix -p tsconfig.json"
}