Recursive Schema Causes Type Instantiation Is Excessively Deep or Infinite

Ouverte
#1,830 1 commentaire 3 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
35/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
typescript
Domaine
frontend

Piste de recherche

Commencez par ouvrir le StackBlitz lié, exécuter npm install et inspecter src/routes/+page.svelte avec TypeScript 5.9.2. Reproduisez l’erreur de type du schéma récursif dans l’éditeur et déterminez si elle provient de l’utilisation du formulaire ou de ses définitions de types ; le travail est terminé lorsque l’exemple conserve les indications de type sans l’erreur de profondeur excessive.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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.

Langage dominant
TypeScript
Étoiles
6.8k
Forks
705
Merge moyen
1 j 7 h
PR mergées (30 j)
13

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de TanStack/form

Toutes les issues de TanStack/form

Issues similaires

Plus d'issues TypeScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.