Skip to content

Meta repo for the PoC of the integrations between wasmCloud and Leptos

License

Notifications You must be signed in to change notification settings

raskyld/leptos-wasmcloud

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

leptos-wasmcloud

This is just a meta-repo for tracking my progress trying to make Leptos output the server-side binary as a WebAssembly Component instead.

Demo

https://www.youtube.com/watch?v=SAAyukYJGeY&t=141s

Overview

I started this repository focusing on the specific integration of Leptos with wasmcloud, but I ended up spliting my work in two phases:

  1. Standard WASI: Make Leptos output a standard component that is built solely on standards.
  2. 🚀 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 🎉

Progress

  • 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 and cargo 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