SuperAPI AI 工具集

eslint-rule-development

编程与开发

查看项目

更新于 10-15 22:33

技能介绍

用途:在 @sap-ux/eslint-plugin-fiori-tools 中按仓库既有模式新增 ESLint 规则,适用于注解校验、manifest.json、flex change 文件以及 JS/TS 源码规则的开发。

主要能力:先判定规则类型并读取对应参考文件(references/annotation.md、manifest-json.md、flex-change.md、js-ts-rule.md),推断规则名(sap-[kebab-case])、OData 版本(V2/V4/两者)、页面范围、是否自动修复、严重级别;随后按检查清单实现规则、注册、编写测试与文档。

使用方式:开发期只运行新测试文件,例如 NODE_OPTIONS="--experimental-vm-modules" npx jest --testPathPatterns="sap-[rule-name]" --no-coverage;完成后运行 pnpm --filter @sap-ux/eslint-plugin-fiori-tools lint:fix、lint、test,并用 pnpm cset 创建 changeset(新规则选 minor)。

实现要点:在 diagnostics.ts 添加诊断常量并加入 Diagnostic 联合类型;在 rules/index.ts 注册;在 src/index.ts 的对应配置中登记,若适用 S/4HANA 则加入 recommended-for-s4hana 且必须为 warn。每个函数需 JSDoc,认知复杂度不超过 15,警告消息中的代码值用反引号包裹。测试断言使用 message 完整字符串而非 messageId。文档写入 docs/rules/sap-[rule-name].md,README 规则表顶部新增行并回填历史 new 版本。

限制:仅面向该仓库与插件的工作流;OData 版本决定 linker 文件与 manifest 根路径,必须遵循;Annotation 规则只检查页面引用的注解,不扫描全部实体注解;flex change 规则仅适用于 OData V2 flex change 属性;JS/TS 规则不使用项目模型与 createFioriRule。具体命令、路径与模板细节以原资料为准,未提供的价格、平台等信息暂未提供。