SuperAPI AI 工具集

codemod-generator

编程与开发

查看项目

更新于 10-16 01:31

技能介绍

用途:当设计系统发生令牌重命名、组件 API 变更或导入路径迁移时,生成可执行的自动化转换脚本,把机械性改动一致地应用到所有消费代码中,并附带测试与文档。

主要能力:生成五类 codemod——令牌重命名、组件属性重命名、废弃属性移除、导入路径更新、组件替换(含属性映射);覆盖 CSS 自定义属性、JS/TS 令牌导入、Sass 变量、style 对象、className 及 styled-components/Emotion 模板字面量。

使用方式:优先用 jscodeshift 处理语法级改动,需要类型信息时用 ts-morph,简单模式改写可用 ast-grep;CSS/Sass 用 postcss 或 postcss-scss,Style Dictionary 令牌生成预处理器。每个转换需配套测试(jscodeshift/dist/testUtils 的 applyTransform),并生成 migrate.js 迁移运行器与 MIGRATION.md。命令示例:npx jscodeshift --transform codemods/[name].js --extensions=tsx,ts,jsx,js --parser=tsx src/;干跑加 --dry --print。执行 node codemods/migrate.js --dir src/ --dry-run 预览。若配置 .ds-ops-config.yml,可读取 language、transform_engine、output_directory、test_framework 等字段。

适用场景:设计系统升级需要批量迁移消费方代码,尤其令牌重命名和组件替换。

限制:技能只生成脚本与文档,不会直接改动团队代码库;动态值、spread props、计算属性访问、再导出组件等无法安全转换,会保留原码并添加 TODO 注释。运行测试与干跑需具备执行环境。重命名顺序有依赖(令牌先于属性、导入路径先于组件替换、属性重命名先于移除)。与 Figma Console MCP 联动的双侧迁移为可选条件能力,未连接时暂不可用。具体配置默认值、测试覆盖要求等以资料描述为准,未提供的收费与平台细节暂未提供。