Parent: #140
Related: #134, #163, #164, #208
Implement the three shared private module-loader entry points against zig-js own module registry, evaluator, and Promise runtime.
Scope
JSC__JSModuleLoader__evaluate
JSC__JSModuleLoader__loadAndEvaluateModule
JSModuleLoader__import
Acceptance
evaluate must decode source/origin/referrer byte spans safely, register the provided module under the normalized origin, import it with the referrer, return the exact Promise value, and write only the pinned exception out channel when setup fails.
loadAndEvaluateModule and import must decode the pinned BunString representation without userland coercion and return rooted Promise cells from the selected realm.
- Preserve module cache identity, dependency/link/evaluation ordering, top-level-await settlement, namespace identity, circular graphs, repeated imports, and referrer-relative resolution.
- Syntax, resolution, link, and evaluation failures must reject the returned Promise or publish the exact synchronous exception boundary required by each entry point; no swallowed errors or duplicate evaluation.
- Reject invalid spans, foreign handles, and mismatched realms safely; keep source, registry records, namespaces, and pending Promise jobs precisely rooted.
- Add focused and compiled-consumer fixtures, refresh both pinned inventories, update README/API/ABI integration evidence and parent issues, and publish committed verification.
GetterSetter null probes are deliberately not bundled here: they require real GetterSetter/CustomGetterSetter cell handles and will be tracked with that representation instead of returning fabricated booleans.
Parent: #140
Related: #134, #163, #164, #208
Implement the three shared private module-loader entry points against zig-js own module registry, evaluator, and Promise runtime.
Scope
JSC__JSModuleLoader__evaluateJSC__JSModuleLoader__loadAndEvaluateModuleJSModuleLoader__importAcceptance
evaluatemust decode source/origin/referrer byte spans safely, register the provided module under the normalized origin, import it with the referrer, return the exact Promise value, and write only the pinned exception out channel when setup fails.loadAndEvaluateModuleandimportmust decode the pinned BunString representation without userland coercion and return rooted Promise cells from the selected realm.GetterSetter null probes are deliberately not bundled here: they require real GetterSetter/CustomGetterSetter cell handles and will be tracked with that representation instead of returning fabricated booleans.