如何关闭 ESLint 的 no-restricted-syntax rule for ForOfStatement?
How can I turn off ESLint's no-restricted-syntax rule just for ForOfStatement?
我正在为我的 ES6 程序使用 ESLint,使用 AirBNB 规则集。出于充分和充分的理由,我在我的代码中使用 for...of
构造,但 ESLint 反对它,发出 no-restricted-syntax
错误。
http://eslint.org/docs/rules/no-restricted-syntax 的文档解释了我如何在我的 .eslint
文件中指定它反对的语法树节点集:例如,如果我不喜欢 with
语句,我可以使用:
"no-restricted-syntax": ["warn", "WithStatement"]
但我不想指定一整套未经批准的建筑,我只想说我认为这样的建筑可以。概念上类似于
ESlint.rules['no-restricted-syntax'].removeEntry('ForOfStatement');
有没有办法在 ESLint 文件中做到这一点?或者,如果失败了,是否至少有一种方法可以让它告诉我它当前的 no-restricted-syntax
配置是什么,这样我就可以从中手动删除 ForOfStatement?
检查现有配置
基于当前的master分支,eslint-config-airbnb
目前禁用four syntax forms:
ForInStatement
ForOfStatement
LabeledStatement
WithStatement
你可以通过使用 ESLint 的 --print-config
CLI flag:
来验证或查看是否有任何差异
$ eslint --print-config file.js
ESLint 将打印出用于 lint file.js
的配置,您可以在那里找到 no-restricted-syntax
规则的配置。
覆盖no-restricted-syntax
如果您想覆盖 Airbnb 的预设,您可以在 .eslintrc.json
文件的 rules
部分执行此操作:
{
"rules": {
"no-restricted-syntax": ["error", "ForInStatement", "LabeledStatement", "WithStatement"]
}
}
无法将规则配置为使用从 Airbnb 的预设继承的 no-restricted-syntax
配置,只有一种语法形式除外。
在 .eslintrc.js 文件
中添加以下代码行以在您的应用程序中限制此错误
module.exports = {
extends: ['airbnb-base', 'plugin:prettier/recommended'],
plugins: ['no-only-tests'],
rules: {
'no-only-tests/no-only-tests': 2,
"no-restricted-syntax": ["error", "ForInStatement", "LabeledStatement", "WithStatement"]
},
};
我正在为我的 ES6 程序使用 ESLint,使用 AirBNB 规则集。出于充分和充分的理由,我在我的代码中使用 for...of
构造,但 ESLint 反对它,发出 no-restricted-syntax
错误。
http://eslint.org/docs/rules/no-restricted-syntax 的文档解释了我如何在我的 .eslint
文件中指定它反对的语法树节点集:例如,如果我不喜欢 with
语句,我可以使用:
"no-restricted-syntax": ["warn", "WithStatement"]
但我不想指定一整套未经批准的建筑,我只想说我认为这样的建筑可以。概念上类似于
ESlint.rules['no-restricted-syntax'].removeEntry('ForOfStatement');
有没有办法在 ESLint 文件中做到这一点?或者,如果失败了,是否至少有一种方法可以让它告诉我它当前的 no-restricted-syntax
配置是什么,这样我就可以从中手动删除 ForOfStatement?
检查现有配置
基于当前的master分支,eslint-config-airbnb
目前禁用four syntax forms:
ForInStatement
ForOfStatement
LabeledStatement
WithStatement
你可以通过使用 ESLint 的 --print-config
CLI flag:
$ eslint --print-config file.js
ESLint 将打印出用于 lint file.js
的配置,您可以在那里找到 no-restricted-syntax
规则的配置。
覆盖no-restricted-syntax
如果您想覆盖 Airbnb 的预设,您可以在 .eslintrc.json
文件的 rules
部分执行此操作:
{
"rules": {
"no-restricted-syntax": ["error", "ForInStatement", "LabeledStatement", "WithStatement"]
}
}
无法将规则配置为使用从 Airbnb 的预设继承的 no-restricted-syntax
配置,只有一种语法形式除外。
在 .eslintrc.js 文件
中添加以下代码行以在您的应用程序中限制此错误module.exports = {
extends: ['airbnb-base', 'plugin:prettier/recommended'],
plugins: ['no-only-tests'],
rules: {
'no-only-tests/no-only-tests': 2,
"no-restricted-syntax": ["error", "ForInStatement", "LabeledStatement", "WithStatement"]
},
};