onmax / tsdown

Use when bundling TypeScript libraries - provides tsdown configuration, dual ESM/CJS output, .d.ts generation, package validation, and plugin authoring

0 views
0 installs

Skill Content

---
name: tsdown
description: Use when bundling TypeScript libraries - provides tsdown configuration, dual ESM/CJS output, .d.ts generation, package validation, and plugin authoring
license: MIT
---

# tsdown

Rolldown + Oxc powered TypeScript bundler. Drop-in tsup replacement.

## When to Use

- Building TypeScript libraries
- Generating .d.ts declarations
- Publishing npm packages
- Dual ESM/CJS output
- Vue/React component libraries

## Quick Start

```bash
npm i -D tsdown typescript
```

```ts
// tsdown.config.ts
import { defineConfig } from 'tsdown'

export default defineConfig({
  entry: 'src/index.ts',
  format: 'esm',
  dts: true,
  exports: true,
})
```

```bash
tsdown           # Build
tsdown --watch   # Watch mode
```

## Reference Files

| Task                                          | File                                  |
| --------------------------------------------- | ------------------------------------- |
| Config file, CLI, entry points                | [config.md](references/config.md)     |
| Format, target, dts, exports, validation      | [output.md](references/output.md)     |
| Shims, unbundle, watch, frameworks, WASM      | [features.md](references/features.md) |
| Plugins, hooks, lint, programmatic, migration | [advanced.md](references/advanced.md) |

## Loading Files

**Consider loading these reference files based on your task:**

- [ ] [references/config.md](references/config.md) - if setting up tsdown.config.ts, CLI, or entry points
- [ ] [references/output.md](references/output.md) - if configuring output format, target, .d.ts, exports, or validation
- [ ] [references/features.md](references/features.md) - if using shims, unbundle, watch mode, framework integrations, or WebAssembly
- [ ] [references/advanced.md](references/advanced.md) - if writing plugins, using linting/validation, programmatic API, or migrating from tsup

**DO NOT load all files at once.** Load only what's relevant to your current task.

## Cross-Skill References

- **Library patterns** → Use `ts-library` skill
- **Vue component libs** → Use `vue` skill
- **Package management** → Use `pnpm` skill