Skip to content

litingyes/unplugin-external

Repository files navigation

unplugin-external

External dependencies when building

Installation

pnpm add unplugin-external

Usage

Tip

Thanks to unplugin, it can be used in multiple build packagers, e.g. vite/rollup/webpack/esbuild/rspack/rolldown

import External from 'unplugin-external/vite'
import { defineConfig } from 'vite'

export default defineConfig({
  plugins: [External(options)]
})

Options

export interface Options {
  /**
   * exclude node builtin modules, e.g. node:os
   *
   * default: true
   */
  nodeBuiltins?: boolean

  /**
   * current working directory to get package.json data
   *
   * default: process.cwd()
   */
  cwd?: string

  /**
   * exclude dependencies
   *
   * default: true
   */
  deps?: boolean

  /**
   * exclude devDependencies
   *
   * default: false
   */
  devDeps?: boolean

  /**
   * exclude peerDependencies
   *
   * default: true
   */
  peerDeps?: boolean

  /**
   * exclude peerDependencies
   *
   * default: true
   */
  optDeps?: boolean

  /**
   * Customizing additional exclusion logic
   */
  custom?: (string | RegExp)[] | string | RegExp | ((id: string) => boolean)
}