这个项目能做什么

Bundle Drop 向兼容的 iOS 和 Android React Native 二进制文件提供 JavaScript 和资源更新,无需重新构建原生商店包。它支持 Expo SDK 54-57 以及纯 React Native 0.71+,并兼容 New Architecture。 主要功能包括基于频道的分发(开发、生产、测试版或自定义频道)、针对特定用户群体的分阶段推送,以及通过不可变且经过验证的包实现回滚安全,回滚只是本地指针切换。传输层支持混合 OTA,具备完整包完整性检查,并为受支持的设备提供补丁级下载。运行时门控确保更新仅到达兼容的原生二进制文件,可观测性元数据使崩溃报告能够归因于正确的发布版本。 该包包含一个名为 Bundle Drop Sight 的 CLI 工具,可在浏览器中分析生产环境 JavaScript 包。它使用 source map 对包和文件进行大小归因,将构建与 Git 基线进行比较,并生成 OTA 归档大小估算。比较过程在本地私有临时 Git worktree 中运行,不会将源代码或包上传到服务器。 安装时,托管工作流使用 Expo 配置插件,纯 React Native 使用自动链接。设置需要通过 `npx bundle-drop login` 进行身份验证,然后运行 `npx bundle-drop doctor` 以验证配置、运行时身份、原生集成和启动所有权。 CI/CD 支持可通过个人访问令牌从任何流水线进行上传。运行时通过 `BundleDrop.init()` 在应用进程早期初始化,并支持可配置的频道、环境和策略设置。