Skip to content

Latest commit

 

History

History
73 lines (46 loc) · 2.76 KB

CONTRIBUTING.md

File metadata and controls

73 lines (46 loc) · 2.76 KB

Apostille-library Contributing Guide

Hi! We are really excited that you are interested in contributing to Apostille-library. Before submitting your contribution though, please make sure to take a moment and read through the following guidelines.

Issue Reporting Guidelines

  • Please try to stick to the template when creating a new issues.

Pull Request Guidelines

  • The master branch is basically just a snapshot of the latest stable release. All development should be done in dedicated branches. Do not submit PRs against the master branch.

  • First checkout to the develop branch, and start a new branch feature/YOUR_FEATUR once done merge back against develop.

  • Work in the src folder and DO NOT checkin dist in the commits.

  • It's OK to have multiple small commits as you work on the PR - we will let GitHub automatically squash it before merging.

  • Make sure npm test passes. (see development setup)

  • If adding new feature:

    • Add accompanying test case.
    • Provide convincing reason to add this feature. Ideally you should open a suggestion issue first and have it greenlighted before working on it.
  • If fixing a bug:

    • If you are resolving a special issue, add (fix #xxxx[,#xxx]) (#xxxx is the issue id) in your PR title for a better release log, e.g. update entities encoding/decoding (fix #3899).
    • Provide detailed description of the bug in the PR. Live demo preferred.
    • Add appropriate test coverage if applicable.

Development Setup

You will need Node.js version 6+

After cloning the repo, run:

$ npm install # or yarn

Committing Changes

Commit messages should follow the commit message convention so that changelogs can be automatically generated. Commit messages will be automatically validated upon commit. If you are not familiar with the commit message convention, you should use npm run commit instead of git commit, which provides an interactive CLI for generating proper commit messages.

Commonly used NPM scripts

# interactive CLI for generating proper commit messages
$ npm run commit

# run a lint check against the code
$ npm run lint

# build the projects and genrate a new dist folder
$ npm run build

# run the full test suite, with code coverage report
$ npm test

# run linting and testing
npm run validate

Please make sure to have this pass successfully before submitting a PR.

Credits

Thank you to all the people who have already contributed to Apostille-libray!