Looking for Sycamore v0.9? Check out our new website!

This is outdated documentation for Sycamore.

For up-to-date documentation, see the latest version (v0.8).

Development

Using gitpod.io

The Sycamore repository is configured for gitpod.io. This is the easiest way to contribute. Just click on the button below and a full-fledged development workspace will be spun up with all dependencies pre-installed and VSCode ready to go.

Open in Gitpod

Using your local dev machine

To install and work on Sycamore locally:

git clone https://github.com/sycamore-rs/sycamore
cd sycamore

Testing

To run unit tests and non Wasm integration tests, use:

cargo test

To run integration tests in the browser, you will need to have wasm-pack installed:

wasm-pack test sycamore --firefox # or --chrome

If you want to run the tests in a headless browser, pass the --headless flag as well.

PR Requirements

Before your PR can be merged, we ask that your code is properly formatted using cargo fmt and passes cargo clippy.

If your code introduces new functionality, we also ask you to write some unit tests and eventually some integration tests.

Thank you for taking the time to contribute to Sycamore!