Installs: 0
Used in: 1 repos
Updated: 2d ago
$
npx ai-builder add command shenjingnan/fix-type-failInstalls to .claude/commands/fix-type-fail.md
我在目录 `<path>$1</path>` 执行命令 `pnpm check:type` 发现有很多类型错误,如下 <error-log>$2</error-log> 请按照以下步骤系统性地分析和修复所有类型错误: ## 1. 错误分类和初步分析 ### 1.1 解析错误日志 - 统计错误总数和涉及的文件数量 - 识别错误类型分布(TS2339、TS2345、TS2352、TS7006 等) - 按文件分组错误,优先处理错误数量最多的文件 ### 1.2 常见错误类型识别 - **TS2339**:属性不存在错误 → 检查接口定义和类型导入 - **TS2345**:参数类型不匹配 → 检查函数签名和参数类型 - **TS2352**:类型转换错误 → 避免使用 `as any`,使用类型守卫 - **TS7006**:隐式 any 类型 → 添加显式类型注解 - **TS2307**:模块找不到 → 检查导入路径和模块导出 ## 2. 制定修复策略 ### 2.1 优先级排序 1. **高优先级**:影响编译的核心类型错误(接口缺失、函数签名错误) 2. **中优先级**:类型注解缺失、可选参数处理 3. **低优先级**:类型推断优化、非空断言优化 ### 2.2 修复方法选择 - **接口扩展**:为缺失的属性添加接口定义 - **类型守卫**:使用 `is` 函数进行类型保护 - **泛型优化**:使用泛型提高类型安全性 - **工具类型**:合理使用 `Partial<T>`、`Required<T>` 等工具类型 ## 3. 实施修复 ### 3.1 文件修复顺序 - 先修复类型定义文件(`*.d.ts`、`types.ts`) - 再修复核心业务逻辑文件 - 最后修复测试文件 ### 3.2 具体修复步骤 1. **读取错误文件**:逐一分析每个出错的 TypeScript 文件 2. **理解代码意图**:分析代码的业务逻辑和预期行为 3. **添加类型定义**:为缺失的类型创建或扩展接口 4. **修复类型错误**:按照优先级逐个修复错误 5. **保持向后兼容**:确保修复不破坏现有功能 ### 3.3 特殊情况处理 - **测试文件**:使用测试工具函数避免类型断言,参考项目的 `test-types.ts` - **第三方库**:检查是否需要安装类型定义包(`@types/*`) - **遗留代码**:渐进式添加类型,避免大规模重构 ## 4. 验证和测试 ### 4.1 编译验证 - 运行 `pnpm check:type` 确保所有类型错误已修复 - 运行 `pnpm build` 确保代码能够正常编译 - 检查生成的类型声明文件(`*.d.ts`) ### 4.2 功能测试 - 运行相关测试用例:`pnpm test <相关测试文件>` - 确保修复后的代码功能正常 - 执行回归测试避免引入新问题 ### 4.3 代码质量检查 - 执行 `pnpm lint` 进行代码规范检查和自动修复 - 确保代码符合项目的类型安全要求(如禁用 `any` 类型) - 验证导入导出语句的正确性 ## 5. 文档和预防 ### 5.1 修复记录 - 记录修复的错误类型和数量 - 说明采用的主要修复策略 - 标记需要注意的特殊情况 ### 5.2 预防措施 - 建议启用更严格的 TypeScript 配置 - 推荐 ESLint 规则来预防常见类型错误 - 提供类型安全的最佳实践建议 ## 6. 报告要求 请提供以下详细信息: 1. **错误统计**:按类型和文件分布的错误统计 2. **修复过程**:主要修复策略和关键决策点 3. **代码变更**:重要的类型定义修改和接口扩展 4. **测试结果**:所有验证步骤的执行结果 5. **质量检查**:代码规范检查的发现和修复 6. **建议改进**:避免类似错误再次发生的建议
Quick Install
$
npx ai-builder add command shenjingnan/fix-type-failDetails
- Type
- command
- Author
- shenjingnan
- Slug
- shenjingnan/fix-type-fail
- Created
- 6d ago