From 93ef91d3cc92f52b34e4fff90ee339f8959d09ab Mon Sep 17 00:00:00 2001 From: AlinaGoaga Date: Thu, 28 Dec 2023 12:37:05 +0100 Subject: [PATCH] Add react-hooks/exhaustive-deps rule for additional hooks to eslint config --- packages/app/.eslintrc.js | 11 ++++++++++- plugins/backstage-plugin-flux/.eslintrc.js | 11 ++++++++++- .../src/hooks/useSyncResource.ts | 2 +- .../src/hooks/useToggleSuspendResource.ts | 2 +- 4 files changed, 22 insertions(+), 4 deletions(-) diff --git a/packages/app/.eslintrc.js b/packages/app/.eslintrc.js index e2a53a6..66b7b92 100644 --- a/packages/app/.eslintrc.js +++ b/packages/app/.eslintrc.js @@ -1 +1,10 @@ -module.exports = require('@backstage/cli/config/eslint-factory')(__dirname); +module.exports = require('@backstage/cli/config/eslint-factory')(__dirname, { + rules: { + 'react-hooks/exhaustive-deps': [ + 'warn', + { + additionalHooks: 'useAsyncFn', + }, + ], + }, +}); diff --git a/plugins/backstage-plugin-flux/.eslintrc.js b/plugins/backstage-plugin-flux/.eslintrc.js index e2a53a6..66b7b92 100644 --- a/plugins/backstage-plugin-flux/.eslintrc.js +++ b/plugins/backstage-plugin-flux/.eslintrc.js @@ -1 +1,10 @@ -module.exports = require('@backstage/cli/config/eslint-factory')(__dirname); +module.exports = require('@backstage/cli/config/eslint-factory')(__dirname, { + rules: { + 'react-hooks/exhaustive-deps': [ + 'warn', + { + additionalHooks: 'useAsyncFn', + }, + ], + }, +}); diff --git a/plugins/backstage-plugin-flux/src/hooks/useSyncResource.ts b/plugins/backstage-plugin-flux/src/hooks/useSyncResource.ts index 60bae84..c52f176 100644 --- a/plugins/backstage-plugin-flux/src/hooks/useSyncResource.ts +++ b/plugins/backstage-plugin-flux/src/hooks/useSyncResource.ts @@ -161,7 +161,7 @@ export function useSyncResource(resource: Source | Deployment | ImagePolicy) { const [{ loading }, sync] = useAsyncFn( () => syncResource(resource, kubernetesApi, alertApi), - [resource, kubernetesApi, alert], + [resource, kubernetesApi, alertApi], ); return { sync, isSyncing: loading }; diff --git a/plugins/backstage-plugin-flux/src/hooks/useToggleSuspendResource.ts b/plugins/backstage-plugin-flux/src/hooks/useToggleSuspendResource.ts index 6e29ced..04122c3 100644 --- a/plugins/backstage-plugin-flux/src/hooks/useToggleSuspendResource.ts +++ b/plugins/backstage-plugin-flux/src/hooks/useToggleSuspendResource.ts @@ -145,7 +145,7 @@ export function useToggleSuspendResource( const [{ loading }, toggleSuspend] = useAsyncFn( () => toggleSuspendResource(resource, kubernetesApi, alertApi, suspend, user), - [resource, kubernetesApi, alert, user], + [resource, kubernetesApi, alertApi, suspend, user], ); return { loading, toggleSuspend };