HomeBlogEngineering
Engineering

Why We Enforce TypeScript Strict Mode on Every Project

Jan 25, 20265 min readZorithm Technologies

The arguments against strict mode are all short-term thinking.

Every project that comes through our doors gets strict mode enabled in tsconfig.json. This is non-negotiable.

What Strict Mode Actually Is

TypeScript's strict flag enables a collection of checks that are individually configurable but collectively essential: strictNullChecks, strictFunctionTypes, strictPropertyInitialization, noImplicitAny, and several others. Each one catches a class of bugs that would otherwise only surface at runtime.

The Arguments Against (and Why They're Wrong)

"It produces too many errors on our existing codebase." Yes, it will. Those errors represent real bugs or design weaknesses that you've been lucky to avoid.

"It slows us down." Strict mode slows you down in the short term and dramatically speeds you up in the medium term.

"Our team isn't comfortable with it yet." This is a training problem, not a TypeScript problem. The learning curve is real but shallow.

How We Onboard Mid-Project

We don't enable strict mode and fix everything at once. We use ts-expect-error directives to suppress existing errors, then work through them systematically over the following sprints. This keeps the build green while making steady progress.