You want to contribute to Mapael? That's great, first of all, thank you !
There are several ways you can contribute :
-
Wanna give a little hand? Go to the Issues list and start helping people!
-
Found a bug? Submit a bug report and describe your problem.
-
Add a new map You can share your Map by submitting a Pull Request on the mapael-maps repository.
-
Improve the documentation The mapael documentation can be improved by submitting a Pull Request on the mapael-documentation repository.
-
Know how to resolve a bug / Want to add a feature? Submit a Pull Request (PR). Your code will be reviewed and merged into Mapael (see link 2 below)
-
You want to help, but don't know what to do? Check the TODO list for features/issues we need/are working on.
Here are some readings: https://guides.github.com/activities/contributing-to-open-source
Before making any modification to Mapael, you will need your own Mapael fork!
Here are some reading to get a local Mapael:
Mapael uses NPM to manage package dependencies and Grunt to run development tasks.
After cloning locally the Mapael repository, run this command-line:
npm install
Then you will be able to run all related Grunt tasks.
Mapael uses JSHint to check code quality. The rules are explained in the Wiki.
You can run this check with the following command-line:
grunt jshint
There is a test suite in the /test
folder, power by QUnit.
While not broken, it is, however, very light. We sadly don't have the time to expand it for now.
When submitting a new PR, it is not expected from you to add any tests. But if you feel like you can, please do so.
You can run this check with the following command-line (note: it will run JSHint, then the Test Suite):
grunt test
Mapael is distributed as a minified file for production (jquery.mapael.min.js
).
UglifyJS is used for this operation.
You can build it with the following command-line (note: it will run JSHint, then build the minimified files):
grunt build
When submitting a new PR, it is not expected from you to provide the minified version. This version is usually generated by maintainers before tagging a new release.
When submitting a new PR, you will see that Travis (the CI tool) will automatically run some tests on your code. It performs two tests:
- Run JSHint to check code quality
- Run the Test Suite to check regression
You will be able to check the result then, and perform adjustements if necessary (by pushing a new commit to the branch).
These two tests are expected to pass when submitting a new PR. Please check your code so