SuperAPI AI 工具集

eslint-migrate-options

通用与其它

查看项目

更新于 10-15 17:26

技能介绍

用途:当现有 Biome 规则需要保留有意义的 ESLint 规则选项时,使用此技能编写自定义迁移器;仅迁移严重级别的工作属于自动生成的规则映射。

主要能力:通过插件专属类型反序列化 ESLint 负载,将源语义转换为 Biome 选项类型,在共享的 ESLint Rule 枚举中注册类型化变体,并由 migrate_eslint_rule() 在完成通用严重级别处理后安装 Biome 配置。涉及 eslint_eslint.rs(共享配置模型与派发)、eslint_unicorn.rs、eslint_typescript.rs、eslint_jsxa11y.rs、eslint_to_biome.rs、eslint_any_rule_to_biome.rs 及测试夹具目录。

必要用法:先确认 Biome 规则及其选项类型已存在、规则元数据标识 ESLint 源规则、严重级别迁移已生成或可重新生成、官方文档明确选项结构与默认值。建模时按 ESLint JSON 形状而非 Biome 目标形状,保留源嵌套到转换阶段。转换需重命名不同术语、有意丢弃不支持行为、避免生成空嵌套对象,并在附加默认值会改变仅严重级别行为时保留省略。类型化变体需在 Rule 中加入 RuleConf<SourceOptions>、Rule::name() 返回准确 ESLint 规则名并在兜底前完成反序列化。迁移接入时先调用 migrate_eslint_any_rule(),再按目标规则的可修复性选择 RuleFixConfiguration::WithOptions 或 RuleConfiguration::WithOptions。典型命令:cargo check -p biome_cli、cargo test -p biome_cli migrate_eslint。

适用场景:ESLint 规则存在可配置选项且需映射到 Biome 语义时。

限制:规则或选项未实现时需先加载 lint-rule-development;不支持字段、默认值差异及嵌套选项需夹具覆盖;其余细节暂未提供。