// the find
jaredpalmer/tsdx
Zero-config CLI for TypeScript package development
TSDX is a zero-config CLI for scaffolding, building, testing, and publishing TypeScript npm packages, with this entry covering a '2.0' rewrite that swaps the original Rollup/Babel/Jest/ESLint stack for bun, bunchee, vitest, oxlint, and oxfmt. It's aimed at people who want a single CLI to handle dual ESM/CJS builds and declaration files for a library (plain or React) without hand-rolling a build pipeline.
Dual ESM/CJS output with a correctly wired package.json exports map (separate .d.ts/.d.cts, import/require conditions) is handled for you, which is exactly the part people get wrong writing this by hand. The tool-stack swap (oxlint/oxfmt instead of ESLint/Prettier, vitest instead of Jest, bunchee instead of raw Rollup config) is a real, measurable speed win, and the README is upfront about what replaced what rather than hiding it. The `create` command with basic/react templates gets you from nothing to a testable, lintable package in one command, including a Vite-powered example app for the React template.
Development is hard-locked to bun, not merely supported — a real adoption cost for teams standardized on npm/pnpm/yarn, even though the published build output itself is package-manager-agnostic. oxlint and oxfmt are young tools; betting a library's formatting and linting on them is a bet on things still stabilizing, unlike the Prettier/ESLint combo they replace. There's no mention of monorepo support, multi-entry-point builds, or an escape hatch for custom bundler config — all things the original TSDX took complaints about — and bunchee's ceiling for non-trivial builds isn't addressed here. It's a ground-up rewrite of a project that had gone quiet for years, and this doc shows no changelog or version history to gauge how battle-tested 2.0 actually is yet.