react-native/Libraries
Martín Bigio 4ffb241647 Hot Loading E2E basic flow
Summary:
public

Implement all the necessary glue code for several diffs submitted before to get Hot Loading work end to end:

- Simplify `HMRClient`: we don't need to make it stateful allowing to enable and disable it because both when we enable and disable the interface we need to reload the bundle.
- On the native side we introduced a singleton to process the bundle URL. This new class might alter the url to include the `hot` attribute. I'm not 100% sure this is the best way to implement this but we cannot use `CTLSettings` for this as it's are not available on oss and I didn't want to contaminate `RCTBridge` with something specific to hot loading. Also, we could potentially use this processor for other things in the future. Please let me know if you don't like this approach or you have a better idea :).
- Use this processor to alter the default bundle URL and request a `hot` bundle when hot loading is enabled. Also make sure to enable the HMR interface when the client activates it on the dev menu.
- Add packager `hot` option.
- Include gaeron's `react-transform` on Facebook's JS transformer.

The current implementation couples a bit React Native to this feature because `react-transform-hmr` is required on `InitializeJavaScriptAppEngine`. Ideally, the packager should accept an additional list of requires and include them on the bundle among all their dependencies. Note this is not the same as the option `runBeforeMainModule` as that one only adds a require to the provided module but doesn't include all the dependencies that module amy have that the entry point doesn't. I'll address this in a follow up task to enable asap hot loading (9536142)

I had to remove 2 `.babelrc` files from `react-proxy` and `react-deep-force-update`. There's an internal task for fixing the underlaying issue to avoid doing this horrible hack (t9515889).

Reviewed By: vjeux

Differential Revision: D2790806

fb-gh-sync-id: d4b78a2acfa071d6b3accc2e6716ef5611ad4fda
2015-12-28 16:44:59 -08:00
..
ART Mark `-[init]` w RCT_NOT_IMPLEMENTED 2015-11-14 06:29:27 -08:00
ActionSheetIOS Add tintColor for buttons. 2015-12-09 05:19:25 -08:00
AdSupport Text highlighting on iOS 2015-07-24 08:41:58 -08:00
Animated updated deprecated sample code in animation doc 2015-12-18 00:11:00 +08:00
AppRegistry Decouple Module System from Native Calls 2015-12-08 16:03:37 -08:00
AppStateIOS revert D2372548 to fix initial app state issue 2015-09-25 13:25:26 -07:00
BatchedBridge Hot Loading E2E basic flow 2015-12-28 16:44:59 -08:00
CameraRoll Bugfix - Typos 2015-12-15 09:09:32 -08:00
Components Added ColorPropType 2015-12-23 10:08:38 -08:00
CustomComponents update description about removeClippedSubviews 2015-12-28 07:56:28 -08:00
DebugComponentHierarchy Decouple Module System from Native Calls 2015-12-08 16:03:37 -08:00
Device Decouple Module System from Native Calls 2015-12-08 16:03:37 -08:00
Devtools Use pre-bundled elements inspector 2015-10-29 11:21:32 -07:00
Fetch Add fetch's clone function to Request and Response prototypes 2015-10-30 10:57:33 -07:00
Geolocation Fix getCurrentPosition 2015-12-16 08:37:33 -08:00
Image Added ColorPropType 2015-12-23 10:08:38 -08:00
Inspector Inspecting stateless components. 2015-12-08 10:13:25 -08:00
Interaction Confusing description about task queue 2015-12-24 19:35:29 -08:00
JavaScriptAppEngine Hot Loading E2E basic flow 2015-12-28 16:44:59 -08:00
LayoutAnimation Wrapped UIManager native module for better abstraction 2015-11-27 07:00:32 -08:00
LinkingIOS Add support for Universal Links 2015-12-04 09:05:31 -08:00
Modal Improve Modal docs describing iOS only support 2015-12-05 18:48:28 -08:00
NativeApp Decouple Module System from Native Calls 2015-12-08 16:03:37 -08:00
Network Deploy v0.20.1 2015-12-18 17:04:29 -08:00
Picker Added support for styling the PickerIOS 2015-12-08 07:48:26 -08:00
Portal Wrapped UIManager native module for better abstraction 2015-11-27 07:00:32 -08:00
PullToRefresh Added ColorPropType 2015-12-23 10:08:38 -08:00
PushNotificationIOS Bugfix - Typos 2015-12-15 09:09:32 -08:00
QuickPerformanceLogger added QPL for main interactions 2015-09-29 22:25:23 -07:00
RCTTest Rename RCTContextExecutor to RCTJSCExecutor 2015-12-16 02:51:28 -08:00
RKBackendNode Wrapped UIManager native module for better abstraction 2015-11-27 07:00:32 -08:00
ReactIOS Fix scroll-to-top in MarketPlace 2015-12-23 12:40:33 -08:00
ReactNative Deploy v0.20.1 2015-12-18 17:04:29 -08:00
Sample Remove invariant of Sample.ios.js that is not used 2015-05-26 18:25:00 -07:00
Settings Replaced RegExp method parser with recursive descent 2015-12-10 10:12:29 -08:00
Storage Batch AsyncStorage.multiGet calls 2015-12-03 09:10:29 -08:00
StyleSheet Added ColorPropType 2015-12-23 10:08:38 -08:00
Text Added ColorPropType 2015-12-23 10:08:38 -08:00
Utilities Hot Loading E2E basic flow 2015-12-28 16:44:59 -08:00
Vibration Text highlighting on iOS 2015-07-24 08:41:58 -08:00
WebSocket Improve red boxes coming from RCTWebSocketExecutor 2015-12-23 13:32:28 -08:00
react-native Added ColorPropType 2015-12-23 10:08:38 -08:00
vendor add doc for native event in doc 2015-12-20 16:20:56 +08:00
Promise.js Replace ES6Promise with Promise 2015-04-15 06:06:29 -08:00