Might be for the best, with wasip3 just around the corner.
[0]: https://github.com/golang/go/issues/66984#issuecomment-20762...
> WASI can be implemented by both core Wasm modules and applications built according to the Component Model, a specification for Wasm applications that are interoperable and composable. You can learn more about components in the Bytecode Alliance's WebAssembly Component Model documentation[1].
[0]: https://wasi.dev/ [1]: https://component-model.bytecodealliance.org/
But I agree with you, the tooling is very immature.
WASI preview 1 was already a significant effort. It is the least polished bit of the wazero implementation, but even compared to: a spec compliant interpreter, two compilers and runtime, it weighs. It has some issues around filesystem sandboxing. And portability to “everywhere Go runs” is a pain.
Preview 2 is a significant departure, with little promise that preview 3 isn't another, ad nauseam. For a small team, that's hard to track.
Wasm 1.0 is a useful spec; Wasm 2.0 is still a draft. wazero supports everything final from 2.0 so far.
WASIp1 was useful too, but wazero is useful without WASI.
Until the dust settles, I'd rather wazero was reworked to make WASI even more pluggable from the outside (there are two impls already), than invest more resources in the WASI implementation itself.
Still, if anyone wants to fund fulltime work on this, I guess that can be arranged.