@@ -8,6 +8,12 @@ REPO_URL=$(git remote get-url origin | sed 's/\.git$//')
88REPO_NAME=$( echo " $REPO_URL " | sed ' s/.*://' )
99PACKAGE_JSON=" package.json"
1010
11+ # --- Validate arguments ---
12+ if [ $# -gt 1 ]; then
13+ echo " Error: Too many arguments. Provide 0 or 1 argument (the next version)."
14+ exit 1
15+ fi
16+
1117# --- Helper: get current version from package.json ---
1218CURRENT_VERSION=$( jq -r ' .version' " $PACKAGE_JSON " )
1319
@@ -25,21 +31,25 @@ echo "----------------------------------------"
2531echo " $CHANGELOG_BODY "
2632echo " ----------------------------------------"
2733
28- # --- Step 2: Generate new version automatically ---
29- if echo " $CHANGELOG_BODY " | grep -q " ### 🚀 Features" ; then
30- echo " 🚀 Features detected: bumping minor version"
31- # Bump minor version
32- IFS=' .' read -r MAJOR MINOR PATCH <<< " $CURRENT_VERSION"
33- NEW_VERSION=" $MAJOR .$(( MINOR + 1 )) .0"
34+ # --- Step 2: Generate new version ---
35+ if [ $# -eq 1 ]; then
36+ NEW_VERSION=$1
37+ echo " 🔖 Using provided version: $NEW_VERSION (previous: $CURRENT_VERSION )"
3438else
35- echo " 🐛 Patch changes: bumping patch version"
36- # Bump patch version
37- IFS=' .' read -r MAJOR MINOR PATCH <<< " $CURRENT_VERSION"
38- NEW_VERSION=" $MAJOR .$MINOR .$(( PATCH + 1 )) "
39+ if echo " $CHANGELOG_BODY " | grep -q " ### 🚀 Features" ; then
40+ echo " 🚀 Features detected: bumping minor version"
41+ # Bump minor version
42+ IFS=' .' read -r MAJOR MINOR PATCH <<< " $CURRENT_VERSION"
43+ NEW_VERSION=" $MAJOR .$(( MINOR + 1 )) .0"
44+ else
45+ echo " 🐛 Patch changes: bumping patch version"
46+ # Bump patch version
47+ IFS=' .' read -r MAJOR MINOR PATCH <<< " $CURRENT_VERSION"
48+ NEW_VERSION=" $MAJOR .$MINOR .$(( PATCH + 1 )) "
49+ fi
50+ echo " 🔖 New version: $NEW_VERSION (previous: $CURRENT_VERSION )"
3951fi
4052
41- echo " 🔖 New version: $NEW_VERSION (previous: $CURRENT_VERSION )"
42-
4353# --- Step 3: Generate changelog file ---
4454DATE=$( date +%Y-%m-%d)
4555CHANGELOG_FILE=" $CHANGELOGS_DIR /${DATE} _v${NEW_VERSION} .md"
0 commit comments