Run TypeScript Directly in Node.js with Type Stripping
Configure Node.js native TypeScript execution, use explicit type imports and file extensions, and recognize when compilation is still required.
TypeScript technical articles
Clear explanations of the details that shape real programs.
Explore TypeScript type relationships, inference, declarations, and design choices that affect real APIs.
12 articles
Configure Node.js native TypeScript execution, use explicit type imports and file extensions, and recognize when compilation is still required.
See what numeric, string, and const enums emit, when reverse mappings appear, and when an as-const object is a safer API.
Use exactOptionalPropertyTypes to distinguish a missing property from a present undefined value in object APIs and patches.
Control generic inference with constraints, contextual typing, NoInfer, defaults, and explicit type arguments when evidence conflicts.
Build mapped types that preserve property details, change modifiers, remap names, and filter keys without changing runtime objects.
Choose any, unknown, or never by what callers may supply, what code may do with the value, and whether a value can exist.
How assignability, excess property checks, private fields, and satisfies interact at API boundaries.
A working model for distributivity, never, infer, and the tuple-wrapper technique.
How control flow, property checks, callbacks, and user-defined predicates affect TypeScript's view of a value.
How overload sets are selected, what callers can see, and why utility types inspect the final signature.
How interfaces, namespaces, and module augmentation extend declarations without changing runtime objects.
How as const, readonly tuples, spreads, and const type parameters influence inference.