eslint报告依赖configuration的eslintrcconfiguration问题
运行以下lint命令时,我收到了弃用警告
eslint src/js/**/*.js src/js/**/*.jsx webpack.config.js --quiet
警告:
DeprecationWarning:[eslint]“ecmaFeatures”configuration文件属性已被弃用,不起作用。 (位于/Users/me/Documents/my-project/node_modules/eslint-config-airbnb/rules/react.js
这似乎是抱怨在eslint-config-airbnb
列出的文件在react-a11y.js
和react.js
。 这些文件的确包含顶层configuration
ecmaFeatures: { jsx: true }
这似乎是不正确的: github问题 , 文档 。 但是,似乎( 文档 ) node_modules
应该被node_modules
忽略,无论如何,只是为了明确,我已经添加了以下内容到我的.eslintignore
node_modules/**/*.* node_modules
为什么我得到node_modules中的问题的警告? 我唯一能想到的是,忽略列表不包含eslint本身的configuration,但是这似乎相当复杂,它可能会警告我node_modules中的每个eslintrc文件的每个过时或错误configuration?
如果是相关的,我的.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)
更新babel-preset-react和eslint-plugin-react,为我解决了这个问题。 如果这提出新的错误,你将被迫更新几乎所有与eslint有关的东西。