Skip to content

[BUG] Using two Js_of_ocaml compiled libraries in the same runtime causes issues with js stubs #1622

Closed
@troederjs

Description

@troederjs

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions