Bugs concrets débusqués lors de la migration d'un projet JavaScript vers TypeScript

Conclusion
Le code de kimura512.dev a débuté en JavaScript avant d'adopter un typage TypeScript rigoureux. L'introduction rétroactive de types ne crée pas de fonctionnalités ex nihilo : elle met au jour des postulats fragiles qui subsistaient silencieusement à l'exécution. Durant la phase de migration, les déploiements ont été suspendus et les commits de correction strictement isolés des nouveautés.
1. Neutralisation des omissions de traduction
Les libellés d'interface étaient regroupés dans un dictionnaire, mais l'absence d'une clé n'était décelable qu'à l'écran. L'introduction du type Record<Language, string> bloque désormais immédiatement le build dès qu'une traduction fait défaut.
2. Sécurisation des liens Markdown
L'arbre syntaxique du parseur traite le paramètre href comme facultatif. L'hypothèse erronée d'une présence systématique de l'URL provoquait des erreurs d'exécution. Le typage explicite a imposé la mise en place d'un traitement de repli élégant.
3. Rigueur des horodatages ISO
Des dates anciennes enregistrées sous des formes disparates généraient des mentions Invalid Date sur certains navigateurs. La formalisation du schéma a permis de corriger les anomalies dès la compilation.
4. Abandon des transtypages aveugles
L'usage inconsidéré du mot-clé as sur les réponses d'API masquait des discordances de données. La mise en place de validateurs en bordure de réseau garantit le rejet immédiat des requêtes non conformes.
5. Modernisation des composants d'interface
L'harmonisation des types autour de ReactNode et la gestion rigoureuse des valeurs par défaut de useRef ont éliminé les avertissements résiduels.
6. Le build comme rempart ultime
Le passage sans faute du build de production demeure le contrôle qualité le plus efficace pour un développeur solo dépourvu d'une suite de tests lourde.
7. Discriminations strictes des props
L'emploi d'unions de chaînes littérales pour qualifier les variantes graphiques empêche la persistance de classes CSS erronées ou obsolètes.
8. Découpage strict des livraisons
Les modifications structurelles de typage sont livrées indépendamment des retouches ergonomiques afin de garantir la lisibilité des historiques.
Synthèse
Consolider la frontière d'entrée des données apporte une stabilité immédiate à l'ensemble des écrans applicatifs.
Aide-mémoire opérationnel
Q. Le mode strict a-t-il été imposé brutalement ?
Non, les directives du compilateur ont été renforcées de manière échelonnée sur plusieurs sprints.
Q. Reste-t-il des types 'any' ?
Ils ont été complètement éradiqués du périmètre applicatif, ne subsistant que sous forme de unknown aux frontières des SDK externes.