From b670baeeec75912022c30b365676a33db73f471e Mon Sep 17 00:00:00 2001 From: CJ Cenizal Date: Thu, 3 Aug 2017 08:18:08 -0700 Subject: [PATCH] Add AirBnB linting rules for React best practices. Bump to v0.10.0. (#13259) --- packages/eslint-config-kibana/.eslintrc.js | 11 +++++++++++ packages/eslint-config-kibana/package.json | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/eslint-config-kibana/.eslintrc.js b/packages/eslint-config-kibana/.eslintrc.js index 91f200949342..088f2e370113 100644 --- a/packages/eslint-config-kibana/.eslintrc.js +++ b/packages/eslint-config-kibana/.eslintrc.js @@ -89,6 +89,7 @@ module.exports = { 'object-curly-spacing': 'off', // overriden with babel/object-curly-spacing 'babel/object-curly-spacing': [ 'error', 'always' ], + 'jsx-quotes': ['error', 'prefer-double'], 'react/jsx-uses-react': 'error', 'react/react-in-jsx-scope': 'error', 'react/jsx-uses-vars': 'error', @@ -96,6 +97,7 @@ module.exports = { 'react/jsx-pascal-case': 'error', 'react/jsx-closing-bracket-location': ['error', 'line-aligned'], 'react/jsx-closing-tag-location': 'error', + 'react/jsx-curly-spacing': ['error', 'never', { allowMultiline: true }], 'react/jsx-indent-props': ['error', 2], 'react/jsx-max-props-per-line': ['error', { maximum: 1, when: 'multiline' }], 'react/jsx-no-duplicate-props': ['error', { ignoreCase: true }], @@ -109,6 +111,15 @@ module.exports = { 'react/jsx-first-prop-new-line': ['error', 'multiline-multiprop'], 'react/jsx-equals-spacing': ['error', 'never'], 'react/jsx-indent': ['error', 2], + 'react/no-did-mount-set-state': 'error', + 'react/no-did-update-set-state': 'error', + 'react/no-will-update-set-state': 'error', + 'react/no-is-mounted': 'error', + 'react/no-multi-comp': ['error', { ignoreStateless: true }], + 'react/no-unknown-property': 'error', + 'react/prefer-es6-class': ['error', 'always'], + 'react/prefer-stateless-function': ['error', { ignorePureComponents: true }], + 'react/no-unescaped-entities': 'error', 'mocha/handle-done-callback': 'error', 'mocha/no-exclusive-tests': 'error', diff --git a/packages/eslint-config-kibana/package.json b/packages/eslint-config-kibana/package.json index 9c042fe34734..28e728380e65 100644 --- a/packages/eslint-config-kibana/package.json +++ b/packages/eslint-config-kibana/package.json @@ -1,6 +1,6 @@ { "name": "@elastic/eslint-config-kibana", - "version": "0.9.0", + "version": "0.10.0", "description": "The eslint config used by the kibana team", "main": ".eslintrc.js", "scripts": {