From bfc03ecc7251e39f310015aa52fe848221de9f3d Mon Sep 17 00:00:00 2001 From: James Date: Sat, 28 Jul 2018 13:03:23 -0400 Subject: [PATCH] modifies ESLint to be less aggressive --- .eslintrc.js | 12 +++-- demo/client/components/App.js | 3 +- demo/client/index.js | 14 ++--- package-lock.json | 53 +++++++++++++++---- package.json | 1 + .../components/controls/Button/index.js | 40 +++++++------- .../components/graphics/Emblem/index.js | 18 +++---- src/client/components/layout/Sidebar/index.js | 10 ++-- src/client/components/views/Login/index.js | 8 +-- 9 files changed, 97 insertions(+), 62 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index d66f5389b..fe5515d37 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -148,7 +148,7 @@ module.exports = exports = { "consistent-this": [ WARN, "self" ], "eol-last": WARN, "func-names": WARN, - "func-style": [ WARN, "declaration" ], + "func-style": ["error", "declaration", { "allowArrowFunctions": true }], "id-length": [ WARN, { "min": 2, "max": 32 } ], "indent": [ WARN, 2 ], "jsx-quotes": [ WARN, "prefer-double" ], @@ -156,7 +156,7 @@ module.exports = exports = { // "linebreak-style": [ WARN, "unix" ], "lines-around-comment": [ WARN, { "beforeBlockComment": true } ], "max-depth": [ WARN, 8 ], - "max-len": [ WARN, 132 ], + "max-len": OFF, "max-nested-callbacks": [ WARN, 8 ], "max-params": [ WARN, 8 ], "new-cap": WARN, @@ -181,7 +181,7 @@ module.exports = exports = { "no-unneeded-ternary": WARN, "object-curly-spacing": [ WARN, "always" ], "one-var": OFF, - "operator-assignment": [ WARN, "never" ], + "operator-assignment": OFF, "operator-linebreak": OFF, "padded-blocks": [ WARN, "never" ], "quote-props": [ WARN, "consistent-as-needed" ], @@ -196,5 +196,9 @@ module.exports = exports = { "space-return-throw-case": OFF, "space-unary-ops": ERROR, "spaced-comment": [ WARN, "always" ], - "wrap-regex": WARN + "wrap-regex": WARN, + + // React-specific overridesf + "react/display-name": OFF, + "react/prop-types": OFF }}; diff --git a/demo/client/components/App.js b/demo/client/components/App.js index 0275620cb..938449882 100644 --- a/demo/client/components/App.js +++ b/demo/client/components/App.js @@ -7,7 +7,6 @@ import 'payload/client/scss/app.css'; class App extends Component { render() { - return (
@@ -16,7 +15,7 @@ class App extends Component {
- ) + ); } } diff --git a/demo/client/index.js b/demo/client/index.js index 59bcd61de..e41e14a59 100644 --- a/demo/client/index.js +++ b/demo/client/index.js @@ -1,14 +1,14 @@ -import React, { Component } from 'react'; +import React from 'react'; import { render } from 'react-dom'; import { BrowserRouter as Router } from 'react-router-dom'; import App from './components/App'; -const Index = props => { +const Index = () => { return ( - - - - ) -} + + + + ); +}; render(, document.getElementById('app')); diff --git a/package-lock.json b/package-lock.json index de1a0326c..7dbb438a3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4380,10 +4380,33 @@ } } }, + "eslint-plugin-react": { + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.10.0.tgz", + "integrity": "sha512-18rzWn4AtbSUxFKKM7aCVcj5LXOhOKdwBino3KKWy4psxfPW0YtIbE8WNRDUdyHFL50BeLb6qFd4vpvNYyp7hw==", + "dev": true, + "requires": { + "doctrine": "^2.1.0", + "has": "^1.0.3", + "jsx-ast-utils": "^2.0.1", + "prop-types": "^15.6.2" + }, + "dependencies": { + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + } + } + }, "eslint-scope": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz", - "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=", + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.3.tgz", + "integrity": "sha512-W+B0SvF4gamyCTmUc+uITPY0989iXVfKvhwtmJocTaYoc/3khEHmEmvfY/Gn9HA9VV75jrQECsHizkNw1b68FA==", "dev": true, "requires": { "esrecurse": "^4.1.0", @@ -4407,9 +4430,9 @@ }, "dependencies": { "acorn": { - "version": "5.5.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.5.3.tgz", - "integrity": "sha512-jd5MkIUlbbmb07nXH0DT3y7rDVtkzDi4XZOUVWAer8ajmF/DTSSbl5oNFyDOl/OXA33Bl79+ypHhl2pN20VeOQ==", + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.1.tgz", + "integrity": "sha512-d+nbxBUGKg7Arpsvbnlq61mc12ek3EY8EQldM3GPAhWJ1UVxC6TDGbIvUMNU6obBX3i1+ptCIzV4vq0gFPEGVQ==", "dev": true } } @@ -6499,9 +6522,9 @@ "dev": true }, "ignore": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.7.tgz", - "integrity": "sha512-YGG3ejvBNHRqu0559EOxxNFihD0AjpvHlC/pdGKd3X3ofe+CoJkYazwNJYTNebqpPKN+VVQbh4ZFn1DivMNuHA==", + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", "dev": true }, "ignore-by-default": { @@ -7757,6 +7780,15 @@ "promise": "^7.0.1" } }, + "jsx-ast-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.0.1.tgz", + "integrity": "sha1-6AGxs5mF4g//yHtA43SAgOLcrH8=", + "dev": true, + "requires": { + "array-includes": "^3.0.3" + } + }, "kareem": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/kareem/-/kareem-2.2.1.tgz", @@ -12840,7 +12872,8 @@ }, "stringstream": { "version": "0.0.5", - "resolved": "" + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", + "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=" }, "strip-ansi": { "version": "4.0.0", diff --git a/package.json b/package.json index bd2ae8b57..ea476f86c 100644 --- a/package.json +++ b/package.json @@ -35,6 +35,7 @@ "babel-loader": "^8.0.0-beta.4", "css-loader": "^1.0.0", "eslint": "^4.19.1", + "eslint-plugin-react": "^7.10.0", "express": "^4.16.3", "extract-text-webpack-plugin": "^4.0.0-beta.0", "html-webpack-plugin": "^3.2.0", diff --git a/src/client/components/controls/Button/index.js b/src/client/components/controls/Button/index.js index 4dbe0961b..fc06bb7a6 100644 --- a/src/client/components/controls/Button/index.js +++ b/src/client/components/controls/Button/index.js @@ -3,28 +3,26 @@ import React, { Component } from 'react'; import './Button.css'; class Button extends Component { - render() { + render() { + let classes = this.props.className ? `btn ${this.props.className}` : 'btn'; - var classes = this.props.className ? `btn ${this.props.className}` : 'btn'; - - if (this.props.type) { - classes += ` btn-${this.props.type}`; - } - - if (this.props.size) { - classes += ` btn-${this.props.size}`; - } - - if (this.props.icon) { - classes += ` btn-icon`; - } - - return ( - - ) + if (this.props.type) { + classes += ` btn-${this.props.type}`; } + + if (this.props.size) { + classes += ` btn-${this.props.size}`; + } + + if (this.props.icon) { + classes += ' btn-icon'; + } + return ( + + ); + } } -export default Button; \ No newline at end of file +export default Button; diff --git a/src/client/components/graphics/Emblem/index.js b/src/client/components/graphics/Emblem/index.js index 76842c256..f48b9f7e4 100644 --- a/src/client/components/graphics/Emblem/index.js +++ b/src/client/components/graphics/Emblem/index.js @@ -3,12 +3,12 @@ import React from 'react'; import './index.css'; export default () => { - return ( - - Payload Emblem - - - - - ) -} + return ( + + Payload Emblem + + + + + ); +}; diff --git a/src/client/components/layout/Sidebar/index.js b/src/client/components/layout/Sidebar/index.js index 04a8af070..ea1fd13a0 100644 --- a/src/client/components/layout/Sidebar/index.js +++ b/src/client/components/layout/Sidebar/index.js @@ -4,10 +4,10 @@ import Emblem from 'payload/client/components/graphics/Emblem'; import './index.css'; export default () => { - return ( - + ); }; diff --git a/src/client/components/views/Login/index.js b/src/client/components/views/Login/index.js index ccf1df1d4..5aa8ec8ec 100644 --- a/src/client/components/views/Login/index.js +++ b/src/client/components/views/Login/index.js @@ -1,7 +1,7 @@ -import React, { Component } from 'react'; +import React from 'react'; -export default props => { +export default () => { return (

Login

- ) -} + ); +};