diff options
author | 2023-01-18 14:59:39 -0800 | |
---|---|---|
committer | 2023-01-18 14:59:39 -0800 | |
commit | 7012d2fb7407739d8cb8eb09e726ac288a485683 (patch) | |
tree | 9088d270fb275dbc30a3aeca03501769fd1e7e3c /src/bun.js/builtins/cpp/ImportMetaObjectBuiltins.cpp | |
parent | 2db04ef9d9ddf6531b0a77c3b0867bc80388a039 (diff) | |
download | bun-7012d2fb7407739d8cb8eb09e726ac288a485683.tar.gz bun-7012d2fb7407739d8cb8eb09e726ac288a485683.tar.zst bun-7012d2fb7407739d8cb8eb09e726ac288a485683.zip |
Fixes #1831
Diffstat (limited to 'src/bun.js/builtins/cpp/ImportMetaObjectBuiltins.cpp')
-rw-r--r-- | src/bun.js/builtins/cpp/ImportMetaObjectBuiltins.cpp | 36 |
1 files changed, 25 insertions, 11 deletions
diff --git a/src/bun.js/builtins/cpp/ImportMetaObjectBuiltins.cpp b/src/bun.js/builtins/cpp/ImportMetaObjectBuiltins.cpp index 360168176..a6a62ed62 100644 --- a/src/bun.js/builtins/cpp/ImportMetaObjectBuiltins.cpp +++ b/src/bun.js/builtins/cpp/ImportMetaObjectBuiltins.cpp @@ -195,18 +195,15 @@ const char* const s_importMetaObjectRequireESMCode = "})\n" \ ; -const JSC::ConstructAbility s_importMetaObjectRequireCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; -const JSC::ConstructorKind s_importMetaObjectRequireCodeConstructorKind = JSC::ConstructorKind::None; -const JSC::ImplementationVisibility s_importMetaObjectRequireCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_importMetaObjectRequireCodeLength = 1133; -static const JSC::Intrinsic s_importMetaObjectRequireCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_importMetaObjectRequireCode = - "(function (name) {\n" \ +const JSC::ConstructAbility s_importMetaObjectInternalRequireCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; +const JSC::ConstructorKind s_importMetaObjectInternalRequireCodeConstructorKind = JSC::ConstructorKind::None; +const JSC::ImplementationVisibility s_importMetaObjectInternalRequireCodeImplementationVisibility = JSC::ImplementationVisibility::Public; +const int s_importMetaObjectInternalRequireCodeLength = 983; +static const JSC::Intrinsic s_importMetaObjectInternalRequireCodeIntrinsic = JSC::NoIntrinsic; +const char* const s_importMetaObjectInternalRequireCode = + "(function (resolved) {\n" \ " \"use strict\";\n" \ - " if (typeof name !== \"string\") {\n" \ - " @throwTypeError(\"require() expects a string as its argument\");\n" \ - " }\n" \ - " const resolved = @resolveSync(name, this.path);\n" \ + "\n" \ " var cached = @requireMap.@get(resolved);\n" \ " const last5 = resolved.substring(resolved.length - 5);\n" \ " if (cached) {\n" \ @@ -241,6 +238,23 @@ const char* const s_importMetaObjectRequireCode = "})\n" \ ; +const JSC::ConstructAbility s_importMetaObjectRequireCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; +const JSC::ConstructorKind s_importMetaObjectRequireCodeConstructorKind = JSC::ConstructorKind::None; +const JSC::ImplementationVisibility s_importMetaObjectRequireCodeImplementationVisibility = JSC::ImplementationVisibility::Public; +const int s_importMetaObjectRequireCodeLength = 222; +static const JSC::Intrinsic s_importMetaObjectRequireCodeIntrinsic = JSC::NoIntrinsic; +const char* const s_importMetaObjectRequireCode = + "(function (name) {\n" \ + " const from = this?.path ?? arguments.callee.path;\n" \ + "\n" \ + " if (typeof name !== \"string\") {\n" \ + " @throwTypeError(\"require(name) must be a string\");\n" \ + " }\n" \ + "\n" \ + " return @internalRequire(@resolveSync(name, from));\n" \ + "})\n" \ +; + #define DEFINE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \ JSC::FunctionExecutable* codeName##Generator(JSC::VM& vm) \ |