Feature
Wiggle will forcely depend on wasmtime in future releases, according to #5137 . However, recently wasmi begins support for WASI with wiggle (wasmi-labs/wasmi#557). We need to avoid importing wasmtime when using it. With the current latest version 2.0.x, it is easy to control with features, but this will not work in future releases.
Therefore I suggest making wasmtime an optional dependency of wiggle again.
Benefit
Wasmtime is a de facto standard of WASM. It provides many standard implementations and benefits many other projects in the community. Cranelift is a good example, it is not only a JIT of wasmtime, but also a codegen of many frontends. If wiggle provide an option to remove wasmtime dependency, it (and wasi-common) could be another standard implementation of WASI.
Implementation
I'm aware of the huge work to make a dependency optional, but I think it worth. If there are no prettier attempts, reverting the commit might be a choice.
Feature
Wiggle will forcely depend on wasmtime in future releases, according to #5137 . However, recently wasmi begins support for WASI with wiggle (wasmi-labs/wasmi#557). We need to avoid importing wasmtime when using it. With the current latest version 2.0.x, it is easy to control with features, but this will not work in future releases.
Therefore I suggest making wasmtime an optional dependency of wiggle again.
Benefit
Wasmtime is a de facto standard of WASM. It provides many standard implementations and benefits many other projects in the community. Cranelift is a good example, it is not only a JIT of wasmtime, but also a codegen of many frontends. If wiggle provide an option to remove wasmtime dependency, it (and wasi-common) could be another standard implementation of WASI.
Implementation
I'm aware of the huge work to make a dependency optional, but I think it worth. If there are no prettier attempts, reverting the commit might be a choice.