Skip to content
This repository has been archived by the owner on Mar 1, 2023. It is now read-only.

Latest commit

 

History

History
31 lines (22 loc) · 1.71 KB

CONTRIBUTING.md

File metadata and controls

31 lines (22 loc) · 1.71 KB

Contributing

Important notes

Please don't edit files in the dist subdirectory as they are generated via Grunt. You'll find source code in the src subdirectory!

Code style

Regarding code style like indentation and whitespace, follow the conventions you see used in the source already.

Unit testing

While Grunt would normally run unit tests via PhantomJS, this does not currently support WebRTC, or even WebSockets, so the grunt test target is not run by default. Instead you must run the test/*.html unit test file(s) in actual browsers (after having inserted a valid API key and user credentials).

Building the code

First, ensure that you have Node.js and npm installed. Most of the development work has been done using Node v0.10.3.

Test that Grunt's CLI is installed by running grunt --version. If the command isn't found, run npm install -g grunt-cli. For more information about installing Grunt, see the getting started guide.

  1. Fork and clone the repo.
  2. Run npm install to install all dependencies (including Grunt).
  3. Run grunt to grunt this project.

Assuming that you don't see any red, you're ready to go. Just be sure to run grunt after making any changes, to ensure that nothing is broken.

Submitting pull requests

  1. Create a new branch, please don't work in your master branch directly.
  2. Add failing tests for the change you want to make.
  3. Fix stuff.
  4. Open test/*.html unit test file(s) in a browser to see if the tests pass.
  5. Rinse and repeat until all tests pass.
  6. Update the documentation to reflect any changes.
  7. Push to your fork and submit a pull request.