feat: Complete fleet — 94 skills across 10+ domains
Pulled ALL skills from 15 source repositories: - anthropics/skills: 16 (docs, design, MCP, testing) - obra/superpowers: 14 (TDD, debugging, agents, planning) - coreyhaines31/marketingskills: 25 (marketing, CRO, SEO, growth) - better-auth/skills: 5 (auth patterns) - vercel-labs/agent-skills: 5 (React, design, Vercel) - antfu/skills: 16 (Vue, Vite, Vitest, pnpm, Turborepo) - Plus 13 individual skills from various repos Mosaic Stack is not limited to coding — the Orchestrator and subagents serve coding, business, design, marketing, writing, logistics, analysis, and more. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
251
skills/tsdown/references/option-dts.md
Normal file
251
skills/tsdown/references/option-dts.md
Normal file
@@ -0,0 +1,251 @@
|
||||
# TypeScript Declaration Files
|
||||
|
||||
Generate `.d.ts` type declaration files for your library.
|
||||
|
||||
## Overview
|
||||
|
||||
tsdown uses [rolldown-plugin-dts](https://github.com/sxzz/rolldown-plugin-dts) to generate and bundle TypeScript declaration files.
|
||||
|
||||
**Requirements:**
|
||||
- TypeScript must be installed in your project
|
||||
|
||||
## Enabling DTS Generation
|
||||
|
||||
### Auto-Enabled
|
||||
|
||||
DTS generation is **automatically enabled** if `package.json` contains:
|
||||
- `types` field, or
|
||||
- `typings` field
|
||||
|
||||
### Manual Enable
|
||||
|
||||
#### CLI
|
||||
|
||||
```bash
|
||||
tsdown --dts
|
||||
```
|
||||
|
||||
#### Config File
|
||||
|
||||
```ts
|
||||
export default defineConfig({
|
||||
dts: true,
|
||||
})
|
||||
```
|
||||
|
||||
## Performance
|
||||
|
||||
### With `isolatedDeclarations` (Recommended)
|
||||
|
||||
**Extremely fast** - uses oxc-transform for generation.
|
||||
|
||||
```json
|
||||
// tsconfig.json
|
||||
{
|
||||
"compilerOptions": {
|
||||
"isolatedDeclarations": true
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Without `isolatedDeclarations`
|
||||
|
||||
Falls back to TypeScript compiler. Reliable but slower.
|
||||
|
||||
## Declaration Maps
|
||||
|
||||
Map `.d.ts` files back to original `.ts` sources (useful for monorepos).
|
||||
|
||||
### Enable in tsconfig.json
|
||||
|
||||
```json
|
||||
{
|
||||
"compilerOptions": {
|
||||
"declarationMap": true
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Enable in tsdown Config
|
||||
|
||||
```ts
|
||||
export default defineConfig({
|
||||
dts: {
|
||||
sourcemap: true,
|
||||
},
|
||||
})
|
||||
```
|
||||
|
||||
## Advanced Options
|
||||
|
||||
### Custom Compiler Options
|
||||
|
||||
Override TypeScript compiler options:
|
||||
|
||||
```ts
|
||||
export default defineConfig({
|
||||
dts: {
|
||||
compilerOptions: {
|
||||
removeComments: false,
|
||||
},
|
||||
},
|
||||
})
|
||||
```
|
||||
|
||||
## Build Process
|
||||
|
||||
- **ESM format**: `.js` and `.d.ts` files generated in same build
|
||||
- **CJS format**: Separate build process for `.d.ts` files
|
||||
|
||||
## Common Patterns
|
||||
|
||||
### Basic Library
|
||||
|
||||
```ts
|
||||
export default defineConfig({
|
||||
entry: ['src/index.ts'],
|
||||
format: ['esm', 'cjs'],
|
||||
dts: true,
|
||||
})
|
||||
```
|
||||
|
||||
Output:
|
||||
- `dist/index.mjs`
|
||||
- `dist/index.cjs`
|
||||
- `dist/index.d.ts`
|
||||
|
||||
### Multiple Entry Points
|
||||
|
||||
```ts
|
||||
export default defineConfig({
|
||||
entry: {
|
||||
index: 'src/index.ts',
|
||||
utils: 'src/utils.ts',
|
||||
},
|
||||
format: ['esm', 'cjs'],
|
||||
dts: true,
|
||||
})
|
||||
```
|
||||
|
||||
Output:
|
||||
- `dist/index.mjs`, `dist/index.cjs`, `dist/index.d.ts`
|
||||
- `dist/utils.mjs`, `dist/utils.cjs`, `dist/utils.d.ts`
|
||||
|
||||
### With Monorepo Support
|
||||
|
||||
```ts
|
||||
export default defineConfig({
|
||||
entry: ['src/index.ts'],
|
||||
format: ['esm', 'cjs'],
|
||||
dts: {
|
||||
sourcemap: true, // Enable declaration maps
|
||||
},
|
||||
})
|
||||
```
|
||||
|
||||
### Fast Build (Isolated Declarations)
|
||||
|
||||
```json
|
||||
// tsconfig.json
|
||||
{
|
||||
"compilerOptions": {
|
||||
"isolatedDeclarations": true,
|
||||
"declaration": true,
|
||||
"declarationMap": true
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
```ts
|
||||
// tsdown.config.ts
|
||||
export default defineConfig({
|
||||
entry: ['src/index.ts'],
|
||||
format: ['esm', 'cjs'],
|
||||
dts: true, // Will use fast oxc-transform
|
||||
})
|
||||
```
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Missing Types
|
||||
|
||||
Ensure TypeScript is installed:
|
||||
|
||||
```bash
|
||||
pnpm add -D typescript
|
||||
```
|
||||
|
||||
### Slow Generation
|
||||
|
||||
Enable `isolatedDeclarations` in `tsconfig.json` for faster builds.
|
||||
|
||||
### Declaration Errors
|
||||
|
||||
Check that all exports have explicit types (required for `isolatedDeclarations`).
|
||||
|
||||
### Report Issues
|
||||
|
||||
For DTS-specific issues, report to [rolldown-plugin-dts](https://github.com/sxzz/rolldown-plugin-dts/issues).
|
||||
|
||||
### Vue Support
|
||||
|
||||
Enable Vue component type generation (requires `vue-tsc`):
|
||||
|
||||
```ts
|
||||
export default defineConfig({
|
||||
dts: {
|
||||
vue: true,
|
||||
},
|
||||
})
|
||||
```
|
||||
|
||||
### Oxc Transform
|
||||
|
||||
Control Oxc usage for declaration generation:
|
||||
|
||||
```ts
|
||||
export default defineConfig({
|
||||
dts: {
|
||||
oxc: true, // Use oxc-transform (fast, requires isolatedDeclarations)
|
||||
},
|
||||
})
|
||||
```
|
||||
|
||||
### Custom TSConfig
|
||||
|
||||
Specify a different tsconfig for DTS generation:
|
||||
|
||||
```ts
|
||||
export default defineConfig({
|
||||
dts: {
|
||||
tsconfig: './tsconfig.build.json',
|
||||
},
|
||||
})
|
||||
```
|
||||
|
||||
## Available DTS Options
|
||||
|
||||
| Option | Type | Description |
|
||||
|--------|------|-------------|
|
||||
| `sourcemap` | `boolean` | Generate declaration source maps |
|
||||
| `compilerOptions` | `object` | Override TypeScript compiler options |
|
||||
| `vue` | `boolean` | Enable Vue type generation (requires vue-tsc) |
|
||||
| `oxc` | `boolean` | Use oxc-transform for fast generation |
|
||||
| `tsconfig` | `string` | Path to tsconfig file |
|
||||
| `resolver` | `'oxc' \| 'tsc'` | Module resolver: `'oxc'` (default, fast) or `'tsc'` (more compatible) |
|
||||
| `cjsDefault` | `boolean` | CJS default export handling |
|
||||
| `sideEffects` | `boolean` | Preserve side effects in declarations |
|
||||
|
||||
## Tips
|
||||
|
||||
1. **Always enable DTS** for TypeScript libraries
|
||||
2. **Use isolatedDeclarations** for fast builds
|
||||
3. **Enable declaration maps** in monorepos
|
||||
4. **Ensure explicit types** for all exports
|
||||
5. **Install TypeScript** as dev dependency
|
||||
|
||||
## Related Options
|
||||
|
||||
- [Entry](option-entry.md) - Configure entry points
|
||||
- [Output Format](option-output-format.md) - Multiple output formats
|
||||
- [Target](option-target.md) - JavaScript version
|
||||
Reference in New Issue
Block a user