diff --git a/src/esbuild/index.ts b/src/esbuild/index.ts index 68aaf735..6804093f 100644 --- a/src/esbuild/index.ts +++ b/src/esbuild/index.ts @@ -24,7 +24,9 @@ export function getEsbuildPlugin( const setup = (plugin: UnpluginOptions): EsbuildPlugin['setup'] => plugin.esbuild?.setup - ?? (({ onStart, onEnd, onResolve, onLoad, initialOptions, esbuild: { build } }) => { + ?? ((pluginBuild) => { + const { onStart, onEnd, onResolve, onLoad, initialOptions, esbuild: { build } } = pluginBuild + meta.build = pluginBuild const onResolveFilter = plugin.esbuild?.onResolveFilter ?? /.*/ const onLoadFilter = plugin.esbuild?.onLoadFilter ?? /.*/ diff --git a/src/types.ts b/src/types.ts index 3fcd1ee5..8e144458 100644 --- a/src/types.ts +++ b/src/types.ts @@ -1,7 +1,7 @@ import type { AcornNode, EmittedAsset, PluginContextMeta as RollupContextMeta, Plugin as RollupPlugin, SourceMapInput } from 'rollup' import type { Compiler as WebpackCompiler, WebpackPluginInstance } from 'webpack' import type { Plugin as VitePlugin } from 'vite' -import type { Plugin as EsbuildPlugin } from 'esbuild' +import type { Plugin as EsbuildPlugin, PluginBuild } from 'esbuild' import type VirtualModulesPlugin from 'webpack-virtual-modules' export { @@ -94,6 +94,7 @@ export type UnpluginContextMeta = Partial & ({ } } | { framework: 'esbuild' + build?: PluginBuild /** Set the host plugin name of esbuild when returning multiple plugins */ esbuildHostName?: string })