Unplugin provides a single Rollup-style plugin API that runs on Vite, Rollup, webpack, esbuild, Rspack, Rolldown, Farm, and Bun. Use these skills when implementing a new unplugin, integrating an existing one, or debugging hook/context behavior across bundlers.
The skill is based on unplugin v3.0.0, generated at 2026-01-30.
Core References
| Topic |
Description |
Reference |
| Overview |
What unplugin is, supported bundlers, when to use |
core-overview |
| Core API |
createUnplugin, factory signature, bundler-specific creators |
core-api |
| Hooks and context |
Lifecycle hooks, filters, this.parse / emitFile / warn / error |
core-hooks-and-context |
| Hook compatibility |
Per-bundler support tables for hooks and context |
core-hook-compatibility |
| Integration |
Installing and registering in Vite, Rollup, webpack, etc. |
core-integration |
Features
| Topic |
Description |
Reference |
| Filters |
filter option for resolveId, transform, load (performance) |
features-filters |
| Nested plugins |
Returning an array of plugins from the factory |
features-nested-plugins |
| Bundler-specific |
meta.framework, escape hatches (vite/webpack/esbuild/…), createXxxPlugin |
features-bundler-specific |
| Virtual modules |
resolveId + load pattern; filter for load |
features-virtual-modules |
| Parsing |
setParseImpl, this.parse; when needed (esbuild, webpack, etc.) |
features-parsing |
| Output and assets |
emitFile (EmittedAsset only), writeBundle (timing only) |
features-output-and-assets |
Best Practices
| Topic |
Description |
Reference |
| Conventions |
unplugin- prefix, keyword, default + subpath exports |
best-practices-conventions |
| Diagnostics |
this.warn / this.error, UnpluginMessage shape |
best-practices-diagnostics |
| Scaffolding |
Templates (unplugin-starter), try online, prerequisites |
best-practices-scaffolding |
1---2name: unplugin3description: Unified plugin system for Vite, Rollup, webpack, esbuild, Rspack, Farm, Rolldown, and Bun. Use when authoring or consuming build-tool plugins that work across bundlers.4---5
6Unplugin provides a single Rollup-style plugin API that runs on Vite, Rollup, webpack, esbuild, Rspack, Rolldown, Farm, and Bun. Use these skills when implementing a new unplugin, integrating an existing one, or debugging hook/context behavior across bundlers.
7
8> The skill is based on unplugin v3.0.0, generated at 2026-01-30.
9
10## Core References
11
12| Topic | Description | Reference |
13|-------|-------------|-----------|
14| Overview | What unplugin is, supported bundlers, when to use | [core-overview](references/core-overview.md) |
15| Core API | createUnplugin, factory signature, bundler-specific creators | [core-api](references/core-api.md) |
16| Hooks and context | Lifecycle hooks, filters, this.parse / emitFile / warn / error | [core-hooks-and-context](references/core-hooks-and-context.md) |
17| Hook compatibility | Per-bundler support tables for hooks and context | [core-hook-compatibility](references/core-hook-compatibility.md) |
18| Integration | Installing and registering in Vite, Rollup, webpack, etc. | [core-integration](references/core-integration.md) |
19
20## Features
21
22| Topic | Description | Reference |
23|-------|-------------|-----------|
24| Filters | filter option for resolveId, transform, load (performance) | [features-filters](references/features-filters.md) |
25| Nested plugins | Returning an array of plugins from the factory | [features-nested-plugins](references/features-nested-plugins.md) |
26| Bundler-specific | meta.framework, escape hatches (vite/webpack/esbuild/…), createXxxPlugin | [features-bundler-specific](references/features-bundler-specific.md) |
27| Virtual modules | resolveId + load pattern; filter for load | [features-virtual-modules](references/features-virtual-modules.md) |
28| Parsing | setParseImpl, this.parse; when needed (esbuild, webpack, etc.) | [features-parsing](references/features-parsing.md) |
29| Output and assets | emitFile (EmittedAsset only), writeBundle (timing only) | [features-output-and-assets](references/features-output-and-assets.md) |
30
31## Best Practices
32
33| Topic | Description | Reference |
34|-------|-------------|-----------|
35| Conventions | unplugin- prefix, keyword, default + subpath exports | [best-practices-conventions](references/best-practices-conventions.md) |
36| Diagnostics | this.warn / this.error, UnpluginMessage shape | [best-practices-diagnostics](references/best-practices-diagnostics.md) |
37| Scaffolding | Templates (unplugin-starter), try online, prerequisites | [best-practices-scaffolding](references/best-practices-scaffolding.md) |