Scaling TypeScript: Project References, Composite Builds, and Fast CI
How large TypeScript codebases stay fast: project references, composite builds, incremental compilation, and clean boundaries.
Practice
Search by concept, narrow to a roadmap, or pick a tag to focus on the exact topic you want to rehearse.
30 articles · page 1 of 4
How large TypeScript codebases stay fast: project references, composite builds, incremental compilation, and clean boundaries.
How to keep TypeScript APIs stable: test your types, design exports intentionally, and avoid leaking internals that you can’t maintain.
How to type a polymorphic component like a design-system author: correct props, correct refs, and zero unsafe casts.
A production-friendly pattern to type form values, errors, and validators using mapped types—no giant unions, no any.
Two TypeScript options that catch real production bugs: safer indexing and optional properties that behave like you think.
Use the satisfies operator to validate objects (routes, feature flags, configs) while preserving literals for great inference and fewer casts.
Stop lying with `as`. Learn production patterns to convert unknown data (fetch, localStorage, env) into safe TypeScript types with guards and assertions.
Use branded (nominal-ish) types to prevent mixing IDs and domain values, and learn safer alternatives to ‘just cast it’.
Use template literal types to make strings type-safe: route patterns, event names, CSS variables, and i18n keys—with realistic examples.