54 lines
1.6 KiB
Markdown
54 lines
1.6 KiB
Markdown
# 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.
|
|
```
|