hookehuyr

chore(husky): 移除 CHANGELOG 自动更新机制

- 移除 prepare-commit-msg 中的 CHANGELOG 自动更新调用
- 移除 pre-commit 中的 CHANGELOG 提示信息
- 保留其他检查功能(ESLint、调试代码、改动规模)

以后手动更新 CHANGELOG:
- pnpm run release (standard-version)
- 或 npx release-it

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
......@@ -125,5 +125,4 @@ echo " ${GREEN}✅ 改动规模检查通过${NC}"
echo ""
echo "✅ ${GREEN}所有检查通过!${NC}"
echo "🚀 ${BLUE}开始提交...${NC}"
echo "📝 ${BLUE}CHANGELOG.md 将在 prepare-commit-msg 阶段更新${NC}"
echo ""
......
......@@ -2,6 +2,7 @@
# ============================================
# Prepare-commit-msg Hook
# ============================================
# 只保留 commit message 格式验证,移除 CHANGELOG 自动更新
RED='\033[0;31m'
GREEN='\033[0;32m'
......@@ -11,18 +12,11 @@ NC='\033[0m'
COMMIT_MSG_FILE=$1
COMMIT_SOURCE=$2
# 只跳过 merge 提交,其他情况都执行
if [ "$COMMIT_SOURCE" != "merge" ]; then
if [ -f "$COMMIT_MSG_FILE" ]; then
COMMIT_MSG=$(cat "$COMMIT_MSG_FILE")
FIRST_LINE=$(echo "$COMMIT_MSG" | head -n 1)
COMMIT_TYPE=$(echo "$FIRST_LINE" | sed -E 's/^([a-z]+)\(.*/\1/')
# 只对特定类型更新 CHANGELOG,跳过 docs(changelog)
if echo "$FIRST_LINE" | grep -qE "^docs\(changelog\):"; then
:
elif [ "$COMMIT_TYPE" = "feat" ] || [ "$COMMIT_TYPE" = "fix" ] || [ "$COMMIT_TYPE" = "refactor" ] || [ "$COMMIT_TYPE" = "perf" ]; then
bash scripts/changelog/update-changelog-prepare.sh "$COMMIT_MSG_FILE"
fi
fi
# 跳过 merge 提交和空提交信息
if [ "$COMMIT_SOURCE" = "merge" ] || [ "$COMMIT_SOURCE" = "squash" ] || [ ! -f "$COMMIT_MSG_FILE" ]; then
exit 0
fi
# CHANGELOG 自动更新已移除,如需更新请手动运行:
# pnpm run release (使用 standard-version)
# 或 npx release-it (使用 release-it)
......