diff --git a/packages/eslint-plugin-query/src/__tests__/exhaustive-deps.test.ts b/packages/eslint-plugin-query/src/__tests__/exhaustive-deps.test.ts index 6ee61ca8d7..7e67ae8540 100644 --- a/packages/eslint-plugin-query/src/__tests__/exhaustive-deps.test.ts +++ b/packages/eslint-plugin-query/src/__tests__/exhaustive-deps.test.ts @@ -2160,6 +2160,20 @@ ruleTester.run('exhaustive-deps allowlist.variables', rule, { } `, }, + { + name: 'should ignore allowlisted variable when member access spans multiple lines', + options: [{ allowlist: { variables: ['ignored'] } }], + code: normalizeIndent` + function useThing() { + const ignored = { run: () => Promise.resolve() } + return useQuery({ + queryKey: ['thing'], + queryFn: () => ignored + .run() + }) + } + `, + }, ], invalid: [ { diff --git a/packages/eslint-plugin-query/src/rules/exhaustive-deps/exhaustive-deps.utils.ts b/packages/eslint-plugin-query/src/rules/exhaustive-deps/exhaustive-deps.utils.ts index 8e67fd6a8d..135a5b620d 100644 --- a/packages/eslint-plugin-query/src/rules/exhaustive-deps/exhaustive-deps.utils.ts +++ b/packages/eslint-plugin-query/src/rules/exhaustive-deps/exhaustive-deps.utils.ts @@ -282,7 +282,7 @@ export const ExhaustiveDepsUtils = { * Example: `a?.b.c!` -> `a.b.c` */ normalizeChain(text: string): string { - return text.replace(/(?:\?(\.)|!)/g, '$1') + return text.replace(/(?:\?(\.)|!)/g, '$1').replace(/\s+/g, '') }, /**