semantic-release-conventional-commits

Semantic release commit analyzer support for all of the conventional commit message types.

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
semantic-release-conventional-commits
1253.0.03 years ago7 years agoMinified + gzip package size for semantic-release-conventional-commits in KB

Readme

Semantic Release Conventional Commits
Greenkeeper badge
Build Status Coverage Status
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.