dataesr/react-dsfr

Upgrade to v1 breaks TS build

Opened this issue · 5 comments

Hello,

When I upgrade to V1.1.11 then I have many ts errors :
Here are just some but there is many others :

https://github.com/SocialGouv/mon-psy-sante/runs/5969864805?check_suite_focus=true

Is there something special to do after upgarding from 0.9 to 1 ?

Etonnant mais il n'y a pas de prop value sur le composant TextInput

ok en fait il y a un ...remaningProps qui est passé aux composants enfants donc on peut lui passer diverses props. je creuse

ok comme les définitions TS sont extraites des propTypes, et que ces remainingProps ne sont pas définies dans les proptypes, ca ne ressort pas dans les définitions TS. #AppelAUnAmi cc @desoindx

Hello, je me permet de relancer pour ce problème, parce que le fait de ne pas upgrader devient bloquant. Est-ce que ces erreurs TS sont dues à une mauvaise utilisation de notre part ?

Par exemple on a un TextInput défini comme ceci :

        <TextInput
          required
          type="number"
          label="Entrez l'id d'un dossier"
          value={search}
          onChange={(e) => setSearch(e.target.value)}
        />

Qui donne l'erreur TS suivante :

Type error: Type '{ required: true; type: "number"; label: string; value: string; onChange: (e: any) => void; }' is not assignable to type 'IntrinsicAttributes & TextInputProps & { children?: ReactNode; }'.
  Property 'value' does not exist on type 'IntrinsicAttributes & TextInputProps & { children?: ReactNode; }'.

une solution court terme pour ne pas etre bloqué est d'ajouter des //@ts-ignore sur les attributs non reconnus

pour corriger les problemes des definitions ici il faudrait soit modifier les proptypes pour qu'elles soit exhaustives, soit migrer les composants en TS (les parametres ...rest sont bien gérés en TS). je fais un test asap là-dessus