You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
My understanding is that they compiled the core nodejs logic to wasm and stubbed out other stuff (like V8) with fake functions that use browser apis. You'd have to ask them for more details.
Reacted by Benjamin Gruenbaum, akhil marsonya, Moon Flower Fields, Michelangelo Guerra, zhujierong, Ruslan Ianberdin, YAMAMOTO Yuji, Roman Hotsiy, Yash and Kresna Satya
@devsnek your correct i did in fact hear from that guys before some days the first time they created a wasm build and then they use the memory pointers to the wasm worker to link the functions.
i am working on open sourcing stackblitz complet as they did copyed from nodejs and chromium anyway and we can come up with something better i did started to blame them on discord for not making that public.
would have saved me a lot of time and the other people in the ecosystem:
they only want to make money they do not mention correct licenses and they claim they are more clever then the chromium team that triggered many so much that there will happen something then in fact they are simply not clever.
Reacted by YAMAMOTO Yuji, Vivek C S, Alan Leal, YugoCode, DomKodes and Gregory The JSWhisperer
running nodejs as wasm modules is the right thing to do anyway the most time only fs and net is needed and stdio that are the core interfaces.
net
fs
stdio
crypto is in all environments already
net is in all environments but not all protocols we need to port from curl
we in fact demonstrated that via the just-js project where v8 builds v8 with its modules independent maybe that can get turned into a wasm build the most things that they did is the network layer over the serviceWorker thats it.
we do not even need that hackish stuff we have directly file system access api and we have direct sockets api both form the links to fs and net.
while fs on linux for example also already leads alone to full network access as every device is a file you can write directly to sockets and devices.
i can supply the needed browser apis to implement vm and such stuff including atomic workers and that.
it was a big hoax they created a webcontainer lib and then built it into nodejs as wasm build to have something to bind against.
i have condense the feature set of them it was
monaco-editor
offering running node commands but not really
then using vercel/trubo as npm implementation build as wasm but it does not matter rollup is better.
so conclusion you can run no native modules with that wasm build as they need to add them to the stack.
that all together reduces it into a npm compat layer for web projects to show a preview in the browser with the monaco-editor
they also aim to run servers via a custom network stack which are in fact only http servers which can get implemented
the below is copyed out of the discord channel general chat
your new marketing manager will have a hard job
i will learn a lot if he can fix that as i am also company consultant it is a interristing case
you just started up to get cash with a bad intend from the ground up
i guess first thing on the roadmap was the licensing part
as i can see
thats why you did not mention the tech you depend on you tought ah we rust code a module call it webcontainer then we bind everything against that and say we have uniq tech
SP33D — heute um 15:44 Uhr
all who want to migrate should use github codespaces and the codespaces-Contrib.codeswing
extension simply type swing into the terminal that also includes liveshare already
it is the successor of this here
you can use rollup to drop you npm tasks complet
npm gets deprecated anyway by esmodules
same principles as used here with the sdk the package json gets a own module thats it
will start now writing migration docs for stackblitz users
including usage of a local installed nodejs version directly with the browser
i do not even want to keep the web container api
it is the most evil project ever saw in web history
trying to encapsulate a whole ecosystem that is not yours
SP33D — heute um 15:57 Uhr
here is how you implement a http server like in the examples they post in how to run a server in the browser
this is a full fledged json powered http backend based on any socket that you like
http is a pure string protocol
so it is a little bit of utf 8 text interpreted
you do not need anything more to return http responses and handle requests
i could even make it a one liner in most cases this is only for education
with webstreams i code that in 3 line blocks
so this is enough to implement the express framework
we have also added cool new regex features for that to ES2022
look into the documentations
thats why we write them
and if you try to patent that then i get angry 🙂
this allows you to even implement a http server via your favorit command line of choice as you can see the algo used to parse http
the type of data if any one is wondering is UInt8Array
buffers in the browser and nodejs are always UInt8Array based as ECMAScript is UTF8 based language
imagin how fast server responses are if they come directly from a ecmascript worker
not wasm
do you want benchmarks?
@devsnek your correct i did in fact hear from that guys before some days the first time they created a wasm build and then they use the memory pointers to the wasm worker to link the functions.
i am working on open sourcing stackblitz complet as they did copyed from nodejs and chromium anyway and we can come up with something better i did started to blame them on discord for not making that public.
would have saved me a lot of time and the other people in the ecosystem:
they only want to make money they do not mention correct licenses and they claim they are more clever then the chromium team that triggered many so much that there will happen something then in fact they are simply not clever.
@moongazer07 thats not needed i have deobfusicated code and i did even more far dig into the weeds. It is even more simple there is no part from the binary libnode. It is only the internals folder so a shim environment. It is only JS => WASM
We can archive 100% Feature Compatibility. In JS userland. Sure it would be more cool if we could simple compile the whole nodejs lib but it would add no benefits.
the other part is the virtual terminal there xterm which is used in vscode would do the trick.
It seems there has been no activity on this issue for a while, and it is being closed in 30 days. If you believe this issue should remain open, please leave a comment.
If you need further assistance or have questions, you can also search for similar issues on Stack Overflow.
Make sure to look at the README file for the most updated links.
It seems there has been no activity on this issue for a while, and it is being closed. If you believe this issue should remain open, please leave a comment.
If you need further assistance or have questions, you can also search for similar issues on Stack Overflow.
Make sure to look at the README file for the most updated links.
Ah totally I just meant that compiled PHP has managed network out of WASM whereas to my knowledge its not commonly available in any (node) js wasm solution yet, although https://webcontainers.io/ I think offer a paid feature of it, but being closed source it's probably just a real server proxy.
For in-browser networking I've been building tcpip.js which compiles the entire network stack to WASM (via lwIP). It allows you to hook into each layer of the stack (Ethernet, IP, TCP/UDP) based on your needs.
It was originally built to communicate with in-browser VMs like v86, but might be useful here too!
Reacted by Gregory The JSWhisperer, Mantra and Faris Mustafa
Reacted by Gregory The JSWhisperer, Mantra and Faris Mustafa
@gregnr Thank you for great work. I use now tcpip js networking stack to run node in browser with DNS resolver )))
But in future prefer to move on clear js stack like - https://github.com/Doridian/jsip
Reacted by Gregory The JSWhisperer, Greg Richardson, Veaceslav Grimalschi and Mantra
Great 🙂 would love to see it in action. I didn't write it from scratch in pure JS for a few reasons:
network protocols + extensions have evolved a lot over decades, so there's a lot to catch up to
lwIP is probably in the top 5-10 most used network implementations after the Linux/Windows/iOS kernels. It's used in lots of microcontrollers and IoT devices like ESP8266/ESP32 chips, so battle tested
lwIP is lightweight - compiles to less than 100KB of wasm, likely smaller/faster than the equivalent logic in pure JS
hmmmm.
I appreciate your efforts at work, but I don't understand your goals. Initially the community was interested in creating open source products, but you made an alternative product... for money. There is no point in using an alternative paid solution.
Reacted by Veaceslav Grimalschi and Samuel Ochsner
Hi! Let's keep discussion related to a particular topic within its own repository. Since this issue was closed a while ago, and current discussion appears off-topic to the resolution, I'm locking this.
Activity
devsnek commentedon Mar 7, 2022
My understanding is that they compiled the core nodejs logic to wasm and stubbed out other stuff (like V8) with fake functions that use browser apis. You'd have to ask them for more details.
0x7063 commentedon Jul 5, 2022
@jimmywarting have you found any way to do it ?
jimmywarting commentedon Jul 5, 2022
nope
zhujierong commentedon Aug 30, 2022
I also want to know
lemanschik commentedon Dec 10, 2022
@devsnek your correct i did in fact hear from that guys before some days the first time they created a wasm build and then they use the memory pointers to the wasm worker to link the functions.
https://w-corp.staticblitz.com/webcontainer-api-client.8cf5a3c77f45c942df800a39619ec49fff7e5814.js
i am working on open sourcing stackblitz complet as they did copyed from nodejs and chromium anyway and we can come up with something better i did started to blame them on discord for not making that public.
would have saved me a lot of time and the other people in the ecosystem:
https://discord.com/channels/364486390102097930/680953097354215446
they only want to make money they do not mention correct licenses and they claim they are more clever then the chromium team that triggered many so much that there will happen something then in fact they are simply not clever.
lemanschik commentedon Dec 10, 2022
running nodejs as wasm modules is the right thing to do anyway the most time only fs and net is needed and stdio that are the core interfaces.
net
fs
stdio
crypto is in all environments already
net is in all environments but not all protocols we need to port from curl
we in fact demonstrated that via the just-js project where v8 builds v8 with its modules independent maybe that can get turned into a wasm build the most things that they did is the network layer over the serviceWorker thats it.
we do not even need that hackish stuff we have directly file system access api and we have direct sockets api both form the links to fs and net.
while fs on linux for example also already leads alone to full network access as every device is a file you can write directly to sockets and devices.
i can supply the needed browser apis to implement vm and such stuff including atomic workers and that.
we run rollup and adapt the result of that as build cache
that are node js internals as js strings already formatted as object no need to use the files .
lemanschik commentedon Dec 10, 2022
it was a big hoax they created a webcontainer lib and then built it into nodejs as wasm build to have something to bind against.
i have condense the feature set of them it was
the below is copyed out of the discord channel general chat
your new marketing manager will have a hard job
i will learn a lot if he can fix that as i am also company consultant it is a interristing case
you just started up to get cash with a bad intend from the ground up
i guess first thing on the roadmap was the licensing part
as i can see
thats why you did not mention the tech you depend on you tought ah we rust code a module call it webcontainer then we bind everything against that and say we have uniq tech
SP33D — heute um 15:44 Uhr
all who want to migrate should use github codespaces and the codespaces-Contrib.codeswing
extension simply type swing into the terminal that also includes liveshare already
it is the successor of this here
you can use rollup to drop you npm tasks complet
npm gets deprecated anyway by esmodules
same principles as used here with the sdk the package json gets a own module thats it
will start now writing migration docs for stackblitz users
including usage of a local installed nodejs version directly with the browser
i do not even want to keep the web container api
it is the most evil project ever saw in web history
trying to encapsulate a whole ecosystem that is not yours
SP33D — heute um 15:57 Uhr
here is how you implement a http server like in the examples they post in how to run a server in the browser
this is a full fledged json powered http backend based on any socket that you like
http is a pure string protocol
so it is a little bit of utf 8 text interpreted
you do not need anything more to return http responses and handle requests
i could even make it a one liner in most cases this is only for education
with webstreams i code that in 3 line blocks
so this is enough to implement the express framework
we have also added cool new regex features for that to ES2022
look into the documentations
thats why we write them
and if you try to patent that then i get angry 🙂
this allows you to even implement a http server via your favorit command line of choice as you can see the algo used to parse http
the type of data if any one is wondering is UInt8Array
buffers in the browser and nodejs are always UInt8Array based as ECMAScript is UTF8 based language
imagin how fast server responses are if they come directly from a ecmascript worker
not wasm
do you want benchmarks?
10x faster my frinds
take that
lemanschik commentedon Dec 10, 2022
so i guess this can get closed as conclusion is building nodejs wasm is not usefull nowdays only to get npm compat
image72 commentedon Mar 3, 2023
try this npm package ?
javy
JavaScript and WASI
I turned JS into a compiled language (for fun and Wasm)
moongazer07 commentedon Nov 9, 2023
deobfuscation attempt
attempt.txt
lemanschik commentedon Nov 10, 2023
@moongazer07 thats not needed i have deobfusicated code and i did even more far dig into the weeds. It is even more simple there is no part from the binary libnode. It is only the internals folder so a shim environment. It is only JS => WASM
We can archive 100% Feature Compatibility. In JS userland. Sure it would be more cool if we could simple compile the whole nodejs lib but it would add no benefits.
the other part is the virtual terminal there xterm which is used in vscode would do the trick.
github-actions commentedon May 9, 2024
It seems there has been no activity on this issue for a while, and it is being closed in 30 days. If you believe this issue should remain open, please leave a comment.
If you need further assistance or have questions, you can also search for similar issues on Stack Overflow.
Make sure to look at the README file for the most updated links.
github-actions commentedon Jun 8, 2024
It seems there has been no activity on this issue for a while, and it is being closed. If you believe this issue should remain open, please leave a comment.
If you need further assistance or have questions, you can also search for similar issues on Stack Overflow.
Make sure to look at the README file for the most updated links.
33 remaining items
jswhisperer commentedon Jun 7, 2025
@cheplv really interested to see your work especially the networking wrapper.
I've seen some cool stuff allowing networking with PHP-Wasm
https://github.com/WordPress/wordpress-playground/tree/trunk/packages/playground/php-cors-proxy
and
https://github.com/WordPress/wordpress-playground/tree/trunk/packages/php-wasm/node
cheplv commentedon Jun 8, 2025
@jswhisperer Yes, php was wasm compiled a long time ago - initially by vmware as I know
jswhisperer commentedon Jun 8, 2025
Ah totally I just meant that compiled PHP has managed network out of WASM whereas to my knowledge its not commonly available in any (node) js wasm solution yet, although https://webcontainers.io/ I think offer a paid feature of it, but being closed source it's probably just a real server proxy.
gregnr commentedon Jun 8, 2025
For in-browser networking I've been building tcpip.js which compiles the entire network stack to WASM (via lwIP). It allows you to hook into each layer of the stack (Ethernet, IP, TCP/UDP) based on your needs.
It was originally built to communicate with in-browser VMs like v86, but might be useful here too!
cheplv commentedon Jun 8, 2025
@gregnr Thank you for great work. I use now tcpip js networking stack to run node in browser with DNS resolver )))
But in future prefer to move on clear js stack like - https://github.com/Doridian/jsip
gregnr commentedon Jun 9, 2025
Great 🙂 would love to see it in action. I didn't write it from scratch in pure JS for a few reasons:
cheplv commentedon Jun 9, 2025
@gregnr Yes, this is good as a working net stack solution. Will keep you posted.
BTW did you added dhcp client support?
gregnr commentedon Jun 9, 2025
I have a DHCP POC, but it still needs more tests and docs:
https://github.com/chipmk/tcpip.js/tree/main/packages/dhcp
tonriderapp commentedon Jun 13, 2025
hmmmm.
I appreciate your efforts at work, but I don't understand your goals. Initially the community was interested in creating open source products, but you made an alternative product... for money. There is no point in using an alternative paid solution.
jswhisperer commentedon Jun 13, 2025
This might be useful https://github.com/wasmerio/wasmer-js haven't tested yet
vickiegpt commentedon Jun 14, 2025
https://github.com/vickiegpt/node some starting work here.
makinghappen commentedon Oct 26, 2025
@vickiegpt any progess? there is no manual how to use..
vickiegpt commentedon Oct 26, 2025
nearly done. will be available on https://github.com/Multi-V-VM/codeapp
avivkeller commentedon Oct 26, 2025
Hi! Let's keep discussion related to a particular topic within its own repository. Since this issue was closed a while ago, and current discussion appears off-topic to the resolution, I'm locking this.