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:
5
vendor/README.md
vendored
5
vendor/README.md
vendored
@@ -49,6 +49,11 @@ Keep this log exhaustive — every divergence from upstream must be listed.
|
||||
peer-dependency ranges preserved.
|
||||
3. **All `tsconfig.json` files**: regenerated to extend the repo-root
|
||||
`tsconfig.base.json` and declare project references.
|
||||
4. **`schemastery/tsdown.config.ts` and `logger-console/tsdown.config.ts`**:
|
||||
ours, not upstream files — per-package build-shape overrides (dual
|
||||
ESM+CJS output; separate node/browser entries) for the repo-root tsdown
|
||||
build. Like the regenerated tsconfigs, they are not part of the upstream
|
||||
sync surface.
|
||||
|
||||
## Sync procedure
|
||||
|
||||
|
||||
Reference in New Issue
Block a user