From fcd8b828644cc3cf2bd46bbfc0f6b90789d5dba2 Mon Sep 17 00:00:00 2001 From: Jarred Sumner Date: Sat, 1 Apr 2023 21:13:27 -0700 Subject: Add stubs for missing node builtins (#2534) * Stub `node:v8` * Stub `node:trace_events` * Stub `node:repl` * Stub `node:inspector` * Stub `node:http2` * Stub `node:diagnostics_channel` * Stub `node:dgram` * Stub `node:cluster` * Link stubs * cleanup * Clean up the test * Implement `node:vm` stub * Cleanup `v8` module stub * Add missing `promises` export to node:stream * Implement `node:stream/promise` * Implement `node:assert/strict` * cleanup * better errors * Increaase timeout * Update inspector.exports.js * Make the version consistent * Implement `process.binding("constants")` * Update runner.node.mjs --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> --- .../cpp/ProcessObjectInternalsBuiltins.cpp | 34 ++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'src/bun.js/builtins/cpp/ProcessObjectInternalsBuiltins.cpp') diff --git a/src/bun.js/builtins/cpp/ProcessObjectInternalsBuiltins.cpp b/src/bun.js/builtins/cpp/ProcessObjectInternalsBuiltins.cpp index d44656f75..c2276138e 100644 --- a/src/bun.js/builtins/cpp/ProcessObjectInternalsBuiltins.cpp +++ b/src/bun.js/builtins/cpp/ProcessObjectInternalsBuiltins.cpp @@ -48,6 +48,40 @@ namespace WebCore { +const JSC::ConstructAbility s_processObjectInternalsBindingCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; +const JSC::ConstructorKind s_processObjectInternalsBindingCodeConstructorKind = JSC::ConstructorKind::None; +const JSC::ImplementationVisibility s_processObjectInternalsBindingCodeImplementationVisibility = JSC::ImplementationVisibility::Public; +const int s_processObjectInternalsBindingCodeLength = 688; +static const JSC::Intrinsic s_processObjectInternalsBindingCodeIntrinsic = JSC::NoIntrinsic; +const char* const s_processObjectInternalsBindingCode = + "(function (bindingName) {\n" \ + " \"use strict\";\n" \ + " bindingName !== \"constants\" &&\n" \ + " @throwTypeError(\n" \ + " 'process.binding() is not supported in Bun. If that breaks something, please file an issue and include a reproducible code sample.'\n" \ + " );\n" \ + "\n" \ + " var cache = globalThis.Symbol.for(\"process.bindings.constants\");\n" \ + " var constants = globalThis[cache];\n" \ + " if (!constants) {\n" \ + " const {constants: fs} = globalThis[globalThis.Symbol.for(\"Bun.lazy\")](\n" \ + " \"createImportMeta\",\n" \ + " \"node:process\"\n" \ + " ).require(\n" \ + " \"node:fs\"\n" \ + " )\n" \ + " constants = {\n" \ + " fs,\n" \ + " zlib: {},\n" \ + " crypto: {},\n" \ + " os: @Bun._Os().constants,\n" \ + " };\n" \ + " globalThis[cache] = constants;\n" \ + " }\n" \ + " return constants;\n" \ + "})\n" \ +; + const JSC::ConstructAbility s_processObjectInternalsGetStdioWriteStreamCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_processObjectInternalsGetStdioWriteStreamCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_processObjectInternalsGetStdioWriteStreamCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -- cgit v1.2.3