Skip to content

Latest commit

 

History

History
48 lines (39 loc) · 2.79 KB

CONTRIBUTING.md

File metadata and controls

48 lines (39 loc) · 2.79 KB

Contributing

Thanks for being willing to contribute!

Project setup

Before starting development, you'll need to have the following software installed on your machine:

  • node v7 and above with npm v4. If not, follow the instructions here.
  • yarn package manager. If not, follow the installation instructions here.
  • nps task runner, a simple wrapper around npm scripts. If not, run yarn global add nps.

After that, set up the project as follows:

  1. Clone the repo.
  2. cd into project directory and install all the project's dependencies by running yarn.
  3. nps validate to make sure you've got it working.

Other things you can do:

  • To make a production build, run nps build. The output are in the following directories:
    • dist contains the UMD build for script tags in browser.
    • lib contains the CommonJS build suitable for node.
    • es contains the untranspiled, ES2015 module build suitable for webpack.
  • To run tests, run nps test.
  • To get a list of all available commands, run nps with no arguments.

Making commits

This project follows a convention for commit messages. Please follow this convention and keep your commits atomic.

Once you're ready to commit the changes, add the files to be committed to git's staging area and then run nps commit. Follow the instruction of the interactive prompt (please leave scope blank). The prompt will ask you the following questions, so please have answers to them before making your commit:

  1. Select the type of change that you're committing:
  • feat: A new feature
  • fix: A bug fix
  • docs: Documentation only changes
  • style: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
  • refactor: A code change that neither fixes a bug nor adds a feature
  • perf: A code change that improves performance
  • test: Adding missing or correcting existing tests
  • chore: Changes to the build process or auxiliary tools and libraries such as documentation generation.
  1. Denote the scope of this change ($location, $browser, $compile, etc.): Please leave this blank.
  2. Write a short, imperative tense description of the change:
  3. Provide a longer description of the change:
  4. List any breaking changes.
  5. List any issues closed by this change.

Please write a good commit message by following the guidelines (adapted from here):

  • Do not end the subject line with a period
  • Use the imperative mood in the subject line
  • Use the body to explain what and why vs. how