Eslint сообщает о проблемах конфигурации eslintrc для конфигураций зависимостей

Я получаю предупреждение об устаревании при запуске следующей команды 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, документы. Тем не менее, кажется ( документы), что node_modules должен быть проигнорирован eslint, и в любом случае, просто чтобы быть явным, я добавил следующее в мой .eslintignore

node_modules/**/*.*
node_modules 

Почему я получаю предупреждение о проблеме, расположенной в node_modules? Единственное, что я могу подумать, это то, что список игнорирования не включает в себя конфигурации для самого eslint, но это кажется довольно надуманным, так как это может потенциально предупредить меня о каждой устаревшей или неправильной конфигурации каждого файла eslintrc в node_modules?

В случае, если это актуально, мой .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)

1 ответ

Решение

Обновите babel-preset-реакции и eslint-plugin-реагировать, что решило проблему для меня. Если это вызывает новые ошибки, вы будете вынуждены обновить почти все, что связано с eslint.

Другие вопросы по тегам