TypeScript Mastery — Learning Path
An engineer who wants to model domains precisely and use the type system to its full power.
Level: Advanced · Required: 50 articles (~8.3 h) · Optional: 13 articles (~3.0 h)
Difficulty of required articles: Foundational 35 · Intermediate 12 · Advanced 3.
Follow the sections in order. Articles link into docs/; each shows its difficulty and estimated reading time. Full prerequisites for any article are in its domain's graph.json (see GRAPH.md).
Milestones
- Reason about structural typing, assignability, and variance
- Write conditional, mapped, and template-literal types
- Model domains so illegal states are unrepresentable
- Achieve end-to-end type safety across the network boundary
Expected skills
By completing the required articles you should be able to:
- Type-level programming and inference control
- Sound domain modeling with the type system
- Typing third-party code and ambient declarations
- End-to-end type safety from schema to UI
Required articles
TypeScript
- Structural Typing · Foundational · 8 min
- Assignability · Foundational · 8 min
- unknown, never & any · Foundational · 8 min
- Literal & Unit Types · Foundational · 8 min
- Unions & Intersections · Foundational · 8 min
- Generics · Foundational · 8 min
- Generic Constraints · Foundational · 8 min
- Indexed Access & keyof · Foundational · 8 min
- Conditional Types · Intermediate · 12 min
- Mapped Types · Intermediate · 12 min
- Template Literal Types · Intermediate · 12 min
- infer & Type Extraction · Intermediate · 12 min
- Type Inference · Foundational · 8 min
- Control-Flow Narrowing · Foundational · 8 min
- Type Guards & Predicates · Foundational · 8 min
- Discriminated Unions · Foundational · 8 min
- Variance · Intermediate · 12 min
- Unsoundness & Escape Hatches · Intermediate · 15 min
- Strictness Flags · Intermediate · 12 min
- Declaration Files · Foundational · 8 min
- Module Augmentation · Foundational · 8 min
- Typing Third-Party Code · Foundational · 8 min
- Branded & Nominal Types · Foundational · 8 min
- Exhaustiveness · Foundational · 8 min
- Illegal States Unrepresentable · Foundational · 11 min
JavaScript
- Primitives & Wrappers · Foundational · 8 min
- Coercion & Conversion · Foundational · 8 min
- Equality & Comparison · Foundational · 8 min
- null, undefined & Nullish · Foundational · 8 min
- Property Descriptors · Foundational · 8 min
- The Prototype Chain · Foundational · 8 min
- Inheritance Patterns · Foundational · 8 min
- Proxies & Reflect · Foundational · 8 min
- Higher-Order Functions · Foundational · 8 min
- Currying & Partial Application · Foundational · 11 min
- Composition · Foundational · 8 min
- Iterators & Iterables · Foundational · 8 min
- Generators · Foundational · 8 min
- Async Iterators · Foundational · 8 min
- ES Modules · Foundational · 8 min
- Dynamic Import · Foundational · 8 min
- Module Resolution Semantics · Foundational · 11 min
- Symbols & Well-Known Symbols · Intermediate · 15 min
- Reflection · Intermediate · 12 min
- Tagged Templates · Intermediate · 12 min
Forms & Validation
- Schema-Inferred Types · Intermediate · 12 min
- Shared Client/Server Schemas · Intermediate · 15 min
API Design & Contracts
- End-to-End Type Safety (tRPC) · Advanced · 19 min
- Code Generation from Schemas · Advanced · 19 min
- Contract Testing · Advanced · 16 min
Optional articles
Frontend Architecture
- Separation of Concerns · Intermediate · 12 min
- Layered Architecture · Intermediate · 12 min
- Module Boundaries · Intermediate · 12 min
- Dependency Direction & Inversion · Intermediate · 15 min
Build Systems & Tooling
- Transpilation & Targets · Advanced · 16 min
- Source-to-Source Compilers · Advanced · 16 min
- AST Transforms & Plugins · Advanced · 16 min
React
- memo, useMemo, useCallback · Intermediate · 12 min
- Referential Stability · Intermediate · 12 min
- The React Compiler Model · Intermediate · 12 min
State Management
- Computed Values · Intermediate · 12 min
- Selectors & Memoized Selectors · Intermediate · 15 min
- Store Shape & Normalization · Intermediate · 15 min