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 9c3ab957f6..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 @@ -63,7 +63,6 @@ ruleTester.run('exhaustive-deps', rule, { `, }, { - only: true, name: 'identify props!.id (ts non null expression)', code: ` function MyComponent(props) { @@ -82,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: [ {