このプロジェクトについて

Bundle Dropは、互換性のあるiOSおよびAndroidのReact Nativeバイナリに対して、新しいネイティブストアビルドを必要とせずにJavaScriptおよびアセットのアップデートを配信します。Expo SDK 54〜57およびbare React Native 0.71+をサポートし、New Architectureとの互換性もあります。 主な機能には、チャネルベースの配信(develop、production、beta、またはカスタムチャネル)、特定のユーザーコホートを対象とした段階的ロールアウト、不変で検証済みのバンドルによるロールバックの安全性(ロールバックはローカルポインタの切り替え)が含まれます。トランスポート層は、完全なバンドルの整合性を備えたハイブリッドOTAと、対応デバイス向けのパッチサイズのダウンロードをサポートします。ランタイムゲーティングにより、アップデートは互換性のあるネイティブバイナリにのみ到達し、オブザーバビリティメタデータによりクラッシュレポートが正しいリリースに帰属し続けます。 このパッケージには、ブラウザで本番JavaScriptバンドルを分析するBundle Drop SightというCLIツールが含まれています。ソースマップを使用してパッケージとファイルへのサイズ帰属を行い、ビルドをGitベースラインと比較し、OTAアーカイブのサイズ見積もりを生成します。比較は、ソースコードやバンドルをサーバーにアップロードすることなく、プライベートな一時Gitワークツリー内でローカルに実行されます。 インストールには、管理ワークフロー用のExpo config plugin、またはbare React Native用のautolinkingを使用します。セットアップにはnpx bundle-drop loginによる認証が必要で、続いてnpx bundle-drop doctorを実行して設定、ランタイムID、ネイティブ統合、スタートアップの所有権を検証します。 CI/CDサポートは、任意のパイプラインからのPersonal Access Tokenアップロードを通じて利用できます。ランタイムは、設定可能なチャネル、環境、ポリシー設定とともに、アプリプロセス内で早期にBundleDrop.init()を介して初期化されます。