Hi, I'm working on a library for stress testing called Crows. It's a proof of concept so far, but I wanted to add more features in the near future and one of them is JavaScript support, ideally implementing Node.js APIs. I don't need everything (for example I wouldn't allow using process APIs anyway), but it would be nice to support NPM libraries that use stuff like sockets or http
. I found WasmEdge QuickJS implementation that looks neat, but:
Do you know of any efforts in that direction? I haven't found any explicit projects, but if there's even a proof of concept (ideally based on Rust) I would be interested in helping to push it forward.
I believe the #StarlingMonkey folks intend to add or are adding a node compat layer
thanks for the info @fitzgen (he/him) , I will talk to them :D
A few things to add:
Also, I don't seem to have permissions to move this topic to #StarlingMonkey but if an admin could, that'd be great!
thanks for a clarification @Chris Fallin! It's totally fine if the project is not yet production ready. My project is a hobby project for now and although I wish people will find it useful and start using it, I'm not worried to use early development projects. Regarding JIT, I am aware of no-JIT nature of WASM. Honestly, I'm not too worried about performance at the moment either, but in the long term I just prefer to have an option to do more optimizations (like AOT compiling that you mentiond).
This topic was moved here from #general > JS runtime for WASM with Node.js APIs? by Till Schneidereit.
hey @Piotr Sarnacki, I took the liberty to move this topic into the #StarlingMonkey stream.
As Chris said, we do plan to add a NodeJS compatibility layer. We don't currently have a firm roadmap for that, but it's something many people care about, so I hope we'll get it going before too long
@Till Schneidereit I'm planning to finish a rewrite to WASM components this week, so I might have some time to dedicate. Are there any tickets related to that that I could work on?
that's great to hear! We don't yet have anything tracking Node compatibility, but we do have a project board to track compatibility with the WinterCG's Minimum Common Web Platform API, which is to some degree part of this, and contains a bunch of tasks to take on. I'd be more than happy to answer questions around all this!
Last updated: Dec 23 2024 at 12:05 UTC