Skip to content

Commit 24a7188

Browse files
committedJan 8, 2025··
fix(esbuild): pass original build for custom esbuild setup
backport 4abab22
1 parent 569ea99 commit 24a7188

File tree

2 files changed

+7
-7
lines changed

2 files changed

+7
-7
lines changed
 

Diff for: ‎src/esbuild/index.ts

+5-5
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ export function getEsbuildPlugin<UserOptions = Record<string, never>>(
7171
loader.options ||= _options
7272
loader.onTransformCb = callback
7373
},
74-
} as EsbuildPluginBuild)
74+
} as EsbuildPluginBuild, build)
7575

7676
// skip if no load & transform hooks
7777
if (loader.onLoadCb || loader.onTransformCb)
@@ -140,9 +140,9 @@ export function getEsbuildPlugin<UserOptions = Record<string, never>>(
140140
}
141141

142142
function buildSetup(meta: UnpluginContextMeta & { framework: 'esbuild' }) {
143-
return (plugin: UnpluginOptions): EsbuildPlugin['setup'] => {
144-
return (_build) => {
145-
const build = meta.build = _build as EsbuildPluginBuild
143+
return (plugin: UnpluginOptions) => {
144+
return (build: EsbuildPluginBuild, rawBuild: PluginBuild) => {
145+
meta.build = build
146146
const context = createBuildContext(build)
147147
const { onStart, onEnd, onResolve, onLoad, onTransform, initialOptions } = build
148148

@@ -306,7 +306,7 @@ function buildSetup(meta: UnpluginContextMeta & { framework: 'esbuild' }) {
306306
}
307307

308308
if (plugin.esbuild?.setup)
309-
return plugin.esbuild.setup(meta.build)
309+
return plugin.esbuild.setup(rawBuild)
310310
}
311311
}
312312
}

Diff for: ‎src/types.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import type { CompilationContext as FarmCompilationContext, JsPlugin as FarmPlugin } from '@farmfe/core'
22
import type { Compilation as RspackCompilation, Compiler as RspackCompiler, LoaderContext as RspackLoaderContext, RspackPluginInstance } from '@rspack/core'
3-
import type { BuildOptions, Plugin as EsbuildPlugin, Loader } from 'esbuild'
3+
import type { BuildOptions, Plugin as EsbuildPlugin, Loader, PluginBuild } from 'esbuild'
44
import type { Plugin as RolldownPlugin } from 'rolldown'
55
import type { AstNode, EmittedAsset, PluginContextMeta as RollupContextMeta, Plugin as RollupPlugin, SourceMapInput } from 'rollup'
66
import type { Plugin as VitePlugin } from 'vite'
@@ -90,7 +90,7 @@ export interface UnpluginOptions {
9090
// using regexp in esbuild improves performance
9191
onResolveFilter?: RegExp
9292
onLoadFilter?: RegExp
93-
setup?: (build: EsbuildPluginBuild) => void | Promise<void>
93+
setup?: (build: PluginBuild) => void | Promise<void>
9494
loader?: Loader | ((code: string, id: string) => Loader)
9595
config?: (options: BuildOptions) => void
9696
}

0 commit comments

Comments
 (0)
Please sign in to comment.