wasmerio / wasmer-js Goto Github PK
View Code? Open in Web Editor NEWMonorepo for Javascript WebAssembly packages by Wasmer
Home Page: https://wasmerio.github.io/wasmer-js/
License: MIT License
Monorepo for Javascript WebAssembly packages by Wasmer
Home Page: https://wasmerio.github.io/wasmer-js/
License: MIT License
UI: Should be simple it binds to dom, and can accept input and do certain actions ๐
Services: May want to test the Services mostly, like they can fetch commands and things ๐
Things like CTRL A, CTRL E, CTRL C etc... would be awesome!
Cleanup TODOs and things, and general project architecture if needed ๐
Only tests stil broken are onces that want to transpile comlink from source. ๐ข This should be fixed after the weekend
We have most implemented, but some don't really apply to our case, or have more complex implementations (Such as word jumping / deletion)
https://www.ostechnix.com/list-useful-bash-keyboard-shortcuts/
Something to show off the MVP of what it does / how to use ๐
The shell can't run rsign
because some issue when transforming:
$ rsign
[INFO] Doing Transformations for "rsign"
wapm shell: parse error (CompileError: WebAssembly.compile(): section was shorter than expected size (648008 bytes expected, 647826 decoded) @+650103)
Maybe some cool image output, some memes, or maybe a game? ๐ค
Don't know why this is broken now as well :(
Kind of related to #43
Should be super simple tests that just make sure bootstrapping the API works and can do simple things like read/write files ๐
While we are waiting for: rustwasm/wasm-pack#705
We should probably change the target from web
, as it uses an import.meta
that a lot of transpilers have a hard time with. That or transpile this, so that the import.meta is not called ๐
Right now it just shows the word Stdin. but it should show all stdout up to that point.
Just to make sure a command gets compiled and run, and can handle stdin.
Since this will become a monorepo with all wasmer js stuff. We should split up our packages and their respective demos. And change the build system to reflect that. ๐
Was thinking about this over the weekend. Would be easier to maintain, and make more sense to contributors.
I think we ran out of builds or something? Would be great to get this back up and running ๐
For running sub tests, we probably just want to run: npx lerna run test
.
cc @syrusakbary
Should clean up the README so it stands out on its own. Has some simple Reference docs, with one or two, concise examples.
This should all be within the README. smile
Was broken by rollup's watch kinda borking out on me. Would be nice to fix! ๐ ๐
Currently, all the contributing docs just outline the guidelines, but it would be great to say things like, how to install node, and the individual build commands and what they do ๐
Essentially, it should clean up the changes from #97 , and then merge some of the error naming and things from rsign-fix
๐
Should clean up the README so it stands out on its own. Has some simple Reference docs, with one or two, concise examples.
This should all be within the README. ๐
Should have both Rust, and Node / Browser examples and usage.
WasmFs
on Wasi
objectSomething as simple as a hello world the user can load and confirm that it works ๐ This should probably be done for the browser
Right now, we are doing i64 to i32 lowering always because Browsers don't currently support calling a function with a i64 signature.
However, in a few months browser WebAssembly implementations will support it (and Node as well), therefore we should check if i64 function calls are supported and in case is not, lower it.
Essentially, just a webpage that loads it, not using a JS framework.
Probably a known issue but it would be nice to support multiple pipes. ๐
Currently it seems it only considers the first pipe, e.g.:
$ md5 "test" | cowsay
__________________________________
< 098f6bcd4621d373cade4e832627b4f6 >
----------------------------------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
$
$ echo -n "test" | md5 | cowsay
098f6bcd4621d373cade4e832627b4f6
$
Seem's like something got weird with the flags?
The Browser compatibility section of the README describes issues running blocking code on the browser's main thread. Have you considered using Binaryen's asyncify pass to enable these applications to run correctly?
depends on #91
https://unix.stackexchange.com/questions/122977/what-is-the-correct-name-for-the-command
E.g echo "a" > x.txt
Should be much faster ๐
One of our high priority items is each individual API of each package should be clean, and needs to be considered and thought out. And tested through the tests / examples we produce ๐
In a normal shell, the env vars $LINES and $COLUMNS are set with the lines and columns for the given shell.
echo "$LINES - $COLUMNS"
Ideally, we will have this environment variables working as well in the Wasm Terminal / WASI shell
It was suggested by @syrusakbary that we base64 encode some of our wasm assets for a better developer experience.
Where we agreed it is the less complicated devex, I countered it is not something we should do by default:
Base64'ing large assets (like our wasm files), will add The wasm file size, plus an additional 33% of the wasm file size, to our bundle size.
Including the assets in the bundle will slow down our time to first paint, as it will still be downloading our bundle
It will not allow our app to progressively enhance over time and introduce features as we need them.
Thus we decided this should not be the default build, but instead be some sort of development build, meant for hitting the ground running, but not for production.
Should clean up the README so it stands out on its own. Has some simple Reference docs, with one or two, concise examples.
This should all be within the README. smile
Should clean up the README so it stands out on its own. Has some simple Reference docs, with one or two, concise examples.
This should all be within the README. ๐
I guess some additional things were broken in #22 ๐ข
Would be super awesome if commands that are piped, or all commands run in a single session, operated on the same file system.
However, this requires:
Could be as simple as a page that loads the file system, and runs some commands on the file system within wasi (Possibly an ls
wasm module?)๐
When I follow the quickstart, I have a 404 error.
The steps I have followed :
The problem is that 'npm run dev' launches the 'npx serve dist/' command and the 'dist' directory is empty.
I succeeded to run the example only after a 'npm run build' which generates js... in dist directory.
I don't know where is the problem (if we need to update scripts or update documentation) but I can help if you want :)
We Should have a less complex that the wasm terminal example to show that builds on top of the other 3 examples.
Such as a hello world a user can set up with the transformer package, wasi package, and wasm fs package in the browser.
We Should move the wasm shell example to it's own website.
Should cover the announcement, shouts out to devsnek, and some technical challenges.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.