Thuta Learning
TypeScript
IntermediateProgrammingintermediate

ESM Modules & Package Boundaries

TypeScriptLesson 14

What you'll walk away with

  • Explain the runtime-value and compile-time-type relationship in ESM Modules & Package Boundaries
  • Test unsafe input and edge cases in strict mode
  • Write maintainable TypeScript contracts

Build ESM Modules & Package Boundaries as a system involving module resolution, runtime validation, declaration output, incremental builds, CI, and package boundaries—not only a compiler concern. Remember that TypeScript types are erased at runtime.

Build a Complete Mental Model

Build ESM Modules & Package Boundaries as a system involving module resolution, runtime validation, declaration output, incremental builds, CI, and package boundaries—not only a compiler concern. Remember that TypeScript types are erased at runtime.

Apply It in Production TypeScript

Type-check an original ESM Modules & Package Boundaries example in strict mode, then test valid values, null/undefined, malformed API data, a new union variant, and module boundaries. Fix the contract or validation instead of silencing errors with assertions or any.

After This Lesson

typescript
// math.ts
export function add(a: number, b: number) { return a + b; }

// app.ts
import { add } from './math.js';
console.log(add(2, 3));
You should see
5

Try It Yourself

Type-check an original ESM Modules & Package Boundaries example in strict mode, then test valid values, null/undefined, malformed API data, a new union variant, and module boundaries. Fix the contract or validation instead of silencing errors with assertions or any.

Type Safety Warning

Assuming a successful TypeScript compile proves API data and runtime behavior are valid.

Modules ReferenceTypeScript

Easy traps

  • Assuming a successful TypeScript compile proves API data and runtime behavior are valid.
  • Silencing an error with any, as, or a non-null assertion instead of repairing the contract.

Hands-on Exercise

Type-check an original ESM Modules & Package Boundaries example in strict mode, then test valid values, null/undefined, malformed API data, a new union variant, and module boundaries. Fix the contract or validation instead of silencing errors with assertions or any.

You'll know it worked when: 5

ESM Modules & Package Boundaries | Thuta Learning