From 44336c2a3586cc108516450ac96e73158bef693a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89mile=20R=C3=A9?= Date: Wed, 3 Dec 2025 19:04:21 +0400 Subject: [PATCH] Fix warnings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Émile Ré --- apps/console/eslint.config.mjs | 6 --- apps/console/package.json | 1 - .../components/audits/LinkedAuditsDialog.tsx | 2 +- .../documents/LinkedDocumentsDialog.tsx | 2 +- .../measures/LinkedMeasuresDialog.tsx | 2 +- .../obligations/LinkedObligationsDialog.tsx | 2 +- .../components/risks/LinkedRisksDialog.tsx | 2 +- .../snapshots/LinkedSnapshotsDialog.tsx | 2 +- .../console/src/hooks/graph/FrameworkGraph.ts | 2 +- .../src/hooks/useMutationWithToasts.ts | 2 +- .../documents/tabs/DocumentSignaturesTab.tsx | 11 ++-- .../dialog/EvidenceDownloadDialog.tsx | 2 +- .../measures/dialog/EvidencePreviewDialog.tsx | 2 +- .../vendors/dialogs/EditContactDialog.tsx | 2 +- .../vendors/dialogs/EditServiceDialog.tsx | 2 +- .../vendors/tabs/VendorOverviewTab.tsx | 2 +- package-lock.json | 1 - packages/ui/eslint.config.js | 53 ++++++++++--------- packages/ui/src/Atoms/Textarea/Textarea.tsx | 1 + 19 files changed, 48 insertions(+), 51 deletions(-) diff --git a/apps/console/eslint.config.mjs b/apps/console/eslint.config.mjs index 8f007887b..efdd39cde 100644 --- a/apps/console/eslint.config.mjs +++ b/apps/console/eslint.config.mjs @@ -4,7 +4,6 @@ import js from "@eslint/js"; import { defineConfig } from "eslint/config"; import globals from "globals"; import reactHooks from "eslint-plugin-react-hooks"; -import reactRefresh from "eslint-plugin-react-refresh"; import tseslint from "typescript-eslint"; export default defineConfig([ @@ -21,14 +20,9 @@ export default defineConfig([ }, plugins: { "react-hooks": reactHooks, - "react-refresh": reactRefresh, }, rules: { ...reactHooks.configs.recommended.rules, - "react-refresh/only-export-components": [ - "warn", - { allowConstantExport: true }, - ], }, }, ]); diff --git a/apps/console/package.json b/apps/console/package.json index 1cdad5773..dfd65e42b 100644 --- a/apps/console/package.json +++ b/apps/console/package.json @@ -45,7 +45,6 @@ "babel-plugin-relay": "^19.0.0", "eslint": "^9.25.0", "eslint-plugin-react-hooks": "^5.2.0", - "eslint-plugin-react-refresh": "^0.4.19", "globals": "^16.0.0", "graphql": "^16.11.0", "prettier": "^3.5.3", diff --git a/apps/console/src/components/audits/LinkedAuditsDialog.tsx b/apps/console/src/components/audits/LinkedAuditsDialog.tsx index e28c8aa0a..d675840a2 100644 --- a/apps/console/src/components/audits/LinkedAuditsDialog.tsx +++ b/apps/console/src/components/audits/LinkedAuditsDialog.tsx @@ -103,7 +103,7 @@ function LinkedAuditsDialogContent(props: Omit) { ); const { __ } = useTranslate(); const [search, setSearch] = useState(""); - const audits = data.audits?.edges?.map((edge) => edge.node) ?? []; + const audits = useMemo(() => data.audits?.edges?.map((edge) => edge.node) ?? [], [data.audits]); const linkedIds = useMemo(() => { return new Set(props.linkedAudits?.map((a) => a.id) ?? []); }, [props.linkedAudits]); diff --git a/apps/console/src/components/documents/LinkedDocumentsDialog.tsx b/apps/console/src/components/documents/LinkedDocumentsDialog.tsx index 5d9e90f27..37c972412 100644 --- a/apps/console/src/components/documents/LinkedDocumentsDialog.tsx +++ b/apps/console/src/components/documents/LinkedDocumentsDialog.tsx @@ -97,7 +97,7 @@ function LinkedDocumentsDialogContent(props: Omit) { ); const { __ } = useTranslate(); const [search, setSearch] = useState(""); - const documents = data.documents?.edges?.map((edge) => edge.node) ?? []; + const documents = useMemo(() => data.documents?.edges?.map((edge) => edge.node) ?? [], [data.documents]); const linkedIds = useMemo(() => { return new Set(props.linkedDocuments?.map((m) => m.id) ?? []); }, [props.linkedDocuments]); diff --git a/apps/console/src/components/measures/LinkedMeasuresDialog.tsx b/apps/console/src/components/measures/LinkedMeasuresDialog.tsx index 6655c6a27..0d13ec4a0 100644 --- a/apps/console/src/components/measures/LinkedMeasuresDialog.tsx +++ b/apps/console/src/components/measures/LinkedMeasuresDialog.tsx @@ -49,7 +49,7 @@ function LinkedMeasuresDialogContent(props: Omit) { const { __ } = useTranslate(); const [search, setSearch] = useState(""); const [category, setCategory] = useState(null); - const measures = data.measures?.edges?.map((edge) => edge.node) ?? []; + const measures = useMemo(() => data.measures?.edges?.map((edge) => edge.node) ?? [], [data.measures]); const linkedIds = useMemo(() => { return new Set(props.linkedMeasures?.map((m) => m.id) ?? []); }, [props.linkedMeasures]); diff --git a/apps/console/src/components/obligations/LinkedObligationsDialog.tsx b/apps/console/src/components/obligations/LinkedObligationsDialog.tsx index e54e67bfa..75f216807 100644 --- a/apps/console/src/components/obligations/LinkedObligationsDialog.tsx +++ b/apps/console/src/components/obligations/LinkedObligationsDialog.tsx @@ -103,7 +103,7 @@ function LinkedObligationsDialogContent(props: Omit) { ); const { __ } = useTranslate(); const [search, setSearch] = useState(""); - const obligations = data.obligations?.edges?.map((edge) => edge.node) ?? []; + const obligations = useMemo(() => data.obligations?.edges?.map((edge) => edge.node) ?? [], [data.obligations]); const linkedIds = useMemo(() => { return new Set(props.linkedObligations?.map((o) => o.id) ?? []); }, [props.linkedObligations]); diff --git a/apps/console/src/components/risks/LinkedRisksDialog.tsx b/apps/console/src/components/risks/LinkedRisksDialog.tsx index 5d4b01ae4..93c90dae3 100644 --- a/apps/console/src/components/risks/LinkedRisksDialog.tsx +++ b/apps/console/src/components/risks/LinkedRisksDialog.tsx @@ -73,7 +73,7 @@ function LinkedRisksDialogContent(props: Omit) { const { __ } = useTranslate(); const [search, setSearch] = useState(""); const [category, setCategory] = useState(null); - const risks = data.organization?.risks?.edges?.map((edge) => edge.node) ?? []; + const risks = useMemo(() => data.organization?.risks?.edges?.map((edge) => edge.node) ?? [], [data.organization?.risks]); const linkedIds = useMemo(() => { return new Set(props.linkedRisks?.map((r) => r.id) ?? []); }, [props.linkedRisks]); diff --git a/apps/console/src/components/snapshots/LinkedSnapshotsDialog.tsx b/apps/console/src/components/snapshots/LinkedSnapshotsDialog.tsx index fb4b7bcd6..66d8bf89d 100644 --- a/apps/console/src/components/snapshots/LinkedSnapshotsDialog.tsx +++ b/apps/console/src/components/snapshots/LinkedSnapshotsDialog.tsx @@ -102,7 +102,7 @@ function LinkedSnapshotsDialogContent(props: Omit) { const { __ } = useTranslate(); const [search, setSearch] = useState(""); - const snapshots = data.snapshots?.edges?.map((edge) => edge.node) ?? []; + const snapshots = useMemo(() => data.snapshots?.edges?.map((edge) => edge.node) ?? [], [data.snapshots]); const linkedIds = useMemo(() => { return new Set(props.linkedSnapshots?.map((s) => s.id) ?? []); }, [props.linkedSnapshots]); diff --git a/apps/console/src/hooks/graph/FrameworkGraph.ts b/apps/console/src/hooks/graph/FrameworkGraph.ts index 21433368a..17fb0f52c 100644 --- a/apps/console/src/hooks/graph/FrameworkGraph.ts +++ b/apps/console/src/hooks/graph/FrameworkGraph.ts @@ -73,7 +73,7 @@ export const useDeleteFrameworkMutation = ( } ); }, - [framework, connectionId, commitDelete] + [framework, connectionId, commitDelete, confirm, __] ); }; diff --git a/apps/console/src/hooks/useMutationWithToasts.ts b/apps/console/src/hooks/useMutationWithToasts.ts index 24f803be3..116e9bba2 100644 --- a/apps/console/src/hooks/useMutationWithToasts.ts +++ b/apps/console/src/hooks/useMutationWithToasts.ts @@ -68,7 +68,7 @@ export function useMutationWithToasts( }) ); }, - [mutate, toast, __] + [mutate, toast, __, baseOptions] ); return [mutateWithToast, isLoading] as const; diff --git a/apps/console/src/pages/organizations/documents/tabs/DocumentSignaturesTab.tsx b/apps/console/src/pages/organizations/documents/tabs/DocumentSignaturesTab.tsx index f883e836c..049b3ba07 100644 --- a/apps/console/src/pages/organizations/documents/tabs/DocumentSignaturesTab.tsx +++ b/apps/console/src/pages/organizations/documents/tabs/DocumentSignaturesTab.tsx @@ -120,10 +120,11 @@ function SignatureList(props: { version: Version; selectedStates: SignatureState[]; }) { + const { version: propVersion, selectedStates } = props; const [version, refetch] = useRefetchableFragment< DocumentSignaturesTabRefetchQuery, DocumentSignaturesTab_version$key - >(versionFragment, props.version); + >(versionFragment, propVersion); const signatures = version.signatures?.edges?.map((edge) => edge.node) ?? []; const { __ } = useTranslate(); const signatureMap = new Map(signatures.map((s) => [s.signedBy.id, s])); @@ -140,10 +141,10 @@ function SignatureList(props: { } const filter = - props.selectedStates.length > 0 ? { states: props.selectedStates } : null; + selectedStates.length > 0 ? { states: selectedStates } : null; refetch({ signatureFilter: filter }); - }, [JSON.stringify(props.selectedStates), refetch]); + }, [selectedStates, refetch]); if (!version.signatures) { return ( @@ -163,11 +164,11 @@ function SignatureList(props: { // When a filter is active, only show people who have signatures in the filtered results const filteredPeople = - props.selectedStates.length > 0 + selectedStates.length > 0 ? people.filter((p) => signatureMap.has(p.id)) : people; - if (filteredPeople.length === 0 && props.selectedStates.length > 0) { + if (filteredPeople.length === 0 && selectedStates.length > 0) { return (
{__("No signatures match the selected filters")} diff --git a/apps/console/src/pages/organizations/measures/dialog/EvidenceDownloadDialog.tsx b/apps/console/src/pages/organizations/measures/dialog/EvidenceDownloadDialog.tsx index a75cdc1cf..483ab6b00 100644 --- a/apps/console/src/pages/organizations/measures/dialog/EvidenceDownloadDialog.tsx +++ b/apps/console/src/pages/organizations/measures/dialog/EvidenceDownloadDialog.tsx @@ -52,7 +52,7 @@ function DownloadLink({ evidenceId, onClose }: Props) { useEffect(() => { downloadFile(evidence.file?.downloadUrl, evidence.file?.fileName ?? "evidence"); onClose(); - }, [evidence]); + }, [evidence.file?.downloadUrl, evidence.file?.fileName, onClose]); return null; } diff --git a/apps/console/src/pages/organizations/measures/dialog/EvidencePreviewDialog.tsx b/apps/console/src/pages/organizations/measures/dialog/EvidencePreviewDialog.tsx index 31d5d19a9..817a36255 100644 --- a/apps/console/src/pages/organizations/measures/dialog/EvidencePreviewDialog.tsx +++ b/apps/console/src/pages/organizations/measures/dialog/EvidencePreviewDialog.tsx @@ -101,7 +101,7 @@ function EvidencePreviewContent({ return () => { abortController.abort(); }; - }, [evidence.file?.downloadUrl, isUriFile]); + }, [evidence.file?.downloadUrl, isUriFile, onClose, __, toast]); if (!evidence.file?.downloadUrl) { return null; diff --git a/apps/console/src/pages/organizations/vendors/dialogs/EditContactDialog.tsx b/apps/console/src/pages/organizations/vendors/dialogs/EditContactDialog.tsx index 73c346ea5..273592505 100644 --- a/apps/console/src/pages/organizations/vendors/dialogs/EditContactDialog.tsx +++ b/apps/console/src/pages/organizations/vendors/dialogs/EditContactDialog.tsx @@ -88,7 +88,7 @@ export function EditContactDialog({ contactId, contact, onClose }: Props) { useEffect(() => { dialogRef.current?.open(); - }, []); + }, [dialogRef]); return ( { dialogRef.current?.open(); - }, []); + }, [dialogRef]); return ( & { + variant?: "bordered" | "ghost" | "title"; autogrow?: boolean; ref?: RefCallback; };