diff --git a/package.json b/package.json index 5de8883..3bf4250 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,8 @@ "clear": "node main.js clear", "check": "node main.js check", "update": "node main.js update", - "build_all": "bash script/build/pkg.sh" + "build_all": "bash script/build/pkg.sh", + "changelog": "bash script/build/changelog.sh" }, "files": [ "lib", diff --git a/script/build/changelog.sh b/script/build/changelog.sh new file mode 100644 index 0000000..911a76f --- /dev/null +++ b/script/build/changelog.sh @@ -0,0 +1,36 @@ +#!/usr/bin/env bash + +# version: +level=patch + +npm version $level \ + --no-commit-hooks \ + --no-git-tag-version + +OLD_VERSION_ARRAY=($(npm view lottery-auto-script version | tr '.' ' ')) +major=${OLD_VERSION_ARRAY[0]} +minor=${OLD_VERSION_ARRAY[1]} +patch=${OLD_VERSION_ARRAY[2]} + +case "${level}" in +"major") + ((major += 1)) + ;; +"minor") + ((minor += 1)) + ;; +*) + ((patch += 1)) + ;; +esac + +NEW_VERSION="$major.$minor.$patch" + +echo "New Version: $NEW_VERSION" + +GIT_LOG="$(git log --pretty=format:"* %h %s" | sed -e '/CHANGELOG/,$d' | sed ':a;N;s/\n/\\n/g;ta')" + +sed -i "/# CHANGELOG/a\## 主要变化($NEW_VERSION)\n$GIT_LOG\n\n_如果之前版本小于上一版本,请查看[CHANGELOG](CHANGELOG.md)变更说明_\n" CHANGELOG.md + +git add . +git commit -m "docs: 更新CHANGELOG"