⚡️ 一款生成独立声明的快速工具。
⚡️ A blazing-fast tool for generating isolated declarations.
.d.ts files significantly faster than tsc.[!TIP] For Rolldown users, you can use the
rolldown-plugin-dtsfor a more powerful and flexible solution.
# npm
npm i -D unplugin-isolated-decl
# jsr
npx jsr add -D @unplugin/isolated-decl
Vite
// vite.config.ts
import UnpluginIsolatedDecl from 'unplugin-isolated-decl/vite'
export default defineConfig({
plugins: [UnpluginIsolatedDecl()],
})
Rollup
// rollup.config.js
import UnpluginIsolatedDecl from 'unplugin-isolated-decl/rollup'
export default {
plugins: [UnpluginIsolatedDecl()],
}
Rolldown
// rolldown.config.js
import UnpluginIsolatedDecl from 'unplugin-isolated-decl/rolldown'
export default {
plugins: [UnpluginIsolatedDecl()],
}
esbuild
// esbuild.config.js
import { build } from 'esbuild'
build({
plugins: [require('unplugin-isolated-decl/esbuild')()],
})
Farm
// farm.config.ts
import UnpluginIsolatedDecl from 'unplugin-isolated-decl/farm'
export default defineConfig({
plugins: [UnpluginIsolatedDecl()],
})
…
rewriteImportsRewrite imports in .d.ts files. (esbuild support is not available)
Here is an example of rewriting imports on Rollup:
// rollup.config.js
import alias from '@rollup/plugin-alias'
export default {
// ...
plugins: [
alias({ entries: [{ find: '~', replacement: '.' }] }),
UnpluginIsolatedDecl({
rewriteImports(id, importer) {
if (id[0] === '~') return `.${id.slice(1)}`
},
}),
// ...
],
}
patchCjsDefaultExportPatch export default in .d.cts to export =
[!NOTE] For the exhaustive set of options check options
MIT License © 2024-PRESENT Kevin Deng
暂无开放 Issues,或尚未同步最近议题。