ESLint 自动修复器
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/eslint-auto-fixer。
技能介绍
要解决的具体问题
在 TypeScript + React 混合项目中,开发者常面临 ESLint 规则冲突:@typescript-eslint 的类型检查规则与 eslint-plugin-react 的组件规范可能同时触发,手动修复需逐个定位冲突项,耗时且易遗漏。此外,传统 ESLint 配置(.eslintrc)在扁平化项目(flat config)中兼容性差,团队协作时规则版本差异易导致本地与 CI 修复结果不一致。
技能如何工作
该技能通过 ESLint Node.js API 实现自动化修复,核心步骤如下:
- 规则整合:自动检测
eslint.config.js(flat config 格式)中的规则配置,识别 TypeScript-ESLint 与 React 插件的冲突项,优先保留类型安全规则(如@typescript-eslint/no-unsafe-assignment),同时兼容 React 的 JSX 语法检查。 - 批量修复:遍历目标文件,对可自动修复的规则(如
semi、quotes)直接执行fix: true,对需人工干预的冲突规则(如react-hooks/exhaustive-deps)生成建议报告。 - 报告输出:以 SARIF 格式(Static Analysis Results Interchange Format)生成结构化报告,包含修复前后的代码差异、规则 ID 及严重级别,可直接集成至 GitHub Actions 或 VS Code 问题面板。
适用边界与注意点
- 环境要求:依赖 Node.js
^20.19.0、^22.13.0或>=24(需启用 SSL 支持,官方发行版默认包含),TypeScript 需>=5.3以兼容类型定义。 - 配置限制:仅支持 flat config 格式,不兼容旧版
.eslintrc;若项目使用node-linker=hoisted(如 Yarn PnP),需确保eslint包已正确提升至根目录。 - 修复范围:仅处理代码风格与语法规则,不涉及逻辑层修复(如未使用的变量需手动删除),复杂冲突场景仍需结合人工审核。
使用场景
- 在TypeScript+React混合项目中,开发者需批量修复ESLint规则冲突(如类型检查与JSX语法规则冲突),减少手动定位时间
- 使用ESLint flat config的项目团队,需自动整合TypeScript-ESLint与React插件规则,确保本地与CI修复结果一致
- 开发者需生成结构化修复报告(含规则ID、严重级别及代码差异),以便集成至VS Code问题面板或CI流程
- 维护复杂React组件库时,需自动修复eslint-plugin-react的JSX相关规则(如hooks依赖检查)并生成修复建议
适合人员
- 维护TypeScript+React混合项目的前端开发者,需解决ESLint规则冲突以保证代码风格统一
- 使用ESLint flat config的技术团队,需确保本地与CI环境中代码修复结果一致
- 需集成静态分析结果至CI/CD流程的DevOps工程师,依赖SARIF格式报告进行质量门禁
- 开发React组件库的工程师,需批量修复eslint-plugin-react规则并生成修复建议