From 453fa48f06c2b058fb4ab3c00bdaf5eaae9ece9c Mon Sep 17 00:00:00 2001 From: Eliya Cohen Date: Wed, 15 Oct 2025 11:01:44 +0300 Subject: [PATCH 1/3] fix(eslint-plugin): avoid imports from typescript --- .../no-void-query-fn/no-void-query-fn.rule.ts | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/packages/eslint-plugin-query/src/rules/no-void-query-fn/no-void-query-fn.rule.ts b/packages/eslint-plugin-query/src/rules/no-void-query-fn/no-void-query-fn.rule.ts index 9c202e621a..b41a89c099 100644 --- a/packages/eslint-plugin-query/src/rules/no-void-query-fn/no-void-query-fn.rule.ts +++ b/packages/eslint-plugin-query/src/rules/no-void-query-fn/no-void-query-fn.rule.ts @@ -1,10 +1,15 @@ import { ESLintUtils } from '@typescript-eslint/utils' -import ts from 'typescript' import { ASTUtils } from '../../utils/ast-utils' import { detectTanstackQueryImports } from '../../utils/detect-react-query-imports' import { getDocsUrl } from '../../utils/get-docs-url' +import type { ParserServicesWithTypeInformation } from '@typescript-eslint/utils' import type { ExtraRuleDocs } from '../../types' +const TypeFlags = { + Void: 1 << 16, // 65536 + Undefined: 1 << 17, // 131072 +} as const + export const name = 'no-void-query-fn' const createRule = ESLintUtils.RuleCreator(getDocsUrl) @@ -69,7 +74,11 @@ export const rule = createRule({ }), }) -function isIllegalReturn(checker: ts.TypeChecker, type: ts.Type): boolean { +type Program = ParserServicesWithTypeInformation['program'] +type TypeChecker = ReturnType +type Type = ReturnType + +function isIllegalReturn(checker: TypeChecker, type: Type): boolean { const awaited = checker.getAwaitedType(type) if (!awaited) return false @@ -78,7 +87,5 @@ function isIllegalReturn(checker: ts.TypeChecker, type: ts.Type): boolean { return awaited.types.some((t) => isIllegalReturn(checker, t)) } - return awaited.flags & (ts.TypeFlags.Void | ts.TypeFlags.Undefined) - ? true - : false + return awaited.flags & (TypeFlags.Void | TypeFlags.Undefined) ? true : false } From 35da1a60af3ee0ad5243e0090a7b3003a9202630 Mon Sep 17 00:00:00 2001 From: Eliya Cohen Date: Wed, 15 Oct 2025 11:03:36 +0300 Subject: [PATCH 2/3] add changeset --- .changeset/shy-wasps-pull.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/shy-wasps-pull.md diff --git a/.changeset/shy-wasps-pull.md b/.changeset/shy-wasps-pull.md new file mode 100644 index 0000000000..24011af557 --- /dev/null +++ b/.changeset/shy-wasps-pull.md @@ -0,0 +1,5 @@ +--- +'@tanstack/eslint-plugin-query': patch +--- + +avoid typescript import in no-void-query-fn rule From d9ad4a73696abb0bbc2e1a77364a1951d0764f6b Mon Sep 17 00:00:00 2001 From: Eliya Cohen Date: Wed, 15 Oct 2025 11:15:39 +0300 Subject: [PATCH 3/3] fix --- .../src/rules/no-void-query-fn/no-void-query-fn.rule.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/eslint-plugin-query/src/rules/no-void-query-fn/no-void-query-fn.rule.ts b/packages/eslint-plugin-query/src/rules/no-void-query-fn/no-void-query-fn.rule.ts index b41a89c099..5a8708efc0 100644 --- a/packages/eslint-plugin-query/src/rules/no-void-query-fn/no-void-query-fn.rule.ts +++ b/packages/eslint-plugin-query/src/rules/no-void-query-fn/no-void-query-fn.rule.ts @@ -6,8 +6,8 @@ import type { ParserServicesWithTypeInformation } from '@typescript-eslint/utils import type { ExtraRuleDocs } from '../../types' const TypeFlags = { - Void: 1 << 16, // 65536 - Undefined: 1 << 17, // 131072 + Void: 16384, + Undefined: 32768, } as const export const name = 'no-void-query-fn'