diff options
author | 2023-09-23 05:57:40 -0700 | |
---|---|---|
committer | 2023-09-23 05:57:40 -0700 | |
commit | 68c8377d76c6e1271e25f862614ce9270a64857d (patch) | |
tree | 593abaf3066e31eba38d96daf6a7e220398b718a /src/bun.js/bindings/ModuleLoader.cpp | |
parent | ec0e931e9f7934f4f1f7617eac2a880d13794d0c (diff) | |
download | bun-68c8377d76c6e1271e25f862614ce9270a64857d.tar.gz bun-68c8377d76c6e1271e25f862614ce9270a64857d.tar.zst bun-68c8377d76c6e1271e25f862614ce9270a64857d.zip |
WIP concurrent CommonJSjarred/cjs2
Diffstat (limited to 'src/bun.js/bindings/ModuleLoader.cpp')
-rw-r--r-- | src/bun.js/bindings/ModuleLoader.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
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<JSMap*>(loader->getDirect(vm, Identifier::fromString(vm, "registry"_s))); + JSMap* registry = globalObject->esModuleRegistry(); auto hasAlreadyLoadedESMVersionSoWeShouldntTranspileItTwice = [&]() -> bool { JSValue entry = registry->get(globalObject, specifierValue); |