## 事象 [[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)