diff --git a/lib/modules/src/metro/_internal.ts b/lib/modules/src/metro/_internal.ts index 6442a59..bcffdc5 100644 --- a/lib/modules/src/metro/_internal.ts +++ b/lib/modules/src/metro/_internal.ts @@ -106,7 +106,16 @@ function handleFactoryCall( ) const { exports } = moduleObject - if (exports != null) mInitialized.add(mInitializingId) + + // Blacklist exports that: + // - are primitives (https://developer.mozilla.org/en-US/docs/Glossary/Primitive) + // - are empty objects + if (exports instanceof Object) { + if (exports.__proto__ === Object.prototype) { + if (Reflect.ownKeys(exports).length) + mInitialized.add(mInitializingId!) + } else mInitialized.add(mInitializingId) + } executeInitializeSubscriptions(mInitializingId, exports) } finally {