@@ -287,26 +287,19 @@ export function getCachedFilterForPlugin<
287
287
let filter : PluginFilter | TransformHookFilter | undefined
288
288
switch ( hookName ) {
289
289
case 'resolveId' : {
290
- const rawFilter =
291
- typeof plugin . resolveId === 'object'
292
- ? plugin . resolveId . filter ?. id
293
- : undefined
290
+ const rawFilter = extractFilter ( plugin . resolveId ) ?. id
294
291
filters . resolveId = createIdFilter ( rawFilter )
295
292
filter = filters . resolveId
296
293
break
297
294
}
298
295
case 'load' : {
299
- const rawFilter =
300
- typeof plugin . load === 'object' ? plugin . load . filter ?. id : undefined
296
+ const rawFilter = extractFilter ( plugin . load ) ?. id
301
297
filters . load = createIdFilter ( rawFilter )
302
298
filter = filters . load
303
299
break
304
300
}
305
301
case 'transform' : {
306
- const rawFilters =
307
- typeof plugin . transform === 'object'
308
- ? plugin . transform . filter
309
- : undefined
302
+ const rawFilters = extractFilter ( plugin . transform )
310
303
filters . transform = createFilterForTransform (
311
304
rawFilters ?. id ,
312
305
rawFilters ?. code ,
@@ -318,6 +311,12 @@ export function getCachedFilterForPlugin<
318
311
return filter as FilterForPluginValue [ H ] | undefined
319
312
}
320
313
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
+
321
320
// Same as `@rollup/plugin-alias` default resolver, but we attach additional meta
322
321
// if we can't resolve to something, which will error in `importAnalysis`
323
322
export const viteAliasCustomResolver : ResolverFunction = async function (
0 commit comments