Welcome
Disclaimer
In order to use LiveBundle you will need to provide your own storage for the bundles. As of its initial release, LiveBundle only supports Azure Blob Storage support.
We have no plan of implementing other cloud storage providers plugins (unless driven by internal needs), but will welcome external contributions of such new plugins.
Therefore, at this point, if you wish to use LiveBundle for your application, you will either need to provision and use an Azure Blob Storage account, or implement a new storage provider plugin to use another cloud storage provider.
Features
Distribute updates as a QR Code / Deep Link
LiveBundle allows to distribute application updates as a QR Code and/or Deep Link.
During development, from the comfort of a terminal, any application developer can swiftly publish any work in progress and share the resulting QR Code / Deep Link with any other user of the application.
Installing the changes is as easy as scanning the QR Code from the application or navigating the Deep Link.

GitHub Integration
LiveBundle comes with a GitHub integration, to automatically package and publish changes associated to every opened PR. It will then post the resulting QR Code and Deep Link as a PR comment. Supercharge your reviews by trying the changes directly within the application.

Live Session
Additionally, LiveBundle expose a command to generate a QR Code / Deep Link for other users to directly connect to your local React Native bundler (metro server).
Plugin Based Architecture
LiveBundle can be easilly extended with new functionallity thanks to its plugin based architecture. Need a different storage provider ? A different bundler or new notifiers ? Just write a new plugin !
Setup overview
LiveBundle is composed of two top level packages:
livebundle
(the command line CLI)react-native-livebundle
(the native module).
Adding LiveBundle to a React Native application is detailed in the Getting Started section and consist of the following high level steps :
- Installing the LiveBundle CLI, and creating its initial configuration (CLI setup)
- Setting up and initializing the native module (Native Module setup)
- Finally, setting up the storage and testing LiveBundle end to end (Azure Storage setup)
Quick Start
If you'd first like to try out LiveBundle very quickly before integrating it with your application, you can try the LiveBundle demo application. Just follow instructions from its README.
Otherwise, if you want to jump straight ahead, adding LiveBundle to your application, then without further due, let's get started !
Comparison with other React Native tools
Expo
While Expo is much more than just application delivery, it uses QRCode and DeepLink to deliver complete React Native applications or application updates to anyone. It is also possible to setup a GitHub integration with Expo to automatically attach a QRCode and DeepLink to every Pull Request.
That being said, this Expo feature will only work with React Native applications built with Expo, and is not usable as is for non Expo based React Native applications.
CodePush
CodePush allows pushing React Native application updates to users. Under the hood it is quite similar to LiveBundle in the sense that updated JS bundles are pushed to a remote storage and then retrieved from the storage and installed on a mobile device. Though CodePush automatically, silently and transparenlty downloads update if an update is available and does not come with QRCode / DeepLink on demand update support.
CodePush is geared to rolling updates to your end users in production, while LiveBundle is geared to distributing updates to your team, on demannd, during development. To vulgarize this, we could say that LiveBundle, from the user perspective is a "pull" model, while CodePush is a "push" model.