@@ -187,26 +187,19 @@ export function getCachedFilterForPlugin<
187187 let filter : PluginFilter | TransformHookFilter | undefined
188188 switch ( hookName ) {
189189 case 'resolveId' : {
190- const rawFilter =
191- typeof plugin . resolveId === 'object'
192- ? plugin . resolveId . filter ?. id
193- : undefined
190+ const rawFilter = extractFilter ( plugin . resolveId ) ?. id
194191 filters . resolveId = createIdFilter ( rawFilter )
195192 filter = filters . resolveId
196193 break
197194 }
198195 case 'load' : {
199- const rawFilter =
200- typeof plugin . load === 'object' ? plugin . load . filter ?. id : undefined
196+ const rawFilter = extractFilter ( plugin . load ) ?. id
201197 filters . load = createIdFilter ( rawFilter )
202198 filter = filters . load
203199 break
204200 }
205201 case 'transform' : {
206- const rawFilters =
207- typeof plugin . transform === 'object'
208- ? plugin . transform . filter
209- : undefined
202+ const rawFilters = extractFilter ( plugin . transform )
210203 filters . transform = createFilterForTransform (
211204 rawFilters ?. id ,
212205 rawFilters ?. code ,
@@ -218,6 +211,12 @@ export function getCachedFilterForPlugin<
218211 return filter as FilterForPluginValue [ H ] | undefined
219212}
220213
214+ function extractFilter < T extends Function , F > (
215+ hook : ObjectHook < T , { filter ?: F } > | undefined ,
216+ ) {
217+ return hook && 'filter' in hook && hook . filter ? hook . filter : undefined
218+ }
219+
221220// Same as `@rollup/plugin-alias` default resolver, but we attach additional meta
222221// if we can't resolve to something, which will error in `importAnalysis`
223222export const viteAliasCustomResolver : ResolverFunction = async function (
0 commit comments