33 lines
1.1 KiB
Bash
Executable File
33 lines
1.1 KiB
Bash
Executable File
#!/bin/sh
|
|
# Auto-version hook: incrémente la version après certains commits
|
|
|
|
# Récupérer le dernier message de commit
|
|
commit_msg=$(git log -1 --pretty=%B)
|
|
|
|
# Ignorer si le commit contient [skip version] ou si c'est un commit de version
|
|
if echo "$commit_msg" | grep -qE "\[skip version\]|chore: bump version"; then
|
|
exit 0
|
|
fi
|
|
|
|
# Vérifier si le commit devrait déclencher une mise à jour de version
|
|
# Types pris en charge:
|
|
# - feat: → minor bump
|
|
# - fix:, perf:, security:, patch:, refactor: → patch bump
|
|
# - feat!:, refactor!:, etc. (avec !) → major bump
|
|
# - breaking change ou BREAKING CHANGE → major bump
|
|
# Ignorés: chore:, docs:, style:, test:, ci:, build:
|
|
if echo "$commit_msg" | grep -qiE "^feat:|^fix:|^perf:|^security:|^patch:|^refactor:|^[a-z]+!:|breaking change"; then
|
|
# Lancer le script en mode hook (silent + ajout auto au staging)
|
|
pnpm tsx scripts/auto-version.ts --silent --hook
|
|
|
|
# Vérifier si package.json a changé
|
|
if ! git diff --quiet package.json; then
|
|
echo ""
|
|
echo "📦 Version mise à jour automatiquement"
|
|
echo "💡 Pour commit: git add package.json && git commit -m 'chore: bump version'"
|
|
fi
|
|
fi
|
|
|
|
exit 0
|
|
|