Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dune RPC Usability Improvements #11219

Open
tjdevries opened this issue Dec 16, 2024 · 0 comments
Open

Dune RPC Usability Improvements #11219

tjdevries opened this issue Dec 16, 2024 · 0 comments

Comments

@tjdevries
Copy link

This is primarily motivated by my work on a vite plugin to integrate melange/dune with vite, vite-plugin-ocaml.

Desired Behavior

It would be great if I could control Dune RPC from a language that is not OCaml - but the RPC is not specified in a way that makes it easy to send messages from anything besides the Dune client example.

However, I have run into a few problems:

  1. Dune depends on Unix, I cannot compile the example client with Melange
  2. There is no RPC types package that is separate from the rest of the Dune project, so I cannot only get the RPC types and their serialization methods separately to write my own client
  3. The RPC messages are all sent in S-expressions, with no options for other common serialization formats like JSON which might be a bit easier to send from other languages/runtimes

Basically, I would really like to be able to either:

  • Build the client for melange, and then control it myself. Or
  • Get the types and serializers separately, so that I could control the dune build process without the example client

(tagging @sabine, since we were discussing this on Discord).

Let me know if there is any additional information you need from me, or if there is some way to build/use/export the types & serializers that I wasn't aware of.

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants