pre-commit 598 B

12345678910111213141516171819202122
  1. #!/bin/sh
  2. # pre-commit hook: 对暂存的文件运行 Biome 检查
  3. # 仅检查 src/ 下的 .ts/.tsx/.js/.jsx 文件
  4. STAGED_FILES=$(git diff --cached --name-only --diff-filter=ACM | grep -E '^src/.*\.(ts|tsx|js|jsx)$')
  5. if [ -z "$STAGED_FILES" ]; then
  6. exit 0
  7. fi
  8. echo "Running Biome lint on staged files..."
  9. # 使用 biome lint 对暂存文件进行检查(仅 lint,不格式化,不自动修复)
  10. echo "$STAGED_FILES" | xargs bunx biome lint --no-errors-on-unmatched
  11. if [ $? -ne 0 ]; then
  12. echo ""
  13. echo "Biome lint failed. Fix errors or use --no-verify to bypass."
  14. exit 1
  15. fi
  16. exit 0