diff options
Diffstat (limited to 'src/bun.js/builtins/cpp')
-rw-r--r-- | src/bun.js/builtins/cpp/ImportMetaObjectBuiltins.cpp | 11 | ||||
-rw-r--r-- | src/bun.js/builtins/cpp/ImportMetaObjectBuiltins.h | 9 | ||||
-rw-r--r-- | src/bun.js/builtins/cpp/ProcessObjectInternalsBuiltins.cpp | 5 |
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" \ |