diff options
Diffstat (limited to '')
-rw-r--r-- | src/bun.js/bindings/ZigGlobalObject.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/bun.js/bindings/ZigGlobalObject.cpp b/src/bun.js/bindings/ZigGlobalObject.cpp index 0a453a9c8..5810b25fb 100644 --- a/src/bun.js/bindings/ZigGlobalObject.cpp +++ b/src/bun.js/bindings/ZigGlobalObject.cpp @@ -178,6 +178,7 @@ namespace JSCastingHelpers = JSC::JSCastingHelpers; #include "CallSitePrototype.h" #include "DOMWrapperWorld-class.h" #include "CommonJSModuleRecord.h" +#include "JavaScriptCore/SyntheticModuleRecord.h" constexpr size_t DEFAULT_ERROR_STACK_TRACE_LIMIT = 10; @@ -4113,6 +4114,16 @@ JSC::JSValue GlobalObject::moduleLoaderEvaluate(JSGlobalObject* globalObject, return scriptFetcher; } + if (JSC::SyntheticModuleRecord* record = jsDynamicCast<JSC::SyntheticModuleRecord*>(moduleRecordValue)) { + if (JSValue userValue = record->userValue()) { + auto* evalExecutable = jsDynamicCast<JSC::EvalExecutable*>(userValue); + return Bun::evaluateCommonJSModule( + reinterpret_cast<Zig::GlobalObject*>(globalObject), + record, + evalExecutable); + } + } + JSC::JSValue result = moduleLoader->evaluateNonVirtual(globalObject, key, moduleRecordValue, scriptFetcher, sentValue, resumeMode); |