Skip to content

Commit 1e3f791

Browse files
authored
fix(eslint-plugin-query): test for FunctionExpression syntax (#7213)
1 parent a9648ba commit 1e3f791

File tree

2 files changed

+23
-1
lines changed

2 files changed

+23
-1
lines changed

packages/eslint-plugin-query/src/__tests__/exhaustive-deps.test.ts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -726,5 +726,24 @@ ruleTester.run('exhaustive-deps', rule, {
726726
},
727727
],
728728
},
729+
{
730+
name: 'should fail if queryFn is invalid while using FunctionExpression syntax',
731+
code: normalizeIndent`
732+
const id = 1;
733+
734+
useQuery({
735+
queryKey: [],
736+
queryFn() {
737+
Promise.resolve(id)
738+
}
739+
})
740+
`,
741+
errors: [
742+
{
743+
messageId: 'missingDeps',
744+
data: { deps: 'id' },
745+
},
746+
],
747+
},
729748
],
730749
})

packages/eslint-plugin-query/src/rules/exhaustive-deps/exhaustive-deps.rule.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,10 @@ export const rule = createRule({
5555
scopeManager === null ||
5656
queryKey === undefined ||
5757
queryFn === undefined ||
58-
queryFn.value.type !== AST_NODE_TYPES.ArrowFunctionExpression
58+
!ASTUtils.isNodeOfOneOf(queryFn.value, [
59+
AST_NODE_TYPES.ArrowFunctionExpression,
60+
AST_NODE_TYPES.FunctionExpression,
61+
])
5962
) {
6063
return
6164
}

0 commit comments

Comments
 (0)