chore(husky): 修复 git hooks 问题
- 移除废弃的 shebang 和 husky.sh 导入 - 修复 pre-commit hook 中的 ESLint 文件列表传递问题 - 移除所有交互式确认,改为提示信息 - 添加 husky 和 chore 到允许的 commit scope 列表 - 优化 hooks 以兼容 husky v10 Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Showing
4 changed files
with
5 additions
and
56 deletions
| 1 | -#!/usr/bin/env sh | ||
| 2 | -. "$(dirname -- "$0")/_/husky.sh" | ||
| 3 | - | ||
| 4 | # 颜色定义 | 1 | # 颜色定义 |
| 5 | RED='\033[0;31m' | 2 | RED='\033[0;31m' |
| 6 | GREEN='\033[0;32m' | 3 | GREEN='\033[0;32m' |
| ... | @@ -24,7 +21,7 @@ echo "" | ... | @@ -24,7 +21,7 @@ echo "" |
| 24 | TYPES="feat|fix|docs|style|refactor|perf|test|chore|revert" | 21 | TYPES="feat|fix|docs|style|refactor|perf|test|chore|revert" |
| 25 | 22 | ||
| 26 | # 允许的范围(常见模块) | 23 | # 允许的范围(常见模块) |
| 27 | -SCOPES="material|product|user|auth|api|ui|config|build|ci|release" | 24 | +SCOPES="material|product|user|auth|api|ui|config|build|ci|release|husky|chore" |
| 28 | 25 | ||
| 29 | # 正则表达式:type(scope): subject | 26 | # 正则表达式:type(scope): subject |
| 30 | # 示例:feat(material): 添加文档列表分类导航 | 27 | # 示例:feat(material): 添加文档列表分类导航 | ... | ... |
| 1 | -#!/usr/bin/env sh | ||
| 2 | -. "$(dirname -- "$0")/_/husky.sh" | ||
| 3 | - | ||
| 4 | # 颜色定义 | 1 | # 颜色定义 |
| 5 | RED='\033[0;31m' | 2 | RED='\033[0;31m' |
| 6 | GREEN='\033[0;32m' | 3 | GREEN='\033[0;32m' |
| ... | @@ -28,10 +25,10 @@ else | ... | @@ -28,10 +25,10 @@ else |
| 28 | echo " - $file" | 25 | echo " - $file" |
| 29 | done | 26 | done |
| 30 | 27 | ||
| 31 | - # 运行 ESLint | 28 | + # 运行 ESLint(检查整个 src 目录,避免文件列表传递问题) |
| 32 | echo "" | 29 | echo "" |
| 33 | echo " 🔍 运行 ESLint..." | 30 | echo " 🔍 运行 ESLint..." |
| 34 | - if ! pnpm lint --quiet "$STAGED_FILES"; then | 31 | + if ! pnpm lint --quiet; then |
| 35 | echo "" | 32 | echo "" |
| 36 | echo " ${RED}❌ ESLint 检查失败${NC}" | 33 | echo " ${RED}❌ ESLint 检查失败${NC}" |
| 37 | echo " ${YELLOW}请运行 'pnpm lint' 查看详细错误并修复${NC}" | 34 | echo " ${YELLOW}请运行 'pnpm lint' 查看详细错误并修复${NC}" |
| ... | @@ -56,12 +53,6 @@ if [ -n "$STAGED_FILES" ]; then | ... | @@ -56,12 +53,6 @@ if [ -n "$STAGED_FILES" ]; then |
| 56 | echo " ${YELLOW}⚠️ 发现 console.log/debug/info 语句${NC}" | 53 | echo " ${YELLOW}⚠️ 发现 console.log/debug/info 语句${NC}" |
| 57 | echo " ${YELLOW}建议:生产代码应移除调试语句${NC}" | 54 | echo " ${YELLOW}建议:生产代码应移除调试语句${NC}" |
| 58 | echo "" | 55 | echo "" |
| 59 | - echo " 是否继续提交?(y/n)" | ||
| 60 | - read -r response | ||
| 61 | - if [ ! "$response" = "y" ]; then | ||
| 62 | - echo " ${RED}❌ 已取消提交${NC}" | ||
| 63 | - exit 1 | ||
| 64 | - fi | ||
| 65 | fi | 56 | fi |
| 66 | 57 | ||
| 67 | # 检查 debugger | 58 | # 检查 debugger |
| ... | @@ -119,18 +110,11 @@ if [ "$NEEDS_REVIEW" = true ]; then | ... | @@ -119,18 +110,11 @@ if [ "$NEEDS_REVIEW" = true ]; then |
| 119 | echo " ${YELLOW}原因:${NC}" | 110 | echo " ${YELLOW}原因:${NC}" |
| 120 | echo "$REVIEW_REASON" | 111 | echo "$REVIEW_REASON" |
| 121 | echo "" | 112 | echo "" |
| 122 | - echo " ${BLUE}请在 VSCode 中让 Claude Code 进行审查:${NC}" | 113 | + echo " ${BLUE}建议在 VSCode 中让 Claude Code 进行审查:${NC}" |
| 123 | echo " 1. 保存所有文件" | 114 | echo " 1. 保存所有文件" |
| 124 | echo " 2. 对 Claude Code 说:'请审查我的代码改动'" | 115 | echo " 2. 对 Claude Code 说:'请审查我的代码改动'" |
| 125 | echo " 3. 根据审查报告修复 P0 问题" | 116 | echo " 3. 根据审查报告修复 P0 问题" |
| 126 | - echo " 4. 重新提交" | ||
| 127 | echo "" | 117 | echo "" |
| 128 | - echo " ${YELLOW}是否跳过审查继续提交?(y/n)${NC}" | ||
| 129 | - read -r response | ||
| 130 | - if [ ! "$response" = "y" ]; then | ||
| 131 | - echo " ${RED}❌ 已取消提交,请先进行代码审查${NC}" | ||
| 132 | - exit 1 | ||
| 133 | - fi | ||
| 134 | fi | 118 | fi |
| 135 | 119 | ||
| 136 | echo " ${GREEN}✅ 改动规模检查通过${NC}" | 120 | echo " ${GREEN}✅ 改动规模检查通过${NC}" |
| ... | @@ -163,12 +147,6 @@ if [ -z "$CHANGELOG_MODIFIED" ]; then | ... | @@ -163,12 +147,6 @@ if [ -z "$CHANGELOG_MODIFIED" ]; then |
| 163 | echo " - **测试状态**: 已通过" | 147 | echo " - **测试状态**: 已通过" |
| 164 | echo " - **备注**: 其他说明" | 148 | echo " - **备注**: 其他说明" |
| 165 | echo "" | 149 | echo "" |
| 166 | - echo " ${YELLOW}是否继续提交(不更新 CHANGELOG)?(y/n)${NC}" | ||
| 167 | - read -r response | ||
| 168 | - if [ ! "$response" = "y" ]; then | ||
| 169 | - echo " ${RED}❌ 已取消提交,请先更新 CHANGELOG.md${NC}" | ||
| 170 | - exit 1 | ||
| 171 | - fi | ||
| 172 | else | 150 | else |
| 173 | echo " ${GREEN}✅ CHANGELOG.md 已更新${NC}" | 151 | echo " ${GREEN}✅ CHANGELOG.md 已更新${NC}" |
| 174 | fi | 152 | fi | ... | ... |
| 1 | -#!/usr/bin/env sh | ||
| 2 | -. "$(dirname -- "$0")/_/husky.sh" | ||
| 3 | - | ||
| 4 | # 颜色定义 | 1 | # 颜色定义 |
| 5 | RED='\033[0;31m' | 2 | RED='\033[0;31m' |
| 6 | GREEN='\033[0;32m' | 3 | GREEN='\033[0;32m' |
| ... | @@ -16,17 +13,11 @@ echo "" | ... | @@ -16,17 +13,11 @@ echo "" |
| 16 | CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD) | 13 | CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD) |
| 17 | REMOTE_BRANCH=$(git rev-parse --abbrev-ref --symbolic-full-name @{u} 2>/dev/null || echo "") | 14 | REMOTE_BRANCH=$(git rev-parse --abbrev-ref --symbolic-full-name @{u} 2>/dev/null || echo "") |
| 18 | 15 | ||
| 19 | -# 如果是新分支,提示用户 | 16 | +# 如果是新分支,自动继续 |
| 20 | if [ -z "$REMOTE_BRANCH" ]; then | 17 | if [ -z "$REMOTE_BRANCH" ]; then |
| 21 | echo " ${YELLOW}⚠️ 检测到新分支: $CURRENT_BRANCH${NC}" | 18 | echo " ${YELLOW}⚠️ 检测到新分支: $CURRENT_BRANCH${NC}" |
| 22 | echo " ${YELLOW}这将是首次推送到远程${NC}" | 19 | echo " ${YELLOW}这将是首次推送到远程${NC}" |
| 23 | echo "" | 20 | echo "" |
| 24 | - echo " ${BLUE}是否继续?(y/n)${NC}" | ||
| 25 | - read -r response | ||
| 26 | - if [ ! "$response" = "y" ]; then | ||
| 27 | - echo " ${RED}❌ 已取消 Push${NC}" | ||
| 28 | - exit 1 | ||
| 29 | - fi | ||
| 30 | fi | 21 | fi |
| 31 | 22 | ||
| 32 | # ============================================ | 23 | # ============================================ |
| ... | @@ -44,12 +35,6 @@ if [ "$UNPUSHED_COMMITS" -gt 5 ]; then | ... | @@ -44,12 +35,6 @@ if [ "$UNPUSHED_COMMITS" -gt 5 ]; then |
| 44 | echo " ${BLUE}最近的提交:${NC}" | 35 | echo " ${BLUE}最近的提交:${NC}" |
| 45 | git log --oneline -5 | 36 | git log --oneline -5 |
| 46 | echo "" | 37 | echo "" |
| 47 | - echo " ${YELLOW}是否继续推送?(y/n)${NC}" | ||
| 48 | - read -r response | ||
| 49 | - if [ ! "$response" = "y" ]; then | ||
| 50 | - echo " ${RED}❌ 已取消 Push${NC}" | ||
| 51 | - exit 1 | ||
| 52 | - fi | ||
| 53 | fi | 38 | fi |
| 54 | 39 | ||
| 55 | echo " ${GREEN}✅ 提交历史检查通过${NC}" | 40 | echo " ${GREEN}✅ 提交历史检查通过${NC}" |
| ... | @@ -71,14 +56,6 @@ echo "" | ... | @@ -71,14 +56,6 @@ echo "" |
| 71 | echo " ${BLUE}即将推送的提交:${NC}" | 56 | echo " ${BLUE}即将推送的提交:${NC}" |
| 72 | git log --oneline @{u}..HEAD 2>/dev/null || git log --oneline -3 | 57 | git log --oneline @{u}..HEAD 2>/dev/null || git log --oneline -3 |
| 73 | 58 | ||
| 74 | -echo "" | ||
| 75 | -echo " ${YELLOW}是否确认推送?(y/n)${NC}" | ||
| 76 | -read -r response | ||
| 77 | -if [ ! "$response" = "y" ]; then | ||
| 78 | - echo " ${RED}❌ 已取消 Push${NC}" | ||
| 79 | - exit 1 | ||
| 80 | -fi | ||
| 81 | - | ||
| 82 | # ============================================ | 59 | # ============================================ |
| 83 | # 所有检查通过 | 60 | # 所有检查通过 |
| 84 | # ============================================ | 61 | # ============================================ | ... | ... |
-
Please register or login to post a comment