From c067dc520d6cfc3740391a88531a0bd0417faa4c Mon Sep 17 00:00:00 2001 From: PalmDevs Date: Fri, 4 Jul 2025 22:14:02 +0700 Subject: [PATCH] fix(lib/modules/finders): correct filtering logic for prod builds --- lib/modules/src/finders/_internal.ts | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/lib/modules/src/finders/_internal.ts b/lib/modules/src/finders/_internal.ts index 68d5a9d..fd3dd2b 100644 --- a/lib/modules/src/finders/_internal.ts +++ b/lib/modules/src/finders/_internal.ts @@ -15,7 +15,7 @@ export interface RunFilterOptions { /** * Whether to allow initializing modules to check their exports. * - * @default false + * @default true */ initialize?: boolean } @@ -81,12 +81,13 @@ export function runFilter( ): FilterResultFlag | undefined { if (exports === undefined) { if ((filter as Filter)(id)) { - if (__BUILD_FLAG_DEBUG_MODULE_LOOKUPS__) { - const flag = runFilter(filter, id, __r(id), options) - if (!flag) warnDeveloperAboutPartialFilterMatch(id, filter.key) - return flag - } else if (options?.initialize) { - return runFilter(filter, id, __r(id), options) + if (options?.initialize ?? true) { + if (__BUILD_FLAG_DEBUG_MODULE_LOOKUPS__) { + const flag = runFilter(filter, id, __r(id), options) + if (!flag) + warnDeveloperAboutPartialFilterMatch(id, filter.key) + return flag + } else return runFilter(filter, id, __r(id), options) } return FilterResultFlags.Found @@ -98,12 +99,10 @@ export function runFilter( if (filter(id, exports)) return cacheFilterResult(filter.key, id, FilterResultFlags.Namespace) - const defaultExport = exports.default - if ( - !options?.skipDefault && - !isModuleExportBad(defaultExport) && - filter(id, defaultExport) - ) + if (options?.skipDefault) return + + const { default: defaultExport } = exports + if (!isModuleExportBad(defaultExport) && filter(id, defaultExport)) return cacheFilterResult(filter.key, id, FilterResultFlags.Default) }