在哪里可以找到“eslint:recommended”的规则定义?
Posted
技术标签:
【中文标题】在哪里可以找到“eslint:recommended”的规则定义?【英文标题】:Where can I find the rule definitions for "eslint:recommended"? 【发布时间】:2016-01-14 17:00:48 【问题描述】:在.eslintrc
文件中,我们可以使用:
"extends": "eslint:recommended"
扩展eslint提供的推荐规则,在the rule list中,很多都标为“推荐”。
我的问题是它们的确切规则定义是什么?我在eslint的repo里搜了,没找到。
【问题讨论】:
【参考方案1】:Freewind 的答案是指向一个特定的提交——现在已经过时了。
当前的eslint:recommended
规则可以在github.com/eslint/eslint/blob/master/conf/eslint-recommended.js 找到。
【讨论】:
【参考方案2】:从项目根目录运行此终端命令以输出在您的设置中应用的定义的完整列表。
./node_modules/.bin/eslint --print-config *.* > "./.eslintrc.js_fullsettings.js"
如果您在.eslint
文件中只有extends: ['eslint:recommended']
,您将得到您要查找的内容。
【讨论】:
"--print-config 选项必须与一个文件名一起使用。" 我唯一能想到的可能是您的根目录中没有 .eslint 配置文件?或者你有多个配置?对不起。我的任何项目都没有这个问题。它们的根目录中都有一个.eslintrc.js
。这可能不适用于树中多个位置的配置。
获取“--print-config 选项必须与一个文件名一起使用。”
根据doc你应该指定一个文件,eslint告诉你要使用的配置。 *.*
没有意义。【参考方案3】:
此列表中带有复选标记的所有条目:https://eslint.org/docs/rules/
【讨论】:
【参考方案4】:有一个列表here。
旧答案
Eslint no longer shows the list of recommended rules in a single file,所以这里有一种使用 Node.js 获取当前列表的方法:
const Linter = require('eslint')
const rules = [...new Linter().getRules().entries()] // all rules
.filter(data => data[1].meta.docs.recommended) // filter out unrecommended
.map(data => data[0]) // get rule names
console.log(rules.join('\n'))
【讨论】:
这个later commit 还原了您链接的那个,现在规则又是in one file。很好的活生生的例子!【参考方案5】:从源码中发现:
https://github.com/eslint/eslint/blob/3642d0bb6ced17eeed50c030531a3ddbeb939f29/lib/config.js#L189-L192
所以真正的配置在这里:https://github.com/eslint/eslint/blob/3642d0bb6ced17eeed50c030531a3ddbeb939f29/conf/eslint.json
【讨论】:
以上是关于在哪里可以找到“eslint:recommended”的规则定义?的主要内容,如果未能解决你的问题,请参考以下文章