lerna.js 具有自動產生 changelog 的功能,運作邏輯說起來也沒有太神奇,基本上就是你在做 git commit 時,會留下送交的註解,只要註解符合 Conventional Commits
規範,它就可以自動辨識哪些資訊應該被寫入 changelog 之中,就可以產生像下圖這種精美的 change log。
資料來源: https://github.com/lerna/lerna/blob/master/CHANGELOG.md
git commit -m 'feat: 實作註冊的 API'
git commit -m 'docs: correct spelling of CHANGELOG'
git commit -m 'fix: correct minor typos in code'
資料來源: https://conventionalcommits.org/
使用 commit 前置詞的好處,不只有自動建立 changelog 而已,它還有助於 lerna 幫你自動判斷子模組要升小版號,還是大版號。
互動模式
lerna version
指定一律照 patch 規則來升版號
lerna version patch
指定一律照 minor 規則來升版號
lerna version minor
指定一律照 major 規則來升版號
lerna version major
觸發升版號的事件,並且自動產生 changelog
lerna version --conventional-commits