mirror of
https://github.com/oven-sh/bun
synced 2026-02-10 19:08:50 +00:00
Rewrite built-in modules to use CommonJS over ESM (#3814)
* stfdsafsd sadffdsa stuff finish commonjs stuff asdf not done but work not done but work not done yet but this is how far i am remove files lol update built files uncomment everything in events lol export default stuff * afdsafsd * its not perfect but almost done * okay * cool * remove temp file * finish rebase * revert settings.json * a * ch-ch-ch-ch-changes * okay * remove this check in release for now * sxdcfghnjm, * lkjhgf * fmt * filename can be null * Update NodeModuleModule.h * weee * fmt --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
This commit is contained in:
75
src/bun.js/modules/NodeProcessModule.h
Normal file
75
src/bun.js/modules/NodeProcessModule.h
Normal file
@@ -0,0 +1,75 @@
|
||||
#include "../bindings/ZigGlobalObject.h"
|
||||
#include "JavaScriptCore/CustomGetterSetter.h"
|
||||
#include "JavaScriptCore/JSGlobalObject.h"
|
||||
#include "_NativeModule.h"
|
||||
|
||||
namespace Zig {
|
||||
|
||||
JSC_DEFINE_HOST_FUNCTION(jsFunctionProcessModuleCommonJS,
|
||||
(JSGlobalObject * globalObject,
|
||||
CallFrame *callFrame)) {
|
||||
VM &vm = globalObject->vm();
|
||||
|
||||
return JSValue::encode(
|
||||
reinterpret_cast<Zig::GlobalObject *>(globalObject)->processObject());
|
||||
}
|
||||
|
||||
JSC_DEFINE_CUSTOM_GETTER(jsFunctionProcessModuleCommonJSGetter,
|
||||
(JSGlobalObject * globalObject,
|
||||
EncodedJSValue thisValue,
|
||||
PropertyName propertyName)) {
|
||||
VM &vm = globalObject->vm();
|
||||
|
||||
return JSValue::encode(reinterpret_cast<Zig::GlobalObject *>(globalObject)
|
||||
->processObject()
|
||||
->get(globalObject, propertyName));
|
||||
}
|
||||
|
||||
JSC_DEFINE_CUSTOM_SETTER(jsFunctionProcessModuleCommonJSSetter,
|
||||
(JSGlobalObject * globalObject,
|
||||
EncodedJSValue thisValue, EncodedJSValue encodedValue,
|
||||
PropertyName propertyName)) {
|
||||
VM &vm = globalObject->vm();
|
||||
|
||||
return reinterpret_cast<Zig::GlobalObject *>(globalObject)
|
||||
->processObject()
|
||||
->putDirect(vm, propertyName, JSValue::decode(encodedValue), 0);
|
||||
}
|
||||
|
||||
DEFINE_NATIVE_MODULE(NodeProcess) {
|
||||
JSC::VM &vm = lexicalGlobalObject->vm();
|
||||
GlobalObject *globalObject =
|
||||
reinterpret_cast<GlobalObject *>(lexicalGlobalObject);
|
||||
|
||||
JSC::JSObject *process = globalObject->processObject();
|
||||
auto scope = DECLARE_THROW_SCOPE(vm);
|
||||
if (!process->staticPropertiesReified()) {
|
||||
process->reifyAllStaticProperties(globalObject);
|
||||
if (scope.exception())
|
||||
return;
|
||||
}
|
||||
|
||||
PropertyNameArray properties(vm, PropertyNameMode::Strings,
|
||||
PrivateSymbolMode::Exclude);
|
||||
process->getPropertyNames(globalObject, properties,
|
||||
DontEnumPropertiesMode::Exclude);
|
||||
if (scope.exception())
|
||||
return;
|
||||
|
||||
exportNames.append(vm.propertyNames->defaultKeyword);
|
||||
exportValues.append(process);
|
||||
|
||||
for (auto &entry : properties) {
|
||||
exportNames.append(entry);
|
||||
auto catchScope = DECLARE_CATCH_SCOPE(vm);
|
||||
JSValue result = process->get(globalObject, entry);
|
||||
if (catchScope.exception()) {
|
||||
result = jsUndefined();
|
||||
catchScope.clearException();
|
||||
}
|
||||
|
||||
exportValues.append(result);
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace Zig
|
||||
Reference in New Issue
Block a user