Package Exports
- unplugin-isolated-decl
- unplugin-isolated-decl/api
- unplugin-isolated-decl/dist/api
- unplugin-isolated-decl/dist/core/options
- unplugin-isolated-decl/dist/core/transformer
- unplugin-isolated-decl/dist/esbuild
- unplugin-isolated-decl/dist/index
- unplugin-isolated-decl/dist/rolldown
- unplugin-isolated-decl/dist/rollup
- unplugin-isolated-decl/dist/vite
- unplugin-isolated-decl/esbuild
- unplugin-isolated-decl/rolldown
- unplugin-isolated-decl/rollup
- unplugin-isolated-decl/vite
Readme
unplugin-isolated-decl 
β‘οΈ A blazing-fast tool for generating isolated declarations.
Features
- π Fast: Generates
.d.ts
files 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, and esbuild.
Installation
npm i -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')()],
})
Options
export interface Options {
include?: FilterPattern
exclude?: FilterPattern
enforce?: 'pre' | 'post' | undefined
/**
* You need to install one of the supported transformers yourself.
* @default typescript
*/
transformer?: 'oxc' | 'swc' | 'typescript'
/** Only for typescript transformer */
transformOptions?: TranspileOptions
ignoreErrors?: boolean
/** An extra directory layer for output files. */
extraOutdir?: string
/** Automatically add `.js` extension to resolve in `Node16` + ESM mode. */
autoAddExts?: boolean
}
autoAddExts
Automatically add .js
extension to resolve in Node 16+ ESM mode.
// index.d.ts
import {} from './foo'
With autoAddExts
, it will be transformed to:
// index.d.ts
import {} from './foo.js'
patchCjsDefaultExport
Patch export default
in .d.cts
to export =
[!NOTE] For the exhaustive set of options check options
Sponsors
License
MIT License Β© 2024-PRESENT δΈε²ζΊε