aboutsummaryrefslogtreecommitdiff
path: root/src/js/builtins/ImportMetaObject.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/js/builtins/ImportMetaObject.ts')
-rw-r--r--src/js/builtins/ImportMetaObject.ts11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/js/builtins/ImportMetaObject.ts b/src/js/builtins/ImportMetaObject.ts
index 2df0f0c98..7fc8b5fe8 100644
--- a/src/js/builtins/ImportMetaObject.ts
+++ b/src/js/builtins/ImportMetaObject.ts
@@ -33,8 +33,15 @@ export function loadCJS2ESM(this: ImportMetaObject, resolvedSpecifier: string) {
if (state === $promiseStatePending || (reactionsOrResult && $isPromise(reactionsOrResult))) {
throw new TypeError(`require() async module "${key}" is unsupported`);
} else if (state === $promiseStateRejected) {
- // TODO: use SyntaxError but preserve the specifier
- throw new TypeError(`${reactionsOrResult?.message ?? "An error occurred"} while parsing module \"${key}\"`);
+ if (!reactionsOrResult?.message) {
+ throw new TypeError(
+ `${
+ reactionsOrResult + "" ? reactionsOrResult : "An error occurred"
+ } occurred while parsing module \"${key}\"`,
+ );
+ }
+
+ throw reactionsOrResult;
}
entry.module = module = reactionsOrResult;
} else if (moduleRecordPromise && !module) {