扩展airbnb配置时,.eslintrc会抛出错误

时间:2016-06-28 23:04:19

标签: node.js lint eslint airbnb

我有以下.eslintrc,每当我使用aribnb和/或airplus扩展程序对项目进行处理时,都会出现以下错误:

// .eslintrc
{
  "parser": "babel-eslint",
  "rules": {
    "id-length": 0,
    "indent": [
      2,
      2,
      {
        "SwitchCase": 1
      }
    ],
    "quotes": [
      2,
      "single"
    ],
    "linebreak-style": [
      2,
      "unix"
    ],
    "semi": [
      2,
      "always"
    ],
    "no-duplicate-case": 1,
    "no-else-return": 0,
    "react/sort-comp": [
      1,
      {}
    ],
    "no-undef": 1,
    "no-unused-vars": [
      1,
      {
        "args": "none",
        "argsIgnorePattern": "store|action|next"
      }
    ],
    "object-curly-spacing": [
      1,
      "always"
    ],
    "react/no-did-mount-set-state": [
      1
    ]
  },
  "env": {
    "es6": true,
    "node": true,
    "browser": true
  },
  "globals": {
    "_": true,
    "__ENV__": true
  },
  "extends": [
    "airbnb",
    "airplus"
  ],
  "ecmaFeatures": {
    "jsx": true,
    "experimentalObjectRestSpread": true
  },
  "plugins": [
    "react"
  ]
}

......和错误:

> esw webpack src tools

.../node_modules/eslint-config-airbnb/rules/react.js:
    Configuration for rule "react/display-name" is invalid:
    Value "data["0"].acceptTranspilerName" has additional properties.

Referenced from: airbnb
Referenced from: airplus
Referenced from: /.../.eslintrc
Error: /.../node_modules/eslint-config-airbnb/rules/react.js:
    Configuration for rule "react/display-name" is invalid:
    Value "data["0"].acceptTranspilerName" has additional properties.

Referenced from: airbnb
Referenced from: airplus
Referenced from: .../.eslintrc
    at validateRuleOptions (.../node_modules/eslint/lib/config/config-validator.js:116:15)
    at .../node_modules/eslint/lib/config/config-validator.js:163:13
    ...

3 个答案:

答案 0 :(得分:1)

npm install
npm info "eslint-config-airbnb-base@latest" peerDependencies
npm install -g install-peerdeps
install-peerdeps --dev eslint-config-airbnb-base

将“extends”:“airbnb-base”添加到.eslintrc文件中。 最后,成功安装了SUCCESS eslint-config-airbnb-base及其peerDeps。

Issue Snap Shot Here

答案 1 :(得分:0)

尝试添加"react/display-name": [0, { "ignoreTranspilerName": true }],

答案 2 :(得分:0)

就我而言,父目录中有一个 .eslintrc.js 配置文件,因此 IntelijIdea 正在使用该配置文件。我删除了它,问题解决了。