-
Notifications
You must be signed in to change notification settings - Fork 5.4k
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
WASI support for Webassembly #3005
Comments
Yes, agreed, though WASI is still real early in its development. I think we would want to keep it quite experimental in Deno, even Deno being experimental, as I suspect there will be a lot of churn. We might also want to consider getting involved in the working group as well. |
We will release soon a TypeScript package to run WASI modules very easily both in server-side and client-side. Perhaps Deno can be a great use case for integrating it! Apart from this, the Wasmer runtime can also embedded easily in Rust. However it might make more sense to use v8 with a wrapper on top to be able to run WASI. Either way, I'd love to help in any way! |
And here we go! Here's the The announcement is here: https://medium.com/wasmer/wasmer-js-9a53e837b80 Hope you can find it useful!! |
Node already has an experimental WASI support in v13: It may be useful to see how it is implemented and used. Example: const wasi = new WASI({
args: process.argv,
env: process.env,
preopens: {
'/sandbox': '/some/real/path/that/wasm/can/access'
}
}); |
Published https://deno.land/x/wasi yesterday, it is still a work in progress as not every syscall can be mapped efficiently at the moment, for example:
But everything should be implementable as plain modules as Deno matures to have a set of sound syscalls. |
A little while later (exactly one month of work to be precise); the current implementation status of snapshot_preview1 looks something like this
Most of these blockers are in master already so will be working moving this into std soon. |
There us wasi preview 2 rn and it covers a more of apis |
I'd love to be able to use Deno as the glue for a bunch of backend wasm modules. The wasi interfaces is a systems interface for webassembly in non-web uses.
https://github.com/CraneStation/wasmtime is a wasi-implementing wasm runtime in rust, though It has a different sandboxing model than v8's.
I've seen WASI support mentioned in a few other issues, so I wanted to centralize that part of the discussion.
related: #2552 #672 #1325
The text was updated successfully, but these errors were encountered: