From 4fd07adf3e14a5cfe50867b67545f86559513092 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20Loipf=C3=BChrer?= Date: Tue, 2 Jan 2024 19:09:21 +0100 Subject: [PATCH] refactor(frontend): fix all linter errors --- frontend/.eslintrc.json | 4 +++- .../components/transaction-shares/TransactionShareDialog.tsx | 2 +- frontend/apps/mobile/src/screens/groups/AccountDetail.tsx | 1 - frontend/apps/web/src/components/ShareSelect.tsx | 3 +-- frontend/libs/api/src/lib/websocket.ts | 1 + frontend/libs/core/src/lib/events.ts | 1 + frontend/libs/redux/src/lib/auth/authSlice.ts | 1 + frontend/libs/redux/src/lib/persistance.ts | 4 ++++ frontend/libs/redux/src/lib/thunks.ts | 1 + frontend/libs/utils/src/lib/validators.ts | 2 +- 10 files changed, 14 insertions(+), 6 deletions(-) diff --git a/frontend/.eslintrc.json b/frontend/.eslintrc.json index a7279216..234b4257 100644 --- a/frontend/.eslintrc.json +++ b/frontend/.eslintrc.json @@ -29,7 +29,9 @@ { "files": ["*.ts", "*.tsx"], "extends": ["plugin:@nx/typescript"], - "rules": {} + "rules": { + "@typescript-eslint/no-explicit-any": ["warn"] + } }, { "files": ["*.js", "*.jsx"], diff --git a/frontend/apps/mobile/src/components/transaction-shares/TransactionShareDialog.tsx b/frontend/apps/mobile/src/components/transaction-shares/TransactionShareDialog.tsx index d75dbeb3..82a8b22d 100644 --- a/frontend/apps/mobile/src/components/transaction-shares/TransactionShareDialog.tsx +++ b/frontend/apps/mobile/src/components/transaction-shares/TransactionShareDialog.tsx @@ -4,7 +4,7 @@ import memoize from "proxy-memoize"; import * as React from "react"; import { useState } from "react"; import { ScrollView } from "react-native"; -import { Button, Checkbox, Dialog, List, Text, Searchbar } from "react-native-paper"; +import { Button, Checkbox, Dialog, List, Searchbar } from "react-native-paper"; import { getAccountIcon } from "../../constants/Icons"; import { RootState, selectAccountSlice, useAppSelector } from "../../store"; import { KeyboardAvoidingDialog } from "../style/KeyboardAvoidingDialog"; diff --git a/frontend/apps/mobile/src/screens/groups/AccountDetail.tsx b/frontend/apps/mobile/src/screens/groups/AccountDetail.tsx index c0340aff..cd22b8a5 100644 --- a/frontend/apps/mobile/src/screens/groups/AccountDetail.tsx +++ b/frontend/apps/mobile/src/screens/groups/AccountDetail.tsx @@ -15,7 +15,6 @@ import { ScrollView, StyleSheet, View } from "react-native"; import { ActivityIndicator, Button, - Chip, Dialog, Divider, IconButton, diff --git a/frontend/apps/web/src/components/ShareSelect.tsx b/frontend/apps/web/src/components/ShareSelect.tsx index 7526dd9b..5ce4886f 100644 --- a/frontend/apps/web/src/components/ShareSelect.tsx +++ b/frontend/apps/web/src/components/ShareSelect.tsx @@ -22,10 +22,9 @@ import { useMediaQuery, useTheme, } from "@mui/material"; -import memoize from "proxy-memoize"; import * as React from "react"; import { Link } from "react-router-dom"; -import { RootState, selectAccountSlice, useAppSelector } from "../store"; +import { selectAccountSlice, useAppSelector } from "../store"; import { getAccountLink } from "../utils"; import { NumericInput } from "./NumericInput"; import { getAccountIcon } from "./style/AbrechnungIcons"; diff --git a/frontend/libs/api/src/lib/websocket.ts b/frontend/libs/api/src/lib/websocket.ts index 63b29913..87b77fa4 100644 --- a/frontend/libs/api/src/lib/websocket.ts +++ b/frontend/libs/api/src/lib/websocket.ts @@ -55,6 +55,7 @@ type SubscriptionCallback = (payload: NotificationPayload) => void; const parseNotificationPayload = ( subscriptionType: SubscriptionType, + // eslint-disable-next-line @typescript-eslint/no-explicit-any payload: any ): NotificationPayload | undefined => { switch (subscriptionType) { diff --git a/frontend/libs/core/src/lib/events.ts b/frontend/libs/core/src/lib/events.ts index 7c7965d7..c4ba34d6 100644 --- a/frontend/libs/core/src/lib/events.ts +++ b/frontend/libs/core/src/lib/events.ts @@ -1,3 +1,4 @@ +// eslint-disable-next-line @typescript-eslint/no-explicit-any type EventMap = Record; type EventKey = string & keyof T; type EventReceiver = (params: T) => void; diff --git a/frontend/libs/redux/src/lib/auth/authSlice.ts b/frontend/libs/redux/src/lib/auth/authSlice.ts index 7683c386..6a17ebe9 100644 --- a/frontend/libs/redux/src/lib/auth/authSlice.ts +++ b/frontend/libs/redux/src/lib/auth/authSlice.ts @@ -79,6 +79,7 @@ export const logout = createAsyncThunk("logout", async ({ ap api.resetAuthState(); dispatch({ type: PURGE, + // eslint-disable-next-line @typescript-eslint/no-explicit-any result: (purgeResult: any) => { console.log("successfully purged state", purgeResult); return; diff --git a/frontend/libs/redux/src/lib/persistance.ts b/frontend/libs/redux/src/lib/persistance.ts index 209cd0a0..ce75edd4 100644 --- a/frontend/libs/redux/src/lib/persistance.ts +++ b/frontend/libs/redux/src/lib/persistance.ts @@ -22,18 +22,22 @@ export const getAbrechnungReducer = ( ) => { return combineReducers({ accounts: persistReducer( + // eslint-disable-next-line @typescript-eslint/no-explicit-any getPersistConfig("accounts", accountSliceVersion, persistStorage, accountMigrations as any), accountReducer ), groups: persistReducer( + // eslint-disable-next-line @typescript-eslint/no-explicit-any getPersistConfig("groups", groupSliceVersion, persistStorage, groupMigrations as any), groupReducer ), transactions: persistReducer( + // eslint-disable-next-line @typescript-eslint/no-explicit-any getPersistConfig("transactions", transactionSliceVersion, persistStorage, transactionMigrations as any), transactionReducer ), auth: persistReducer( + // eslint-disable-next-line @typescript-eslint/no-explicit-any getPersistConfig("auth", authSliceVersion, persistStorage, authMigrations as any), authReducer ), diff --git a/frontend/libs/redux/src/lib/thunks.ts b/frontend/libs/redux/src/lib/thunks.ts index 68e84839..4732897b 100644 --- a/frontend/libs/redux/src/lib/thunks.ts +++ b/frontend/libs/redux/src/lib/thunks.ts @@ -29,6 +29,7 @@ export const fetchGroupDependencies = createAsyncThunk< export const clearCache = createAsyncThunk("clearCache", async (args, { dispatch }) => { dispatch({ type: PURGE, + // eslint-disable-next-line @typescript-eslint/no-explicit-any result: (purgeResult: any) => { return; }, diff --git a/frontend/libs/utils/src/lib/validators.ts b/frontend/libs/utils/src/lib/validators.ts index 35c12787..d08fb674 100644 --- a/frontend/libs/utils/src/lib/validators.ts +++ b/frontend/libs/utils/src/lib/validators.ts @@ -13,7 +13,7 @@ export const urlValidator = (url: string) => { if (!url || url.length <= 0) return "URL cannot be empty."; try { - const tmp = new URL(url); + new URL(url); } catch (_) { return "Invalid URL"; }