MIRROR: javascript for 馃悳's, a tiny runtime with big ambitions
1import * as esmNs from "./cjs_esm_circular_entry.mjs";
2import cjsDefault from "./cjs_esm_circular_bridge.cjs";
3import * as cjsNs from "./cjs_esm_circular_bridge.cjs";
4
5function assert(condition, message) {
6 if (!condition) throw new Error(message);
7}
8
9assert(esmNs.esmValue === "esm-value", "esm circular export mismatch");
10assert(esmNs.fromCjs === "cjs-value", "esm should read cjs export in circular edge");
11
12assert(cjsDefault.cjsValue === "cjs-value", "cjs default export mismatch");
13assert(cjsDefault.esmValueSeen === "esm-value", "cjs getter should see resolved esm export");
14
15assert(cjsNs.default === cjsDefault, "namespace.default should match cjs default import");
16assert(
17 cjsNs.esmValueSeen === "esm-value" || cjsNs.esmValueSeen === undefined,
18 "cjs named accessor export should be stable under circular loading"
19);
20
21console.log("test_cjs_esm_circular: OK");