运行以下 lint 命令时收到弃用警告
eslint src/js/**/*.js src/js/**/*.jsx webpack.config.js --quiet
警告:
DeprecationWarning: [eslint] 'ecmaFeatures' 配置文件属性已被弃用,并且没有效果。(在 /Users/me/Documents/my-project/node_modules/eslint-config-airbnb/rules/react.js 中找到
这似乎是在抱怨eslint-config-airbnb
在react-a11y.js
和下列出的文件react.js
。这些文件确实包含顶级配置
ecmaFeatures: {
jsx: true
}
这似乎是不正确的:github issue,docs。但是,似乎(docs)node_modules
应该被 eslint 忽略,无论如何,为了明确起见,我已将以下内容添加到我的.eslintignore
node_modules/**/*.*
node_modules
为什么我会收到关于 node_modules 中问题的警告?我唯一能想到的是忽略列表不包括 eslint 本身的配置,但这似乎很牵强,它可能会警告我 node_modules 中每个 eslintrc 文件的每个过期或错误配置?
如果它是相关的,我的.eslintrc.json
{
"env": {
"es6": true,
"browser": true,
"node": true,
"jest": true
},
"extends": ["airbnb", "prettier", "prettier/react"],
"parserOptions": {
"ecmaVersion": 2016,
"sourceType": "module",
"ecmaFeatures": {
"experimentalObjectRestSpread": true,
"jsx": true
}
},
"plugins": ["prettier", "react"],
"parser": "babel-eslint",
"rules": {
"no-param-reassign": 0
}
}
我该如何解决这个问题?
编辑:
升级到eslint-config-airbnb@latest
(看起来顶级ecmaFeatures
问题已经解决)会导致看起来更严重的错误:
/Users/me/Documents/my-project/node_modules/eslint-config-airbnb/rules/react.js: Configuration for rule "react/jsx-boolean-value" is invalid: Value "never,[object Object]" should NOT have more than 1 items. Referenced from: /Users/me/Documents/my-project/node_modules/eslint-config-airbnb/index.js Referenced from: /Users/me/Documents/my-project/.eslintrc.json Error: /Users/me/Documents/my-project/node_modules/eslint-config-airbnb/rules/react.js: Configuration for rule "react/jsx-boolean-value" is invalid: Value "never,[object Object]" should NOT have more than 1 items. Referenced from: /Users/me/Documents/my-project/node_modules/eslint-config-airbnb/index.js Referenced from: /Users/me/Documents/my-project/.eslintrc.json at validateRuleOptions (/Users/me/Documents/my-project/node_modules/eslint/lib/config/config-validator.js:113:15) at Object.keys.forEach.id (/Users/me/Documents/my-project/node_modules/eslint/lib/config/config-validator.js:153:9) at Array.forEach (native) at validateRules (/Users/me/Documents/my-project/node_modules/eslint/lib/config/config-validator.js:152:30) at Object.validate (/Users/me/Documents/my-project/node_modules/eslint/lib/config/config-validator.js:230:5) at loadFromDisk (/Users/me/Documents/my-project/node_modules/eslint/lib/config/config-file.js:549:19) at load (/Users/me/Documents/my-project/node_modules/eslint/lib/config/config-file.js:592:20) at configExtends.reduceRight (/Users/me/Documents/my-project/node_modules/eslint/lib/config/config-file.js:421:36) at Array.reduceRight (native) at applyExtends (/Users/me/Documents/my-project/node_modules/eslint/lib/config/config-file.js:403:28)