@wasmer/wasi- WebAssembly WASI implementation for Node and browsers.
@wasmer/cli- WebAssembly WASI CLI for Node.js (
@wasmer/wasmfs- WASI/Wasm FileSystem.
Contributing into Wasmer-JS it's very easy, just clone the repo and run:
NOTE: This will run
lerna bootstrap, and bootstrap the JS Packages.
To start development mode, you can run the
npm run dev
This will serve the
examples/wasm-shell example, which can be accessed with: http://localhost:1234/
Building the project
To build all the packages in the project, you can run the
npm run build
This will bundle JS Packages into
To make changes to any of the sub projects, they can be tested by either: Running their local tests with
npm run test in their respective package directory, or running it the root:
npm run test
Please see the website for lerna for a quick introduction into what it is. Here are some general notes about using lerna in this project:
Packages can be added by simply creating a new directory within the
packages/directory, and running
npm initin this new package directory. Then, the new package must be botstraped using learna. For this project, this can be done running
npm run lerna:bootstrapin the base project directory.
To add new dependencies and keep build times low,
devDependencies(not CLI dependencies) must be added to the root package.json file. Project installation / runtime dependencies are managed for each package individually.
Sibling JS packages can depend on one another. You can do this by using @lerna/add. For example,
lerna add @wasmer/package-1 --scope=@wasmer/package-2will add @wasmer/package-1@^1.0.0 to @wasmer/package-2