开发与工程 exposwiftnative-modulesexpo-modules-apiios-migrationtypescript-compatibility

Expo 原生模块迁移助手

将现有 Expo 原生模块从 1.0 DSL 迁移到 2.0 宏 API,同时保持 JavaScript 接口不变。

FollowSkills 评估 · FSRS-2.0
谨慎使用
60/ 100 五分制 3.0 / 5
信任安全18 / 25 · 3.6/5

技能要求先检查 Expo 版本和实际宏/核心支持,强调最小范围修改、保留 JS 契约、避免未验证迁移,并要求创建外部 issue 前征得用户确认;未提供完整数据流、敏感数据处理、回滚步骤或明确来源归属,因此扣分。

可靠稳定9 / 20 · 2.3/5

工作流、兼容性门槛、混合模式和异常分支描述较细,能在不支持时停止或保留 DSL;但仅有静态文档,没有该技能路径的测试或实际构建证据,按静态校准限制在 10 分以下。

适用触发11 / 15 · 3.7/5

名称、目标用户、适用场景和明确非适用范围清楚,覆盖 Swift 原生模块迁移而排除新建模块、SDK 升级及 Android;未说明中文交互支持、环境前置条件的完整范围和更多触发边界,因此扣分。

规范维护10 / 15 · 3.3/5

具备版本号、MIT 许可、分层参考文档、迁移清单、已知陷阱、安装/依赖检查和交接要求;但缺少该技能自身的维护责任人、变更日志、更新路径及充分 FAQ,且发布者身份未验证,因此扣分。

有效结果7 / 15 · 2.3/5

流程直接围绕保持 JS/TypeScript 契约并完成 Swift 1.0 到 2.0 迁移,包含逐组迁移、混合模式和验证交付物,核心任务预期可完成;但没有静态可证明的真实输出或执行结果,按校准最高 7 分。

证据核验5 / 10 · 2.5/5

参考文档提供了可审计的规则、兼容性检查命令和契约核对表,且仓库有通用 CI;但没有覆盖该技能关键路径的提交测试、第三方执行证据或独立复现结果,按静态校准最高 5 分。

证据充分度: 评估于 2026年7月20日 审查版本 8bd359f8a44d
使用前请注意
  • 该评估仅基于源文件静态阅读,未执行命令、构建、测试或实际迁移。
  • 技能要求在特定失败场景下创建 expo/expo 外部 issue;应继续确认用户批准、最小披露范围和 issue 内容后再发布。
  • 迁移可能改变执行队列、事件名称、默认值或记录可选性;必须针对实际 expo-modules-core 版本逐项验证,不能仅依据 SDK 版本。
  • 发布者身份未通过 FollowSkills 企业注册表验证,维护责任和更新路径也未在该技能文档中明确。
查看完整评分方法 →

这个 Skill 能做什么,适合哪些场景?

这是 expo/skills 中面向 Expo 原生模块开发的单项技能,专门处理 Apple/Swift 模块从 Expo Modules API 1.0 定义 DSL 到 2.0 宏 API 的迁移。它以现有 JavaScript、TypeScript 接口和测试作为兼容性契约,并支持渐进式混合迁移。该技能要求目标项目使用 expo 57.0.7 或更高版本。它不负责新建模块、常规 Expo SDK 升级或 Android/Kotlin 迁移。

检查目标项目的 Expo 版本、仓库指令、Swift 模块、JavaScript/TypeScript 绑定、测试、示例应用、podspec 和 expo-modules-core;读取迁移映射、示例和兼容性参考;盘点模块名称、函数、属性、常量、事件、记录和共享对象的 JavaScript 可见契约;核验实际可用的 2.0 宏和运行时支持;按语义分组迁移 Swift 源码,必要时保留 1.0 definition() DSL;运行构建、类型检查、原生测试和 JS/TS 测试,并比较迁移前后的导出表面。

  1. 维护现有 Swift Expo 原生模块,并希望升级到 Expo Modules API 2.0 宏 API。
  2. 需要在不改变 JavaScript 或 TypeScript 合约的情况下,逐步迁移模块功能。
  3. 目标模块包含 @ExpoModule、@JS、@Event、@SharedObject 或 @Record 等 2.0 宏对应概念。
  4. 迁移过程中需要判断某个成员应迁移、保留在 DSL 中,还是因运行时能力不足而阻塞。
  5. 需要验证事件名称、记录字段必填性、常量缓存、队列语义和同步/异步行为没有意外变化。

这个 Skill 有哪些优点和局限?

优点
  • 以现有 JS/TS 表面和测试作为兼容性契约,强调保持公开行为。
  • 支持混合模式,可将暂不支持的成员保留在 1.0 definition() DSL 中。
  • 覆盖函数、属性、常量、事件、共享对象和记录等迁移前检查项。
  • 包含构建、测试、示例应用和旧注册项搜索等验证要求。
