TL;DR: WASI 0.3.0 is the Component Model-based WASI proposal. It adds async/await-style capabilities such as actors and streams, and today is runnable in only one server-side Wasm runtime (it is not supported natively by browsers). Unfortunately it still breaks compatibility with the original WASI proposal and runtimes that supported it.
If your goal is to compile existing, unmodified C/C++ programs and libraries to WebAssembly, WASIX may be a more practical option today ( https://wasix.org/ ). Disclosure: I’m part of Wasmer, the company behind WASIX.
It's great to see that since the release of Edge.js [1], they started to take Node.js compatibility more seriously (they went from ~40% to about 75% in just 2 months, so either coincidental or not this is clearly a step on the right direction).
Thanks Ben! Took us a bit to figure out the best architecture for it, but once it became clear then it was just a matter of implementing the missing bits.
I think the fact that WASIX is much more mature now have helped to increase development speeds quite a bit!
> I could not find usage examples on the edgejs.org page and the docs link points to the node docs, why?
This was intentional, as a demonstration that Edge and Node should not diverge a bit. You should be able to replace `node` with `edge` in your terminal and have things running, so that's why we point to the Node.js docs.
> But why the need of --safe then? What's the difference between using it and not using it?
Edge.js currently runs without a sandbox by default. The main reason for this is two fold: native currently performs a bit better than with the Wasm sandbox (about 10-20% better), and because we wanted to polish more the Wasm integration before offering it as default.
> $ edge pnpm run dev
> What is this doing?
This is making the `node` alias available for anything that you put after edge.
This allows pnpm to use the edge `node` alias instead of your platform node.
Things will be installed as usual, in your `node_modules` directory
https://wasmer.io/
https://x.com/syrusakbary