From e037760bad9c514ef183e2c9409e6d418753bbea Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Tue, 6 Sep 2016 17:10:48 -0700 Subject: [PATCH] [eslint config] [deps] update `eslint-config-airbnb-base`, `eslint`, `eslint-find-rules`, `eslint-plugin-import`, `eslint-plugin-jsx-a11y`, `eslint-plugin-react` --- packages/eslint-config-airbnb/package.json | 20 +++++++++---------- .../eslint-config-airbnb/rules/react-a11y.js | 10 ++++++++++ packages/eslint-config-airbnb/rules/react.js | 14 +++++++++++++ .../test/test-react-order.js | 2 +- 4 files changed, 35 insertions(+), 11 deletions(-) diff --git a/packages/eslint-config-airbnb/package.json b/packages/eslint-config-airbnb/package.json index c176f07d..1ec47d72 100644 --- a/packages/eslint-config-airbnb/package.json +++ b/packages/eslint-config-airbnb/package.json @@ -45,26 +45,26 @@ }, "homepage": "https://github.com/airbnb/javascript", "dependencies": { - "eslint-config-airbnb-base": "^5.0.2" + "eslint-config-airbnb-base": "^7.0.0" }, "devDependencies": { "babel-preset-airbnb": "^2.0.0", "babel-tape-runner": "^2.0.1", - "eslint": "^3.3.1", - "eslint-find-rules": "^1.13.0", - "eslint-plugin-import": "^1.13.0", - "eslint-plugin-jsx-a11y": "^2.1.0", - "eslint-plugin-react": "^6.1.2", + "eslint": "^3.4.0", + "eslint-find-rules": "^1.13.1", + "eslint-plugin-import": "^1.14.0", + "eslint-plugin-jsx-a11y": "^2.2.1", + "eslint-plugin-react": "^6.2.0", "in-publish": "^2.0.0", "react": ">= 0.13.0", "safe-publish-latest": "^1.0.1", "tape": "^4.6.0" }, "peerDependencies": { - "eslint": "^3.3.1", - "eslint-plugin-jsx-a11y": "^2.1.0", - "eslint-plugin-import": "^1.13.0", - "eslint-plugin-react": "^6.1.2" + "eslint": "^3.4.0", + "eslint-plugin-jsx-a11y": "^2.2.1", + "eslint-plugin-import": "^1.14.0", + "eslint-plugin-react": "^6.2.0" }, "engines": { "node": ">= 4" diff --git a/packages/eslint-config-airbnb/rules/react-a11y.js b/packages/eslint-config-airbnb/rules/react-a11y.js index 76430261..3b7d684b 100644 --- a/packages/eslint-config-airbnb/rules/react-a11y.js +++ b/packages/eslint-config-airbnb/rules/react-a11y.js @@ -101,5 +101,15 @@ module.exports = { // only allow to have the "scope" attr // https://github.com/evcohen/eslint-plugin-jsx-a11y/blob/master/docs/rules/scope.md 'jsx-a11y/scope': 'error', + + // require onClick be accompanied by onKeyUp/onKeyDown/onKeyPress + // https://github.com/evcohen/eslint-plugin-jsx-a11y/blob/master/docs/rules/click-events-have-key-events.md + // TODO: enable? + 'jsx-a11y/click-events-have-key-events': 'off', + + // Enforce that DOM elements without semantic behavior not have interaction handlers + // https://github.com/evcohen/eslint-plugin-jsx-a11y/blob/master/docs/rules/no-static-element-interactions.md + // TODO: enable + 'jsx-a11y/no-static-element-interactions': 'off', }, }; diff --git a/packages/eslint-config-airbnb/rules/react.js b/packages/eslint-config-airbnb/rules/react.js index 99215262..1d4eb2a4 100644 --- a/packages/eslint-config-airbnb/rules/react.js +++ b/packages/eslint-config-airbnb/rules/react.js @@ -252,6 +252,20 @@ module.exports = { // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-danger-with-children.md // TODO: enable, semver-major 'react/no-danger-with-children': 'off', + + // Prevent unused propType definitions + // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-unused-prop-types.md + // TODO: enable + 'react/no-unused-prop-types': ['off', { + customValidators: [ + ], + skipShapeProps: false, + }], + + // Require style prop value be an object or var + // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/style-prop-object.md + // TODO: enable + 'react/style-prop-object': 'off', }, settings: { diff --git a/packages/eslint-config-airbnb/test/test-react-order.js b/packages/eslint-config-airbnb/test/test-react-order.js index 37d417ca..aa8aa192 100644 --- a/packages/eslint-config-airbnb/test/test-react-order.js +++ b/packages/eslint-config-airbnb/test/test-react-order.js @@ -26,7 +26,7 @@ function wrapComponent(body) { import React from 'react'; export default class MyComponent extends React.Component { -/* eslint no-empty-function: 0 */ +/* eslint no-empty-function: 0, class-methods-use-this: 0 */ ${body} } `;