Files
when/packages/db/tsconfig.build.json
eleith 0671eb31c9 build(packages): compile @when/* to dist as build packages
Pivot @when/config, @when/db, and @when/jobs from source packages
(exports -> src/*.ts, tsc --noEmit) to build packages that emit dist/
and are consumed as compiled JS + .d.ts. This drops the source-package
baggage (tsx, bespoke bundler noExternal rules) in favor of standard
tooling; the cost is a build-ordering step that CI and Docker will own.

- tsconfig.base: declaration true.
- per package: a tsconfig.build.json emits to dist/src (composite,
  outDir, rootDir) and excludes tests + fixtures; tsconfig.json stays
  noEmit and full-project for the editor and the build's type-check
  pass, so test type errors are still caught. build runs both passes.
- exports -> dist/*.js + .d.ts; files -> dist/*; jobs adds a ./specs
  subpath so the producer can import contracts without the client.
- relative imports across src gain .js extensions for emitted ESM.
- config: generate the schema as src/schema.ts (was schema.d.ts) so it
  compiles into dist; build:assets copies config.schema.json into dist.
- jobs: name the spec type via Workflow['spec'] (openworkflow does not
  re-export WorkflowSpec) so declaration emit succeeds (TS2883).
- per-package .gitignore for dist/; root build:packages script.
2026-06-02 11:05:35 -07:00

11 lines
197 B
JSON

{
"extends": "./tsconfig.json",
"compilerOptions": {
"noEmit": false,
"composite": true,
"outDir": "dist",
"rootDir": "."
},
"exclude": ["dist", "**/*.test.ts", "**/__fixtures__/**"]
}