ArthurSonzogni / Diagon

Interactive ASCII art diagram generators. :star2:
https://arthursonzogni.com/Diagon/
MIT License
1.47k stars 56 forks source link

WebAssembly usage on backend (Deno, Node.js) #70

Closed sobanieca closed 5 months ago

sobanieca commented 5 months ago

Hello,

This project looks really great! I've noticed there are no builds for arm64 in releases (I'm using Debian 12 and installing with .deb file), so I've tried to create wrapper around webassembly (in Deno), which would work on every architecture, but, I can't find source code of diagon.js file, which I need to understand how webassembly bindings work here. Can someone help me understand how to get the source code of this file? Thanks in advance!

I tried to import diagon.js file directly, but it's not es module so it failed. Anyway, I would prefer to 'talk to' webassembly directly, unless it requires lots of effort.

ArthurSonzogni commented 5 months ago

Hi @sobanieca

About the arm64 release, I am distributing a command line tool via Linux's snap. This makes it available on every platforms and CPU architecture: https://snapcraft.io/diagon

sudo snap install diagon

About wrapping it as a JS "library", I guess it should be possible. I remember @ElmouradiAmine did it for using is inside visual-studio: https://github.com/ElmouradiAmine/vscode-diagon

I am not super familiar with NPM. It should be easy to generate a JS library and following API: https://github.com/ArthurSonzogni/Diagon/blob/main/src/index.html#L349-L351 Would you be interested getting it as a JS library?

sobanieca commented 5 months ago

Thanks a lot. The problem with snap I've is that they are not supported on Debian installed via Proot-Distro on Android (Termux). That's why I thought about creating simple wrapper. I'm not very familiar with webassembly, that's why I wanted to review source of diagon.js file mentioned here: https://github.com/ArthurSonzogni/Diagon/blob/e00d9b6aa33a907a7f51350b388f8f83bdb3905d/src/index.html#L496

Anyway, I will try to review links provided by you and maybe come up with some solution. Thanks! I will close this issue therefore

ArthurSonzogni commented 4 months ago

FYI a new JS library was created:

sobanieca commented 4 months ago

Amazing - definitely will give it a try! Thanks! :)