@unplugin/isolated-decl@0.14.7Built and signed on GitHub ActionsBuilt and signed on GitHub Actions
Built and signed on GitHub Actions
Works with
•JSR Score100%•This package works with Node.js, BunIt is unknown whether this package works with Cloudflare Workers, Deno, Browsers




Published9 months ago (0.14.7)
A blazing-fast tool for generating isolated declarations.
unplugin-isolated-decl

⚡️ A blazing-fast tool for generating isolated declarations.
Features
- 🚀 Fast: Generates
.d.tsfiles significantly faster thantsc. - 🎨 Transformer: Support Oxc, SWC, and TypeScript transformer.
- 📦 Zero Config: No configuration required, works out of the box.
- ✨ Bundler Support: Works with Vite, Rollup, esbuild and Farm.
Tip
For Rolldown users, you can use the rolldown-plugin-dts for a more powerful and flexible solution.
Installation
# npm npm i -D unplugin-isolated-decl # jsr npx jsr add -D @unplugin/isolated-decl
Usage
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()], })
Options
export interface Options { include?: FilterPattern exclude?: FilterPattern enforce?: 'pre' | 'post' | undefined /** * You should install the transformer manually if you are not using oxc. * swc: @swc/core * typescript: typescript * * @default oxc */ transformer?: 'oxc' | 'swc' | 'typescript' /** * Whether to generate declaration source maps. * * Supported by `typescript` and `oxc` transformer only. * * @link https://www.typescriptlang.org/tsconfig/#declarationMap */ sourceMap?: boolean /** Only for typescript transformer */ transformOptions?: TranspileOptions ignoreErrors?: boolean /** An extra directory layer for output files. */ extraOutdir?: string rewriteImports?: ( id: string, importer: string, ) => string | void | null | undefined }
rewriteImports
Rewrite 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)}` }, }), // ... ], }
patchCjsDefaultExport
Patch export default in .d.cts to export =
Note
For the exhaustive set of options check options
Sponsors
License
Built and signed on
GitHub Actions