Skip to content

Commit 9f56a22

Browse files
committed
fix: use filter property set on functions
1 parent b04fee7 commit 9f56a22

File tree

1 file changed

+9
-10
lines changed

1 file changed

+9
-10
lines changed

packages/vite/src/node/plugins/index.ts

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -287,26 +287,19 @@ export function getCachedFilterForPlugin<
287287
let filter: PluginFilter | TransformHookFilter | undefined
288288
switch (hookName) {
289289
case 'resolveId': {
290-
const rawFilter =
291-
typeof plugin.resolveId === 'object'
292-
? plugin.resolveId.filter?.id
293-
: undefined
290+
const rawFilter = extractFilter(plugin.resolveId)?.id
294291
filters.resolveId = createIdFilter(rawFilter)
295292
filter = filters.resolveId
296293
break
297294
}
298295
case 'load': {
299-
const rawFilter =
300-
typeof plugin.load === 'object' ? plugin.load.filter?.id : undefined
296+
const rawFilter = extractFilter(plugin.load)?.id
301297
filters.load = createIdFilter(rawFilter)
302298
filter = filters.load
303299
break
304300
}
305301
case 'transform': {
306-
const rawFilters =
307-
typeof plugin.transform === 'object'
308-
? plugin.transform.filter
309-
: undefined
302+
const rawFilters = extractFilter(plugin.transform)
310303
filters.transform = createFilterForTransform(
311304
rawFilters?.id,
312305
rawFilters?.code,
@@ -318,6 +311,12 @@ export function getCachedFilterForPlugin<
318311
return filter as FilterForPluginValue[H] | undefined
319312
}
320313

314+
function extractFilter<T extends Function, F>(
315+
hook: ObjectHook<T, { filter?: F }> | undefined,
316+
) {
317+
return hook && 'filter' in hook && hook.filter ? hook.filter : undefined
318+
}
319+
321320
// Same as `@rollup/plugin-alias` default resolver, but we attach additional meta
322321
// if we can't resolve to something, which will error in `importAnalysis`
323322
export const viteAliasCustomResolver: ResolverFunction = async function (

0 commit comments

Comments
 (0)