aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/builtins/cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/bun.js/builtins/cpp')
-rw-r--r--src/bun.js/builtins/cpp/ImportMetaObjectBuiltins.cpp11
-rw-r--r--src/bun.js/builtins/cpp/ImportMetaObjectBuiltins.h9
-rw-r--r--src/bun.js/builtins/cpp/ProcessObjectInternalsBuiltins.cpp5
3 files changed, 24 insertions, 1 deletions
diff --git a/src/bun.js/builtins/cpp/ImportMetaObjectBuiltins.cpp b/src/bun.js/builtins/cpp/ImportMetaObjectBuiltins.cpp
index d014618c3..a9ce25b04 100644
--- a/src/bun.js/builtins/cpp/ImportMetaObjectBuiltins.cpp
+++ b/src/bun.js/builtins/cpp/ImportMetaObjectBuiltins.cpp
@@ -255,6 +255,17 @@ const char* const s_importMetaObjectRequireCode =
"})\n" \
;
+const JSC::ConstructAbility s_importMetaObjectMainCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
+const JSC::ConstructorKind s_importMetaObjectMainCodeConstructorKind = JSC::ConstructorKind::None;
+const JSC::ImplementationVisibility s_importMetaObjectMainCodeImplementationVisibility = JSC::ImplementationVisibility::Public;
+const int s_importMetaObjectMainCodeLength = 52;
+static const JSC::Intrinsic s_importMetaObjectMainCodeIntrinsic = JSC::NoIntrinsic;
+const char* const s_importMetaObjectMainCode =
+ "(function () {\n" \
+ " return this.path === @Bun.main;\n" \
+ "})\n" \
+;
+
#define DEFINE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \
JSC::FunctionExecutable* codeName##Generator(JSC::VM& vm) \
diff --git a/src/bun.js/builtins/cpp/ImportMetaObjectBuiltins.h b/src/bun.js/builtins/cpp/ImportMetaObjectBuiltins.h
index d47c86980..1a7c5d844 100644
--- a/src/bun.js/builtins/cpp/ImportMetaObjectBuiltins.h
+++ b/src/bun.js/builtins/cpp/ImportMetaObjectBuiltins.h
@@ -67,27 +67,36 @@ extern const int s_importMetaObjectRequireCodeLength;
extern const JSC::ConstructAbility s_importMetaObjectRequireCodeConstructAbility;
extern const JSC::ConstructorKind s_importMetaObjectRequireCodeConstructorKind;
extern const JSC::ImplementationVisibility s_importMetaObjectRequireCodeImplementationVisibility;
+extern const char* const s_importMetaObjectMainCode;
+extern const int s_importMetaObjectMainCodeLength;
+extern const JSC::ConstructAbility s_importMetaObjectMainCodeConstructAbility;
+extern const JSC::ConstructorKind s_importMetaObjectMainCodeConstructorKind;
+extern const JSC::ImplementationVisibility s_importMetaObjectMainCodeImplementationVisibility;
#define WEBCORE_FOREACH_IMPORTMETAOBJECT_BUILTIN_DATA(macro) \
macro(loadCJS2ESM, importMetaObjectLoadCJS2ESM, 1) \
macro(requireESM, importMetaObjectRequireESM, 1) \
macro(internalRequire, importMetaObjectInternalRequire, 1) \
macro(require, importMetaObjectRequire, 1) \
+ macro(main, importMetaObjectMain, 0) \
#define WEBCORE_BUILTIN_IMPORTMETAOBJECT_LOADCJS2ESM 1
#define WEBCORE_BUILTIN_IMPORTMETAOBJECT_REQUIREESM 1
#define WEBCORE_BUILTIN_IMPORTMETAOBJECT_INTERNALREQUIRE 1
#define WEBCORE_BUILTIN_IMPORTMETAOBJECT_REQUIRE 1
+#define WEBCORE_BUILTIN_IMPORTMETAOBJECT_MAIN 1
#define WEBCORE_FOREACH_IMPORTMETAOBJECT_BUILTIN_CODE(macro) \
macro(importMetaObjectLoadCJS2ESMCode, loadCJS2ESM, ASCIILiteral(), s_importMetaObjectLoadCJS2ESMCodeLength) \
macro(importMetaObjectRequireESMCode, requireESM, ASCIILiteral(), s_importMetaObjectRequireESMCodeLength) \
macro(importMetaObjectInternalRequireCode, internalRequire, ASCIILiteral(), s_importMetaObjectInternalRequireCodeLength) \
macro(importMetaObjectRequireCode, require, ASCIILiteral(), s_importMetaObjectRequireCodeLength) \
+ macro(importMetaObjectMainCode, main, "get main"_s, s_importMetaObjectMainCodeLength) \
#define WEBCORE_FOREACH_IMPORTMETAOBJECT_BUILTIN_FUNCTION_NAME(macro) \
macro(internalRequire) \
macro(loadCJS2ESM) \
+ macro(main) \
macro(require) \
macro(requireESM) \
diff --git a/src/bun.js/builtins/cpp/ProcessObjectInternalsBuiltins.cpp b/src/bun.js/builtins/cpp/ProcessObjectInternalsBuiltins.cpp
index c2276138e..bd496deff 100644
--- a/src/bun.js/builtins/cpp/ProcessObjectInternalsBuiltins.cpp
+++ b/src/bun.js/builtins/cpp/ProcessObjectInternalsBuiltins.cpp
@@ -51,7 +51,7 @@ 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;
+const int s_processObjectInternalsBindingCodeLength = 709;
static const JSC::Intrinsic s_processObjectInternalsBindingCodeIntrinsic = JSC::NoIntrinsic;
const char* const s_processObjectInternalsBindingCode =
"(function (bindingName) {\n" \
@@ -64,6 +64,9 @@ const char* const s_processObjectInternalsBindingCode =
" var cache = globalThis.Symbol.for(\"process.bindings.constants\");\n" \
" var constants = globalThis[cache];\n" \
" if (!constants) {\n" \
+ " //\n" \
+ " //\n" \
+ " //\n" \
" const {constants: fs} = globalThis[globalThis.Symbol.for(\"Bun.lazy\")](\n" \
" \"createImportMeta\",\n" \
" \"node:process\"\n" \