Skip to content
项目

qmhc/unplugin-dts has 1,532 GitHub stars and 112 forks. GitHot measured 0 stars in 24 hours and +1 in 7 days. Last checked 2026-11-09 03:33 UTC. Last push 2026-10-29.

这些数字如何统计

An unplugin for generating declaration (dts) files.

实测星标增长

24小时
0
7天
+1
15天
正在收集历史
1个月
正在收集历史

各周期内的星标净变化,周期相互重叠,并非每日新增。缺失的测量保持空白。星标代表关注度,不代表软件质量。

README.zh-CN.md

原文

unplugin-dts

一款用于在 库模式 中从 .ts(x) 或 .vue 源文件生成类型文件(*.d.ts)的 Unplugin 插件。

version version license

它始于 vite-plugin-dts,在用 unplugin 重写后,它变得更加通用了。

中文 | English

安装

需要 Node.js >= 20。

pnpm i -D unplugin-dts

只在 Vite 中使用(不再推荐):

pnpm i -D vite-plugin-dts

快速开始

import dts from 'unplugin-dts/vite'

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

支持 Vite、Rollup、Rolldown、Webpack、Rspack 和 Esbuild。详细的构建工具配置请查看使用文档。

未指定 moduleFormat 时,插件保留 TypeScript 的声明后缀:.ts → .d.ts、.mts → .d.mts、.cts → .d.cts,声明 map 也保持对应后缀。

声明 map 中的绝对 file:// 源文件 URL(包括 Windows 跨盘路径)会在所有输出目录中原样保留。

同时发布 ESM 与 CommonJS 声明时,需要显式配置两种格式:

dts({
  outDirs: [
    { dir: 'dist', moduleFormat: 'esm' },
    { dir: 'dist', moduleFormat: 'cjs' },
  ],
  bundleTypes: true,
})

moduleFormat 不会从构建工具的 JavaScript formats 自动推导。插件负责写出配置的声明变体, 条件化的 exports.types 属于包元数据,仍需由你在 package.json 中配置。

文档

贡献者

感谢他们的所做的一切贡献!

一个使用该插件的真实项目:Vexip UI。

授权

MIT 授权。

探索相关项目