SuperAPI AI 工具集

eslint-plugin-custom-rule

通用与其它

查看项目

更新于 10-16 04:28

技能介绍

用途:该技能用于在 eslint-plugin-cds 包中创建新的 ESLint 自定义规则。

主要流程:

  1. 每次创建新规则时,先运行脚手架脚本 packages/eslint-plugin-cds/scripts/scaffold-new-rule.mjs,以保证所有自定义规则格式统一。
  2. 向用户询问该自定义规则应做什么。若提示中上下文不足,应追问澄清,不得对规则行为或其要执行的准则做假设。收集到上下文后,再询问规则应应用到哪些包。
  3. 收集完整上下文后,要求用户提供至少一个有效示例和一个无效示例,说明规则被遵守或违反的情形,供后续编写测试使用。若示例不足以理解有效与无效的差别,应继续追问,在用户给出至少一个有效示例和一个无效示例且上下文充分前不得继续。
  4. 根据用户提供的上下文,填充 src/rules 目录下生成的规则文件,主要填写规则对象中的 create() 函数。可参考 packages/eslint-plugin-cds/src/rules/custom-rule.ts 了解格式。自定义规则应使用 AST visitor 方法判断违规并报告警告,还应在执行 AST 解析前验证被导入的包;若文件未导入步骤 2 指定的包,则不报告错误。多数规则已如此实现,可参考 no-v7-imports 规则中的 ImportDeclaration():仅当使用 CDS_PACKAGES 中的包时才报告错误。
  5. 依据步骤 3 的上下文,在脚手架生成的测试文件中写入有效和无效测试用例,应包含用户提供的示例,并可基于规则标准补充更多示例。

目录位置:自定义规则放在 packages/eslint-plugin-cds/src/rules,对应测试放在 packages/eslint-plugin-cds/tests。

限制:资料未提供安装命令、配置方式、具体规则清单或版本兼容信息。