#!/bin/bash # Post-edit hook: 自动验证编辑后的文件 # - Python 文件 → 运行 pytest # - JavaScript 文件 → node --check 语法检查 + vitest 单元测试 input=$(cat) file_path=$(echo "$input" | jq -r '.tool_input.file_path') # 提取相对于项目根的路径 rel_path="${file_path#$QODER_PROJECT_DIR/}" case "$rel_path" in *.py) echo "🔍 检测到 Python 文件变更: $rel_path" >&2 cd "$QODER_PROJECT_DIR" || exit 0 .venv/bin/python -m pytest tests/ -x -q ;; static/js/*.js) echo "🔍 检测到 JavaScript 文件变更: $rel_path" >&2 node --check "$file_path" || exit 1 # 语法通过后运行 vitest(排除 vendored 文件) case "$rel_path" in */vue.global.prod.js|*/tailwind.js|*/chart.umd.js) ;; *) cd "$QODER_PROJECT_DIR" || exit 0 npx vitest run ;; esac ;; esac exit 0