aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/modules/NodeModuleModule.cpp
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2023-06-25 19:48:56 -0700
committerGravatar GitHub <noreply@github.com> 2023-06-25 19:48:56 -0700
commit76626ac54b83a5a9a24abee1bc35f13a2196504d (patch)
tree0ad676a65b1629905a9b2cf7871f58409922f5d6 /src/bun.js/modules/NodeModuleModule.cpp
parent116bcf424564a5f38ddf5f99f34453c175526fdc (diff)
downloadbun-76626ac54b83a5a9a24abee1bc35f13a2196504d.tar.gz
bun-76626ac54b83a5a9a24abee1bc35f13a2196504d.tar.zst
bun-76626ac54b83a5a9a24abee1bc35f13a2196504d.zip
Fix test failures in import.meta (#3403)
* Fix test failures in import.meta * regenerate * Use bound functions for `import.meta.require` and `import.meta.require.resolve` and `Module.createRequire` --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
Diffstat (limited to 'src/bun.js/modules/NodeModuleModule.cpp')
-rw-r--r--src/bun.js/modules/NodeModuleModule.cpp23
1 files changed, 6 insertions, 17 deletions
diff --git a/src/bun.js/modules/NodeModuleModule.cpp b/src/bun.js/modules/NodeModuleModule.cpp
index f11277709..8b278ddd8 100644
--- a/src/bun.js/modules/NodeModuleModule.cpp
+++ b/src/bun.js/modules/NodeModuleModule.cpp
@@ -19,24 +19,12 @@ JSC_DEFINE_HOST_FUNCTION(jsFunctionNodeModuleCreateRequire,
return JSC::JSValue::encode(JSC::jsUndefined());
}
- auto str = callFrame->uncheckedArgument(0).toStringOrNull(globalObject);
+ auto val = callFrame->uncheckedArgument(0).toWTFString(globalObject);
RETURN_IF_EXCEPTION(scope, JSC::JSValue::encode(JSC::jsUndefined()));
- WTF::String val = str->value(globalObject);
- auto *meta = Zig::ImportMetaObject::create(globalObject, str);
auto clientData = WebCore::clientData(vm);
- auto requireFunction =
- Zig::ImportMetaObject::createRequireFunction(vm, globalObject, val);
- auto nameStr = jsCast<JSFunction *>(requireFunction)->name(vm);
- JSC::JSBoundFunction *boundRequireFunction =
- JSC::JSBoundFunction::create(vm, globalObject, requireFunction, meta,
- ArgList(), 0, jsString(vm, nameStr));
- boundRequireFunction->putDirect(
- vm, clientData->builtinNames().resolvePublicName(),
- requireFunction->getDirect(
- vm, clientData->builtinNames().resolvePublicName()),
- 0);
-
- RELEASE_AND_RETURN(scope, JSValue::encode(boundRequireFunction));
+ RELEASE_AND_RETURN(
+ scope, JSValue::encode(Zig::ImportMetaObject::createRequireFunction(
+ vm, globalObject, val)));
}
JSC_DEFINE_HOST_FUNCTION(jsFunctionNodeModulePaths,
(JSC::JSGlobalObject * globalObject,
@@ -158,7 +146,8 @@ void generateNodeModuleModule(JSC::JSGlobalObject *globalObject,
jsFunctionNodeModulePaths, ImplementationVisibility::Public));
exportNames.append(JSC::Identifier::fromString(vm, "_cache"_s));
- exportValues.append(JSC::constructEmptyObject(globalObject));
+ exportValues.append(
+ jsCast<Zig::GlobalObject *>(globalObject)->lazyRequireCacheObject());
exportNames.append(JSC::Identifier::fromString(vm, "builtinModules"_s));