Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

decorate-vite-plugin

lbb0016.6kUnlicense0.1.0TypeScript support: included

Decorate Vite plugin

vite, plugin, hooks, decorate, decorator

readme

decorate-vite-plugin

NPM NPM License Bundlephobia TypeScript

A utility library for decorating Vite plugins by enhancing their hook functions.

Installation

npm install decorate-vite-plugin --save-dev

Usage

This library allows you to decorate Vite plugins by adding additional functionality to their hook functions without modifying the original plugin code.

Support vite >= v3.

Basic Example

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import { decorateVitePluginOption } from 'decorate-vite-plugin'

export default defineConfig({
  plugins: [
    decorateVitePluginOption(
      vue(),
      'transform',
      (originalTransform, plugin) => {
        return function (code, id) {
          console.log(`Transforming ${id}`)
          return originalTransform?.call(plugin, code, id)
        }
      },
    ),
  ],
})

API

decoratePlugin

Decorates a specific hook of a single Vite plugin.

function decoratePlugin<T extends keyof Plugin>(
  plugin: Plugin,
  hookName: T,
  decorator: (original: Plugin[T], plugin: Plugin) => Plugin[T],
): Plugin

decorateVitePluginOption

Decorates a hook across any valid Vite plugin option (single plugin, array of plugins, function, promise, etc.).

function decorateVitePluginOption<T extends keyof Plugin>(
  pluginOption: PluginOption,
  hookName: T,
  decorator: (original: Plugin[T], plugin: Plugin) => Plugin[T],
): PluginOption