用途
该技能用于增量升级 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
使用方式
工作流程如下:
- 确认当前 Storybook 版本,以及仓库使用的是 Expo、Expo Router、React Native CLI 还是 Re.Pack。
- 只选择下一个迁移步骤,绝不将多个主版本升级捆绑在一起。
- 应用匹配参考文件中的依赖、配置和源文件改动。
- 当该步骤需要时,重新生成
storybook.requires或重启 Metro。 - 运行仓库可用的最小有效验证,例如生成脚本、测试、lint 或本地 Storybook 应用启动路径。
- 如果仓库仍未达到用户目标版本,停止并清晰说明下一个需要的迁移步骤。
适用场景
适用于需要将 React Native Storybook 项目从旧版本逐步升级到新版本,且希望遵循受支持迁移路径、避免跨主版本跳跃的场景。
限制
- 每次只能应用一个迁移步骤,不能一次完成多个主版本升级。
- 版本不明确时必须停止并澄清,不能猜测。
- 只做当前步骤所需的迁移改动,需保留项目现有应用结构。
- 关于收费、价格、平台、效果等具体信息,资料中暂未提供。