Skip to content

Commit 6077014

Browse files
committed
patch: support bang for breaking changes as per Conventional Commit Spec
1 parent 941497c commit 6077014

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

src/main/scala/net/cardnell/mkver/AppConfig.scala

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,16 @@ object AppConfig {
192192
BranchConfig("hotfix[/-].*", Some(true), None, None, None, Some(false), None, None, None)
193193
)
194194
val defaultCommitMessageActions: List[CommitMessageAction] = List(
195+
// Breaking changes (major)
195196
CommitMessageAction("BREAKING CHANGE", IncrementAction.IncrementMajor),
197+
CommitMessageAction("major(\\(.+\\))?!:", IncrementAction.IncrementMajor),
198+
CommitMessageAction("minor(\\(.+\\))?!:", IncrementAction.IncrementMajor),
199+
CommitMessageAction("patch(\\(.+\\))?!:", IncrementAction.IncrementMajor),
200+
CommitMessageAction("feature(\\(.+\\))?!:", IncrementAction.IncrementMajor),
201+
CommitMessageAction("feat(\\(.+\\))?!:", IncrementAction.IncrementMajor),
202+
CommitMessageAction("fix(\\(.+\\))?!:", IncrementAction.IncrementMajor),
203+
// The rest of the conventional commits
204+
CommitMessageAction("(build|ci|chore|docs|perf|refactor|revert|style|test)(\\(.+\\))?!:", IncrementAction.IncrementMajor),
196205
CommitMessageAction("major(\\(.+\\))?:", IncrementAction.IncrementMajor),
197206
CommitMessageAction("minor(\\(.+\\))?:", IncrementAction.IncrementMinor),
198207
CommitMessageAction("patch(\\(.+\\))?:", IncrementAction.IncrementPatch),

src/test/scala/net/cardnell/mkver/MkVerSpec.scala

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,10 @@ object MkVerSpec extends DefaultRunnableSpec {
3232
test("should parse correctly") {
3333
assert(calcBumps(List(" major: change"), commitMessageActions, VersionBumps()))(equalTo(VersionBumps(major = true))) &&
3434
assert(calcBumps(List(" feat: change", " BREAKING CHANGE"), commitMessageActions, VersionBumps()))(equalTo(VersionBumps(major = true, minor = true))) &&
35+
assert(calcBumps(List(" feat!: change"), commitMessageActions, VersionBumps()))(equalTo(VersionBumps(major = true))) &&
36+
assert(calcBumps(List(" fix!: change"), commitMessageActions, VersionBumps()))(equalTo(VersionBumps(major = true))) &&
37+
assert(calcBumps(List(" patch!: change"), commitMessageActions, VersionBumps()))(equalTo(VersionBumps(major = true))) &&
38+
assert(calcBumps(List(" major(a component)!: change"), commitMessageActions, VersionBumps()))(equalTo(VersionBumps(major = true))) &&
3539
assert(calcBumps(List(" feat: change"), commitMessageActions, VersionBumps()))(equalTo(VersionBumps(minor = true))) &&
3640
assert(calcBumps(List(" fix: change"), commitMessageActions, VersionBumps()))(equalTo(VersionBumps(patch = true))) &&
3741
assert(calcBumps(List(" patch: change"), commitMessageActions, VersionBumps()))(equalTo(VersionBumps(patch = true))) &&

0 commit comments

Comments
 (0)