This is just a meta-repo for tracking my progress trying to make Leptos output the server-side binary as a WebAssembly Component instead.
https://www.youtube.com/watch?v=SAAyukYJGeY&t=141s
I started this repository focusing on the specific integration of Leptos with wasmcloud, but I ended up spliting my work in two phases:
- ✨ Standard WASI: Make Leptos output a standard component that is built solely on standards.
- 🚀
wasmcloud
-specifics: Speed up the deployment of the component on wasmcloud Lattices.
You can find details of the initial study I made here.
Step (1) is done and has its own repository hosted on
leptos-rs/leptos_wasi
🎉
- Start thinking about the overall architecture.
- Get in touch with Leptos maintainers on their Discord to get tips.
- Decide whether it should be in-tree Leptos code or a dedicated repo.
- Setup a PoC Rust project that works with
cargo leptos
andcargo component
- Fixes #1 (On my fork, it's fixed, PR to upstream is open)
- Document a bit the request lifecycle
- Provide utils in the form of a
leptos/integrations/
crate- Server Functions Registry
- Router (Server fn, fallback to render logic)
- Abstract low-level Req/Res of the WASI interface
- Integration with Leptos Contexts
- Propose my contribution upstream or extract the utils to a standalone crate (The PR is there)
- Implement an example/template app
- Ideas of integration with wasmCloud tools
- Share with the wasmCloud community