TypeScript strict mode : pourquoi vous ne pouvez plus l'ignorer
Le mode strict de TypeScript effraye les débutants. Pourtant, c'est le meilleur investissement qualité que vous puissiez faire sur un projet. Explications et guide de migration.
Qu'est-ce que le strict mode TypeScript ?
Le strict mode active un ensemble de vérifications supplémentaires : strictNullChecks, noImplicitAny, strictFunctionTypes, etc. En clair, TypeScript devient vraiment typé au lieu de faire semblant.
Pourquoi la plupart des projets ne l'ont pas activé
Par paresse initiale. On démarre un projet avec strict: false pour aller vite, et on ne revient jamais dessus. Résultat : des bugs en production qui auraient été détectés à la compilation.
Les bugs que le strict mode aurait évités
- Cannot read property 'x' of undefined — le null check manquant
- Fonction qui retourne string | undefined mais traité comme string
- Paramètre implicitement any qui accepte n'importe quoi
Comment migrer progressivement
- Activez strict: true dans tsconfig.json
- Lancez tsc --noEmit et notez le nombre d'erreurs
- Traitez d'abord les fichiers partagés (utils, types, hooks)
- Utilisez // @ts-expect-error temporairement pour débloquer sans casser
On a migré un projet de 40 000 lignes en 3 sprints. On a trouvé 12 bugs réels que les tests n'avaient pas détectés. Ça valait largement l'effort.
Nathan Portier
Mandataire & Responsable marketing