tsconfig
tsconfig conventions
Every package here is source-only .ts: exports point at ./src/*.ts,
there is no build step, and consumers (Bun, Vite, Tauri, the Cloudflare Worker)
operate on raw .ts. That single fact decides the whole config.
The exceptions are the audience, not the package. packages/workspace and
packages/field are published for toolchains we do not control, so shipping
source would subject them to a stranger's compiler settings. They emit .js and
.d.ts, and their exports point at ./dist. Each leaf tsconfig.json is an
ordinary tier from the table below; the emit lives in a sibling
tsconfig.build.json that extends the leaf and turns on exactly what emitting
needs (noEmit: false, outDir, rootDir, declaration, types: []). Do not
add outDir, declaration, or noEmit: false to any leaf. If another package
earns a build, copy that split.