I've been looking for a TypeScript resource that doesn't stop halfway.
Most either cover the basics and quit, or assume you already know what a conditional type is. I found one that covers the full arc, and I wanted to share it.
It's on KandZ Tuts, and it's structured as 106 chapters plus a cheatsheet, split into five sections.
What's Inside
Foundations (1–18): Setup, CLI, tsconfig.json, primitives, arrays/tuples/enums, unions/intersections, aliases vs interfaces, functions and overloads, object types, inference, literal types, assertions, control flow narrowing, typeof/instanceof/in guards, user-defined predicates, discriminated unions, exhaustiveness checking, and unknown/any/never.
Intermediate (19–54): Classes, access modifiers, abstract classes, inheritance, getters/setters, static members, generics (functions, classes, interfaces, constraints, defaults), keyof/typeof/indexed access, mapped types, conditional types, infer, template literal types, the full utility-type toolkit (chapters 34–37), type composition, variance, structural vs nominal typing, covariance/contravariance/bivariance, branded types, recursive types, distributive conditional types, higher-kinded type patterns, type-level programming, and type-safe patterns (builders, fluent interfaces, immutability, event emitters, DI, state machines, API clients, Zod/io-ts validation).
Modules & Async (55–70): import/export, module resolution, path mapping, namespaces and declaration merging, .d.ts files, ambient declarations, publishing typed packages, @types and DefinitelyTyped, Promises and async/await typing, callbacks, event handlers and DOM, Node.js APIs, third-party libraries without types, error handling, Result/Either patterns, and typing JSON/unknown data.
Tooling & Advanced (71–87): Strict mode flags, compiler options in depth, project references, incremental builds, type-only imports/exports, isolatedModules and verbatimModuleSyntax, legacy and Stage 3 decorators, decorators in Angular and NestJS, mixins, the this type, function overloads in depth, assertion functions, the satisfies operator, const type parameters, and the using keyword with Disposable.
Integrations & Capstone (88–107): React, Vue, Angular, Node/Express, Deno/Bun, Jest/Vitest, ESLint/Prettier, bundlers (Vite, esbuild, webpack), migrating JS to TS, migrating between TS versions, compiler internals, custom transformers, LSP and editor integration, type-checking performance at scale, monorepos, publishing libraries, style guide, architecture patterns, a full type-safe capstone application, and a cheatsheet.
Why It's Worth Your Time
Three reasons:
The ordering is deliberate. Narrowing and type guards come before conditional types. Utility types get four chapters, not one table. You build the mental model before the advanced material.
It doesn't skip the tooling. Chapters 88–95 cover the framework and bundler integrations that most TypeScript tutorials ignore. If you've ever fought
tsconfig.jsonin a monorepo, this is covered.It goes past application code. Compiler internals, custom transformers, and the Language Server Protocol are the topics you usually only find in conference talks.
Who Should Read It
- Beginners: Start at Chapter 1 and go in order. Don't skip.
- Experienced developers: Use the table of contents as a checklist. Jump to variance (39),
satisfies(85), orusing(87) if those are gaps.
Link
Free, no signup, no paywall.
If you've been meaning to learn TypeScript properly, or if you've been using it for years and know there are holes, this is the most complete free curriculum I've found.
What TypeScript topics do you wish had better tutorials? Let me know in the comments.
