
Author
Gareth Whitbey
Senior Engineer
Gareth builds developer tooling and has a deep passion for static analysis, type systems, and maintainable architecture. He has shipped production TypeScript at scale for over a decade.
5 articles by Gareth Whitbey
no-floating-promises vs no-misused-promises: When to Use Each
TypeScript types do not protect your async lifecycle. Learn the difference between floating promises and misused promises, and when each ESLint rule should catch them.
Read articleCanonical Tags for JavaScript & Headless Websites
Are your React, Vue, or headless pages creating duplicate-content issues? Learn how canonical tags should work in SSR and JavaScript environments, and how to avoid conflicting signals.
Read articleUnhandled Promises in TypeScript: Why They Cause Real Production Bugs
TypeScript catches type errors, but it will not save you from unhandled promise rejections. Learn how floating promises cause crashes, silent UI failures, and skipped cleanup—and how to fix them.
Read articlereturn await in TypeScript: When It Actually Matters
`return await` is not always redundant. Learn when it matters in TypeScript, why it changes try/catch behavior, and how it improves async debugging and stack traces.
Read articleBeyond TSC: Advanced Static Analysis for TypeScript
TypeScript’s compiler catches type errors. But a mature static analysis pipeline catches the bugs that types miss entirely — unused exports, cyclomatic complexity, dead code, and security anti-patterns. Here is how to build one.
Read articleWant to audit your own project?
The same expertise behind these articles powers CodeAva's audit engine.