局限
  • 仅针对现有 Apple/Swift Expo 原生模块,不适用于新模块创建或 Android/Kotlin 迁移。
  • 要求 expo 57.0.7 或更高,且实际宏与运行时支持仍需检查具体分支或版本。
  • 来源没有提供该单项技能的独立测试结果或平台覆盖证明。
  • 遇到能力缺口时,创建 expo/expo 跟踪 issue 需要用户确认后才能发布。

如何安装这个 Skill?

该技能属于 expo/skills 集合。使用 Skills CLI 安装全部 Expo 技能:npx skills@latest add expo/skills --skill '*'。也可在 Codex 中安装 Expo 插件:codex plugin add expo@openai-curated。来源未提供仅安装 expo-migrate-module 的命令。

如何使用这个 Skill?

在已安装该技能的项目中,向代理提出具体迁移请求,例如:“将这个现有 Swift Expo 原生模块从 Expo Modules API 1.0 DSL 迁移到 2.0 宏 API,保持现有 JavaScript/TypeScript 合约不变。”目标项目的 expo 版本必须为 57.0.7 或更高;Android/Kotlin 迁移需另行明确请求。

这个 Skill 与同类方案有什么区别?

相较于继续完全使用 Expo Modules API 1.0 DSL,该技能提供向 2.0 宏 API 的渐进式迁移路径,同时要求保留现有 JavaScript 接口。

常见问题

它能迁移 Android 或 Kotlin 模块吗?
不能。其范围是 Apple/Swift 模块;除非用户明确扩大任务,否则 Kotlin 保持在 1.0 DSL。
项目使用旧版 Expo 时会怎样?
如果 expo 低于 57.0.7,应先升级;该技能不应在不受支持的版本上执行迁移。
它会自动改变 JavaScript API 吗?
不会。指导内容要求保留 JavaScript/TypeScript 合约,包括名称、参数、默认值、可空性、同步异步行为、事件名称和队列语义。
迁移失败或某个宏不受支持时怎么办?
应停止该成员的强制迁移,在验证安全时采用混合模式或回退,并在用户确认后向 expo/expo 创建跟踪 issue。

同仓库的其他 Skills

均来自 expo/skills

开发与工程

Expo 原生模块开发指南

帮助 Expo 开发者使用 Swift、Kotlin 和 TypeScript 构建原生模块与原生视图。

开发与工程

Expo Web 转原生迁移指南

将现有 React 网站逐屏迁移为可发布的 Expo 原生应用。

开发与工程

Expo 原生 UI 构建助手

用 @expo/ui 在 Expo 中构建跨平台原生界面。

开发与工程

Expo 棕地集成助手

帮助团队将 Expo 和 React Native 增量集成到现有的原生 iOS 或 Android 应用中。

开发与工程

Expo 项目结构指南

为全新的 Expo Router 应用建立清晰、可扩展的文件结构。

开发与工程

Expo 数据请求指南

为 Expo 应用提供从 API 请求到缓存、离线与身份验证的网络开发指导。

开发与工程

Expo 技能评测器

端到端验证 Expo 技能是否触发、产出可用代码并正确渲染。

开发与工程

EAS 云端模拟器助手

让无法本地运行模拟器的团队在 EAS 云端运行、操控并截图 Expo 应用。

自动化与运维

EAS Observe 性能观测助手

帮助 Expo 团队接入、查询并解读生产环境中的启动、导航和自定义事件性能指标。

开发与工程

Expo App Clip 助手

为 Expo 应用配置可由网址唤起的 iOS App Clip。

开发与工程

Expo 开发客户端构建助手

为 Expo 原生代码测试构建并分发开发客户端。

开发与工程

Expo 技能反馈

帮助用户提交 Expo 技能或框架反馈,并管理匿名使用遥测。

开发与工程

Expo 应用商店发布助手

用 EAS 构建并发布 Expo 应用到 App Store、Google Play 和 TestFlight。

开发与工程

Expo 集成示例助手

用 Expo 官方示例快速适配第三方库与服务。

设计与前端

Expo 原生界面设计指南

帮助 Expo 开发者构建符合 Apple 设计规范、具备原生体验的响应式界面。

开发与工程

Expo SDK 升级助手

帮助 Expo 团队升级 SDK、处理依赖冲突并完成兼容性清理。

开发与工程

Expo DOM 组件助手

让 Expo 原生应用渐进式复用 Web 代码与 Web 专属库。

开发与工程

Expo EAS 托管部署

帮助 Expo 项目部署网站与 API 路由,并配置密钥、域名和边缘运行时。

开发与工程

Expo Tailwind 样式配置助手

为 Expo 应用配置 Tailwind CSS v4、NativeWind v5 与跨平台样式支持。

自动化与运维

EAS 更新健康洞察

用 CLI 检查 EAS Update 的崩溃率、采用情况与发布健康度。

相关 Skills