{"id":"74e48003-ea05-4d57-867a-172b31726dc6","shortId":"RENGku","kind":"skill","title":"tsdown","tagline":"Bundle TypeScript and JavaScript libraries with blazing-fast speed powered by Rolldown. Use when building libraries, generating type declarations, bundling for multiple formats, or migrating from tsup.","description":"# tsdown - The Elegant Library Bundler\n\nBlazing-fast bundler for TypeScript/JavaScript libraries powered by Rolldown and Oxc.\n\n## When to Use\n\n- Building TypeScript/JavaScript libraries for npm\n- Generating TypeScript declaration files (.d.ts)\n- Bundling for multiple formats (ESM, CJS, IIFE, UMD)\n- Optimizing bundles with tree shaking and minification\n- Migrating from tsup with minimal changes\n- Building React, Vue, Solid, or Svelte component libraries\n\n## Quick Start\n\n```bash\n# Install\npnpm add -D tsdown\n\n# Basic usage\nnpx tsdown\n\n# With config file\nnpx tsdown --config tsdown.config.ts\n\n# Watch mode\nnpx tsdown --watch\n\n# Migrate from tsup\nnpx tsdown-migrate\n```\n\n## Basic Configuration\n\n```ts\nimport { defineConfig } from 'tsdown'\n\nexport default defineConfig({\n  entry: ['./src/index.ts'],\n  format: ['esm', 'cjs'],\n  dts: true,\n  clean: true,\n})\n```\n\n## Core References\n\n| Topic | Description | Reference |\n|-------|-------------|-----------|\n| Getting Started | Installation, first bundle, CLI basics | [guide-getting-started](references/guide-getting-started.md) |\n| Configuration File | Config file formats, multiple configs, workspace | [option-config-file](references/option-config-file.md) |\n| CLI Reference | All CLI commands and options | [reference-cli](references/reference-cli.md) |\n| Migrate from tsup | Migration guide and compatibility notes | [guide-migrate-from-tsup](references/guide-migrate-from-tsup.md) |\n| Plugins | Rolldown, Rollup, Unplugin support | [advanced-plugins](references/advanced-plugins.md) |\n| Hooks | Lifecycle hooks for custom logic | [advanced-hooks](references/advanced-hooks.md) |\n| Programmatic API | Build from Node.js scripts | [advanced-programmatic](references/advanced-programmatic.md) |\n| Rolldown Options | Pass options directly to Rolldown | [advanced-rolldown-options](references/advanced-rolldown-options.md) |\n| CI Environment | CI detection, `'ci-only'` / `'local-only'` values | [advanced-ci](references/advanced-ci.md) |\n\n## Build Options\n\n| Option | Usage | Reference |\n|--------|-------|-----------|\n| Entry points | `entry: ['src/*.ts', '!**/*.test.ts']` | [option-entry](references/option-entry.md) |\n| Output formats | `format: ['esm', 'cjs', 'iife', 'umd']` | [option-output-format](references/option-output-format.md) |\n| Output directory | `outDir: 'dist'`, `outExtensions` | [option-output-directory](references/option-output-directory.md) |\n| Type declarations | `dts: true`, `dts: { sourcemap, compilerOptions, vue }` | [option-dts](references/option-dts.md) |\n| Target environment | `target: 'es2020'`, `target: 'esnext'` | [option-target](references/option-target.md) |\n| Platform | `platform: 'node'`, `platform: 'browser'` | [option-platform](references/option-platform.md) |\n| Tree shaking | `treeshake: true`, custom options | [option-tree-shaking](references/option-tree-shaking.md) |\n| Minification | `minify: true`, `minify: 'dce-only'` | [option-minification](references/option-minification.md) |\n| Source maps | `sourcemap: true`, `'inline'`, `'hidden'` | [option-sourcemap](references/option-sourcemap.md) |\n| Watch mode | `watch: true`, watch options | [option-watch-mode](references/option-watch-mode.md) |\n| Cleaning | `clean: true`, clean patterns | [option-cleaning](references/option-cleaning.md) |\n| Log level | `logLevel: 'silent'`, `failOnWarn: false` | [option-log-level](references/option-log-level.md) |\n\n## Dependency Handling\n\n| Feature | Usage | Reference |\n|---------|-------|-----------|\n| Never bundle | `deps: { neverBundle: ['react', /^@myorg\\//] }` | [option-dependencies](references/option-dependencies.md) |\n| Always bundle | `deps: { alwaysBundle: ['dep-to-bundle'] }` | [option-dependencies](references/option-dependencies.md) |\n| Only bundle | `deps: { onlyBundle: ['cac', 'bumpp'] }` - Whitelist | [option-dependencies](references/option-dependencies.md) |\n| Skip node_modules | `deps: { skipNodeModulesBundle: true }` | [option-dependencies](references/option-dependencies.md) |\n| Auto external | Automatic peer/dependency externalization | [option-dependencies](references/option-dependencies.md) |\n\n## Output Enhancement\n\n| Feature | Usage | Reference |\n|---------|-------|-----------|\n| Shims | `shims: true` - Add ESM/CJS compatibility | [option-shims](references/option-shims.md) |\n| CJS default | `cjsDefault: true` (default) / `false` | [option-cjs-default](references/option-cjs-default.md) |\n| Package exports | `exports: true` - Auto-generate exports field | [option-package-exports](references/option-package-exports.md) |\n| CSS handling | **[experimental]** `css: { ... }` — full pipeline with preprocessors, Lightning CSS, PostCSS, code splitting; requires `@tsdown/css` | [option-css](references/option-css.md) |\n| CSS inject | `css: { inject: true }` — preserve CSS imports in JS output | [option-css](references/option-css.md) |\n| Unbundle mode | `unbundle: true` - Preserve directory structure | [option-unbundle](references/option-unbundle.md) |\n| Root directory | `root: 'src'` - Control output directory mapping | [option-root](references/option-root.md) |\n| Executable | **[experimental]** `exe: true` - Bundle as standalone executable, cross-platform via `@tsdown/exe` | [option-exe](references/option-exe.md) |\n| Package validation | `publint: true`, `attw: true` - Validate package | [option-lint](references/option-lint.md) |\n\n## Framework & Runtime Support\n\n| Framework | Guide | Reference |\n|-----------|-------|-----------|\n| React | JSX transform, React Compiler | [recipe-react](references/recipe-react.md) |\n| Vue | SFC support, JSX | [recipe-vue](references/recipe-vue.md) |\n| Solid | SolidJS JSX transform | [recipe-solid](references/recipe-solid.md) |\n| Svelte | Svelte component libraries (source distribution recommended) | [recipe-svelte](references/recipe-svelte.md) |\n| WASM | WebAssembly modules via `rolldown-plugin-wasm` | [recipe-wasm](references/recipe-wasm.md) |\n\n## Common Patterns\n\n### Basic Library Bundle\n\n```ts\nexport default defineConfig({\n  entry: ['src/index.ts'],\n  format: ['esm', 'cjs'],\n  dts: true,\n  clean: true,\n})\n```\n\n### Multiple Entry Points\n\n```ts\nexport default defineConfig({\n  entry: {\n    index: 'src/index.ts',\n    utils: 'src/utils.ts',\n    cli: 'src/cli.ts',\n  },\n  format: ['esm', 'cjs'],\n  dts: true,\n})\n```\n\n### Browser Library (IIFE/UMD)\n\n```ts\nexport default defineConfig({\n  entry: ['src/index.ts'],\n  format: ['iife'],\n  globalName: 'MyLib',\n  platform: 'browser',\n  minify: true,\n})\n```\n\n### React Component Library\n\n```ts\nexport default defineConfig({\n  entry: ['src/index.tsx'],\n  format: ['esm', 'cjs'],\n  dts: true,\n  deps: {\n    neverBundle: ['react', 'react-dom'],\n  },\n  inputOptions: {\n    jsx: { runtime: 'automatic' },\n  },\n})\n```\n\n### Preserve Directory Structure\n\n```ts\nexport default defineConfig({\n  entry: ['src/**/*.ts', '!**/*.test.ts'],\n  unbundle: true, // Preserve file structure\n  format: ['esm'],\n  dts: true,\n})\n```\n\n### CI-Aware Configuration\n\n```ts\nexport default defineConfig({\n  entry: ['src/index.ts'],\n  format: ['esm', 'cjs'],\n  dts: true,\n  failOnWarn: 'ci-only',  // opt-in: fail on warnings in CI\n  publint: 'ci-only',\n  attw: 'ci-only',\n})\n```\n\n### WASM Support\n\n```ts\nimport { wasm } from 'rolldown-plugin-wasm'\nimport { defineConfig } from 'tsdown'\n\nexport default defineConfig({\n  entry: ['src/index.ts'],\n  plugins: [wasm()],\n})\n```\n\n### Library with CSS and Sass\n\n```ts\nexport default defineConfig({\n  entry: ['src/index.ts'],\n  format: ['esm', 'cjs'],\n  dts: true,\n  target: 'chrome100',\n  css: {\n    preprocessorOptions: {\n      scss: {\n        additionalData: `@use \"src/styles/variables\" as *;`,\n      },\n    },\n  },\n})\n```\n\n### Standalone Executable\n\n```ts\nexport default defineConfig({\n  entry: ['src/cli.ts'],\n  exe: true,\n})\n```\n\n### Cross-Platform Executable (requires `@tsdown/exe`)\n\n```ts\nexport default defineConfig({\n  entry: ['src/cli.ts'],\n  exe: {\n    targets: [\n      { platform: 'linux', arch: 'x64', nodeVersion: '25.7.0' },\n      { platform: 'darwin', arch: 'arm64', nodeVersion: '25.7.0' },\n      { platform: 'win', arch: 'x64', nodeVersion: '25.7.0' },\n    ],\n  },\n})\n```\n\n### Advanced with Hooks\n\n```ts\nexport default defineConfig({\n  entry: ['src/index.ts'],\n  format: ['esm', 'cjs'],\n  dts: true,\n  hooks: {\n    'build:before': async (context) => {\n      console.log('Building...')\n    },\n    'build:done': async (context) => {\n      console.log('Build complete!')\n    },\n  },\n})\n```\n\n## Configuration Features\n\n### Multiple Configs\n\nExport an array for multiple build configurations:\n\n```ts\nexport default defineConfig([\n  {\n    entry: ['src/index.ts'],\n    format: ['esm', 'cjs'],\n    dts: true,\n  },\n  {\n    entry: ['src/cli.ts'],\n    format: ['esm'],\n    platform: 'node',\n  },\n])\n```\n\n### Conditional Config\n\nUse functions for dynamic configuration:\n\n```ts\nexport default defineConfig((options) => {\n  const isDev = options.watch\n  return {\n    entry: ['src/index.ts'],\n    format: ['esm', 'cjs'],\n    minify: !isDev,\n    sourcemap: isDev,\n  }\n})\n```\n\n### Workspace/Monorepo\n\nUse glob patterns to build multiple packages:\n\n```ts\nexport default defineConfig({\n  workspace: 'packages/*',\n  entry: ['src/index.ts'],\n  format: ['esm', 'cjs'],\n  dts: true,\n})\n```\n\n## CLI Quick Reference\n\n```bash\n# Basic commands\ntsdown                          # Build once\ntsdown --watch                  # Watch mode\ntsdown --config custom.ts       # Custom config\nnpx tsdown-migrate              # Migrate from tsup\n\n# Output options\ntsdown --format esm,cjs        # Multiple formats\ntsdown -d lib                  # Custom output directory (--out-dir)\ntsdown --minify                # Enable minification\ntsdown --dts                   # Generate declarations\ntsdown --exe                   # Bundle as standalone executable\ntsdown --unbundle              # Bundleless mode\n\n# Entry options\ntsdown src/index.ts            # Single entry\ntsdown src/*.ts                # Glob patterns\ntsdown src/a.ts src/b.ts       # Multiple entries\n\n# Workspace / Monorepo\ntsdown -W                      # Enable workspace mode\ntsdown -W -F my-package        # Filter specific package\ntsdown --filter /^pkg-/        # Filter by regex\n\n# Development\ntsdown --watch                 # Watch mode\ntsdown --sourcemap             # Generate source maps\ntsdown --clean                 # Clean output directory\ntsdown --from-vite             # Reuse Vite config\ntsdown --tsconfig tsconfig.build.json  # Custom tsconfig\n```\n\n## Best Practices\n\n1. **Always generate type declarations** for TypeScript libraries:\n   ```ts\n   { dts: true }\n   ```\n\n2. **Externalize dependencies** to avoid bundling unnecessary code:\n   ```ts\n   { deps: { neverBundle: [/^react/, /^@myorg\\//] } }\n   ```\n\n3. **Use tree shaking** for optimal bundle size:\n   ```ts\n   { treeshake: true }\n   ```\n\n4. **Enable minification** for production builds:\n   ```ts\n   { minify: true }\n   ```\n\n5. **Add shims** for better ESM/CJS compatibility:\n   ```ts\n   { shims: true }  // Adds __dirname, __filename, etc.\n   ```\n\n6. **Auto-generate package.json exports**:\n   ```ts\n   { exports: true }  // Creates proper exports field\n   ```\n\n7. **Use watch mode** during development:\n   ```bash\n   tsdown --watch\n   ```\n\n8. **Preserve structure** for utilities with many files:\n   ```ts\n   { unbundle: true }  // Keep directory structure\n   ```\n\n9. **Validate packages** in CI before publishing:\n   ```ts\n   { publint: 'ci-only', attw: 'ci-only' }\n   ```\n\n## Resources\n\n- Documentation: https://tsdown.dev\n- GitHub: https://github.com/rolldown/tsdown\n- Rolldown: https://rolldown.rs\n- Migration Guide: https://tsdown.dev/guide/migrate-from-tsup","tags":["tsdown","skills","antfu","agent-skills"],"capabilities":["skill","source-antfu","skill-tsdown","topic-agent-skills","topic-skills"],"categories":["skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/antfu/skills/tsdown","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add antfu/skills","source_repo":"https://github.com/antfu/skills","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 4987 github stars · SKILL.md body (11,626 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T18:52:45.775Z","embedding":null,"createdAt":"2026-04-18T20:26:34.225Z","updatedAt":"2026-05-18T18:52:45.775Z","lastSeenAt":"2026-05-18T18:52:45.775Z","tsv":"'/guide/migrate-from-tsup':1191 '/rolldown/tsdown':1184 '/src/index.ts':131 '1':1068 '2':1079 '25.7.0':826,832,838 '3':1092 '4':1103 '5':1112 '6':1126 '7':1139 '8':1148 '9':1162 'add':94,446,1113,1122 'additionaldata':793 'advanc':200,210,220,231,247,839 'advanced-ci':246 'advanced-hook':209 'advanced-plugin':199 'advanced-programmat':219 'advanced-rolldown-opt':230 'alway':396,1069 'alwaysbundl':399 'api':214 'arch':823,829,835 'arm64':830 'array':873 'async':856,862 'attw':556,747,1174 'auto':429,469,1128 'auto-gener':468,1127 'automat':431,695 'avoid':1083 'awar':718 'bash':91,944,1145 'basic':97,120,150,620,945 'best':1066 'better':1116 'blaze':9,36 'blazing-fast':8,35 'browser':313,655,669 'build':17,50,81,215,250,854,859,860,865,876,925,948,1108 'bumpp':413 'bundl':2,22,60,69,148,387,397,403,409,539,622,993,1084,1098 'bundleless':999 'bundler':34,38 'cac':412 'chang':80 'chrome100':789 'ci':235,237,240,248,717,733,742,745,749,1166,1172,1176 'ci-awar':716 'ci-on':239,732,744,748,1171,1175 'cjs':65,134,269,453,461,631,652,683,728,785,850,886,915,938,971 'cjsdefault':455 'clean':137,361,362,364,368,634,1050,1051 'cli':149,169,172,178,648,941 'code':489,1086 'command':173,946 'common':618 'compat':186,448,1118 'compil':574 'compileropt':293 'complet':866 'compon':87,597,673 'condit':895 'config':102,106,158,162,166,870,896,955,958,1060 'configur':121,156,719,867,877,901 'console.log':858,864 'const':907 'context':857,863 'control':527 'core':139 'creat':1135 'cross':544,808 'cross-platform':543,807 'css':478,481,487,495,497,499,503,510,774,790 'custom':207,322,957,977,1064 'custom.ts':956 'd':95,975 'd.ts':59 'darwin':828 'dce':334 'dce-on':333 'declar':21,57,288,990,1072 'default':128,454,457,462,625,641,660,677,701,722,766,779,801,815,844,880,904,930 'defineconfig':124,129,626,642,661,678,702,723,762,767,780,802,816,845,881,905,931 'dep':388,398,401,410,422,686,1088 'dep-to-bundl':400 'depend':381,394,406,417,427,436,1081 'descript':142 'detect':238 'develop':1039,1144 'dir':982 'direct':227 'directori':278,285,517,524,529,697,979,1053,1160 'dirnam':1123 'dist':280 'distribut':600 'document':1179 'dom':691 'done':861 'dts':135,289,291,297,632,653,684,714,729,786,851,887,939,988,1077 'dynam':900 'eleg':32 'enabl':985,1021,1104 'enhanc':439 'entri':130,255,257,263,627,637,643,662,679,703,724,768,781,803,817,846,882,889,911,934,1001,1006,1016 'environ':236,300 'es2020':302 'esm':64,133,268,630,651,682,713,727,784,849,885,892,914,937,970 'esm/cjs':447,1117 'esnext':304 'etc':1125 'exe':537,550,805,819,992 'execut':535,542,798,810,996 'experiment':480,536 'export':127,465,466,471,476,624,640,659,676,700,721,765,778,800,814,843,871,879,903,929,1131,1133,1137 'extern':430,433,1080 'f':1026 'fail':738 'failonwarn':374,731 'fals':375,458 'fast':10,37 'featur':383,440,868 'field':472,1138 'file':58,103,157,159,167,710,1155 'filenam':1124 'filter':1030,1034,1036 'first':147 'format':25,63,132,160,266,267,275,629,650,664,681,712,726,783,848,884,891,913,936,969,973 'framework':564,567 'from-vit':1055 'full':482 'function':898 'generat':19,55,470,989,1046,1070,1129 'get':144,153 'github':1181 'github.com':1183 'github.com/rolldown/tsdown':1182 'glob':922,1010 'globalnam':666 'guid':152,184,189,568,1188 'guide-getting-start':151 'guide-migrate-from-tsup':188 'handl':382,479 'hidden':345 'hook':203,205,211,841,853 'iif':66,270,665 'iife/umd':657 'import':123,504,754,761 'index':644 'inject':498,500 'inlin':344 'inputopt':692 'instal':92,146 'isdev':908,917,919 'javascript':5 'js':506 'jsx':571,582,589,693 'keep':1159 'level':371,379 'lib':976 'librari':6,18,33,41,52,88,598,621,656,674,772,1075 'lifecycl':204 'lightn':486 'lint':562 'linux':822 'local':243 'local-on':242 'log':370,378 'logic':208 'loglevel':372 'mani':1154 'map':341,530,1048 'migrat':27,75,113,119,180,183,190,962,963,1187 'minif':74,329,338,986,1105 'minifi':330,332,670,916,984,1110 'minim':79 'mode':109,351,359,513,953,1000,1023,1043,1142 'modul':421,608 'monorepo':1018 'multipl':24,62,161,636,869,875,926,972,1015 'my-packag':1027 'mylib':667 'myorg':391,1091 'never':386 'neverbundl':389,687,1089 'node':311,420,894 'node.js':217 'nodevers':825,831,837 'note':187 'npm':54 'npx':99,104,110,116,959 'onlybundl':411 'opt':736 'opt-in':735 'optim':68,1097 'option':165,175,224,226,233,251,252,262,273,283,296,306,315,323,325,337,347,355,357,367,377,393,405,416,426,435,450,460,474,494,509,520,532,549,561,906,967,1002 'option-cjs-default':459 'option-clean':366 'option-config-fil':164 'option-css':493,508 'option-depend':392,404,415,425,434 'option-dt':295 'option-entri':261 'option-ex':548 'option-lint':560 'option-log-level':376 'option-minif':336 'option-output-directori':282 'option-output-format':272 'option-package-export':473 'option-platform':314 'option-root':531 'option-shim':449 'option-sourcemap':346 'option-target':305 'option-tree-shak':324 'option-unbundl':519 'option-watch-mod':356 'options.watch':909 'out-dir':980 'outdir':279 'outextens':281 'output':265,274,277,284,438,507,528,966,978,1052 'oxc':46 'packag':464,475,552,559,927,933,1029,1032,1164 'package.json':1130 'pass':225 'pattern':365,619,923,1011 'peer/dependency':432 'pipelin':483 'pkg':1035 'platform':309,310,312,316,545,668,809,821,827,833,893 'plugin':194,201,612,759,770 'pnpm':93 'point':256,638 'postcss':488 'power':12,42 'practic':1067 'preprocessor':485 'preprocessoropt':791 'preserv':502,516,696,709,1149 'product':1107 'programmat':213,221 'proper':1136 'publint':554,743,1170 'publish':1168 'quick':89,942 'react':82,390,570,573,577,672,688,690,1090 'react-dom':689 'recip':576,584,592,603,615 'recipe-react':575 'recipe-solid':591 'recipe-svelt':602 'recipe-vu':583 'recipe-wasm':614 'recommend':601 'refer':140,143,170,177,254,385,442,569,943 'reference-c':176 'references/advanced-ci.md':249 'references/advanced-hooks.md':212 'references/advanced-plugins.md':202 'references/advanced-programmatic.md':222 'references/advanced-rolldown-options.md':234 'references/guide-getting-started.md':155 'references/guide-migrate-from-tsup.md':193 'references/option-cjs-default.md':463 'references/option-cleaning.md':369 'references/option-config-file.md':168 'references/option-css.md':496,511 'references/option-dependencies.md':395,407,418,428,437 'references/option-dts.md':298 'references/option-entry.md':264 'references/option-exe.md':551 'references/option-lint.md':563 'references/option-log-level.md':380 'references/option-minification.md':339 'references/option-output-directory.md':286 'references/option-output-format.md':276 'references/option-package-exports.md':477 'references/option-platform.md':317 'references/option-root.md':534 'references/option-shims.md':452 'references/option-sourcemap.md':349 'references/option-target.md':308 'references/option-tree-shaking.md':328 'references/option-unbundle.md':522 'references/option-watch-mode.md':360 'references/recipe-react.md':578 'references/recipe-solid.md':594 'references/recipe-svelte.md':605 'references/recipe-vue.md':586 'references/recipe-wasm.md':617 'references/reference-cli.md':179 'regex':1038 'requir':491,811 'resourc':1178 'return':910 'reus':1058 'rolldown':14,44,195,223,229,232,611,758,1185 'rolldown-plugin-wasm':610,757 'rolldown.rs':1186 'rollup':196 'root':523,525,533 'runtim':565,694 'sass':776 'script':218 'scss':792 'sfc':580 'shake':72,319,327,1095 'shim':443,444,451,1114,1120 'silent':373 'singl':1005 'size':1099 'skill' 'skill-tsdown' 'skip':419 'skipnodemodulesbundl':423 'solid':84,587,593 'solidj':588 'sourc':340,599,1047 'source-antfu' 'sourcemap':292,342,348,918,1045 'specif':1031 'speed':11 'split':490 'src':258,526,704,1008 'src/a.ts':1013 'src/b.ts':1014 'src/cli.ts':649,804,818,890 'src/index.ts':628,645,663,725,769,782,847,883,912,935,1004 'src/index.tsx':680 'src/styles/variables':795 'src/utils.ts':647 'standalon':541,797,995 'start':90,145,154 'structur':518,698,711,1150,1161 'support':198,566,581,752 'svelt':86,595,596,604 'target':299,301,303,307,788,820 'test.ts':260,706 'topic':141 'topic-agent-skills' 'topic-skills' 'transform':572,590 'tree':71,318,326,1094 'treeshak':320,1101 'true':136,138,290,321,331,343,353,363,424,445,456,467,501,515,538,555,557,633,635,654,671,685,708,715,730,787,806,852,888,940,1078,1102,1111,1121,1134,1158 'ts':122,259,623,639,658,675,699,705,720,753,777,799,813,842,878,902,928,1009,1076,1087,1100,1109,1119,1132,1156,1169 'tsconfig':1062,1065 'tsconfig.build.json':1063 'tsdown':1,30,96,100,105,111,118,126,764,947,950,954,961,968,974,983,987,991,997,1003,1007,1012,1019,1024,1033,1040,1044,1049,1054,1061,1146 'tsdown-migr':117,960 'tsdown.config.ts':107 'tsdown.dev':1180,1190 'tsdown.dev/guide/migrate-from-tsup':1189 'tsdown/css':492 'tsdown/exe':547,812 'tsup':29,77,115,182,192,965 'type':20,287,1071 'typescript':3,56,1074 'typescript/javascript':40,51 'umd':67,271 'unbundl':512,514,521,707,998,1157 'unnecessari':1085 'unplugin':197 'usag':98,253,384,441 'use':15,49,794,897,921,1093,1140 'util':646,1152 'valid':553,558,1163 'valu':245 'via':546,609 'vite':1057,1059 'vue':83,294,579,585 'w':1020,1025 'warn':740 'wasm':606,613,616,751,755,760,771 'watch':108,112,350,352,354,358,951,952,1041,1042,1141,1147 'webassembl':607 'whitelist':414 'win':834 'workspac':163,932,1017,1022 'workspace/monorepo':920 'x64':824,836","prices":[{"id":"9c8642d0-d219-4cef-ae37-ffeabc72830b","listingId":"74e48003-ea05-4d57-867a-172b31726dc6","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"antfu","category":"skills","install_from":"skills.sh"},"createdAt":"2026-04-18T20:26:34.225Z"}],"sources":[{"listingId":"74e48003-ea05-4d57-867a-172b31726dc6","source":"github","sourceId":"antfu/skills/tsdown","sourceUrl":"https://github.com/antfu/skills/tree/main/skills/tsdown","isPrimary":false,"firstSeenAt":"2026-04-18T21:53:49.581Z","lastSeenAt":"2026-05-18T18:52:45.775Z"},{"listingId":"74e48003-ea05-4d57-867a-172b31726dc6","source":"skills_sh","sourceId":"antfu/skills/tsdown","sourceUrl":"https://skills.sh/antfu/skills/tsdown","isPrimary":true,"firstSeenAt":"2026-04-18T20:26:34.225Z","lastSeenAt":"2026-05-07T22:40:19.288Z"}],"details":{"listingId":"74e48003-ea05-4d57-867a-172b31726dc6","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"antfu","slug":"tsdown","github":{"repo":"antfu/skills","stars":4987,"topics":["agent-skills","skills"],"license":"mit","html_url":"https://github.com/antfu/skills","pushed_at":"2026-05-01T16:46:24Z","description":"Anthony Fu's curated collection of agent skills.","skill_md_sha":"356130a8e2adb8367767ec849d52de79413f44e6","skill_md_path":"skills/tsdown/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/antfu/skills/tree/main/skills/tsdown"},"layout":"multi","source":"github","category":"skills","frontmatter":{"name":"tsdown","description":"Bundle TypeScript and JavaScript libraries with blazing-fast speed powered by Rolldown. Use when building libraries, generating type declarations, bundling for multiple formats, or migrating from tsup."},"skills_sh_url":"https://skills.sh/antfu/skills/tsdown"},"updatedAt":"2026-05-18T18:52:45.775Z"}}