- Install all of the necessary dependencies for development, by running
npm install && bower install
- Check that the tests pass by running
grunt test
- You will notice that some of the tests get skipped because they are marked as browser-only. This is because there are some issues with running the tests from PhantomJS (one such problem is that it doesn't report
the cursor hotspot position when getting the value of the
cursor
style). To run these tests, open the test page in a browser (Chrome users: note that you will have to host the test directory locally due to restrictions on accessing file:// URLs in Chrome);
- You will notice that some of the tests get skipped because they are marked as browser-only. This is because there are some issues with running the tests from PhantomJS (one such problem is that it doesn't report
the cursor hotspot position when getting the value of the
- Please don't edit files in the
dist
subdirectory as they are generated via Grunt. You'll find source code in thesrc
subdirectory! - Please don't edit
bower.json
,awesome-cursor.jquery.json
orpackage.json
directly, as they are also generated via Grunt. Instead, make your changes in_unified_manifest.json
.
Regarding code style like indentation and whitespace, follow the conventions you see used in the source already.
While Grunt can run the included unit tests via PhantomJS, this shouldn't be considered a substitute for the real thing. Please be sure to test the test/*.html
unit test file(s) in actual browsers.
First, ensure that you have the latest Node.js and npm installed.
Test that Grunt's CLI and Bower are installed by running grunt --version
and bower --version
. If the commands aren't found, run npm install -g grunt-cli bower
. For more information about installing the tools, see the getting started with Grunt guide or bower.io respectively.
- Fork and clone the repo.
- Run
npm install
to install all build dependencies (including Grunt). - Run
bower install
to install the front-end dependencies. - 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.
- Create a new branch, please don't work in your
master
branch directly. - Add failing tests for the change you want to make. Run
grunt
to see the tests fail. - Fix stuff.
- Run
grunt
to see if the tests pass. Repeat steps 2-4 until done. - Open
test/*.html
unit test file(s) in actual browser to ensure tests pass everywhere. - Update the documentation to reflect any changes.
- Push to your fork and submit a pull request.