The Struggle of One Project's Upgrade from `any` Hell to `strict`
Suddenly enabling `strict` in a loosely-typed TypeScript project makes hundreds of errors pour out overnight. This article is a real migration log about enabling strict-family options one by one amid new feature development and bug fixes, weighing the difficulty and effect of each option to work out an optimal ordering. It covers everything from the `any` cleanup order to `strictNullChecks` and `noImplicitAny`, along with the real-world outages and regressions encountered along the way.