Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

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

Abierto
#11,639 1 comentario 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
74/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
typescript

Línea de trabajo

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.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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.

Lenguaje dominante
TypeScript
Estrellas
50.4k
Forks
4.2k
Merge medio
21 h 23 min
PR fusionados (30 d)
274

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de TanStack/query

Todos los issues de TanStack/query

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.