Yay, you're interested in helping this thing suck less. Thank you!
src/
- Coffeescript Sourcedist/
- Compiled and Minifiedtest/
- Unit Tests
A great way to start a discussion about a potential issue is to submit a pull request including a failing test case. It's really hard to misunderstand a problem presented this way. This way it's clear what the problem is before you spend your valuable time trying to fix it.
Again, guard your time and effort. Make sure that you don't spend a lot of time on an improvement without talking through it first.
npm install
npm run build
npm test
Make sure to send pull requests to develop
.
Good Pull Requests include:
- A clear explaination of the problem (or enhancement)
- Clean commit history (squash where it makes sense)
- Relevant Tests (either updated and/or new)
We strive for semantic versioning for our version number assignment, and utilize the git flow tool to execute releases in the repository.
You can initialize git flow once it is installed with
$> git flow init -d
This will use the default branch naming conventions for git flow.
All new functionality should come in on the develop
branch and when you're ready to cut a new release, start the process by using
$> git flow release start 1.x.x
This should give you a release branch off develop and some relevant instructions.
This is when you should:
- Bump the version numbers in both
src/payform.coffee
andpackage.json
- Update the
CHANGELOG
by adding a new section for this version - Ensure the tests pas with
make test
- Run
make clean && make build
Once you've done this and committed these changes to the release branch, you are ready to run:
$> git flow release finish 1.x.x
This will:
- Merge the release branch into
master
and also back intodevelop
- Create a tag for the release and prompt you for an annotation (I usually paste in the relevant
CHANGELOG
entry)
At this point you should push master
and develop
, and also the new tag with git push --tags
Once the release process is complete, and you're confident it is correct, you should be able to publish to npm with
$> npm publish