1 | # Contributing to `node-abi`
|
2 |
|
3 | :+1::tada: First off, thanks for taking the time to contribute to `node-abi`! :tada::+1:
|
4 |
|
5 | ## Commit Message Guidelines
|
6 |
|
7 | This module uses [`semantic-release`](https://github.com/semantic-release/semantic-release) to automatically release new versions via Travis.
|
8 | Therefor we have very precise rules over how our git commit messages can be formatted.
|
9 |
|
10 | Each commit message consists of a **header**, a **body** and a **footer**. The header has a special
|
11 | format that includes a **type**, a **scope** and a **subject** ([full explanation](https://github.com/stevemao/conventional-changelog-angular/blob/master/convention.md)):
|
12 |
|
13 | ```
|
14 | <type>(<scope>): <subject>
|
15 | <BLANK LINE>
|
16 | <body>
|
17 | <BLANK LINE>
|
18 | <footer>
|
19 | ```
|
20 |
|
21 | ### Type
|
22 |
|
23 | Must be one of the following:
|
24 |
|
25 | - **feat**: A new feature. **Will trigger a new release**
|
26 | - **fix**: A bug fix or a addition to one of the target arrays. **Will trigger a new release**
|
27 | - **docs**: Documentation only changes
|
28 | - **style**: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
|
29 | - **refactor**: A code change that neither fixes a bug nor adds a feature
|
30 | - **perf**: A code change that improves performance
|
31 | - **test**: Adding missing or correcting existing tests
|
32 | - **chore**: Changes to the build process or auxiliary tools and libraries such as documentation generation
|
33 |
|
34 |
|
35 | ### Patch Release
|
36 |
|
37 | ```
|
38 | fix(electron): Support Electron 1.8.0
|
39 | ```
|
40 |
|
41 | ### ~~Minor~~ Feature Release
|
42 |
|
43 | ```
|
44 | feat: add .getTarget(abi, runtime)
|
45 | ```
|
46 |
|
47 | ### ~~Major~~ Breaking Release
|
48 |
|
49 | ```
|
50 | feat: Add amazing new feature
|
51 |
|
52 | BREAKING CHANGE: This removes support for Node 0.10 and 0.12.
|
53 | ```
|