benoitdemaegdt / voieslyonnaises

🚲 Aménagements cyclables à Lyon
https://cyclopolis.fr
Other
24 stars 19 forks source link

refactor: mutualize scattered types #335

Closed Delapouite closed 6 months ago

Delapouite commented 6 months ago

Bonjour

Cette PR est purement technique.

De nombreux components et composables re-décrivaient avec plus ou moins de fidélité des props de type Feature, Perspective

Cela conduisait à des situations où la source de vérité était contradictoire.

Par exemple useStats savait que le statut des lignes est 'done' | 'wip' | 'planned' | 'postponed' | 'unknown' | 'variante' | 'variante-postponed', LineToolTip n'était au courant que d'un sous-ensemble, alors que useMap n'en savait rien du tout.

Le travail de typage était déja relativement complet coté useStats, il suffisait juste de le redistribuer plus largement dans la codebase pour que l'IDE puisse bénéficier de plus de type-safety. Ce n'est pas encore parfait partout, mais c'est déjà une bonne partie (le ratio lignes ajoutées / lignes retirées est encourageant) et le reste de correctifs pourra être fait au fil de l'eau dans des PR futures. (si jamais cela introduit un conflit de merge éventuel avec les autres PRs en cours, je m'en chargerai)

Delapouite commented 6 months ago

Comme prévue, la PR n'est plus mergeable en l'état. Je la revisite bientot.

Delapouite commented 6 months ago

Done in https://github.com/benoitdemaegdt/voieslyonnaises/commit/155fa562a07c474d00bd6ed53950d9c3d3e6dbd2

benoitdemaegdt commented 6 months ago

je réouvre : il y avait plein de bonnes choses dans cette PR qui n'ont pas été reprises dans le commit cité :)

benoitdemaegdt commented 6 months ago

ok, la suite est ici: https://github.com/benoitdemaegdt/voieslyonnaises/commit/af10945c789193a06eb9c244df48ac558c25703e

je clôture cette PR, merci @Delapouite pour tout le boulot 👏