diff options
author | 2022-09-28 14:37:35 -0700 | |
---|---|---|
committer | 2022-09-28 14:37:35 -0700 | |
commit | b74351e55fcb54451e793879302754de440e3da0 (patch) | |
tree | 6070b9c33c17767f49d931393b9c3000e12d406b /src/bun.js/builtins/cpp/ImportMetaObjectBuiltins.cpp | |
parent | a1b4dc42cb863eedbbe6735cb29a3d6941e02e04 (diff) | |
download | bun-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.cpp | 8 |
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" \ ; |