diff options
author | 2023-07-24 19:32:04 -0700 | |
---|---|---|
committer | 2023-07-24 19:32:04 -0700 | |
commit | 8a0152e1290658d8167609cb23a7d19817ad4285 (patch) | |
tree | 3ec808e103ed2c360a038c2a22c6b7161bd4adb7 /src/bun.js/bindings/ZigGlobalObject.cpp | |
parent | 1f1d0bfcfbc839cad76c9bc2d644bfa8bd299a1a (diff) | |
download | bun-8a0152e1290658d8167609cb23a7d19817ad4285.tar.gz bun-8a0152e1290658d8167609cb23a7d19817ad4285.tar.zst bun-8a0152e1290658d8167609cb23a7d19817ad4285.zip |
Merge import.meta.require and require to be the same thing (#3732)
* Merge import.meta.require and require to be the same thing
* support `require` and BunPlugin (runtime plugin)
* plugins
* unused code
* revert launch.json
Diffstat (limited to 'src/bun.js/bindings/ZigGlobalObject.cpp')
-rw-r--r-- | src/bun.js/bindings/ZigGlobalObject.cpp | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/src/bun.js/bindings/ZigGlobalObject.cpp b/src/bun.js/bindings/ZigGlobalObject.cpp index 759217ed1..946e368dd 100644 --- a/src/bun.js/bindings/ZigGlobalObject.cpp +++ b/src/bun.js/bindings/ZigGlobalObject.cpp @@ -3448,15 +3448,23 @@ void GlobalObject::finishCreation(VM& vm) init.set(structure); }); - m_importMetaRequireFunctionUnbound.initLater( + m_requireFunctionUnbound.initLater( [](const JSC::LazyProperty<JSC::JSGlobalObject, JSC::JSObject>::Initializer& init) { init.set( - Zig::ImportMetaObject::createRequireFunctionUnbound(init.vm, init.owner)); + JSFunction::create( + init.vm, + moduleRequireCodeGenerator(init.vm), + init.owner->globalScope(), + JSFunction::createStructure(init.vm, init.owner, RequireFunctionPrototype::create(init.owner)))); }); - m_importMetaRequireResolveFunctionUnbound.initLater( + m_requireResolveFunctionUnbound.initLater( [](const JSC::LazyProperty<JSC::JSGlobalObject, JSC::JSObject>::Initializer& init) { init.set( - Zig::ImportMetaObject::createRequireResolveFunctionUnbound(init.vm, init.owner)); + JSFunction::create( + init.vm, + moduleRequireResolveCodeGenerator(init.vm), + init.owner->globalScope(), + JSFunction::createStructure(init.vm, init.owner, RequireResolveFunctionPrototype::create(init.owner)))); }); m_importMetaObjectStructure.initLater( @@ -4107,7 +4115,6 @@ void GlobalObject::addBuiltinGlobals(JSC::VM& vm) putDirectBuiltinFunction(vm, this, builtinNames.createNativeReadableStreamPrivateName(), readableStreamCreateNativeReadableStreamCodeGenerator(vm), PropertyAttribute::Builtin | PropertyAttribute::DontDelete | PropertyAttribute::ReadOnly); putDirectBuiltinFunction(vm, this, builtinNames.requireESMPrivateName(), importMetaObjectRequireESMCodeGenerator(vm), PropertyAttribute::Builtin | PropertyAttribute::DontDelete | PropertyAttribute::ReadOnly); - putDirectBuiltinFunction(vm, this, builtinNames.requirePrivateName(), importMetaObjectRequireCodeGenerator(vm), PropertyAttribute::Builtin | PropertyAttribute::DontDelete | PropertyAttribute::ReadOnly); putDirectBuiltinFunction(vm, this, builtinNames.loadCJS2ESMPrivateName(), importMetaObjectLoadCJS2ESMCodeGenerator(vm), PropertyAttribute::Builtin | PropertyAttribute::DontDelete | PropertyAttribute::ReadOnly); putDirectBuiltinFunction(vm, this, builtinNames.internalRequirePrivateName(), importMetaObjectInternalRequireCodeGenerator(vm), PropertyAttribute::Builtin | PropertyAttribute::DontDelete | PropertyAttribute::ReadOnly); putDirectNativeFunction(vm, this, builtinNames.createUninitializedArrayBufferPrivateName(), 1, functionCreateUninitializedArrayBuffer, ImplementationVisibility::Public, NoIntrinsic, PropertyAttribute::DontDelete | PropertyAttribute::ReadOnly | PropertyAttribute::Function); @@ -4622,8 +4629,8 @@ void GlobalObject::visitChildrenImpl(JSCell* cell, Visitor& visitor) thisObject->m_emitReadableNextTickFunction.visit(visitor); thisObject->m_JSBufferSubclassStructure.visit(visitor); - thisObject->m_importMetaRequireFunctionUnbound.visit(visitor); - thisObject->m_importMetaRequireResolveFunctionUnbound.visit(visitor); + thisObject->m_requireFunctionUnbound.visit(visitor); + thisObject->m_requireResolveFunctionUnbound.visit(visitor); thisObject->m_importMetaObjectStructure.visit(visitor); thisObject->m_asyncBoundFunctionStructure.visit(visitor); |