【问题标题】:eslint doesn't pull in extends rules properlyeslint 没有正确引入扩展规则
【发布时间】:2017-05-19 04:18:48
【问题描述】:

我有一个我想引入的自定义规则包 (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

【问题讨论】:

  • 可以试试eslint --print-config any_js_file,看看common的规则有没有显示出来?

标签: node.js eslint


【解决方案1】:

原来我使用的是 glob 而不用引号引起来。似乎 NPM 对它进行了一些研究,并且它似乎只深入到一个目录。

而不是这个:

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

使用这个:

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

【讨论】:

    猜你喜欢
    • 2021-10-22
    • 1970-01-01
    • 1970-01-01
    • 2017-07-20
    • 2017-07-04
    • 1970-01-01
    • 1970-01-01
    • 2013-03-21
    • 2023-03-27
    相关资源
    最近更新 更多