diff --git a/Examples/Movies/MoviesApp.js b/Examples/Movies/MoviesApp.js
index 768ad895a..6c74c45b5 100644
--- a/Examples/Movies/MoviesApp.js
+++ b/Examples/Movies/MoviesApp.js
@@ -6,7 +6,7 @@
*/
'use strict';
-var React = require('react-native/addons');
+var React = require('react-native');
var {
AppRegistry,
NavigatorIOS,
diff --git a/Examples/UIExplorer/ActionSheetIOSExample.js b/Examples/UIExplorer/ActionSheetIOSExample.js
index 9b164de14..1ee487ed5 100644
--- a/Examples/UIExplorer/ActionSheetIOSExample.js
+++ b/Examples/UIExplorer/ActionSheetIOSExample.js
@@ -1,6 +1,7 @@
/**
-* * Copyright 2004-present Facebook. All Rights Reserved.
-* */
+ * Copyright 2004-present Facebook. All Rights Reserved.
+ * @flow
+ */
'use strict';
var React = require('react-native');
@@ -103,10 +104,10 @@ exports.description = 'Interface to show iOS\' action sheets';
exports.examples = [
{
title: 'Show Action Sheet',
- render() { return ; }
+ render(): ReactElement { return ; }
},
{
title: 'Show Share Action Sheet',
- render() { return ; }
+ render(): ReactElement { return ; }
}
];
diff --git a/Examples/UIExplorer/ActivityIndicatorExample.js b/Examples/UIExplorer/ActivityIndicatorExample.js
index 3371551a0..60f69843c 100644
--- a/Examples/UIExplorer/ActivityIndicatorExample.js
+++ b/Examples/UIExplorer/ActivityIndicatorExample.js
@@ -1,5 +1,6 @@
/**
* Copyright 2004-present Facebook. All Rights Reserved.
+ * @flow
*/
'use strict';
@@ -128,7 +129,7 @@ exports.examples = [
},
{
title: 'Start/stop',
- render: function() {
+ render: function(): ReactElement {
return ;
}
},
diff --git a/Examples/UIExplorer/AdSupportIOSExample.js b/Examples/UIExplorer/AdSupportIOSExample.js
index a3d720f01..4047dd43a 100644
--- a/Examples/UIExplorer/AdSupportIOSExample.js
+++ b/Examples/UIExplorer/AdSupportIOSExample.js
@@ -1,5 +1,6 @@
/**
* Copyright 2004-present Facebook. All Rights Reserved.
+ * @flow
*/
'use strict';
@@ -19,7 +20,7 @@ exports.description = 'Example of using the ad support API.';
exports.examples = [
{
title: 'Ad Support IOS',
- render: function() {
+ render: function(): ReactElement {
return ;
},
}
diff --git a/Examples/UIExplorer/AlertIOSExample.js b/Examples/UIExplorer/AlertIOSExample.js
index a2b92d975..6897007fc 100644
--- a/Examples/UIExplorer/AlertIOSExample.js
+++ b/Examples/UIExplorer/AlertIOSExample.js
@@ -1,5 +1,6 @@
/**
* Copyright 2004-present Facebook. All Rights Reserved.
+ * @flow
*/
'use strict';
diff --git a/Examples/UIExplorer/AppStateExample.js b/Examples/UIExplorer/AppStateExample.js
index ea6400b91..9e93a57fc 100644
--- a/Examples/UIExplorer/AppStateExample.js
+++ b/Examples/UIExplorer/AppStateExample.js
@@ -1,5 +1,6 @@
/**
* Copyright 2004-present Facebook. All Rights Reserved.
+ * @flow
*/
'use strict';
diff --git a/Examples/UIExplorer/AppStateIOSExample.js b/Examples/UIExplorer/AppStateIOSExample.js
index 845b2e049..e28857fc8 100644
--- a/Examples/UIExplorer/AppStateIOSExample.js
+++ b/Examples/UIExplorer/AppStateIOSExample.js
@@ -2,6 +2,7 @@
* Copyright 2004-present Facebook. All Rights Reserved.
*
* @providesModule AppStateIOSExample
+ * @flow
*/
'use strict';
@@ -60,10 +61,10 @@ exports.examples = [
{
title: 'Subscribed AppStateIOS:',
description: 'This changes according to the current state, so you can only ever see it rendered as "active"',
- render() { return ; }
+ render(): ReactElement { return ; }
},
{
title: 'Previous states:',
- render() { return ; }
+ render(): ReactElement { return ; }
},
];
diff --git a/Examples/UIExplorer/AsyncStorageExample.js b/Examples/UIExplorer/AsyncStorageExample.js
index 3a2579fa7..6064147fd 100644
--- a/Examples/UIExplorer/AsyncStorageExample.js
+++ b/Examples/UIExplorer/AsyncStorageExample.js
@@ -1,5 +1,6 @@
/**
* Copyright 2004-present Facebook. All Rights Reserved.
+ * @flow
*/
'use strict';
@@ -98,6 +99,6 @@ exports.description = 'Asynchronous local disk storage.';
exports.examples = [
{
title: 'Basics - getItem, setItem, removeItem',
- render() { return ; }
+ render(): ReactElement { return ; }
},
];
diff --git a/Examples/UIExplorer/CameraRollExample.ios.js b/Examples/UIExplorer/CameraRollExample.ios.js
index 7be014a33..dbc817bf5 100644
--- a/Examples/UIExplorer/CameraRollExample.ios.js
+++ b/Examples/UIExplorer/CameraRollExample.ios.js
@@ -1,5 +1,6 @@
/**
* Copyright 2004-present Facebook. All Rights Reserved.
+ * @flow
*/
'use strict';
@@ -108,6 +109,6 @@ exports.description = 'Example component that uses CameraRoll to list user\'s ph
exports.examples = [
{
title: 'Photos',
- render() { return ; }
+ render(): ReactElement { return ; }
}
];
diff --git a/Examples/UIExplorer/CameraRollView.ios.js b/Examples/UIExplorer/CameraRollView.ios.js
index c8a9a2829..2e1364eed 100644
--- a/Examples/UIExplorer/CameraRollView.ios.js
+++ b/Examples/UIExplorer/CameraRollView.ios.js
@@ -2,6 +2,7 @@
* Copyright 2004-present Facebook. All Rights Reserved.
*
* @providesModule CameraRollView
+ * @flow
*/
'use strict';
@@ -53,7 +54,7 @@ var propTypes = {
var CameraRollView = React.createClass({
propTypes: propTypes,
- getDefaultProps: function() {
+ getDefaultProps: function(): Object {
return {
groupTypes: 'SavedPhotos',
batchSize: 5,
@@ -75,9 +76,9 @@ var CameraRollView = React.createClass({
var ds = new ListView.DataSource({rowHasChanged: this._rowHasChanged});
return {
- assets: [],
+ assets: ([]: Array),
groupTypes: this.props.groupTypes,
- lastCursor: null,
+ lastCursor: (null : ?string),
noMore: false,
loadingMore: false,
dataSource: ds,
@@ -99,21 +100,21 @@ var CameraRollView = React.createClass({
this.fetch();
},
- componentWillReceiveProps: function(nextProps) {
+ componentWillReceiveProps: function(nextProps: {groupTypes?: string}) {
if (this.props.groupTypes !== nextProps.groupTypes) {
this.fetch(true);
}
},
- _fetch: function(clear) {
+ _fetch: function(clear?: boolean) {
if (clear) {
this.setState(this.getInitialState(), this.fetch);
return;
}
- var fetchParams = {
+ var fetchParams: Object = {
first: this.props.batchSize,
- groupTypes: this.props.groupTypes,
+ groupTypes: this.props.groupTypes
};
if (this.state.lastCursor) {
fetchParams.after = this.state.lastCursor;
@@ -126,7 +127,7 @@ var CameraRollView = React.createClass({
* Fetches more images from the camera roll. If clear is set to true, it will
* set the component to its initial state and re-fetch the images.
*/
- fetch: function(clear) {
+ fetch: function(clear?: boolean) {
if (!this.state.loadingMore) {
this.setState({loadingMore: true}, () => { this._fetch(clear); });
}
@@ -144,7 +145,7 @@ var CameraRollView = React.createClass({
);
},
- _rowHasChanged: function(r1, r2) {
+ _rowHasChanged: function(r1: Array, r2: Array): boolean {
if (r1.length !== r2.length) {
return true;
}
@@ -166,7 +167,7 @@ var CameraRollView = React.createClass({
},
// rowData is an array of images
- _renderRow: function(rowData, sectionID, rowID) {
+ _renderRow: function(rowData: Array, sectionID: string, rowID: string) {
var images = rowData.map((image) => {
if (image === null) {
return null;
@@ -181,9 +182,9 @@ var CameraRollView = React.createClass({
);
},
- _appendAssets: function(data) {
+ _appendAssets: function(data: Object) {
var assets = data.edges;
- var newState = { loadingMore: false };
+ var newState: Object = { loadingMore: false };
if (!data.page_info.has_next_page) {
newState.noMore = true;
diff --git a/Examples/UIExplorer/DatePickerExample.js b/Examples/UIExplorer/DatePickerExample.js
index ab8b17625..4382f929f 100644
--- a/Examples/UIExplorer/DatePickerExample.js
+++ b/Examples/UIExplorer/DatePickerExample.js
@@ -1,5 +1,6 @@
/**
* Copyright 2004-present Facebook. All Rights Reserved.
+ * @flow
*/
'use strict';
@@ -118,7 +119,7 @@ exports.description = 'Select dates and times using the native UIDatePicker.';
exports.examples = [
{
title: '',
- render: function() {
+ render: function(): ReactElement {
return ;
},
}];
diff --git a/Examples/UIExplorer/GeolocationExample.js b/Examples/UIExplorer/GeolocationExample.js
index 78ba29b9d..38d720ba7 100644
--- a/Examples/UIExplorer/GeolocationExample.js
+++ b/Examples/UIExplorer/GeolocationExample.js
@@ -1,5 +1,6 @@
/**
* Copyright 2004-present Facebook. All Rights Reserved.
+ * @flow
*/
/* eslint no-console: 0 */
'use strict';
@@ -19,13 +20,15 @@ exports.description = 'Examples of using the Geolocation API.';
exports.examples = [
{
title: 'navigator.geolocation',
- render: function() {
+ render: function(): ReactElement {
return ;
},
}
];
var GeolocationExample = React.createClass({
+ watchID: (null: ?number),
+
getInitialState: function() {
return {
initialPosition: 'unknown',
diff --git a/Examples/UIExplorer/LayoutExample.js b/Examples/UIExplorer/LayoutExample.js
index 2586694ec..ab8b3dc65 100644
--- a/Examples/UIExplorer/LayoutExample.js
+++ b/Examples/UIExplorer/LayoutExample.js
@@ -1,5 +1,6 @@
/**
* Copyright 2004-present Facebook. All Rights Reserved.
+ * @flow
*/
'use strict';
diff --git a/Examples/UIExplorer/ListViewSimpleExample.js b/Examples/UIExplorer/ListViewSimpleExample.js
index c0a84fc54..b3f0f8c96 100644
--- a/Examples/UIExplorer/ListViewSimpleExample.js
+++ b/Examples/UIExplorer/ListViewSimpleExample.js
@@ -1,5 +1,6 @@
/**
* Copyright 2004-present Facebook. All Rights Reserved.
+* @flow
*/
'use strict';
@@ -28,6 +29,8 @@ var ListViewSimpleExample = React.createClass({
};
},
+ _pressData: ({}: {[key: number]: boolean}),
+
componentWillMount: function() {
this._pressData = {};
},
@@ -46,7 +49,7 @@ var ListViewSimpleExample = React.createClass({
);
},
- _renderRow: function(rowData, sectionID, rowID) {
+ _renderRow: function(rowData: string, sectionID: number, rowID: number) {
var rowHash = Math.abs(hashCode(rowData));
var imgSource = {
uri: THUMB_URLS[rowHash % THUMB_URLS.length],
@@ -66,7 +69,7 @@ var ListViewSimpleExample = React.createClass({
);
},
- _genRows: function(pressData) {
+ _genRows: function(pressData: {[key: number]: boolean}): Array {
var dataBlob = [];
for (var ii = 0; ii < 100; ii++) {
var pressedText = pressData[ii] ? ' (pressed)' : '';
@@ -75,7 +78,7 @@ var ListViewSimpleExample = React.createClass({
return dataBlob;
},
- _pressRow: function(rowID) {
+ _pressRow: function(rowID: number) {
this._pressData[rowID] = !this._pressData[rowID];
this.setState({dataSource: this.state.dataSource.cloneWithRows(
this._genRows(this._pressData)
diff --git a/Examples/UIExplorer/NavigatorIOSExample.js b/Examples/UIExplorer/NavigatorIOSExample.js
index 1d09d32a3..7b9234605 100644
--- a/Examples/UIExplorer/NavigatorIOSExample.js
+++ b/Examples/UIExplorer/NavigatorIOSExample.js
@@ -3,7 +3,7 @@
*/
'use strict';
-var React = require('react-native/addons');
+var React = require('react-native');
var ViewExample = require('./ViewExample');
var {
PixelRatio,
diff --git a/Examples/UIExplorer/UIExplorerApp.js b/Examples/UIExplorer/UIExplorerApp.js
index 95d02347e..c234d54b6 100644
--- a/Examples/UIExplorer/UIExplorerApp.js
+++ b/Examples/UIExplorer/UIExplorerApp.js
@@ -5,7 +5,7 @@
*/
'use strict';
-var React = require('react-native/addons');
+var React = require('react-native');
var UIExplorerList = require('./UIExplorerList');
var {
diff --git a/Examples/UIExplorer/UIExplorerList.js b/Examples/UIExplorer/UIExplorerList.js
index 97dddacb7..5ca5254ec 100644
--- a/Examples/UIExplorer/UIExplorerList.js
+++ b/Examples/UIExplorer/UIExplorerList.js
@@ -3,7 +3,7 @@
*/
'use strict';
-var React = require('react-native/addons');
+var React = require('react-native');
var {
ListView,
PixelRatio,
diff --git a/Libraries/ActionSheetIOS/RCTActionSheet.xcodeproj/project.pbxproj b/Libraries/ActionSheetIOS/RCTActionSheet.xcodeproj/project.pbxproj
index 095c4de35..4b05e5f43 100644
--- a/Libraries/ActionSheetIOS/RCTActionSheet.xcodeproj/project.pbxproj
+++ b/Libraries/ActionSheetIOS/RCTActionSheet.xcodeproj/project.pbxproj
@@ -152,7 +152,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 7.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@@ -186,7 +186,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 7.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;
diff --git a/Libraries/AdSupport/RCTAdSupport.xcodeproj/project.pbxproj b/Libraries/AdSupport/RCTAdSupport.xcodeproj/project.pbxproj
index 92576cd45..dc1f0393b 100644
--- a/Libraries/AdSupport/RCTAdSupport.xcodeproj/project.pbxproj
+++ b/Libraries/AdSupport/RCTAdSupport.xcodeproj/project.pbxproj
@@ -157,7 +157,7 @@
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
"$(SRCROOT)/../../ReactKit/**",
);
- IPHONEOS_DEPLOYMENT_TARGET = 8.2;
+ IPHONEOS_DEPLOYMENT_TARGET = 7.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@@ -196,7 +196,7 @@
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
"$(SRCROOT)/../../ReactKit/**",
);
- IPHONEOS_DEPLOYMENT_TARGET = 8.2;
+ IPHONEOS_DEPLOYMENT_TARGET = 7.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;
diff --git a/Libraries/Geolocation/RCTGeolocation.xcodeproj/project.pbxproj b/Libraries/Geolocation/RCTGeolocation.xcodeproj/project.pbxproj
index 94f9c3f91..96545a34c 100644
--- a/Libraries/Geolocation/RCTGeolocation.xcodeproj/project.pbxproj
+++ b/Libraries/Geolocation/RCTGeolocation.xcodeproj/project.pbxproj
@@ -152,7 +152,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 7.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@@ -186,7 +186,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 7.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;
diff --git a/Libraries/Image/RCTImage.xcodeproj/project.pbxproj b/Libraries/Image/RCTImage.xcodeproj/project.pbxproj
index dea9cb419..fa6c8c084 100644
--- a/Libraries/Image/RCTImage.xcodeproj/project.pbxproj
+++ b/Libraries/Image/RCTImage.xcodeproj/project.pbxproj
@@ -194,7 +194,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 7.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@@ -228,7 +228,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 7.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;
diff --git a/Libraries/Network/RCTNetwork.xcodeproj/project.pbxproj b/Libraries/Network/RCTNetwork.xcodeproj/project.pbxproj
index 252d73cda..f2f3f6a33 100644
--- a/Libraries/Network/RCTNetwork.xcodeproj/project.pbxproj
+++ b/Libraries/Network/RCTNetwork.xcodeproj/project.pbxproj
@@ -158,7 +158,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 7.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@@ -192,7 +192,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 7.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;
diff --git a/Libraries/Text/RCTText.xcodeproj/project.pbxproj b/Libraries/Text/RCTText.xcodeproj/project.pbxproj
index 240d7c51b..22eafac25 100644
--- a/Libraries/Text/RCTText.xcodeproj/project.pbxproj
+++ b/Libraries/Text/RCTText.xcodeproj/project.pbxproj
@@ -176,7 +176,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 7.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@@ -210,7 +210,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 7.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;
diff --git a/Libraries/Utilities/AlertIOS.js b/Libraries/Utilities/AlertIOS.js
index 8a342004c..3b2530f18 100644
--- a/Libraries/Utilities/AlertIOS.js
+++ b/Libraries/Utilities/AlertIOS.js
@@ -44,7 +44,7 @@ class AlertIOS {
static alert(
title: ?string,
message: ?string,
- buttons: ?Array<{
+ buttons?: Array<{
text: ?string;
onPress: ?Function;
}>
diff --git a/Libraries/Vibration/RCTVibration.xcodeproj/project.pbxproj b/Libraries/Vibration/RCTVibration.xcodeproj/project.pbxproj
index efd86976e..8de930901 100644
--- a/Libraries/Vibration/RCTVibration.xcodeproj/project.pbxproj
+++ b/Libraries/Vibration/RCTVibration.xcodeproj/project.pbxproj
@@ -157,7 +157,7 @@
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
"$(SRCROOT)/../../ReactKit/**",
);
- IPHONEOS_DEPLOYMENT_TARGET = 8.2;
+ IPHONEOS_DEPLOYMENT_TARGET = 7.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@@ -196,7 +196,7 @@
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
"$(SRCROOT)/../../ReactKit/**",
);
- IPHONEOS_DEPLOYMENT_TARGET = 8.2;
+ IPHONEOS_DEPLOYMENT_TARGET = 7.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;
diff --git a/Libraries/react-native/addons.js b/Libraries/react-native/addons.js
deleted file mode 100644
index 864d8906d..000000000
--- a/Libraries/react-native/addons.js
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- * Copyright 2004-present Facebook. All Rights Reserved.
- *
- * @flow
- */
-'use strict';
-
-var LinkedStateMixin = require('LinkedStateMixin');
-var ReactComponentWithPureRenderMixin = require('ReactComponentWithPureRenderMixin');
-var ReactNative = require('react-native');
-var ReactUpdates = require('ReactUpdates');
-
-var cloneWithProps = require('cloneWithProps');
-var update = require('update');
-
-var addons = {
- LinkedStateMixin: LinkedStateMixin,
- PureRenderMixin: ReactComponentWithPureRenderMixin,
- batchedUpdates: ReactUpdates.batchedUpdates,
- cloneWithProps: cloneWithProps,
- update: update,
- Perf: undefined,
- TestUtils: undefined,
-};
-
-if (__DEV__) {
- addons.Perf = require('ReactDefaultPerf');
- addons.TestUtils = require('ReactTestUtils');
-}
-
-var ReactNativeWithAddons = {
- ...ReactNative,
- addons: addons,
-};
-
-module.exports = ReactNativeWithAddons;
diff --git a/Libraries/react-native/package.json b/Libraries/react-native/package.json
deleted file mode 100644
index e8306d485..000000000
--- a/Libraries/react-native/package.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "name": "react-native",
- "main": "react-native.js",
- "directories": {".": ""}
-}
diff --git a/Libraries/react-native/react-native.js b/Libraries/react-native/react-native.js
index 8c53abd53..4642c5b9b 100644
--- a/Libraries/react-native/react-native.js
+++ b/Libraries/react-native/react-native.js
@@ -5,9 +5,14 @@
*/
'use strict';
-var ReactNative = {
- ...require('React'),
-
+// Export React, plus some native additions.
+//
+// The use of Object.create/assign is to work around a Flow bug (#6560135).
+// Once that is fixed, change this back to
+//
+// var ReactNative = {...require('React'), /* additions */}
+//
+var ReactNative = Object.assign(Object.create(require('React')), {
// Components
ActivityIndicatorIOS: require('ActivityIndicatorIOS'),
DatePickerIOS: require('DatePickerIOS'),
@@ -45,7 +50,20 @@ var ReactNative = {
TimerMixin: require('TimerMixin'),
VibrationIOS: require('VibrationIOS'),
- invariant: require('invariant'),
-};
+ addons: {
+ batchedUpdates: require('ReactUpdates').batchedUpdates,
+ LinkedStateMixin: require('LinkedStateMixin'),
+ Perf: undefined,
+ PureRenderMixin: require('ReactComponentWithPureRenderMixin'),
+ TestUtils: undefined,
+ cloneWithProps: require('cloneWithProps'),
+ update: require('update'),
+ },
+});
+
+if (__DEV__) {
+ ReactNative.addons.Perf = require('ReactDefaultPerf');
+ ReactNative.addons.TestUtils = require('ReactTestUtils');
+}
module.exports = ReactNative;
diff --git a/Libraries/vendor/core/clearImmediate.js b/Libraries/vendor/core/clearImmediate.js
new file mode 100644
index 000000000..060147458
--- /dev/null
+++ b/Libraries/vendor/core/clearImmediate.js
@@ -0,0 +1,19 @@
+/**
+ * @generated SignedSource<<4595f3986407fd02332cf9f5fc12e70f>>
+ *
+ * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ * !! This file is a check-in of a static_upstream project! !!
+ * !! !!
+ * !! You should not modify this file directly. Instead: !!
+ * !! 1) Use `fjs use-upstream` to temporarily replace this with !!
+ * !! the latest version from upstream. !!
+ * !! 2) Make your changes, test them, etc. !!
+ * !! 3) Use `fjs push-upstream` to copy your changes back to !!
+ * !! static_upstream. !!
+ * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ *
+ * @providesModule clearImmediate
+ */
+
+module.exports = global.clearImmediate ||
+ require('ImmediateImplementation').clearImmediate;
diff --git a/ReactKit/ReactKit.xcodeproj/project.pbxproj b/ReactKit/ReactKit.xcodeproj/project.pbxproj
index d00c6b2c8..7cd218891 100644
--- a/ReactKit/ReactKit.xcodeproj/project.pbxproj
+++ b/ReactKit/ReactKit.xcodeproj/project.pbxproj
@@ -546,7 +546,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 7.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@@ -581,7 +581,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 7.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;
diff --git a/ReactKit/Views/RCTScrollViewManager.m b/ReactKit/Views/RCTScrollViewManager.m
index 799d4b83c..620cfcaf4 100644
--- a/ReactKit/Views/RCTScrollViewManager.m
+++ b/ReactKit/Views/RCTScrollViewManager.m
@@ -67,7 +67,7 @@ RCT_REMAP_VIEW_PROPERTY(contentOffset, scrollView.contentOffset);
return;
}
- CGSize size = ((id)view).contentSize;
+ CGSize size = ((RCTScrollView *)view).scrollView.contentSize;
callback(@[@{
@"width" : @(size.width),
@"height" : @(size.height)
diff --git a/package.json b/package.json
index 7c1e940e9..38ac7fd4b 100644
--- a/package.json
+++ b/package.json
@@ -1,5 +1,5 @@
{
- "name": "react-native-github",
+ "name": "react-native",
"version": "0.1.0",
"description": "Build native apps with React!",
"repository": {
@@ -20,6 +20,7 @@
"source-map"
]
},
+ "main": "Libraries/react-native/react-native.js",
"scripts": {
"test": "jest",
"lint": "node linter.js Examples/",
diff --git a/packager/packager.js b/packager/packager.js
index ce4dbd25f..7214aaafd 100644
--- a/packager/packager.js
+++ b/packager/packager.js
@@ -72,6 +72,8 @@ console.log('\n' +
' ===============================================================\n'
);
+console.log('Looking for JS files in\n ', options.projectRoots.join('\n '));
+
process.on('uncaughtException', function(e) {
console.error(e);
console.error(e.stack);