14 — Grounding and References
14 — Grounding and References
This guide is intentionally compact, so it omits many edge cases and does not pin library versions, because the ecosystem moves quickly. Use these references for the precise and current details.
TypeScript Language
- TypeScript Handbook — the official language guide.
- Everyday Types
- Narrowing
- Generics
- Object Types
- Type Manipulation: keyof, mapped, conditional, infer, template literals
- Utility Types
- tsconfig reference
- Modules
JavaScript Runtime and Async
- MDN: Using Promises
- MDN: Promise
- MDN: AbortController
- Node.js: The event loop
- Node.js: worker_threads
- Node.js: ECMAScript modules
Backend Libraries
Validation
Frontend
- React
- TanStack Query
- TanStack Router
- TanStack Table
- TkDodo: TanStack Router and Query — the Router and Query integration patterns used in chapter 11, by a TanStack Query maintainer.
Tooling and Testing
Example Verification
The pure-TypeScript examples in this guide (the type-system and runtime chapters, 01 through 07) were extracted into a small harness in the repository:
tools/verify-ts-guide/
Every example type-checks under strict mode with no emit. The intentional-error examples use // @ts-expect-error, which the compiler validates by requiring the following line to actually fail, so the negative cases are checked as strictly as the positive ones.
Run it locally with:
cd tools/verify-ts-guide
tsc --noEmit -p tsconfig.json
The examples were checked with TypeScript 6.0.2 under target: ES2022, module: NodeNext, and lib: ["ES2022", "DOM"].
Accuracy Notes
- The framework examples (Hono, Fastify, Drizzle, Zod, React, TanStack, Vitest) are illustrative of each library’s shape and are not version-pinned or included in the verification harness, because their APIs evolve. Confirm exact signatures against the official docs above.
- Library choices in this guide are mainstream defaults, not the only valid options. Express, Prisma, and Jest remain common and are worth recognizing.
- TypeScript is a moving target. Specific compiler defaults, the set of utility types, and runtime support for executing TypeScript directly change between releases. Treat the official handbook and each library’s docs as the current source of truth.