diff options
Diffstat (limited to 'src/bun.js/builtins/ts/ImportMetaObject.ts')
-rw-r--r-- | src/bun.js/builtins/ts/ImportMetaObject.ts | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/bun.js/builtins/ts/ImportMetaObject.ts b/src/bun.js/builtins/ts/ImportMetaObject.ts index 9ce53c192..9255a591f 100644 --- a/src/bun.js/builtins/ts/ImportMetaObject.ts +++ b/src/bun.js/builtins/ts/ImportMetaObject.ts @@ -93,7 +93,7 @@ export function requireESM(this: ImportMetaObject, resolved) { var exports = Loader.getModuleNamespaceObject(entry.module); var commonJS = exports.default; var cjs = commonJS?.[$commonJSSymbol]; - if (cjs === 0) { + if (cjs === 0 || exports[$commonJSSymbol] === 0) { return commonJS; } else if (cjs && $isCallable(commonJS)) { return commonJS(); @@ -130,6 +130,11 @@ export function internalRequire(this: ImportMetaObject, resolved) { return exports; } else { var exports = $requireESM(resolved); + const cachedExports = $requireMap.$get(resolved); + if (cachedExports) { + return cachedExports; + } + $requireMap.$set(resolved, exports); return exports; } |