From d42c4bd425fbb3bdeac08af209d3eca4175ef379 Mon Sep 17 00:00:00 2001 From: "A.J. Romaniello" Date: Thu, 9 Dec 2021 18:11:16 -0700 Subject: [PATCH 1/3] enhance esLint --- .eslintrc.json | 3 --- .eslintrc.yml | 22 ++++++++++++++++++++++ package-lock.json | 25 +++++++++++++++++++++++-- package.json | 6 ++++-- 4 files changed, 49 insertions(+), 7 deletions(-) delete mode 100644 .eslintrc.json create mode 100644 .eslintrc.yml diff --git a/.eslintrc.json b/.eslintrc.json deleted file mode 100644 index bffb357..0000000 --- a/.eslintrc.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "next/core-web-vitals" -} diff --git a/.eslintrc.yml b/.eslintrc.yml new file mode 100644 index 0000000..63a817f --- /dev/null +++ b/.eslintrc.yml @@ -0,0 +1,22 @@ +env: + browser: true + es2021: true +extends: + - "eslint:recommended" + - "next" + - google +parserOptions: + ecmaVersion: 12 + sourceType: module +rules: + camelcase: off + linebreak-style: off + object-curly-spacing: + - error + - "always" + require-jsdoc: off + semi: ["error", "never"] + no-invalid-this: off + max-len: + - error + - ignoreStrings: true \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index d8dff71..66bfec8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,8 +16,10 @@ }, "devDependencies": { "cypress": "^8.7.0", - "eslint": "7.32.0", - "eslint-config-next": "12.0.2" + "eslint": "^7.32.0", + "eslint-config-google": "^0.14.0", + "eslint-config-next": "12.0.2", + "eslint-plugin-react": "^7.27.1" } }, "node_modules/@babel/code-frame": { @@ -2845,6 +2847,18 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/eslint-config-google": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/eslint-config-google/-/eslint-config-google-0.14.0.tgz", + "integrity": "sha512-WsbX4WbjuMvTdeVL6+J3rK1RGhCTqjsFjX7UMSMgZiyxxaNLkoJENbrGExzERFeoTpGw3F3FypTiWAP9ZXzkEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + }, + "peerDependencies": { + "eslint": ">=5.16.0" + } + }, "node_modules/eslint-config-next": { "version": "12.0.2", "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-12.0.2.tgz", @@ -9234,6 +9248,13 @@ "v8-compile-cache": "^2.0.3" } }, + "eslint-config-google": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/eslint-config-google/-/eslint-config-google-0.14.0.tgz", + "integrity": "sha512-WsbX4WbjuMvTdeVL6+J3rK1RGhCTqjsFjX7UMSMgZiyxxaNLkoJENbrGExzERFeoTpGw3F3FypTiWAP9ZXzkEw==", + "dev": true, + "requires": {} + }, "eslint-config-next": { "version": "12.0.2", "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-12.0.2.tgz", diff --git a/package.json b/package.json index e9d1c12..6a20dff 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,9 @@ }, "devDependencies": { "cypress": "^8.7.0", - "eslint": "7.32.0", - "eslint-config-next": "12.0.2" + "eslint": "^7.32.0", + "eslint-config-google": "^0.14.0", + "eslint-config-next": "12.0.2", + "eslint-plugin-react": "^7.27.1" } } From ab5e75b281e3a0bc78ffa8e02d830b857034a218 Mon Sep 17 00:00:00 2001 From: "A.J. Romaniello" Date: Thu, 9 Dec 2021 18:11:42 -0700 Subject: [PATCH 2/3] run next lint --fix --- src/components/Error/Error.js | 14 ++-- src/components/Footer/Footer.js | 14 ++-- src/components/Loading/Loading.js | 15 ++-- src/components/Meta/Meta.js | 27 ++++--- src/components/NavBar/NavBar.js | 39 +++++----- src/components/NavBar/NavLink.js | 22 +++--- src/components/ResultInfo/ResultInfo.js | 25 +++---- src/components/Search/SearchBar.js | 98 +++++++++++++------------ src/components/Table/Table.js | 5 +- src/pages/_app.js | 22 +++--- src/pages/_layout.js | 40 +++++----- src/pages/feed.js | 45 ++++++------ src/pages/index.js | 43 ++++++----- 13 files changed, 205 insertions(+), 204 deletions(-) diff --git a/src/components/Error/Error.js b/src/components/Error/Error.js index 330206f..e2778b5 100644 --- a/src/components/Error/Error.js +++ b/src/components/Error/Error.js @@ -1,11 +1,11 @@ import styles from './Error.module.css' export default function Error(props) { - const { error } = props + const { error } = props - return ( -
- { error } -
- ) -} \ No newline at end of file + return ( +
+ { error } +
+ ) +} diff --git a/src/components/Footer/Footer.js b/src/components/Footer/Footer.js index c3dc248..ced52b3 100644 --- a/src/components/Footer/Footer.js +++ b/src/components/Footer/Footer.js @@ -1,11 +1,11 @@ -import footerStyles from "./Footer.module.css"; +import footerStyles from './Footer.module.css' export default function Footer() { - return ( - + ) +} diff --git a/src/components/Loading/Loading.js b/src/components/Loading/Loading.js index ea310c2..e5162c3 100644 --- a/src/components/Loading/Loading.js +++ b/src/components/Loading/Loading.js @@ -1,12 +1,11 @@ import styles from './Loading.module.css' export default function Loading() { + return ( - return ( - -
-
-

Loading

-
- ) -} \ No newline at end of file +
+
+

Loading

+
+ ) +} diff --git a/src/components/Meta/Meta.js b/src/components/Meta/Meta.js index 3e29c18..b8f2f42 100644 --- a/src/components/Meta/Meta.js +++ b/src/components/Meta/Meta.js @@ -1,19 +1,18 @@ import Head from 'next/head' export default function Meta(props) { + function getMeta() { + const { meta } = props - function getMeta() { - const { meta } = props + return Object.entries(meta).map( (arr, idx) => { + return + }) + } - return Object.entries(meta).map( (arr, idx) => { - return - }) - } - - return ( - - NeoW Browser - {props.title} - {getMeta()} - - ) -} \ No newline at end of file + return ( + + NeoW Browser - {props.title} + {getMeta()} + + ) +} diff --git a/src/components/NavBar/NavBar.js b/src/components/NavBar/NavBar.js index b5d75ba..996ca51 100644 --- a/src/components/NavBar/NavBar.js +++ b/src/components/NavBar/NavBar.js @@ -1,26 +1,25 @@ -import NavLink from "./NavLink" -import { Nav, Navbar } from "react-bootstrap" +import NavLink from './NavLink' +import { Nav, Navbar } from 'react-bootstrap' export default function NavBar() { + const pageUrls = { + browser: { pathname: '/' }, + feed: { pathname: '/feed' }, + } - const pageUrls = { - browser: { pathname: '/'}, - feed: { pathname: '/feed'} - } + const { browser, feed } = pageUrls - const { browser, feed } = pageUrls - - return ( - - NEO Browser - - - - - - ) + return ( + + NEO Browser + + + + + + ) } diff --git a/src/components/NavBar/NavLink.js b/src/components/NavBar/NavLink.js index 6f9c2ef..1e2438d 100644 --- a/src/components/NavBar/NavLink.js +++ b/src/components/NavBar/NavLink.js @@ -1,15 +1,15 @@ -import { useRouter } from "next/router" +import { useRouter } from 'next/router' import { Nav } from 'react-bootstrap' export default function NavLink(props) { - const router = useRouter() - const isActive = () => { - return props.href.pathname === router.pathname ? "nav-item active" : "nav-item"; - } + const router = useRouter() + const isActive = () => { + return props.href.pathname === router.pathname ? 'nav-item active' : 'nav-item' + } - return ( - - { props.children } - - ) -} \ No newline at end of file + return ( + + { props.children } + + ) +} diff --git a/src/components/ResultInfo/ResultInfo.js b/src/components/ResultInfo/ResultInfo.js index ab05c39..ee1828d 100644 --- a/src/components/ResultInfo/ResultInfo.js +++ b/src/components/ResultInfo/ResultInfo.js @@ -1,17 +1,16 @@ export default function ResultInfo(props) { + const { size, total_elements, total_pages, number } = props - const { size, total_elements, total_pages, number } = props + return ( +
- return ( -
- -
    -
  • Total Pages: { total_pages }
  • -
  • Total Elements: { total_elements }
  • -
  • Results: { size }
  • -
  • Page Number: { number }
  • -
-
- ) -} \ No newline at end of file +
    +
  • Total Pages: { total_pages }
  • +
  • Total Elements: { total_elements }
  • +
  • Results: { size }
  • +
  • Page Number: { number }
  • +
+
+ ) +} diff --git a/src/components/Search/SearchBar.js b/src/components/Search/SearchBar.js index 0f657cb..ae77900 100644 --- a/src/components/Search/SearchBar.js +++ b/src/components/Search/SearchBar.js @@ -1,58 +1,64 @@ import styles from './SearchBar.module.css' -import { Component } from "react" -import { connect } from "react-redux" -import { fetchNeo } from "../../actions/SearchActions" -import { Button, Container, Form } from "react-bootstrap" +import { Component } from 'react' +import { connect } from 'react-redux' +import { fetchNeo } from '../../actions/SearchActions' +import { Button, Container, Form } from 'react-bootstrap' class SearchBar extends Component { + state = { start_date: '', end_date: '' } - state = { start_date: '', end_date: ''} - - handleChange = e => { - const { id, value } = e.target - if (id === 'start_date') { - this.setState({ start_date: value }) - } else { - this.setState({ end_date: value }) - } + handleChange = (e) => { + const { id, value } = e.target + if (id === 'start_date') { + this.setState({ start_date: value }) + } else { + this.setState({ end_date: value }) + } } - handleSubmit = e => { - e.preventDefault() - this.props.fetchNeo({ start_date: this.state.start_date, end_date: this.state.end_date }) + handleSubmit = (e) => { + e.preventDefault() + this.props.fetchNeo({ + start_date: this.state.start_date, + end_date: this.state.end_date, + }) } render() { - return ( - - - - ) + return ( + + + + ) } } diff --git a/src/components/Table/Table.js b/src/components/Table/Table.js index 1fc36c6..c87dc72 100644 --- a/src/components/Table/Table.js +++ b/src/components/Table/Table.js @@ -1,4 +1,5 @@ import { Table } from 'react-bootstrap' + export default function BootstrapTable(props) { - return { props.children }
-} \ No newline at end of file + return { props.children }
+} diff --git a/src/pages/_app.js b/src/pages/_app.js index 73da501..265620e 100644 --- a/src/pages/_app.js +++ b/src/pages/_app.js @@ -1,22 +1,22 @@ -import "bootstrap/dist/css/bootstrap.css" +import 'bootstrap/dist/css/bootstrap.css' import '../styles/globals.css' import { Provider } from 'react-redux' -import thunk from "redux-thunk"; -import { applyMiddleware, compose, createStore } from "@reduxjs/toolkit"; -import rootReducer from "../reducers/rootReducer"; -import Layout from "./_layout"; +import thunk from 'redux-thunk' +import { applyMiddleware, compose, createStore } from '@reduxjs/toolkit' +import rootReducer from '../reducers/rootReducer' +import Layout from './_layout' -const composeEnhancers = (typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__) || compose; +const composeEnhancers = (typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__) || compose const store = createStore(rootReducer, composeEnhancers(applyMiddleware(thunk))) function MyApp({ Component, pageProps }) { return ( - - - - - + + + + + ) } diff --git a/src/pages/_layout.js b/src/pages/_layout.js index 50cc920..3820296 100644 --- a/src/pages/_layout.js +++ b/src/pages/_layout.js @@ -1,24 +1,24 @@ import 'bootstrap/dist/css/bootstrap.min.css' -import { Container } from "react-bootstrap" -import Head from "next/head"; -import NavBar from "../components/NavBar/NavBar" -import Footer from "../components/Footer/Footer" +import { Container } from 'react-bootstrap' +import Head from 'next/head' +import NavBar from '../components/NavBar/NavBar' +import Footer from '../components/Footer/Footer' export default function Layout(props) { - return ( - <> - - - - - - + return ( + <> + + + + + + - - - {props.children} -