|
# Contributing to `node-abi` |
|
|
|
:+1::tada: First off, thanks for taking the time to contribute to `node-abi`! :tada::+1: |
|
|
|
## Commit Message Guidelines |
|
|
|
This module uses [`semantic-release`](https://github.com/semantic-release/semantic-release) to automatically release new versions via Travis. |
|
Therefor we have very precise rules over how our git commit messages can be formatted. |
|
|
|
Each commit message consists of a **header**, a **body** and a **footer**. The header has a special |
|
format that includes a **type**, a **scope** and a **subject** ([full explanation](https://github.com/stevemao/conventional-changelog-angular/blob/master/convention.md)): |
|
|
|
``` |
|
<type>(<scope>): <subject> |
|
<BLANK LINE> |
|
<body> |
|
<BLANK LINE> |
|
<footer> |
|
``` |
|
|
|
### Type |
|
|
|
Must be one of the following: |
|
|
|
- **feat**: A new feature. **Will trigger a new release** |
|
- **fix**: A bug fix or a addition to one of the target arrays. **Will trigger a new release** |
|
- **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 |
|
|
|
|
|
### Patch Release |
|
|
|
``` |
|
fix(electron): Support Electron 1.8.0 |
|
``` |
|
|
|
### ~~Minor~~ Feature Release |
|
|
|
``` |
|
feat: add .getTarget(abi, runtime) |
|
``` |
|
|
|
### ~~Major~~ Breaking Release |
|
|
|
``` |
|
feat: Add amazing new feature |
|
|
|
BREAKING CHANGE: This removes support for Node 0.10 and 0.12. |
|
``` |
|
|