aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/builtins/cpp/ImportMetaObjectBuiltins.cpp
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-09-28 14:37:35 -0700
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-09-28 14:37:35 -0700
commitb74351e55fcb54451e793879302754de440e3da0 (patch)
tree6070b9c33c17767f49d931393b9c3000e12d406b /src/bun.js/builtins/cpp/ImportMetaObjectBuiltins.cpp
parenta1b4dc42cb863eedbbe6735cb29a3d6941e02e04 (diff)
downloadbun-b74351e55fcb54451e793879302754de440e3da0.tar.gz
bun-b74351e55fcb54451e793879302754de440e3da0.tar.zst
bun-b74351e55fcb54451e793879302754de440e3da0.zip
Support a `default` object in CommonJS wrapper
Fixes https://github.com/oven-sh/bun/issues/1284 Related to https://github.com/oven-sh/bun/issues/1285
Diffstat (limited to 'src/bun.js/builtins/cpp/ImportMetaObjectBuiltins.cpp')
-rw-r--r--src/bun.js/builtins/cpp/ImportMetaObjectBuiltins.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/bun.js/builtins/cpp/ImportMetaObjectBuiltins.cpp b/src/bun.js/builtins/cpp/ImportMetaObjectBuiltins.cpp
index 0afe19141..360168176 100644
--- a/src/bun.js/builtins/cpp/ImportMetaObjectBuiltins.cpp
+++ b/src/bun.js/builtins/cpp/ImportMetaObjectBuiltins.cpp
@@ -168,7 +168,7 @@ const char* const s_importMetaObjectLoadCJS2ESMCode =
const JSC::ConstructAbility s_importMetaObjectRequireESMCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const JSC::ConstructorKind s_importMetaObjectRequireESMCodeConstructorKind = JSC::ConstructorKind::None;
const JSC::ImplementationVisibility s_importMetaObjectRequireESMCodeImplementationVisibility = JSC::ImplementationVisibility::Public;
-const int s_importMetaObjectRequireESMCodeLength = 561;
+const int s_importMetaObjectRequireESMCodeLength = 626;
static const JSC::Intrinsic s_importMetaObjectRequireESMCodeIntrinsic = JSC::NoIntrinsic;
const char* const s_importMetaObjectRequireESMCode =
"(function (resolved) {\n" \
@@ -184,9 +184,13 @@ const char* const s_importMetaObjectRequireESMCode =
" }\n" \
" var exports = @Loader.getModuleNamespaceObject(entry.module);\n" \
" var commonJS = exports.default;\n" \
- " if (commonJS && @isCallable(commonJS) && @commonJSSymbol in commonJS) {\n" \
+ " var cjs = commonJS && commonJS[@commonJSSymbol];\n" \
+ " if (cjs === 0) {\n" \
+ " return commonJS;\n" \
+ " } else if (cjs && @isCallable(commonJS)) {\n" \
" return commonJS();\n" \
" }\n" \
+ " \n" \
" return exports;\n" \
"})\n" \
;