From 00830c35395565383845d9436bb30df5004d01fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=89=E5=92=B2=E6=99=BA=E5=AD=90=20Kevin=20Deng?= Date: Mon, 12 Dec 2022 16:52:24 +0800 Subject: [PATCH] feat(esbuild): add plugin build context to meta (#226) --- src/esbuild/index.ts | 4 +++- src/types.ts | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) 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 })