From 6857f7af97c10cf8dd05eff4b86a9fe5ddb2bba8 Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Tue, 5 Jul 2016 13:20:39 -0700 Subject: [PATCH] [eslint config] [react] [breaking] enable react rules: - `react/jsx-filename-extension` - `react/jsx-no-comment-textnodes` - `react/jsx-no-target-blank` - `react/require-extension` - `react/no-render-return-value` - `react/no-find-dom-node` - `react/no-deprecated` --- packages/eslint-config-airbnb/rules/react.js | 19 +++++++------------ .../test/test-react-order.js | 3 --- 2 files changed, 7 insertions(+), 15 deletions(-) diff --git a/packages/eslint-config-airbnb/rules/react.js b/packages/eslint-config-airbnb/rules/react.js index f0fd07d8..53961c36 100644 --- a/packages/eslint-config-airbnb/rules/react.js +++ b/packages/eslint-config-airbnb/rules/react.js @@ -118,7 +118,7 @@ module.exports = { // Prevent usage of deprecated methods // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-deprecated.md - 'react/no-deprecated': [1], + 'react/no-deprecated': [2], // Prevent usage of setState in componentDidMount // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-did-mount-set-state.md @@ -170,7 +170,7 @@ module.exports = { // Restrict file extensions that may be required // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/require-extension.md - 'react/require-extension': [0, { extensions: ['.jsx', '.js'] }], + 'react/require-extension': [2, { extensions: ['.jsx', '.js'] }], // Require render() methods to return something // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/require-render-return.md @@ -221,24 +221,20 @@ module.exports = { // Disallow target="_blank" on links // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-no-target-blank.md - // TODO: enable - 'react/jsx-no-target-blank': 0, + 'react/jsx-no-target-blank': 2, // only .jsx files may have JSX // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-filename-extension.md - // TODO: enable - 'react/jsx-filename-extension': [0, { extensions: ['.jsx'] }], + 'react/jsx-filename-extension': [2, { extensions: ['.jsx'] }], // prevent accidental JS comments from being injected into JSX as text // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-no-comment-textnodes.md - // TODO: enable - 'react/jsx-no-comment-textnodes': 0, + 'react/jsx-no-comment-textnodes': 2, 'react/no-comment-textnodes': 0, // deprecated version // disallow using React.render/ReactDOM.render's return value // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-render-return-value.md - // TODO: enable - 'react/no-render-return-value': 0, + 'react/no-render-return-value': 2, // require a shouldComponentUpdate method, or PureRenderMixin // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/require-optimization.md @@ -246,8 +242,7 @@ module.exports = { // warn against using findDOMNode() // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-find-dom-node.md - // TODO: enable - 'react/no-find-dom-node': 0, + 'react/no-find-dom-node': 2, }, settings: { diff --git a/packages/eslint-config-airbnb/test/test-react-order.js b/packages/eslint-config-airbnb/test/test-react-order.js index 5fd4f3b8..37d417ca 100644 --- a/packages/eslint-config-airbnb/test/test-react-order.js +++ b/packages/eslint-config-airbnb/test/test-react-order.js @@ -9,9 +9,6 @@ const cli = new CLIEngine({ baseConfig: eslintrc, rules: { - // This rule fails when executing on text. - indent: 0, - // It is okay to import devDependencies in tests. 'import/no-extraneous-dependencies': [2, { devDependencies: true }], },