TypeScript strict mode or equivalent linting is enabled
Why it matters
TypeScript without strict: true is a false sense of safety. With strictNullChecks disabled, the compiler allows null and undefined to be passed anywhere — silently — meaning null pointer exceptions lurk undetected until runtime. With noImplicitAny disabled, entire code paths go untyped. CWE-704 (Incorrect Type Conversion or Cast) applies: the type system fails to catch conversions that will break at runtime. ISO 25010 maintainability.analysability and modifiability both degrade when developers cannot trust the type system to catch refactoring errors.
Severity rationale
Critical because disabling strict mode allows null pointer bugs and implicit `any` types to pass compilation silently, making the type system fail at its primary job.
Remediation
Enable strict mode in tsconfig.json:
{
"compilerOptions": {
"strict": true
}
}
If enabling strict mode surfaces many errors in an existing codebase, add flags incrementally: "noImplicitAny": true first, fix those errors, then "strictNullChecks": true. Each flag catches a distinct class of real bugs — budget time to address them, because they were already there.
DetectionPro
The detection method for this pattern is part of AuditBuffet Pro.
The full method (what to look for, pass and fail conditions, and how results get reported) ships inside the Code Maintainability Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
External references
- iso-25010:2011 · maintainability.analysability — Analysability
- iso-25010:2011 · maintainability.modifiability — Modifiability
- cwe · CWE-704 — Incorrect Type Conversion or Cast
Taxons
History
- 2026-04-18·v1.0.0·Initial import from code-maintainability·automated