semantic-release-conventional-commits
v3.0.0
Published
Semantic release commit analyzer support for all of the conventional commit message types.
Downloads
5,815
Maintainers
Readme
Semantic Release Conventional Commits
This is an analyzeCommits plugin for semantic-release.
semantic-release-conventional-commits can be used to detect all of the
conventional
commit message styles.
The commit analyzer that ships with semantic-release only catches fix and
feat commits (#12).
To use this plugin, add the following to package.json:
"release": {
"analyzeCommits": "semantic-release-conventional-commits"
}Configuration
By default, the behavior of this analyzer is very similar to the analyzer that
ships with semantic-release. In addition to fix, feat and BREAKING CHANGE:
support, the following messages create the corresponding releases:
- minor
featchore
- patch
fixdocsrefactorstyletest
You can also configure additional behavior in package.json as follows:
"release": {
"analyzeCommits": {
"path": "semantic-release-conventional-commits",
"majorTypes": ["major", "breaking"],
"minorTypes": ["feat", "minor"],
"patchTypes": ["fix", "patch"],
"mergePattern": "/^Merge pull request #(\\d+) from (.*)$/",
"mergeCorrespondence": "['id', 'source']"
}
}Which would cause major releases on messages with a major or breaking type,
minor releases on messages with a feat or minor type, and patch releases on
messages with a fix or patch type.
The mergePattern and mergeCorrespondence allow you to detect a merge commit
and use the first line of the body as the header to determine the release type.
Note: configuring the type behavior will override the default type detection behavior.
