From 68c8377d76c6e1271e25f862614ce9270a64857d Mon Sep 17 00:00:00 2001 From: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> Date: Sat, 23 Sep 2023 05:57:40 -0700 Subject: WIP concurrent CommonJS --- src/bun.js/bindings/ModuleLoader.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src/bun.js/bindings/ModuleLoader.cpp') diff --git a/src/bun.js/bindings/ModuleLoader.cpp b/src/bun.js/bindings/ModuleLoader.cpp index acda70e0a..8afd81128 100644 --- a/src/bun.js/bindings/ModuleLoader.cpp +++ b/src/bun.js/bindings/ModuleLoader.cpp @@ -63,6 +63,13 @@ static JSC::JSInternalPromise* resolvedInternalPromise(JSC::JSGlobalObject* glob return promise; } +extern "C" bool ModuleLoader__moduleIDExistsInRequireMapOrESMRegistry(Zig::GlobalObject* globalObject, BunString* specifier) +{ + JSC::JSValue specifierValue = Bun::toJS(globalObject, *specifier); + + return globalObject->requireMap()->has(globalObject, specifierValue) || globalObject->esModuleRegistry()->has(globalObject, specifierValue); +} + // Converts an object from InternalModuleRegistry into { ...obj, default: obj } static JSC::SyntheticSourceProvider::SyntheticSourceGenerator generateInternalModuleSourceCode(JSC::JSGlobalObject* globalObject, InternalModuleRegistry::Field moduleId) @@ -484,8 +491,7 @@ JSValue fetchCommonJSModule( } } - auto* loader = globalObject->moduleLoader(); - JSMap* registry = jsCast(loader->getDirect(vm, Identifier::fromString(vm, "registry"_s))); + JSMap* registry = globalObject->esModuleRegistry(); auto hasAlreadyLoadedESMVersionSoWeShouldntTranspileItTwice = [&]() -> bool { JSValue entry = registry->get(globalObject, specifierValue); -- cgit v1.2.3