README.md

May 6, 2026 · View on GitHub

unplugin-dts

An unplugin that generates declaration files (*.d.ts) from .ts(x) or .vue source files when using library mode.

version version license

It evolved from vite-plugin-dts, and after being rewritten with unplugin, it has become more versatile.

English | 中文

Installation

pnpm i -D unplugin-dts

Previous only for Vite (not recommend):

pnpm i -D vite-plugin-dts

Quick Start

import dts from 'unplugin-dts/vite'

export default defineConfig({
  plugins: [dts()],
})

Supports Vite, Rollup, Rolldown, Webpack, Rspack and Esbuild. See Usage for detailed bundler setup.

Documentation

  • Usage - Installation and bundler configuration
  • Options - Full plugin options reference
  • FAQ - Frequently asked questions and solutions
  • Migration (v4 → v5) - Migrating from vite-plugin-dts v4

Contributors

Thanks for all the contributions!

contributors

Example

Clone and run the following script (see demo series scripts in root package.json):

pnpm run demo:ts-rollup
pnpm run demo:react-vite
pnpm run demo:vue-rspack

Then check examples/*/types.

There are also many cases under examples.

A real project using this plugin: Vexip UI.

License

MIT License.