repos: # ESLint 代码检查 - repo: local hooks: - id: eslint name: ESLint entry: npm run lint language: system files: '\.(js|jsx|ts|tsx)$' pass_filenames: false always_run: false stages: [commit] # TypeScript 类型检查 - repo: local hooks: - id: tsc name: TypeScript Check entry: npm run type-check language: system files: '\.(ts|tsx)$' pass_filenames: false always_run: false stages: [commit] # Prettier 代码格式化 - repo: local hooks: - id: prettier name: Prettier entry: npm run format:fix language: system files: '\.(js|jsx|ts|tsx|json|css|scss|md)$' pass_filenames: false always_run: false stages: [commit] # 构建检查 - repo: local hooks: - id: build-check name: Build Check entry: npm run build language: system pass_filenames: false always_run: false stages: [push] # 依赖安全检查 - repo: local hooks: - id: audit name: Security Audit entry: npm audit --audit-level moderate language: system pass_filenames: false always_run: false stages: [commit] # 全局配置 default_stages: [commit] fail_fast: false minimum_pre_commit_version: "2.20.0"