From 458f790c3f11ae36c190d934a63bebf49ea42f75 Mon Sep 17 00:00:00 2001 From: Newbie012 Date: Sat, 5 Nov 2022 19:20:13 +0200 Subject: [PATCH 1/2] remove test only --- .../src/rules/exhaustive-deps/exhaustive-deps.test.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/eslint-plugin-query/src/rules/exhaustive-deps/exhaustive-deps.test.ts b/packages/eslint-plugin-query/src/rules/exhaustive-deps/exhaustive-deps.test.ts index 9c3ab957f6..66da1bc428 100644 --- a/packages/eslint-plugin-query/src/rules/exhaustive-deps/exhaustive-deps.test.ts +++ b/packages/eslint-plugin-query/src/rules/exhaustive-deps/exhaustive-deps.test.ts @@ -63,7 +63,6 @@ ruleTester.run('exhaustive-deps', rule, { `, }, { - only: true, name: 'identify props!.id (ts non null expression)', code: ` function MyComponent(props) { From 6ad28dd4596f2f2c7f24287981639d411d330011 Mon Sep 17 00:00:00 2001 From: Newbie012 Date: Sat, 5 Nov 2022 19:44:02 +0200 Subject: [PATCH 2/2] omit type identifiers from check --- .../rules/exhaustive-deps/exhaustive-deps.rule.ts | 1 + .../rules/exhaustive-deps/exhaustive-deps.test.ts | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/packages/eslint-plugin-query/src/rules/exhaustive-deps/exhaustive-deps.rule.ts b/packages/eslint-plugin-query/src/rules/exhaustive-deps/exhaustive-deps.rule.ts index 78492306bd..f608dddfcb 100644 --- a/packages/eslint-plugin-query/src/rules/exhaustive-deps/exhaustive-deps.rule.ts +++ b/packages/eslint-plugin-query/src/rules/exhaustive-deps/exhaustive-deps.rule.ts @@ -79,6 +79,7 @@ export const rule = createRule({ })) .filter(({ ref, text }) => { return ( + !ref.isTypeReference && !ASTUtils.isAncestorIsCallee(ref.identifier) && !existingKeys.some((existingKey) => existingKey === text) ) diff --git a/packages/eslint-plugin-query/src/rules/exhaustive-deps/exhaustive-deps.test.ts b/packages/eslint-plugin-query/src/rules/exhaustive-deps/exhaustive-deps.test.ts index 66da1bc428..5f9c588f7f 100644 --- a/packages/eslint-plugin-query/src/rules/exhaustive-deps/exhaustive-deps.test.ts +++ b/packages/eslint-plugin-query/src/rules/exhaustive-deps/exhaustive-deps.test.ts @@ -81,6 +81,18 @@ ruleTester.run('exhaustive-deps', rule, { } `, }, + { + name: 'should ignore type identifiers', + code: ` + type Result = {}; + function MyComponent(props) { + useQuery({ + queryKey: ["foo", dep1], + queryFn: () => api.get(dep), + }); + } + `, + }, ], invalid: [ {