Thuta Learning
TypeScript
AdvancedProgrammingintermediate

Project References, Declarations & Fast Builds

TypeScriptLesson 23

What you'll walk away with

  • Explain the runtime-value and compile-time-type relationship in Project References, Declarations & Fast Builds
  • Test unsafe input and edge cases in strict mode
  • Write maintainable TypeScript contracts

Build Project References, Declarations & Fast Builds 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 Project References, Declarations & Fast Builds 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 Project References, Declarations & Fast Builds 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

json
{
  "files": [],
  "references": [
    { "path": "./packages/domain" },
    { "path": "./packages/web" }
  ]
}

Run: tsc --build --verbose
You should see
Projects build in dependency order with incremental caches.

Try It Yourself

Type-check an original Project References, Declarations & Fast Builds 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.

Announcing TypeScript 7.0TypeScript

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 Project References, Declarations & Fast Builds 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: Projects build in dependency order with incremental caches.