From 82461e04ab42ea6fbf10443d2771f681e252cc32 Mon Sep 17 00:00:00 2001 From: Christopher Chedeau Date: Mon, 23 Mar 2015 10:06:16 -0700 Subject: [PATCH] Updates from Mon 23 Mar - [React Native] Fix iOS 7 crashes b/c missing Photos.fmwk | Alex Akers - UIExplorer flowification | Basil Hosmer - Add clearImmediate module | Marshall Roch - [ReactNative] Print directories packager is serving files from | Alex Kotliarskyi - Work around flow bug with exports | Marshall Roch - [ReactNative] Move packager/init.sh to GitHub | Alex Kotliarskyi - [ReactNative] Remove react-native/package.json | Christopher Chedeau - [ReactNative] Returning actual contentSize for RCTScrollViewManager | Henry Lung --- Examples/Movies/MoviesApp.js | 2 +- Examples/UIExplorer/ActionSheetIOSExample.js | 9 ++--- .../UIExplorer/ActivityIndicatorExample.js | 3 +- Examples/UIExplorer/AdSupportIOSExample.js | 3 +- Examples/UIExplorer/AlertIOSExample.js | 1 + Examples/UIExplorer/AppStateExample.js | 1 + Examples/UIExplorer/AppStateIOSExample.js | 5 +-- Examples/UIExplorer/AsyncStorageExample.js | 3 +- Examples/UIExplorer/CameraRollExample.ios.js | 3 +- Examples/UIExplorer/CameraRollView.ios.js | 25 ++++++------- Examples/UIExplorer/DatePickerExample.js | 3 +- Examples/UIExplorer/GeolocationExample.js | 5 ++- Examples/UIExplorer/LayoutExample.js | 1 + Examples/UIExplorer/ListViewSimpleExample.js | 9 +++-- Examples/UIExplorer/NavigatorIOSExample.js | 2 +- Examples/UIExplorer/UIExplorerApp.js | 2 +- Examples/UIExplorer/UIExplorerList.js | 2 +- .../RCTActionSheet.xcodeproj/project.pbxproj | 4 +-- .../RCTAdSupport.xcodeproj/project.pbxproj | 4 +-- .../RCTGeolocation.xcodeproj/project.pbxproj | 4 +-- .../Image/RCTImage.xcodeproj/project.pbxproj | 4 +-- .../RCTNetwork.xcodeproj/project.pbxproj | 4 +-- .../Text/RCTText.xcodeproj/project.pbxproj | 4 +-- Libraries/Utilities/AlertIOS.js | 2 +- .../RCTVibration.xcodeproj/project.pbxproj | 4 +-- Libraries/react-native/addons.js | 36 ------------------- Libraries/react-native/package.json | 5 --- Libraries/react-native/react-native.js | 28 ++++++++++++--- Libraries/vendor/core/clearImmediate.js | 19 ++++++++++ ReactKit/ReactKit.xcodeproj/project.pbxproj | 4 +-- ReactKit/Views/RCTScrollViewManager.m | 2 +- package.json | 3 +- packager/packager.js | 2 ++ 33 files changed, 112 insertions(+), 96 deletions(-) delete mode 100644 Libraries/react-native/addons.js delete mode 100644 Libraries/react-native/package.json create mode 100644 Libraries/vendor/core/clearImmediate.js 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);