The objection is always the same: too many errors, no time. Both are true and neither is a reason to keep the checks off.
Migrate one file at a time
Strictness does not have to be a single commit. Enable the flag, allow a per-file suppression, and remove the suppressions as files are touched for other reasons. A codebase gets strict over a quarter without anyone stopping to do a migration project.
The errors are real
When we did this the largest category was optional API fields treated as guaranteed. Every single one was a potential runtime crash that only had not happened yet because the field was usually present. That is not a type system being pedantic; that is a type system doing its job on data that comes from a network.
any deserves a linting rule that makes it deliberate. Not banned — it has legitimate uses — but never accidental.
2 Comments
Leave a comment
Sign in to leave a comment.
Signing in is unavailable right now.







Daan Visser
November 25, 2025Per-file suppression removed on touch is the trick. We tried a big-bang migration twice and abandoned it twice.
Muhammed Senussi
AuthorNovember 25, 2025A big-bang strictness migration competes with feature work and loses. Making it incidental to work already happening means it never has to win an argument about priorities.