eslint 没有正确引入扩展规则

eslint doesn't pull in extends rules properly

我有一个要引入的自定义规则包 (eslint-config-common),然后使用 .eslintrc 文件覆盖其中的一些规则。

extends: common
rules:
    no-invalid-this: 0 # override a rule in common

如果我直接运行它,一切都按预期工作:

./node_modules/.bin/eslint src/**/*.js

虽然如果我 运行 它作为 .sh 文件或通过像 lint: eslint src/**/*.js 这样的 NPM 脚本,它不会引入扩展规则。它只使用 运行 直接在 .eslintrc 中找到的规则。就我而言,这真的很糟糕,因为我的 .eslintrc 通常只是关闭或关闭我不想使用的规则。

我已经 运行 它与 DEBUG:eslint:* 它找到并加载了正确的扩展文件,它似乎没有应用规则。

我发现了一个与此类似的错误,他们似乎说已修复:https://github.com/eslint/eslint/issues/2754

这个bug好像很相似,所以我不确定是我做错了什么,还是还有bug。

我使用的是最新版本的 eslint 3.17.1

原来我使用的是 glob 而没有用引号引起来。 NPM 似乎对它进行了一些修改,它似乎只深入到一个目录。

而不是这个:

"script": {
    "lint": "eslint path/to/code/**/*.js"
}

使用这个:

"script": {
    "lint": "eslint 'path/to/code/**/*.js'"
}