Replace dumble with tsdown for JS bundling
dumble (0.2.x, ~530 dl/wk, single-maintainer) was a bus-factor risk as the load-bearing bundler. tsdown (rolldown-based, ~2.5M dl/wk, actively maintained) replaces it while output stays list-identical, verified by snapshot diff: 17 JS bundles, externals preserved, schemastery dual .mjs/.cjs and logger-console node+browser entries intact. Root tsdown.config.ts uses workspace globs ['vendor/*', 'packages/*'] (explicit, so examples/* stays excluded); two per-package overrides in vendor/ cover the special shapes and are logged in vendor/README.md as ours (not upstream sync surface). scripts/build.ts (dumble orchestration) is deleted; yarn build = tsc -b && tsdown. tsc -b keeps owning declarations (dts: false, clean: false). Rationale recorded in ADR 0008 (also covers the direct-esbuild and pkgroll alternatives). Gates: lint, typecheck, 134 tests, hygiene (knip/publint/constraints), demo smoke all green.
This commit is contained in:
@@ -32,7 +32,9 @@ examples/ Runnable demos (not workspaces). echo-agent = mock model + echo
|
||||
docs/ architecture.md — the design doc. adr/ — decision records (the
|
||||
why behind vendoring, event-sourcing, the schema DSL, …).
|
||||
rfc/ — proposals for substantial future work.
|
||||
scripts/ build.ts — dumble JS bundling for all packages.
|
||||
scripts/ repo maintenance scripts (vendor-manifest guard, publint runner).
|
||||
JS bundling is tsdown (root tsdown.config.ts + two per-package
|
||||
overrides in vendor/).
|
||||
```
|
||||
|
||||
## Commands
|
||||
@@ -41,7 +43,7 @@ scripts/ build.ts — dumble JS bundling for all packages.
|
||||
yarn install # Yarn 4 workspaces (node-modules linker), node >= 24
|
||||
yarn test # vitest run (packages/*/tests/**/*.spec.ts)
|
||||
yarn typecheck # tsc -b tsconfig.build.json (declarations only)
|
||||
yarn build # typecheck + dumble JS bundles into each package's lib/
|
||||
yarn build # typecheck + tsdown JS bundles into each package's lib/
|
||||
yarn demo # run examples/echo-agent (needs --expose-internals, the
|
||||
# script passes it; type "echo hi" to see a tool call)
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user