wapm-cli
WASM-ImageMagick
Our great sponsors
wapm-cli | WASM-ImageMagick | |
---|---|---|
11 | 8 | |
361 | 835 | |
- | - | |
4.9 | 0.0 | |
about 1 year ago | 6 months ago | |
Rust | TypeScript | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
wapm-cli
-
Fast Matrix Math in JS 2: WASM
To actually compile this we can use a tool called WABT (WebAssembly Binary Toolkit). It's basically a mess that requires CMake and I couldn't get it to run on WSL and I wasn't going to install MinGW. Instead there's a nice tool called WAPM from Wasmer which works like npm for webassembly packages and since it's been compiled down to webassembly we can run it in any environment. In fact we don't even need to add configuration so long as wapm is installed. We can run wax wat2wasm -- wat/mat.wat -o wasm/mat.wasm. wax is like npx for npm. If you're wondering the command we give wax is defined by the wasmer/wabt package: https://wapm.io/wasmer/wabt. Also for some reason you can't prefix local paths with ./ so wax wat2wasm -- ./wat/mat.wat doesn't work which tool me a while to figure out. Anyway this provides a nice simple compile environment if you want to work on raw WAT files.
- WAPM - WebAssembly Package Manager
-
Dozens of malicious PyPI packages discovered targeting developers
That's the main reason we should start using WebAssembly for distributing and using packages.
Shamless plug: Wasmer [1] and WAPM [2] could help a lot on this quest!
[1]: https://wasmer.io/
[2]: https://wapm.io/
- WordPress WASM
-
A Look at Performance in Wasmtime and Cranelift
There's WAPM
-
Packaging and shipping your software
If it's buildable for the WebAssembly WASI target, consider also distributing it through WAPM.
-
Announcing Cargo WAPM
I don't know if many people have heard of it, but there's actually a WebAssembly Package Manager. It's similar to crates.io, except you upload WebAssembly binaries written in any language instead of Rust source code!
-
There’s a cunning workaround for this challenge; rather than compiling JS to Wasm, you can instead compile a JavaScript engine to WebAssembly then use that to execute your code.
You can see this paying off with wapm, which lets you download applications that would have normally required compilation for your environment and run them anywhere with a supported runtime, which is imo pretty neat.
-
Security advisory: malicious crate rustdecimal | Rust Blog
One step closer to the day when I can put actix-web creations up on WAPM so "Just type wax my-cool-thing to try it out" can be one of the distribution options.
-
WebAssembly in my Browser Desktop Environment
I've added limited support to run wapm.io directly from the Terminal. Examples of commands that work well are wapm cowsay {Text} and wapm uuid.
WASM-ImageMagick
-
Easy boxart resizing with imagemagick in your browser. No install, no CLI!
Credit: Go check it out the GitHub project page thanks to Nick Maliwacki's (KnicKnic)
- Show HN: Edit images in the browser using GPT-3 and WebAssembly
- Web Assembly ImageMagick
-
WebAssembly in my Browser Desktop Environment
Image Conversion via WASM-ImageMagick
- Native JS replacement for imagemagick?
-
Pushing The Limits Of The Modern Browser
I've gone with ImageMagick ported to WebAssembly to do basically the exact same things as with FFMpeg, but with a tiny bit less locking up. In the future I would like to get these things running in multithreaded Web Workers as well as have the ability to easily configure transcode settings to whatever is desired instead of the defaults as it is now.
-
Browsers can do that?
When it comes to audio/video the trusted tool that is often used on the desktop is FFmpeg and this too has been ported to run in the browser, although if you want multithreading you will need to make sure you have special CORS headers enabled to gain access to the SharedArrayBuffer. For images on desktop there is the popular ImageMagick which indeed also has been ported.
-
Resizing and Compressing Photos Before Upload to Django
ImageMagick is the go to for these kinda things and apparently there is a WASM version: https://github.com/KnicKnic/WASM-ImageMagick
What are some alternatives?
js-dos - The best API for running dos programs in browser
magick-wasm - The WASM library for ImageMagick
wasmer-js - Monorepo for Javascript WebAssembly packages by Wasmer
ffmpeg.wasm - FFmpeg for browser, powered by WebAssembly
Boxedwine
Ionic Framework - A powerful cross-platform UI toolkit for building native-quality iOS, Android, and Progressive Web Apps with HTML, CSS, and JavaScript.
wordpress-playground - Run WordPress in the browser via WebAssembly PHP
JSZip - Create, read and edit .zip files with Javascript
Graphene - GraphQL framework for Python
daedalOS - Desktop environment in the browser
fflate - High performance (de)compression in an 8kB package