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

Solidify plan for WASI Preview 2 #275

Open
ospencer opened this issue Jul 3, 2024 · 2 comments
Open

Solidify plan for WASI Preview 2 #275

ospencer opened this issue Jul 3, 2024 · 2 comments

Comments

@ospencer
Copy link
Member

ospencer commented Jul 3, 2024

Currently, users who are interested in using WASI Preview 2 APIs are directed to the jco project.

We want to provide this functionality in Node directly, but need a plan on how we want to accomplish this. One idea is to introduce a dependency on jco directly to immediately provide experimental APIs and subsequently implement various Preview 2 interfaces in uvwasi directly where appropriate, such as for https://github.com/WebAssembly/wasi-clocks or https://github.com/WebAssembly/wasi-filesystem.

We should discuss this in our next meeting.

@ospencer
Copy link
Member Author

ospencer commented Jul 3, 2024

See also #255

@guybedford
Copy link
Contributor

Per the discussion today, we described two major directions forward going further:

  1. Upstreaming Jco into Node.js core.
  2. Providing Preview 2 functions in uv_wasi, and looking into refactoring the Preview 1 implementation to be based on these new Preview 2 bindings as Wasmtime has implemented.

My suggestion from the meeting was that we separate these two paths into their own issues or design documents that we can use to track progress further. There are some outlines of (1) in the comment in #255 (comment).

For (2), the Wasmtime implementation and Jco's work on low-level bindgen might be good starting points.

Any suggestions on the format to move to for design work would be welcome to continue these conversations further.

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

No branches or pull requests

2 participants