Hi there,
Got this error when using in Atom and https://github.com/AtomLinter/linter-eslint
"eslint": "2.10.2",
"eslint-import-resolver-webpack": "0.2.5",
"eslint-plugin-import": "1.8.1",
"eslint-config-airbnb": "9.0.1",
"eslint-config-airbnb-base": "3.0.1",
"eslint-plugin-react": "5.1.1",
"eslint-plugin-jsx-a11y": "1.2.2",

When I delete that config in index.js, the error goes away and a new one appears.
That's odd - it seems to be using your local npm-installed eslint, which is usually the concern. What does npm ls output?
Got the same kind of error, with the message:
Error: /Users/William/Documents/my-project/node_modules/eslint-config-airbnb-base/rules/es6.js:
Configuration for rule "prefer-arrow-callback" is invalid:
Value "[object Object]" has more items than allowed.
"eslint": "^2.11.1",
"eslint-config-airbnb": "^9.0.1",
"eslint-import-resolver-webpack": "^0.3.0",
"eslint-plugin-import": "^1.8.1",
"eslint-plugin-jsx-a11y": "^1.2.3",
"eslint-plugin-react": "^5.1.1",
@wdhorton what command are you using to run that? Any chance you're using eslint directly, meaning you're running your global one and not the local one via an npm run-script?
Like the OP, I'm in Atom (v1.7.4) and using linter-eslint (7.2.0). The error appears when I save a JS file. I believe it's using the local eslint, as the bottom of the error says
at /Users/William/Documents/my-project/node_modules/eslint/lib/config/config-file.js:355:36
Based on the eslint docs, it looks like the rule in question ('prefer-arrow-callback') takes a single optional argument, "an object which is an options object", whereas in the eslint-config-airbnb source, you pass an array of length 2. Maybe there was a change on eslint's part?
EDIT: Never mind, it looks like the eslint docs do supply two arguments:
/*eslint prefer-arrow-callback: ["error", { "allowNamedFunctions": true }]*/
All rules take "off/warning/error" and then the rest of the arguments, so that part is correct. I see https://github.com/eslint/eslint/blob/master/lib/rules/prefer-arrow-callback.js#L130-L142 in the latest eslint master has both of the two properties we're passing, and the schema says no additional ones are allowed, but we should be complying with that.
The fact that it's using the local config file does NOT mean it's using the local eslint binary. Do you have eslint globally installed? If so, what if you npm uninstall -g eslint?
Uninstalling the global eslint worked, thanks!
@aleccool213 please reopen if this doesn't solve your issue.
Most helpful comment
Uninstalling the global eslint worked, thanks!