创建 ESLint CLIEngine 时遇到问题

There was trouble creating the ESLint CLIEngine

There was trouble creating the ESLint CLIEngine. -
 'basePath' should be an absolute path

正在尝试使用 eslint

$ npx prettier-eslint **/*.js

但得到:

prettier-eslint [ERROR]: There was trouble creating the ESLint CLIEngine.
prettier-eslint-cli [ERROR]: There was an error formatting "test/fizzBuzz.test.js":
    AssertionError [ERR_ASSERTION]: 'basePath' should be an absolute path.

这是因为使用

选择文件时出现问题

**/*.js

当前的 UNIX 解决方法:使用 $PWD,即

$ npx prettier-eslint $PWD/'**/*.js'

这生成了正确的文件作为输出

回复:https://github.com/prettier/prettier-eslint-cli/issues/208

这也适用于使用 package.json

的类似问题

例如有

"lint": "eslint . && prettier-eslint --list-different **/*.js",
"format": "prettier-eslint --write **/*.js"

也会产生该错误。 在 Unix 上,目前可以使用 $PWD

修复此问题
"lint": "eslint . && prettier-eslint --list-different $PWD/'**/*.js'",
//                                                    /|\
"format": "prettier-eslint --write $PWD/'**/*.js'"
//                                 /|\