semantic-release-conventional-commits
v3.0.0
Published
Semantic release commit analyzer support for all of the conventional commit message types.
Downloads
13,524
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
feat
chore
- patch
fix
docs
refactor
style
test
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.