## 事象
[[commit-analyzer]]が`feat!: hoge` のようなコミットメッセージを[[Breaking change]]と認識してくれない。
```console
[9:52:37 AM] [semantic-release] › ℹ Start step "analyzeCommits" of plugin "@semantic-release/commit-analyzer"
[9:52:37 AM] [semantic-release] [@semantic-release/commit-analyzer] › ℹ Analyzing commit: feat!: change the command name from "hello" to "greet"
[9:52:37 AM] [semantic-release] [@semantic-release/commit-analyzer] › ℹ The commit should not trigger a release
[9:52:37 AM] [semantic-release] [@semantic-release/commit-analyzer] › ℹ Analysis of 1 commits complete: no release
```
## 原因
[Angularのコミットガイドライン](https://github.com/angular/angular.js/blob/master/DEVELOPERS.md#-git-commit-guidelines)では感嘆符(!)はサポートされておらず、[[commit-analyzer]]はAngularのガイドラインをデフォルトで扱っているため。
## 解決方法
presetで[[Conventional Commits]]の利用を明示する。
```json
{
"plugins": [
["@semantic-release/commit-analyzer", { "preset": "conventionalcommits" }],
[
"@semantic-release/release-notes-generator",
{
"preset": "conventionalcommits"
}
]
]
}
```
別途モジュールのインストールも必要。
```console
npm i -D conventional-changelog-conventionalcommits
```
## 参考
- ["BREAKING CHANGE:" and "!" after type not properly triggering major release · Issue #231 · semantic-release/commit-analyzer](https://github.com/semantic-release/commit-analyzer/issues/231)