| ▲ | binyu 3 hours ago | ||||||||||||||||
Very cool work. What approach are you using? Been working on a similar in-browser node runtime based on Rust/WASM kernel + Service-Worker HTTP intercept + CJS→ESM transform. Feature wise, does this compare to StackBlitz webcontainers? | |||||||||||||||||
| ▲ | le_chuck 3 hours ago | parent [-] | ||||||||||||||||
I had previous experience with QuickJS - respectively using the rquickjs crate (awesome project) - so my approach was first asserting whether it was possible to run a Wasmtime binary that both executes the JS code and handles HTTP requests and responses. Then, the second part which was really important to me, was figuring out if I could find a way to embed the developer's JS code within the worker without requiring them to install Cargo. (thanks to Wizer it's possible, love it). Once I had those two, the rest was basically execution (not saying it was straightforward though ;) I was also a bit lucky: at the same time as I was developing it, Rolldown announced the version 1 of their standalone crate. So it was the perfect timing to use it as well. As for StackBlitz WebContainers, I actually don't know much about it. They run in the browser as I understand, so fundamentally different but, feature wise I'm sure this project is way more mature and therefore offers way more features. | |||||||||||||||||
| |||||||||||||||||