#!/usr/bin/env sh # ============================================================ # Husky Pre-commit Hook - HIS项目 # 配置: 关羽 | 日期: 2026-04-24 # 功能: 提交前自动检查前端构建 # ============================================================ echo "========================================" echo "🔍 [Pre-commit] HIS项目提交检查" echo "========================================" # 检查前端目录是否存在 if [ ! -d "openhis-ui-vue3" ]; then echo "⚠️ [Pre-commit] 未找到openhis-ui-vue3目录,跳过前端检查" exit 0 fi cd openhis-ui-vue3 # 检查node_modules是否存在 if [ ! -d "node_modules" ]; then echo "⚠️ [Pre-commit] node_modules未安装,请先执行 npm install" echo " 提示: 首次使用或依赖变更后需要安装依赖" exit 1 fi # 执行lint检查(ESLint配置由赵云下周完善后启用) if grep -q '"lint"' package.json 2>/dev/null; then echo "📋 [Pre-commit] 执行Lint检查..." if npm run lint -- --max-warnings 0 2>&1; then echo "✅ [Pre-commit] Lint检查通过" else echo "❌ [Pre-commit] Lint检查失败!请修复代码规范问题" exit 1 fi else echo "⏭️ [Pre-commit] 未配置lint脚本(待赵云配置ESLint后启用)" fi # 执行快速构建检查(development模式,仅检查语法和类型) echo "🔨 [Pre-commit] 执行构建检查 (build:dev)..." if timeout 120 npm run build:dev 2>&1; then echo "✅ [Pre-commit] 构建检查通过" else echo "❌ [Pre-commit] 构建检查失败!请修复编译错误后重新提交" exit 1 fi echo "========================================" echo "✅ [Pre-commit] 所有检查通过,允许提交" echo "========================================"