The WASI preview 1 specification was missing socket APIs so some WebAssembly runtimes added extensions to allow applications to do more than basic file I/O.
This package enables a large class of Go programs (almost any program doing networking) to run when compiled to WebAssembly using the WASI preview 1 spec. It exposes functions similar to net.Dial and net.Listen that can be used to leverage the socket extensions thanks to the new //go:wasmimport compiler directive.
It also has a set of examples of how to use popular Go packages when compiling to GOOS=wasip1.
Contributions and feedback are welcome, give it a try and let us know what you think!