Skip to content
This repository has been archived by the owner on May 10, 2023. It is now read-only.

Latest commit

 

History

History
75 lines (49 loc) · 4.17 KB

CONTRIBUTING.md

File metadata and controls

75 lines (49 loc) · 4.17 KB

Contributing

Your input and contributions are very welcome! Please open issues with improvements, feature requests or bug reports.

If you want to contribute source code, add documentation or fix spelling mistakes try this:

  1. Fork the project.
  2. Install vendor libraries needed for testing etc. via npm install.
  3. Make your changes and additions (e.g. in a new branch created via git branch -b your-issue).
  4. Verify your changes by making sure that npm test doesn't fail and add your own tests if appropriate.
  5. Verify that the /demo page still works and maybe even add a demo to showcase your change.
  6. Add, commit, squash and push the changes to your forked repository.
  7. Send a pull request with a well written issue describing the change and why it is necessary.

Please try to adhere to the coding style that is used throughout the other source files.

Conversion follows Semantic Versioning.

There is no Contributor License Agreement (CLA) to sign, but you have to accept and agree to the license and the Contributor Code of Conduct (CoC) to get your patches included.

Contributor Code of Conduct

As contributors and maintainers of this project, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities.

We are committed to making participation in this project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, age, or religion.

Examples of unacceptable behavior by participants include the use of sexual language or imagery, derogatory comments or personal attacks, trolling, public or private harassment, insults, or other unprofessional conduct.

Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct. Project maintainers who do not follow the Code of Conduct may be removed from the project team.

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting one or more of the project maintainers.

This Code of Conduct is adapted from the Contributor Covenant, version 1.0.0, available at http://contributor-covenant.org/version/1/0/0/.

Release Procedure

Before releasing, make sure that:

  1. all changes are merged into a single branch, named like the new version (e.g. 2.4.1)
  2. all Github issues associated with this release are closed
  3. all Github issues associated with this release are attached to a milestone with the same name as the branch.

To prepare the release, follow these steps:

  1. Add a new version to CHANGELOG.md in the following format:

    # 2.4.1 (2015-06-01)
    
    * Docs: added release procedure (#97)
    * Updated dependencies (#96)
    

    Make sure to include the correct date of the release and the issue number for each change. If there's a change with no existing issue, write an issue that explains what the change is and why it was made and then add the number.

  2. Run npm update --save to update dependencies

  3. Check, if the test still run with npm test

  4. Run npm shrinkwrap

  5. Change the package version in package.json.

  6. Commit the updated package.json and npm-shrinkwrap.json

After that, finally release:

  1. Merge the release branch into master

  2. git push to github

  3. Go to the relases page and draft a new release.

    The relase name is the version number, with no prefix, only "2.4.1". The same for the tag version.

    For the description, copy the change list from the updated CHANGELOG.md. Only the changes, not the headline.

  4. Publish the release. Github will automatically create a git tag.

  5. On the master branch, run npm publish.

  6. Close the Milestone.