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);