Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

[vue-query] 5.103.0: UseQueryOptions is no longer assignable to ensureQueryData, fetchQuery and prefetchQuery

Aperta
#11,639 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
74/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
typescript

Direzione di ricerca

Start with the TypeScript definitions for UseQueryOptions and QueryClient's ensureQueryData, fetchQuery, and prefetchQuery entry points, comparing the 5.102.8 and 5.103.0 behavior. Add a regression type test that passes UseQueryOptions with a widened symbol to all three methods, while confirming useQuery still compiles.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Describe the bug

Since 5.103.0, a value typed as UseQueryOptions can still be passed to useQuery, but no longer to the query client's ensureQueryData, fetchQuery or prefetchQuery:

Type 'symbol' is not assignable to type 'MaybeRefDeep<unique symbol | QueryFunction<string, readonly unknown[], never> | undefined>'.

#11439 widened queryFn in UseQueryOptions with SkipTokenForUseQuery = symbol. The query client methods still take query-core's options, whose queryFn accepts only typeof skipToken, a unique symbol. Plain symbol is not assignable to it, so the whole options object is rejected.

This hits generated clients: Orval's vue-query output types every get…QueryOptions() getter as UseQueryOptions, so queryClient.ensureQueryData(getXQueryOptions()), the usual pattern in a router guard, stops compiling.

Your minimal, reproducible example

5.103.2, fails: https://www.typescriptlang.org/play/?ts=6.0.3#code/JYWwDg9gTgLgBAbzgRQK4FMoE8DCAbYdAOxgBo5UBndNTLcmLMdOAVWtuwHkwZgIilOAF84AMygQQcAOQABGAENBSgMYBrAPQA3DAFoAjhmwy4mzXEbNKALjgBWAHQBGAAwBmRwCYAUD4Am6Kp4ilAsqgKU8BC8-IJ27DTGWDx8kQA8UVDARADmAHw+ESpwwYQkcAC8cEToAO4oyfjlMAAUAJR+VEl0rTFpgu1mFhHgwHjolEUExDCOxJSoYZxYACKKSn2xkUPmcJiSUHCUOaosTm6ertMtjmLoMKoAFitbA5S7FgfQx6fnLh5HNcyrNHGAwvdHi9km84h9hvsoIdfkQzg4AVcfEA

5.102.8, compiles: https://www.typescriptlang.org/play/?ts=6.0.3#code/JYWwDg9gTgLgBAbzgRQK4FMoE8DCAbYdAOxgBo5UBndNTLcmLMdOAVWtuwHkwZgIilOAF84AMygQQcAOQABGAENBSgMYBrAPQA3DAFoAjhmwy4mzXEbNKALjgBWAHQBGAAwAmRwA4AUD4Am6Kp4ilAsqgKU8BC8-IJ27DTGWDx8kQA8UVDARADmAHw+ESpwwYQkcAC8cEToAO4oyfjlMAAUAJR+VEl0rTFpgu1mFhHgwHjolEUExDCOxJSoYZxYACKKSn2xkUPmpVJg45NwAg4uHt7TLY5i6DCqABYrWwOUuyMHR0KnTm6evmVZo4wGFbvcnskXnE3sN9mMJt8iGc-pcgA

Steps to reproduce
import { QueryClient, useQuery, type UseQueryOptions } from '@tanstack/vue-query'

declare const options: UseQueryOptions<string>
const client = new QueryClient()

useQuery(options) // compiles
client.ensureQueryData(options) // error since 5.103.0
client.fetchQuery(options) // error since 5.103.0
client.prefetchQuery(options) // error since 5.103.0
Expected behavior

Options that useQuery accepts are also accepted by ensureQueryData, fetchQuery and prefetchQuery, as in 5.102.8.

How often does this bug happen?

Every time

Platform
  • OS: macOS 26 and Ubuntu (GitHub Actions)
  • Browser: none, this is a compile-time error from tsc and vue-tsc
  • Version: n/a
Tanstack Query adapter

vue-query

TanStack Query version

v5.103.2

TypeScript version

v6.0.3

Additional context

#11439's new type tests cover useQuery and queryOptions, but none passes UseQueryOptions to a query client method. Passing a literal skipToken to ensureQueryData still compiles. Only the widened symbol fails.

Lingua principale
TypeScript
Stelle
50.4k
Fork
4.2k
Merge medio
23h 7m
PR unite (30g)
231

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di TanStack/query

Tutte le issue di TanStack/query

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.