You will need:
- Node.js/io.js & npm
- Bower
- Gulp
- Fork the project
- Clone your forked project by running
git clone [email protected]:{ YOUR_USERNAME }/select.git
- Run
npm install
to install both node modules and bower components - Test that you can build the source by moving/renaming the existing
dist
directory and runningnpm run build
- Assuming everything went well, you should now have a
dist
directory that matches the one you moved in step 4.
We use gulp
to facilitate things like transpilation, minification, etc. so
can focus on writing relevant code. If there is a fix or feature you would like
to contribute, we ask that you take the following steps:
-
Most of the editable code lives in the
src
directory while built code will end up in thedist
directory upon runningnpm run build
. -
Depending on how big your changes are, bump the version numbers appropriately in
bower.json
andpackage.json
. We try to follow semver, so a good rule of thumb for how to bump the version is:- A fix to existing code, perform a patch bump e.g. x.x.0 -> x.x.1
- New feature, perform a minor bump e.g. x.0.x -> x.1.x
- Breaking changes such a rewrite, perform a major bump e.g. 1.x.x -> 2.x.x
Versioning is hard, so just use good judgement and we'll be more than happy to help out.
NOTE: There is a
gulp
task that will automate some of the versioning. You can rungulp version:{type}
where type ispatch|minor|major
to update bothbower.json
andpackage.json
as well as add the appropriate git tag. -
Provide a thoughtful commit message and push your changes to your fork using
git push origin master
(assuming your forked project is usingorigin
for the remote name and you are on themaster
branch). -
Open a Pull Request on GitHub with a description of your changes.
Work in progress. We are hoping to add some tests, so if you would like to help us get started, feel free to contact us through the Issues or open a Pull Request.