unplugin / unplugin-isolated-decl

⚡️ A blazing-fast tool for generating isolated declarations.
MIT License
90 stars 4 forks source link

unplugin-isolated-decl npm jsr

Unit Test

⚡️ A blazing-fast tool for generating isolated declarations.

Features

Installation

# npm
npm i -D unplugin-isolated-decl

# jsr
npx jsr add -D @unplugin/isolated-decl

Usage

Vite
```ts // vite.config.ts import UnpluginIsolatedDecl from 'unplugin-isolated-decl/vite' export default defineConfig({ plugins: [UnpluginIsolatedDecl()], }) ```
Rollup
```ts // rollup.config.js import UnpluginIsolatedDecl from 'unplugin-isolated-decl/rollup' export default { plugins: [UnpluginIsolatedDecl()], } ```
Rolldown
```ts // rolldown.config.js import UnpluginIsolatedDecl from 'unplugin-isolated-decl/rolldown' export default { plugins: [UnpluginIsolatedDecl()], } ```
esbuild
```ts // esbuild.config.js import { build } from 'esbuild' build({ plugins: [require('unplugin-isolated-decl/esbuild')()], }) ```
Farm
```ts // 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 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 三咲智子