SuperAPI AI 工具集

upgrading-react-native-storybook

编程与开发

查看项目

更新于 10-15 15:30

技能介绍

用途

该技能用于增量升级 React Native Storybook,覆盖受支持的迁移路径。适用于将 @storybook/react-native 项目从 5.3.x 升级到 6.5.x 等场景。核心原则是每次只升级一个受支持的版本步骤,不要从旧主版本直接一次性跳到最新版本。

主要能力

  • 按受支持的版本路径逐步迁移,每次只应用一个迁移步骤。
  • 检测项目使用的包管理器并保持一致。
  • 在编辑前从 package.json、锁文件和配置文件中检测当前已安装的 Storybook 版本。
  • 在 6.5.x 到 7.6.x 步骤中,将剩余的 storiesOf 故事转换为 CSF,而不是保留兼容模式。
  • 保留项目现有应用结构,只做当前步骤所需的迁移改动。

版本检测

需要综合以下信号判断版本:

  • package.json 中 @storybook/react-native、storybook、@storybook/react 和 @storybook/addon-ondevice-* 的版本。
  • 配置文件夹是 .storybook/ 还是 .rnstorybook/。
  • Metro 配置导入,例如 metro/withStorybook、metro/withStorybookConfig,或 withStorybook 是默认导出还是命名导出。
  • 故事格式使用情况:CSF 还是 storiesOf。
  • 生成的文件名,例如 storybook.requires.js 还是 storybook.requires.ts。

如果版本不明确,应停止并澄清当前已安装版本,而不是猜测。

迁移选择

使用恰好一个参考文件:

  • 9.x 到 10.x:references/from-9-to-10.md
  • 8.x 到 9.x:references/from-8-to-9.md
  • 7.6.x 到 8.3.x:references/from-7-6-to-8-3.md
  • 6.5.x 到 7.6.x:references/from-6-5-to-7-6.md
  • 5.3.x 到 6.5.x:references/from-5-3-to-6-5.md

使用方式

工作流程如下:

  1. 确认当前 Storybook 版本,以及仓库使用的是 Expo、Expo Router、React Native CLI 还是 Re.Pack。
  2. 只选择下一个迁移步骤,绝不将多个主版本升级捆绑在一起。
  3. 应用匹配参考文件中的依赖、配置和源文件改动。
  4. 当该步骤需要时,重新生成 storybook.requires 或重启 Metro。
  5. 运行仓库可用的最小有效验证,例如生成脚本、测试、lint 或本地 Storybook 应用启动路径。
  6. 如果仓库仍未达到用户目标版本,停止并清晰说明下一个需要的迁移步骤。

适用场景

适用于需要将 React Native Storybook 项目从旧版本逐步升级到新版本,且希望遵循受支持迁移路径、避免跨主版本跳跃的场景。

限制

  • 每次只能应用一个迁移步骤,不能一次完成多个主版本升级。
  • 版本不明确时必须停止并澄清,不能猜测。
  • 只做当前步骤所需的迁移改动,需保留项目现有应用结构。
  • 关于收费、价格、平台、效果等具体信息,资料中暂未提供。