From 2a2c713486336f64c6217a09ebaa995353dba0b3 Mon Sep 17 00:00:00 2001 From: Martti Malmi Date: Thu, 4 Jan 2024 11:54:58 +0200 Subject: [PATCH] eslint: react-refresh, react-hooks --- packages/app/.eslintrc.cjs | 11 ++++++++-- packages/app/package.json | 2 ++ .../app/src/Element/Button/AsyncButton.tsx | 2 ++ .../app/src/Element/Embed/ZapstrEmbed.tsx | 2 +- .../src/Element/Event/Create/NoteCreator.tsx | 6 +++--- packages/app/src/Element/Event/FileUpload.tsx | 2 +- packages/app/src/Element/Event/Thread.tsx | 7 ++++--- .../app/src/Element/Feed/TimelineRenderer.tsx | 3 ++- packages/app/src/Element/ReBroadcaster.tsx | 2 +- packages/app/src/Element/SendSats.tsx | 1 + packages/app/src/Pages/HashTagsPage.tsx | 2 +- packages/app/src/Pages/ZapPool.tsx | 6 +++--- packages/app/src/Pages/onboarding/index.tsx | 2 +- packages/app/src/Pages/settings/Keys.tsx | 2 +- .../app/src/Pages/settings/Moderation.tsx | 2 +- .../app/src/Pages/settings/Preferences.tsx | 2 +- packages/app/src/Pages/settings/RelayInfo.tsx | 2 +- packages/app/src/Pages/settings/Relays.tsx | 2 +- .../settings/tools/follows-relay-health.tsx | 3 ++- .../Pages/settings/tools/prune-follows.tsx | 2 +- packages/app/src/Pages/subscribe/index.tsx | 6 +++--- yarn.lock | 20 +++++++++++++++++++ 22 files changed, 62 insertions(+), 27 deletions(-) diff --git a/packages/app/.eslintrc.cjs b/packages/app/.eslintrc.cjs index 393729b6..46f61f4c 100644 --- a/packages/app/.eslintrc.cjs +++ b/packages/app/.eslintrc.cjs @@ -1,7 +1,12 @@ module.exports = { - extends: ["eslint:recommended", "plugin:@typescript-eslint/recommended", "plugin:react/recommended"], + extends: [ + "eslint:recommended", + "plugin:@typescript-eslint/recommended", + "plugin:react/recommended", + "plugin:react-hooks/recommended", + ], parser: "@typescript-eslint/parser", - plugins: ["@typescript-eslint", "formatjs"], + plugins: ["@typescript-eslint", "formatjs", "react-refresh"], rules: { "formatjs/enforce-id": [ "error", @@ -10,6 +15,8 @@ module.exports = { }, ], "react/react-in-jsx-scope": "off", + "react-hooks/exhaustive-deps": "off", + "react-refresh/only-export-components": "warn", }, root: true, ignorePatterns: ["build/", "*.test.ts", "*.js"], diff --git a/packages/app/package.json b/packages/app/package.json index a3b92b9f..493e94c8 100644 --- a/packages/app/package.json +++ b/packages/app/package.json @@ -100,6 +100,8 @@ "eslint": "^8.48.0", "eslint-plugin-formatjs": "^4.11.3", "eslint-plugin-react": "^7.33.2", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-react-refresh": "^0.4.5", "postcss": "^8.4.31", "postcss-preset-env": "^9.2.0", "prettier": "2.8.3", diff --git a/packages/app/src/Element/Button/AsyncButton.tsx b/packages/app/src/Element/Button/AsyncButton.tsx index 1876b10b..3365b8c0 100644 --- a/packages/app/src/Element/Button/AsyncButton.tsx +++ b/packages/app/src/Element/Button/AsyncButton.tsx @@ -29,4 +29,6 @@ const AsyncButton = React.forwardRef((props ); }); +AsyncButton.displayName = "AsyncButton"; + export default AsyncButton; diff --git a/packages/app/src/Element/Embed/ZapstrEmbed.tsx b/packages/app/src/Element/Embed/ZapstrEmbed.tsx index 648f31b2..a213c93f 100644 --- a/packages/app/src/Element/Embed/ZapstrEmbed.tsx +++ b/packages/app/src/Element/Embed/ZapstrEmbed.tsx @@ -24,7 +24,7 @@ export default function ZapstrEmbed({ ev }: { ev: NostrEvent }) {