diff --git a/lib/modules/src/finders/filters/dynamic.ts b/lib/modules/src/finders/filters/dynamic.ts index 140b3a7..2cc6324 100644 --- a/lib/modules/src/finders/filters/dynamic.ts +++ b/lib/modules/src/finders/filters/dynamic.ts @@ -3,6 +3,7 @@ import { getInitializedModuleExports, getModuleDependencies, } from '../../metro/utils' +import { runFilter } from '../_internal' import { FilterFlag, FilterScopes } from './constants' import { createFilterGenerator } from './utils' import type { Metro } from '../../types' @@ -210,16 +211,9 @@ function depCompare( switch (typeof compare) { case 'function': { const filter = compare - const depExports = getInitializedModuleExports(id) - if ( - filter.flags & FilterFlag.RequiresExports && - depExports == null - ) + if (!runFilter(filter, id, getInitializedModuleExports(id))) return false - const match = filter(id, depExports) - if (!match) return false - continue } case 'object': {