Note that npm 7 or newer is required. It should come bundled with Node.js 15 or newer, but can be upgraded with older Node.js versions using `npm install -g npm` as root/Administrator.
This can be installed with `cargo install wasm-bindgen-cli --version 0.2.80`. Be sure to install this specific version of `wasm-bindgen-cli` to match the version used by Ruffle.
run a demo locally with `npm run demo`, or [install the extension in your browser](https://github.com/ruffle-rs/ruffle/wiki/Using-Ruffle#browser-extension).
To run all of the tests in this project, we currently require that you have [Chrome installed to its default location](https://www.google.com/chrome/).
First, ensure you've build every package (see above), and then run `npm run test` to run the full suite of tests.
## Structure
- This directory is a cargo crate which is the actual Flash player, and also a root node package.
- [packages/core](packages/core) is a node package which contains the core ruffle web API & wasm bindings.
- [packages/selfhosted](packages/selfhosted) is a node package intended for consumption by websites to include Ruffle on their site.
- [packages/extension](packages/extension) is a node package that turns Ruffle into a browser extension.
- [packages/demo](packages/demo) is an example node package of how to use self-hosted ruffle on your site, and testing it locally.
## Contributing
Please follow the [general contribution guidelines for Ruffle](../CONTRIBUTING.md).
In addition to those, we ask that you ensure that you pass all tests with `npm run test`, and check the automatic code
linting & styler by running `npm run format` before you commit.
Where possible, please add tests to all new functionality or bug fixes that you contribute.