À propos du projet

Bundle Drop fournit des mises à jour JavaScript et d’actifs aux binaires React Native iOS et Android compatibles sans nécessiter de nouvelles versions natives sur les stores. Il prend en charge Expo SDK 54-57 et React Native bare 0.71+, avec compatibilité avec la New Architecture. Les fonctionnalités clés incluent une distribution basée sur des canaux (develop, production, beta ou canaux personnalisés), des déploiements progressifs ciblant des cohortes d’utilisateurs spécifiques, et la sécurité de rollback via des bundles vérifiés immuables où le rollback est un simple changement de pointeur local. La couche de transport prend en charge l’OTA hybride avec une intégrité du bundle complet et des téléchargements de taille de patch pour les appareils pris en charge. Le contrôle à l’exécution garantit que les mises à jour n’atteignent que les binaires natifs compatibles, et les métadonnées d’observabilité permettent d’attribuer les rapports de crash aux bonnes versions. Le package inclut un outil CLI appelé Bundle Drop Sight qui analyse les bundles JavaScript de production dans le navigateur. Il effectue une attribution de taille aux packages et fichiers à l’aide des source maps, compare les builds à des baselines Git et génère des estimations de taille des archives OTA. La comparaison s’exécute localement dans des worktrees Git temporaires privés sans téléverser le code source ni les bundles sur des serveurs. L’installation utilise le plugin de configuration Expo pour les workflows managés ou l’autolinking pour React Native bare. La configuration nécessite une authentification via `npx bundle-drop login`, suivie de `npx bundle-drop doctor` pour valider la configuration, l’identité du runtime, l’intégration native et la propriété du démarrage. La prise en charge CI/CD est disponible via des téléversements avec Personal Access Token depuis n’importe quel pipeline. Le runtime est initialisé tôt dans le processus de l’application via `BundleDrop.init()` avec des paramètres configurables de canal, d’environnement et de politique.