Agent Skills
返回列表
💻

ESLint规则冲突检测器

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/eslint-rule-conflict-detector-2。

技能介绍

为什么会出现规则冲突

在复杂的前端工程里,开发者通常会叠加多个代码规范:使用 Prettier 统一格式化风格,引入 TypeScript-ESLint 处理类型约束,再套用 Airbnb 这类大型预设来保证代码质量。但这三者的配置逻辑往往存在交叠。比如 indent、quotes 或 semi 这些规则,Prettier 倾向用强制格式化来接管,而 ESLint 预设则习惯通过 lint 来报错。当多个预设同时生效时,ESLint 可能会抛出 Definition for rule not found 警告,或者因为规则互相覆盖,导致 lint 结果与保存时的自动格式化互相打架,严重干扰开发流程。

工具如何工作

该技能利用 ESLint 的 Node.js API 和 eslint-config-inspector,对项目内生效的完整规则集进行深度解析。其核心流程包括:

  • 配置追踪:自动遍历 .eslintrc 文件,准确解析 extends 链路,锁定被继承的预设规则。
  • 冲突映射:将不同预设中的相同规则点提取出来,并对比其具体配置项,例如比较 @typescript-eslint/no-explicit-any 与基础版 ESLint 的相关限制是否冲突。
  • 统一配置生成:结合各方预设的意图,为冲突规则提供合理的兼容方案,最终输出一个干净、无冲突的 .eslintrc 配置文件,让 lint 检查与格式化行为保持一致。

适用边界与注意点

此工具依赖于 ESLint 的底层 Node.js API,因此运行环境必须满足 ESLint 官方的基础要求。你的本地环境需要安装受支持的 Node.js 版本,且必须内置 SSL 支持(官方原生 Node.js 构建版本默认包含)。

此外,如果你在配置文件中使用了 TypeScript 的类型定义来增强规则,请确保项目内的 TypeScript 版本不低于 5.3。工具的主要作用是诊断与生成兼容配置,不负责替换你当前使用的特定规则集,它更像是一个帮你理清依赖关系、消除配置冗余的工程化助手。

使用场景

  • 项目同时引入Prettier、TypeScript-ESLint和Airbnb预设,需要检测规则冲突并生成统一的ESLint配置
  • 维护多语言前端项目时,需要解析.eslintrc文件中的extends链路,定位被继承预设中的具体规则冲突
  • 修复代码格式化工具与ESLint规则冲突问题,需要生成无冲突配置,避免lint报错与自动格式化互相干扰
  • 重构前端项目配置时,需要分析多个规则集的意图,提取相同规则点并生成兼容的ESLint配置

适合人员

  • 前端工程师,需要在复杂项目中排查ESLint规则冲突并统一代码规范
  • 前端团队技术负责人,需要为团队搭建无冲突的ESLint配置体系
  • TypeScript开发者,需要解决ESLint规则与Prettier格式化工具的兼容性问题
  • 开源项目维护者,需要优化前端工程的ESLint配置以降低规则冲突风险