package.json 和 Eslint glob 扩展

5
我的package.json如下。我该如何更新它以便在以下目录中运行eslint:
src和test目录
仅限.js和.jsx文件?现在,*通配符包括了我不想要的.json文件。

{
...

"lint": "eslint {src/**/*.js*,test/**/*.js*}

...
}

3个回答

8
你可以在 eslint文档 中了解到:

请注意,当将glob作为参数传递时,它将被您的shell扩展。扩展的结果可能因您的shell及其配置而异。如果您想使用node glob语法,则必须引用您的参数(如果需要在Windows中运行,则使用双引号),如下所示:

因此最好使用双引号。一旦你使用双引号(需要在json字符串内转义),你可以稍微修改你的模式,例如:

{
...

"lint": "eslint \"{src,test}/**/*.{js,jsx}\""

...
}

使用globster.xyz 进行测试(globster.xyz 需要在开头处添加/,但 eslint 不需要,不确定为什么...)

通常有多种实现方式,但我认为这是最简洁的方法。


我批准这个解决方案适用于Windows机器。 - Gokhan Demirhan

3

我认为您需要在这里做出简洁明了和具体详实的平衡:

{
...

"lint": "eslint {src/**/*.js,src/**/*.jsx,test/**/*.js,test/**/*.jsx}"

...
}

现在将其标记为答案,如果有更简洁的方法会更好。但这确实有效。 - Sebastian Patten

1
这是我用来在一个目录上运行eslint的方法:
"lint": "node_modules/.bin/eslint --ext js --ext jsx src"

我认为你只需在src后面添加test目录即可同时完成。这里有更多信息这里

如果我有两个文件夹,src和test,怎么办? - Sebastian Patten
我认为你只需要在 src 后面添加 test 目录即可同时进行。这里有更多信息:https://eslint.org/docs/user-guide/command-line-interface。 - Matt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接