From a756783604365d03c7d2133afa17a1b855f78c63 Mon Sep 17 00:00:00 2001 From: Athou Date: Tue, 2 Apr 2024 21:43:10 +0200 Subject: [PATCH] readd eslint-config-love now that it has been updated --- commafeed-client/.eslintrc.cjs | 3 ++ commafeed-client/package-lock.json | 31 ++++++++++++------- commafeed-client/package.json | 1 + commafeed-client/src/app/client.ts | 4 +-- .../src/components/content/ShareButtons.tsx | 2 +- .../components/settings/DisplaySettings.tsx | 2 +- .../src/hooks/useBrowserExtension.ts | 2 +- 7 files changed, 29 insertions(+), 16 deletions(-) diff --git a/commafeed-client/.eslintrc.cjs b/commafeed-client/.eslintrc.cjs index 1664d7c7..8c621792 100644 --- a/commafeed-client/.eslintrc.cjs +++ b/commafeed-client/.eslintrc.cjs @@ -6,6 +6,7 @@ module.exports = { extends: [ "eslint:recommended", "standard", + "love", "plugin:@typescript-eslint/strict-type-checked", "plugin:@typescript-eslint/stylistic-type-checked", "plugin:react/recommended", @@ -36,10 +37,12 @@ module.exports = { plugins: ["react"], rules: { "@typescript-eslint/consistent-type-assertions": ["error", { assertionStyle: "as" }], + "@typescript-eslint/explicit-function-return-type": "off", "@typescript-eslint/no-confusing-void-expression": ["error", { ignoreArrowShorthand: true }], "@typescript-eslint/no-floating-promises": "off", "@typescript-eslint/no-misused-promises": "off", "@typescript-eslint/prefer-nullish-coalescing": ["error", { ignoreConditionalTests: true }], + "@typescript-eslint/strict-boolean-expressions": "off", "react/no-unescaped-entities": "off", "react/react-in-jsx-scope": "off", "react-hooks/exhaustive-deps": "error", diff --git a/commafeed-client/package-lock.json b/commafeed-client/package-lock.json index 1eed3e24..4d1f03bc 100644 --- a/commafeed-client/package-lock.json +++ b/commafeed-client/package-lock.json @@ -59,6 +59,7 @@ "@vitejs/plugin-react": "^4.2.1", "babel-plugin-macros": "^3.1.0", "eslint": "^8.57.0", + "eslint-config-love": "^44.0.0", "eslint-config-prettier": "^9.1.0", "eslint-config-standard": "^17.1.0", "eslint-plugin-prettier": "^5.1.3", @@ -2295,7 +2296,6 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.0.2.tgz", "integrity": "sha512-GdwfDglCxSmU+QTS9vhz2Sop46ebNCXpPPvsByK7hu0rFGRHL+AusKQJ7SoN+LbLh6APFpQwHKmDSwN35Z700Q==", "dev": true, - "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "7.0.2", "@typescript-eslint/types": "7.0.2", @@ -2324,7 +2324,6 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.0.2.tgz", "integrity": "sha512-l6sa2jF3h+qgN2qUMjVR3uCNGjWw4ahGfzIYsCtFrQJCjhbrDPdiihYT8FnnqFwsWX+20hK592yX9I2rxKTP4g==", "dev": true, - "peer": true, "dependencies": { "@typescript-eslint/types": "7.0.2", "@typescript-eslint/visitor-keys": "7.0.2" @@ -2484,7 +2483,6 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.0.2.tgz", "integrity": "sha512-ZzcCQHj4JaXFjdOql6adYV4B/oFOFjPOC9XYwCaZFRvqN8Llfvv4gSxrkQkd2u4Ci62i2c6W6gkDwQJDaRc4nA==", "dev": true, - "peer": true, "engines": { "node": "^16.0.0 || >=18.0.0" }, @@ -2498,7 +2496,6 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.0.2.tgz", "integrity": "sha512-3AMc8khTcELFWcKcPc0xiLviEvvfzATpdPj/DXuOGIdQIIFybf4DMT1vKRbuAEOFMwhWt7NFLXRkbjsvKZQyvw==", "dev": true, - "peer": true, "dependencies": { "@typescript-eslint/types": "7.0.2", "@typescript-eslint/visitor-keys": "7.0.2", @@ -2527,7 +2524,6 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, - "peer": true, "dependencies": { "balanced-match": "^1.0.0" } @@ -2537,7 +2533,6 @@ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, - "peer": true, "dependencies": { "yallist": "^4.0.0" }, @@ -2550,7 +2545,6 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", "dev": true, - "peer": true, "dependencies": { "brace-expansion": "^2.0.1" }, @@ -2566,7 +2560,6 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", "dev": true, - "peer": true, "dependencies": { "lru-cache": "^6.0.0" }, @@ -2581,8 +2574,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true, - "peer": true + "dev": true }, "node_modules/@typescript-eslint/utils": { "version": "7.1.1", @@ -2746,7 +2738,6 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.0.2.tgz", "integrity": "sha512-8Y+YiBmqPighbm5xA2k4wKTxRzx9EkBu7Rlw+WHqMvRJ3RPz/BMBO9b2ru0LUNmXg120PHUXD5+SWFy2R8DqlQ==", "dev": true, - "peer": true, "dependencies": { "@typescript-eslint/types": "7.0.2", "eslint-visitor-keys": "^3.4.1" @@ -4272,6 +4263,24 @@ "eslint": ">=6.0.0" } }, + "node_modules/eslint-config-love": { + "version": "44.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-love/-/eslint-config-love-44.0.0.tgz", + "integrity": "sha512-SKEMIUUrKUs/SGgfMqnTFOhkJ2UN+kxzDgXRKLM+2SADP2UxMjPHGhmZnKSsXtYKhP/4J+L5hvsV1oEyxx2e4A==", + "dev": true, + "dependencies": { + "@typescript-eslint/parser": "^7.0.1", + "eslint-config-standard": "17.1.0" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "^7.0.1", + "eslint": "^8.0.1", + "eslint-plugin-import": "^2.25.2", + "eslint-plugin-n": "^15.0.0 || ^16.0.0 ", + "eslint-plugin-promise": "^6.0.0", + "typescript": "*" + } + }, "node_modules/eslint-config-prettier": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", diff --git a/commafeed-client/package.json b/commafeed-client/package.json index 457fdcc7..82c0668f 100644 --- a/commafeed-client/package.json +++ b/commafeed-client/package.json @@ -65,6 +65,7 @@ "@vitejs/plugin-react": "^4.2.1", "babel-plugin-macros": "^3.1.0", "eslint": "^8.57.0", + "eslint-config-love": "^44.0.0", "eslint-config-prettier": "^9.1.0", "eslint-config-standard": "^17.1.0", "eslint-plugin-prettier": "^5.1.3", diff --git a/commafeed-client/src/app/client.ts b/commafeed-client/src/app/client.ts index 8b642985..23b4d1cd 100644 --- a/commafeed-client/src/app/client.ts +++ b/commafeed-client/src/app/client.ts @@ -1,8 +1,8 @@ -import axios, { AxiosError } from "axios" +import axios, { type AxiosError } from "axios" import { type AddCategoryRequest, type AdminSaveUserRequest, - AuthenticationError, + type AuthenticationError, type Category, type CategoryModificationRequest, type CollapseRequest, diff --git a/commafeed-client/src/components/content/ShareButtons.tsx b/commafeed-client/src/components/content/ShareButtons.tsx index aab66b37..7e33c53c 100644 --- a/commafeed-client/src/components/content/ShareButtons.tsx +++ b/commafeed-client/src/components/content/ShareButtons.tsx @@ -73,7 +73,7 @@ function BrowserNativeShareButton({ url, description }: { url: string; descripti export function ShareButtons(props: { url: string; description: string }) { const sharingSettings = useAppSelector(state => state.user.settings?.sharingSettings) - const enabledSharingSites = (Object.keys(Constants.sharing) as (keyof SharingSettings)[]).filter(site => sharingSettings?.[site]) + const enabledSharingSites = (Object.keys(Constants.sharing) as Array).filter(site => sharingSettings?.[site]) const url = encodeURIComponent(props.url) const desc = encodeURIComponent(props.description) const clipboardAvailable = typeof navigator.clipboard !== "undefined" diff --git a/commafeed-client/src/components/settings/DisplaySettings.tsx b/commafeed-client/src/components/settings/DisplaySettings.tsx index e6db9cb6..0c0942b1 100644 --- a/commafeed-client/src/components/settings/DisplaySettings.tsx +++ b/commafeed-client/src/components/settings/DisplaySettings.tsx @@ -100,7 +100,7 @@ export function DisplaySettings() { Sharing sites} labelPosition="center" /> - {(Object.keys(Constants.sharing) as (keyof SharingSettings)[]).map(site => ( + {(Object.keys(Constants.sharing) as Array).map(site => ( { ) } } - const setBadgeUnreadCount = (count: number) => w.postMessage(`set-badge-unread-count:${count}`, "*") + const setBadgeUnreadCount = (count: number | string) => w.postMessage(`set-badge-unread-count:${count}`, "*") return { browserExtensionVersion,