Description
Describe the bug
If two separate ocaml libraries have JS stubs which define the same symbol ion joo_global_object
(e.g. two different versions of src-bindings/node/dune in the OCaml VSCode extension) they will conflict when both libraries are loaded by different Js_of_ocaml
executable.
This happens because joo_global_object
is the globalThis
, and so the two values override each other.
Normally, when running a single application this is not a problem since we can control all the dependencies and ensure they don't conflict. But specifically in the case of the VSCode extension, this causes issues when there are two Js_of_ocaml
extensions that use incompatible versions of the nodejs binding stubs.
Expected behavior
Both Js_of_ocaml
executable should be able to run independently in the same JS environment.