跨平台ESLint命令以递归方式在当前目录上运行?

时间:2019-09-02 02:39:16

标签: javascript eslint

我正在尝试创建一个跨平台 package.json命令,以递归方式将当前目录中的所有.js,.ts,.tsx文件全部清理掉。

这就是我尝试过的。

  1. 这直接来自ESLint CLI docs
"scripts": {
  "lint": "eslint . --ext .js,.ts,.tsx",
}

* nix-✅Windows-?

在Windows上...

  

没有与模式“。”匹配的文件。被发现。
  请检查模式中的输入错误。


2. GLOB匹配模式。

"scripts": {
  "lint": "eslint **/*.js **/*.ts **/*.tsx",
}

* nix-?Windows-✅


3.带有引号的GLOB匹配模式。

"scripts": {
  "lint": "eslint '**/*.js' '**/*.ts' '**/*.tsx'",
}

* nix-✅Windows-?


这是一个跨平台项目,开发人员使用Mac,Linux和Windows。

如何使这单个命令对所有这三个命令都起作用?

1 个答案:

答案 0 :(得分:2)

我正在处理类似的问题。 我在类似方面取得了成功。

"scripts": {
  "lint": "eslint \"**/*.js\" \"**/*.ts\" \"**/*.tsx\"",
}

或更短

"scripts": {
  "lint": "eslint \"**/*.{js,ts,tsx}\"",
}

用转义的双引号替换单引号实际上不是特定于eslint的模式。

也许有帮助。