該工具針對一些須要手動輸入更新日誌的項目,實現自動化輸出更新日誌,而且對更新日誌進行內容格式化,便於後期維護,目前主要有如下幾個功能模塊。node
安裝依賴包webpack
npm install jimi-web-changelog --save
// or
yarn add jimi-web-changelog --save-dev
複製代碼
cnpm i commitizen --save-devgit
{
...
"config": {
"commitizen": {
"path": "./node_modules/jimi-web-changelog/lib/cz"
}
},
}
複製代碼
{
"cz": "git add . && git cz"
}
複製代碼
按照提示正確輸出 commit 信息內容,以下示例:web
cnpm i conventional-changelog-cli --save-dev
複製代碼
{
...
"script": {
"log": "conventional-changelog --config node_modules/jimi-web-changelog/lib/log -i CHANGELOG.md -s -r 0",
}
}
> 結尾數字若爲 1 ,生成當前版本的變化狀況,若爲 0, 生成全部的日誌文件。
複製代碼
cnpm i husky commitlint --save-dev
複製代碼
{
...
"husky": {
"hooks": {
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
}
},
}
複製代碼
具體配置能夠參考 commitlint 官方,例子:npm
module.exports = Object.assign({}, require('jimi-web-changelog/lib/lint'), {
rules: {
'subject-empty': [2, 'never'],
'type-empty': [2, 'never'],
'type-enum': [2, 'always',
[
'新功能',
'修復',
...
]
]
}
}
複製代碼
能夠搭配 husky 和 lint-stage 效果更佳。它能在你每次提交代碼前校驗你的代碼格式並修復錯誤的代碼格式,具體配置能夠參考當前根目錄下的 package.json 和 .eslintrc.json
應該沒有文件內容變更還執行 git add . 提交致使的。試着對項目進行更改再保存試試。xcode
只有每次版本迭代的的時候纔會更新這一次的日誌信息。能夠嘗試打個標籤最爲封版。bash
能夠試試安裝 xcode.markdown
xcode-select --install工具
版本號目前支持的格式爲 vX.X.X,👀格式對嗎?
若是該項目使用了 webpack,可使用 markdown-loader.
第一次寫工具庫,不免有瑕疵,歡迎你們 pr,可是還請口下留情😄
喜歡的話給個 star吧
複製代碼