mirror of
https://github.com/oven-sh/bun
synced 2026-02-11 11:29:02 +00:00
Fix createRequire() in node:module
Fixes https://github.com/oven-sh/bun/issues/831 Fixes https://github.com/oven-sh/bun/issues/453
This commit is contained in:
@@ -35,6 +35,7 @@
|
||||
#include "JSBufferConstructorBuiltins.h"
|
||||
#include "JavaScriptCore/JSBase.h"
|
||||
|
||||
#include "JSDOMURL.h"
|
||||
#include "JavaScriptCore/JSNativeStdFunction.h"
|
||||
|
||||
namespace Zig {
|
||||
@@ -133,6 +134,24 @@ JSC_DEFINE_CUSTOM_GETTER(functionRequireResolveLazyGetter,
|
||||
return JSValue::encode(JSValue(resolverFunction));
|
||||
}
|
||||
|
||||
Zig::ImportMetaObject* Zig::ImportMetaObject::create(JSC::JSGlobalObject* globalObject, JSValue key)
|
||||
{
|
||||
if (WebCore::DOMURL* domURL = WebCoreCast<WebCore::JSDOMURL, WebCore__DOMURL>(JSValue::encode(key))) {
|
||||
return create(globalObject, JSC::jsString(globalObject->vm(), domURL->href().fileSystemPath()));
|
||||
}
|
||||
|
||||
auto* keyString = key.toStringOrNull(globalObject);
|
||||
if (UNLIKELY(!keyString)) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
if (keyString->value(globalObject).startsWith("file://"_s)) {
|
||||
return create(globalObject, JSC::jsString(globalObject->vm(), WTF::URL(keyString->value(globalObject)).fileSystemPath()));
|
||||
}
|
||||
|
||||
return create(globalObject, keyString);
|
||||
}
|
||||
|
||||
JSObject* Zig::ImportMetaObject::createRequireFunction(VM& vm, JSGlobalObject* globalObject, WTF::String& pathString)
|
||||
{
|
||||
JSFunction* requireFunction = JSFunction::create(vm, importMetaObjectRequireCodeGenerator(vm), globalObject);
|
||||
|
||||
Reference in New Issue
Block a user