Recursive Schema Causes Type Instantiation Is Excessively Deep or Infinite

Abierto
#1,830 1 comentario 3 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
35/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
typescript
Área
frontend

Línea de trabajo

Empieza abriendo el StackBlitz enlazado, ejecutando npm install e inspeccionando src/routes/+page.svelte con TypeScript 5.9.2. Reproduce el error de tipos del esquema recursivo en el editor y determina si se origina en el uso del formulario o en sus definiciones de tipos; se considera terminado cuando el ejemplo conserva las sugerencias de tipos sin el error de profundidad excesiva.

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

Descripción

Describe the bug

I am using a necessarily recursive schema for a feature to store logic as JSON. We're unable to actually have type validation due to the Type instantiation is excessively deep and possibly infinite error that shows up. I used the most recent zod syntax for the recursive schema as well.

Your minimal, reproducible example

https://stackblitz.com/edit/sveltejs-kit-template-default-vqnfhqkw?file=src%2Froutes%2F%2Bpage.svelte

Steps to reproduce
  1. Clone the StackBlitz
  2. Run npm install
  3. Open the +page.svelte file in your editor
Expected behavior

In my editor, I would like to still see type hints without type errors. I understand that type depth might be limited, but since I am using recursive components I am not actually managing this entirely in the UI.

How often does this bug happen?

Every time

Screenshots or Videos
Image
Platform
  • OS: MacOS
  • Browser: Chrome
TanStack Form adapter

None

TanStack Form version

v1.23.8

TypeScript version

v5.9.2

Additional context

I am using svelte-form, but that's not an option, you should add it to the TanStack Form adapter options for the GH issue form.

Lenguaje dominante
TypeScript
Estrellas
6.8k
Forks
705
Merge medio
1 d 7 h
PR fusionados (30 d)
13

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/form

Todos los issues de TanStack/form

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.