c3d2-web/content/static/candy/CONTRIBUTING.md

2.7 KiB
Executable File

Contributing

Team members

Learn & listen

Gitter chat

Contributing

You want to help us? Awesome!

How to contribute

A few hopefully helpful hints to contributing to Candy

Using vagrant

  1. Fork Candy
  2. Install Vagrant
  3. Run vagrant up.
  4. Create a branch based on the dev branch (git checkout -B my-awesome-feature)
  5. Run grunt watch to automatically run jshint (syntax checker) and the build of candy.bundle.js and candy.min.js while developing.
  6. Make your changes, fix eventual jshint errors & push them back to your fork
  7. Create a pull request

On your own machine

Please note that you should have a working XMPP server to test your changes (the vagrant way does already have a working XMPP server).

  1. Fork Candy
  2. Clone your fork
  3. Checkout out dev branch (git checkout dev)
  4. Install Node.js
  5. Install Grunt (npm install -g grunt-cli)
  6. Install Bower (npm install -g bower)
  7. Install npm dependencies (npm install in candy root directory)
  8. Install bower dependencies (bower install in candy root directory)
  9. Create a branch based on the dev branch (git checkout -B my-awesome-feature)
  10. Run grunt watch to automatically run jshint (syntax checker) and the build of candy.bundle.js and candy.min.js while developing.
  11. Make your changes, fix eventual jshint errors & push them back to your fork
  12. Create a pull request

In case you have any questions, don't hesitate to ask on the Mailing list.

Running tests

  • Tests are run using Intern.
  • grunt and grunt watch will each run unit tests in Chrome on Linux (for fast feedback).
  • grunt test will run both unit and integration tests in a variety of environments. Tests are run using Selenium Standalone and Phantom.JS while developing, and on Sauce Labs in CI or using grunt test.
  • If you don't want to use the Vagrant box to run Selenium/PhantomJS, set CANDY_VAGRANT='false' to run tests.