Skip to content

0009 Toolchain and supply chain

  • Status: accepted (2026-10-29)
  • TypeScript 7 (tsc -b, project references, isolatedDeclarations), ESM only, Node 22.12+ for tooling.
  • pnpm 12 workspaces with an exact-version catalog and minimumReleaseAge of 14 days: no dependency younger than two weeks is installed.
  • Vitest 5: Node project for pure code, browser mode (Chromium via Playwright) for elements, with axe-core checks.
  • Biome for formatting and linting; small scripts for rules tools cannot express (package boundaries, logical CSS).
  • Runtime dependencies are few and justified: parse5 (engine, spec-compliant HTML parsing on servers), lit (player and authoring elements).

Fast builds, a small attack surface, and reproducible installs.