aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/builtins/ts
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2023-05-29 21:01:39 -0700
committerGravatar GitHub <noreply@github.com> 2023-05-29 21:01:39 -0700
commit052df7d48c4b4c0e82810bf49a136d644883d3b5 (patch)
treeb3eb3ebd5a86dccb42fc72d0c3b87fcddd3e44ed /src/bun.js/builtins/ts
parent5990a9528f12be86cf95f4b46a3ecfa14f8ea97a (diff)
downloadbun-052df7d48c4b4c0e82810bf49a136d644883d3b5.tar.gz
bun-052df7d48c4b4c0e82810bf49a136d644883d3b5.tar.zst
bun-052df7d48c4b4c0e82810bf49a136d644883d3b5.zip
Cleanup CommonJS changes (#3112)bun-v0.6.5
* Add more GC in test * Fix handling of functions and re-assignments in CommonJS * Increase timeout --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
Diffstat (limited to 'src/bun.js/builtins/ts')
-rw-r--r--src/bun.js/builtins/ts/ImportMetaObject.ts11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/bun.js/builtins/ts/ImportMetaObject.ts b/src/bun.js/builtins/ts/ImportMetaObject.ts
index 9255a591f..2df0f0c98 100644
--- a/src/bun.js/builtins/ts/ImportMetaObject.ts
+++ b/src/bun.js/builtins/ts/ImportMetaObject.ts
@@ -91,9 +91,15 @@ export function requireESM(this: ImportMetaObject, resolved) {
throw new TypeError(`require() failed to evaluate module "${resolved}". This is an internal consistentency error.`);
}
var exports = Loader.getModuleNamespaceObject(entry.module);
+ if (exports[$commonJSSymbol] === 0) {
+ // CommonJS module created via `Bun::CommonJSModuleRecord`
+ // We will refer to the requireMap to get the exports
+ return;
+ }
+
var commonJS = exports.default;
var cjs = commonJS?.[$commonJSSymbol];
- if (cjs === 0 || exports[$commonJSSymbol] === 0) {
+ if (cjs === 0) {
return commonJS;
} else if (cjs && $isCallable(commonJS)) {
return commonJS();
@@ -209,7 +215,8 @@ export function createRequireCache() {
deleteProperty(target, key: string) {
moduleMap.$delete(key);
$requireMap.$delete(key);
- return Loader.registry.$delete(key);
+ Loader.registry.$delete(key);
+ return true;
},
ownKeys(target) {