From 50c82ae3bac38fc8d532efe7ba244d032d8bf13c Mon Sep 17 00:00:00 2001 From: Dan <35927536+dan-mba@users.noreply.github.com> Date: Tue, 20 Jun 2023 08:02:43 -0400 Subject: [PATCH] Improve linting --- .eslintrc.json | 28 +++++++++++++++++++- components/Alert.js | 4 --- components/Button.js | 2 -- components/form/DropDown.js | 2 +- components/map/Map.js | 1 + components/map/MarkerCluster.js | 1 + pages/api/auth/[...nextauth].js | 4 +-- pages/api/auth/db-adapter.js | 2 +- pages/api/discover/tags.js | 4 +-- pages/api/profiles/[username]/links/[url].js | 2 +- pages/api/statistics/totals.js | 3 --- pages/api/system/reload.js | 8 ++++-- pages/auth/signin.js | 1 - pages/events.js | 2 +- pages/playground.js | 1 - 15 files changed, 42 insertions(+), 23 deletions(-) diff --git a/.eslintrc.json b/.eslintrc.json index bb8b1c099d4..52cba9912ef 100755 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,3 +1,29 @@ { - "extends": ["next/core-web-vitals", "plugin:storybook/recommended"] + "env": { + "browser": true, + "es6": true, + "node": true + }, + "extends": [ + "eslint:recommended", + "plugin:react/recommended", + "next", + "plugin:@next/next/recommended", + "plugin:storybook/recommended" + ], + "parserOptions": { + "ecmaFeatures": { + "jsx": true + }, + "ecmaVersion": 2020, + "sourceType": "module" + }, + "plugins": [ + "react" + ], + "settings": { + "react": { + "version": "detect" + } + } } diff --git a/components/Alert.js b/components/Alert.js index f1aa2509d0c..ca66188681a 100644 --- a/components/Alert.js +++ b/components/Alert.js @@ -14,7 +14,6 @@ export default function alert({ type, message }) { {message} ); - break; case "error": return (
{message}
); - break; case "warning": return (
{message}
); - break; case "info": return (
{message}
); - break; } } diff --git a/components/Button.js b/components/Button.js index 70ecb30125e..6052d8e944f 100644 --- a/components/Button.js +++ b/components/Button.js @@ -1,8 +1,6 @@ import Link from "./Link"; export default function Button({ - icon, - text, primary = false, disable, children, diff --git a/components/form/DropDown.js b/components/form/DropDown.js index d9030a2f771..1376dc58d46 100644 --- a/components/form/DropDown.js +++ b/components/form/DropDown.js @@ -20,5 +20,5 @@ export default function DropdownMenu({ eventType, handleEventTypeChange, options ); -}; +} diff --git a/components/map/Map.js b/components/map/Map.js index bce423b1a14..89c1eafa8b4 100644 --- a/components/map/Map.js +++ b/components/map/Map.js @@ -1,3 +1,4 @@ +import L from "leaflet"; import { MapContainer, TileLayer, Marker, Popup } from "react-leaflet"; import { ReactMarkdown } from "react-markdown/lib/react-markdown"; import "leaflet/dist/leaflet.css"; diff --git a/components/map/MarkerCluster.js b/components/map/MarkerCluster.js index 6121d1d5d79..2d7f558c06f 100644 --- a/components/map/MarkerCluster.js +++ b/components/map/MarkerCluster.js @@ -4,6 +4,7 @@ import "leaflet.markercluster/dist/MarkerCluster.Default.css"; import "leaflet/dist/leaflet.css"; import "leaflet.markercluster"; +// eslint-disable-next-line no-unused-vars function createMarkerCluster({ children: _c, ...props }, context) { const clusterProps = {chunkedLoading: true}; const clusterEvents = {}; diff --git a/pages/api/auth/[...nextauth].js b/pages/api/auth/[...nextauth].js index b94be47d312..9d0ee8b4e5e 100644 --- a/pages/api/auth/[...nextauth].js +++ b/pages/api/auth/[...nextauth].js @@ -26,7 +26,7 @@ export const authOptions = { strategy: "jwt", }, callbacks: { - async redirect({ url, baseUrl }) { + async redirect({ baseUrl }) { return `${baseUrl}/account/statistics`; }, async jwt({ token, account, profile }) { @@ -38,7 +38,7 @@ export const authOptions = { } return token; }, - async session({ session, token, user, profile }) { + async session({ session, token }) { // Send properties to the client, like an access_token and user id from a provider. session.accessToken = token.accessToken; session.user.id = token.id; diff --git a/pages/api/auth/db-adapter.js b/pages/api/auth/db-adapter.js index 2fc4260d883..2227624e895 100644 --- a/pages/api/auth/db-adapter.js +++ b/pages/api/auth/db-adapter.js @@ -2,7 +2,7 @@ import { User, Account, Session, VerificationToken } from "@models/index" /** @return { import("next-auth/adapters").Adapter } */ -export default function DbAdapter(client, options = {}) { +export default function DbAdapter(client) { return { async createUser(data) { await client(); diff --git a/pages/api/discover/tags.js b/pages/api/discover/tags.js index 4ea60dcadd1..9972dc4b988 100644 --- a/pages/api/discover/tags.js +++ b/pages/api/discover/tags.js @@ -20,9 +20,7 @@ export async function getTags(location = false) { tags: { $exists: true }, "location.provided": { $exists: true, - $ne: null, - $ne: "unknown", - $ne: "remote", + $nin: [null, "unknown", "remote"], }, "location.name": { $ne: "unknown" }, }, diff --git a/pages/api/profiles/[username]/links/[url].js b/pages/api/profiles/[username]/links/[url].js index 3933cb73d51..722b32b864c 100644 --- a/pages/api/profiles/[username]/links/[url].js +++ b/pages/api/profiles/[username]/links/[url].js @@ -102,7 +102,7 @@ export default async function handler(req, res) { { upsert: true } ); } catch (e) { - logger.error(e, `failed incrementing platform stats for ${data}`); + logger.error(e, `failed incrementing platform stats for ${date}`); } return res.status(201).redirect(decodeURIComponent(url)); diff --git a/pages/api/statistics/totals.js b/pages/api/statistics/totals.js index bf478d9924f..29b2d1f4aaf 100644 --- a/pages/api/statistics/totals.js +++ b/pages/api/statistics/totals.js @@ -1,6 +1,3 @@ -import fs from "fs"; -import path from "path"; - import connectMongo from "@config/mongo"; import logger from "@config/logger"; diff --git a/pages/api/system/reload.js b/pages/api/system/reload.js index fdd9631c7b5..4437a0d9a4f 100644 --- a/pages/api/system/reload.js +++ b/pages/api/system/reload.js @@ -311,13 +311,17 @@ function findOneByUsernameFull(data) { }); data = { ...data, testimonials: allTestimonials }; - } catch (e) {} + } catch (e) { + logger.error(e); + } const filePathEvents = path.join(process.cwd(), "data", username, "events"); let eventFiles = []; try { eventFiles = fs.readdirSync(filePathEvents); - } catch (e) {} + } catch (e) { + logger.error(e); + } const events = eventFiles.flatMap((filename) => { try { diff --git a/pages/auth/signin.js b/pages/auth/signin.js index 67f4f45bccf..1725a2f460d 100644 --- a/pages/auth/signin.js +++ b/pages/auth/signin.js @@ -5,7 +5,6 @@ import { signIn } from "next-auth/react"; import BlankLayout from "@components/layouts/BlankLayout"; import { authOptions } from "pages/api/auth/[...nextauth]"; import { BsGithub } from "react-icons/bs"; -import { AiOutlineLock } from "react-icons/ai"; import Button from "@components/Button"; import Link from "@components/Link"; diff --git a/pages/events.js b/pages/events.js index 7e18ac8680d..59c246413f4 100644 --- a/pages/events.js +++ b/pages/events.js @@ -11,7 +11,7 @@ import { EventTabs } from "@components/event/EventTabs"; import PageHead from "@components/PageHead"; import Badge from "@components/Badge"; -export async function getServerSideProps(context) { +export async function getServerSideProps() { let events = await getEvents(); return { diff --git a/pages/playground.js b/pages/playground.js index 8286f9f2ca5..4bd12df4b46 100644 --- a/pages/playground.js +++ b/pages/playground.js @@ -48,7 +48,6 @@ export default function Playground({BASE_URL}) { return true; } catch (err) { setErrMsg(err.toString()); - setError(true); setSuccessMsg(""); setShowNotification(true); setTimeout(() => setShowNotification(false), 1500);