Skip to content

Commit 0b47312

Browse files
committed
fix: pass all params for load & transform hooks
1 parent 93b2af2 commit 0b47312

File tree

5 files changed

+17
-21
lines changed

5 files changed

+17
-21
lines changed

src/rolldown/index.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,7 @@ export function getRolldownPlugin<UserOptions = Record<string, never>, Nested ex
1212
const rawPlugins = toArray(factory(userOptions!, meta))
1313

1414
const plugins = rawPlugins.map((rawPlugin) => {
15-
const plugin = toRollupPlugin(rawPlugin, false) as RolldownPlugin
16-
if (rawPlugin.rolldown)
17-
Object.assign(plugin, rawPlugin.rolldown)
18-
15+
const plugin = toRollupPlugin(rawPlugin, 'rolldown') as RolldownPlugin
1916
return plugin
2017
})
2118

src/rollup/index.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,34 +9,34 @@ export function getRollupPlugin<UserOptions = Record<string, never>, Nested exte
99
framework: 'rollup',
1010
}
1111
const rawPlugins = toArray(factory(userOptions!, meta))
12-
const plugins = rawPlugins.map(plugin => toRollupPlugin(plugin))
12+
const plugins = rawPlugins.map(plugin => toRollupPlugin(plugin, 'rollup'))
1313
return plugins.length === 1 ? plugins[0] : plugins
1414
}) as UnpluginInstance<UserOptions, Nested>['rollup']
1515
}
1616

17-
export function toRollupPlugin(plugin: UnpluginOptions, containRollupOptions = true): RollupPlugin {
17+
export function toRollupPlugin(plugin: UnpluginOptions, key: 'rollup' | 'rolldown' | 'vite' | 'unloader'): RollupPlugin {
1818
if (plugin.transform && plugin.transformInclude) {
1919
const _transform = plugin.transform
20-
plugin.transform = function (code, id) {
20+
plugin.transform = function (code, id, ...args) {
2121
if (plugin.transformInclude && !plugin.transformInclude(id))
2222
return null
2323

24-
return _transform.call(this, code, id)
24+
return _transform.call(this, code, id, ...args)
2525
}
2626
}
2727

2828
if (plugin.load && plugin.loadInclude) {
2929
const _load = plugin.load
30-
plugin.load = function (id) {
30+
plugin.load = function (id, ...args) {
3131
if (plugin.loadInclude && !plugin.loadInclude(id))
3232
return null
3333

34-
return _load.call(this, id)
34+
return _load.call(this, id, ...args)
3535
}
3636
}
3737

38-
if (plugin.rollup && containRollupOptions)
39-
Object.assign(plugin, plugin.rollup)
38+
if (plugin[key])
39+
Object.assign(plugin, plugin[key])
4040

4141
return plugin as RollupPlugin
4242
}

src/unloader/index.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,7 @@ export function getUnloaderPlugin<UserOptions = Record<string, never>, Nested ex
1212
const rawPlugins = toArray(factory(userOptions!, meta))
1313

1414
const plugins = rawPlugins.map((rawPlugin) => {
15-
const plugin = toRollupPlugin(rawPlugin, false) as UnloaderPlugin
16-
if (rawPlugin.unloader)
17-
Object.assign(plugin, rawPlugin.unloader)
18-
15+
const plugin = toRollupPlugin(rawPlugin, 'unloader') as UnloaderPlugin
1916
return plugin
2017
})
2118

src/vite/index.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,7 @@ export function getVitePlugin<UserOptions = Record<string, never>, Nested extend
1212
const rawPlugins = toArray(factory(userOptions!, meta))
1313

1414
const plugins = rawPlugins.map((rawPlugin) => {
15-
const plugin = toRollupPlugin(rawPlugin, false) as VitePlugin
16-
if (rawPlugin.vite)
17-
Object.assign(plugin, rawPlugin.vite)
18-
15+
const plugin = toRollupPlugin(rawPlugin, 'vite') as VitePlugin
1916
return plugin
2017
})
2118

test/unit-tests/id-consistency/id-consistency.test.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,12 @@ function checkHookCalls(
5454
const ids = transformIncludeCallback.mock.calls.map(call => call[0])
5555
ids.forEach((id) => {
5656
expect(path.isAbsolute(id)).toBe(true)
57-
expect(transformCallback).toHaveBeenCalledWith(expect.anything(), id)
57+
if (name === 'vite') {
58+
expect(transformCallback).toHaveBeenCalledWith(expect.anything(), id, expect.anything())
59+
}
60+
else {
61+
expect(transformCallback).toHaveBeenCalledWith(expect.anything(), id)
62+
}
5863
const isVite = expect.getState().currentTestName?.includes('vite')
5964
expect(loadCallback).toHaveBeenCalledWith(
6065
id,

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy