├── .buckconfig ├── .circleci └── config.yml ├── .editorconfig ├── .eslintignore ├── .eslintrc ├── .flowconfig ├── .gitattributes ├── .github └── ISSUE_TEMPLATE │ ├── bug.md │ └── feature.md ├── .gitignore ├── .npmignore ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── ContainerShip ├── Dockerfile.android ├── Dockerfile.android-base ├── Dockerfile.javascript └── scripts │ ├── run-android-ci-instrumentation-tests.js │ ├── run-android-docker-instrumentation-tests.sh │ ├── run-android-docker-unit-tests.sh │ ├── run-ci-e2e-tests.sh │ └── run-instrumentation-tests-via-adb-shell.sh ├── DockerTests.md ├── IntegrationTests ├── AccessibilityManagerTest.js ├── AppEventsTest.js ├── AsyncStorageTest.js ├── ImageCachePolicyTest.js ├── ImageSnapshotTest.js ├── IntegrationTestHarnessTest.js ├── IntegrationTestsApp.js ├── LayoutEventsTest.js ├── LoggingTestModule.js ├── PromiseTest.js ├── PropertiesUpdateTest.js ├── RCTRootViewIntegrationTestApp.js ├── ReactContentSizeUpdateTest.js ├── SimpleSnapshotTest.js ├── SizeFlexibilityUpdateTest.js ├── SyncMethodTest.js ├── TimersTest.js ├── WebSocketTest.js ├── WebViewTest.js ├── blue_square.png ├── launchWebSocketServer.command ├── red_square.png └── websocket_integration_test_server.js ├── Jenkinsfile ├── LICENSE ├── LICENSE-docs ├── Libraries ├── .eslintrc ├── ART │ ├── ART.xcodeproj │ │ └── project.pbxproj │ ├── ARTCGFloatArray.h │ ├── ARTContainer.h │ ├── ARTGroup.h │ ├── ARTGroup.m │ ├── ARTNode.h │ ├── ARTNode.m │ ├── ARTRenderable.h │ ├── ARTRenderable.m │ ├── ARTSerializablePath.js │ ├── ARTShape.h │ ├── ARTShape.m │ ├── ARTSurfaceView.h │ ├── ARTSurfaceView.m │ ├── ARTText.h │ ├── ARTText.m │ ├── ARTTextFrame.h │ ├── Brushes │ │ ├── ARTBrush.h │ │ ├── ARTBrush.m │ │ ├── ARTLinearGradient.h │ │ ├── ARTLinearGradient.m │ │ ├── ARTPattern.h │ │ ├── ARTPattern.m │ │ ├── ARTRadialGradient.h │ │ ├── ARTRadialGradient.m │ │ ├── ARTSolidColor.h │ │ └── ARTSolidColor.m │ ├── RCTConvert+ART.h │ ├── RCTConvert+ART.m │ ├── ReactNativeART.js │ └── ViewManagers │ │ ├── ARTGroupManager.h │ │ ├── ARTGroupManager.m │ │ ├── ARTNodeManager.h │ │ ├── ARTNodeManager.m │ │ ├── ARTRenderableManager.h │ │ ├── ARTRenderableManager.m │ │ ├── ARTShapeManager.h │ │ ├── ARTShapeManager.m │ │ ├── ARTSurfaceViewManager.h │ │ ├── ARTSurfaceViewManager.m │ │ ├── ARTTextManager.h │ │ └── ARTTextManager.m ├── ActionSheetIOS │ ├── ActionSheetIOS.js │ ├── RCTActionSheet.xcodeproj │ │ └── project.pbxproj │ ├── RCTActionSheetManager.h │ └── RCTActionSheetManager.m ├── Alert │ ├── Alert.js │ ├── AlertIOS.js │ ├── RCTAlertManager.android.js │ └── RCTAlertManager.ios.js ├── Animated │ ├── examples │ │ ├── demo.html │ │ ├── pic1.jpg │ │ ├── pic2.jpg │ │ ├── pic3.jpg │ │ └── style.css │ ├── release │ │ ├── gulpfile.js │ │ └── package.json │ └── src │ │ ├── Animated.js │ │ ├── AnimatedEvent.js │ │ ├── AnimatedImplementation.js │ │ ├── AnimatedWeb.js │ │ ├── Easing.js │ │ ├── NativeAnimatedHelper.js │ │ ├── SpringConfig.js │ │ ├── __tests__ │ │ ├── Animated-test.js │ │ ├── AnimatedNative-test.js │ │ ├── Easing-test.js │ │ ├── Interpolation-test.js │ │ └── bezier-test.js │ │ ├── animations │ │ ├── Animation.js │ │ ├── DecayAnimation.js │ │ ├── SpringAnimation.js │ │ └── TimingAnimation.js │ │ ├── bezier.js │ │ ├── createAnimatedComponent.js │ │ ├── nodes │ │ ├── AnimatedAddition.js │ │ ├── AnimatedDiffClamp.js │ │ ├── AnimatedDivision.js │ │ ├── AnimatedInterpolation.js │ │ ├── AnimatedModulo.js │ │ ├── AnimatedMultiplication.js │ │ ├── AnimatedNode.js │ │ ├── AnimatedProps.js │ │ ├── AnimatedStyle.js │ │ ├── AnimatedTracking.js │ │ ├── AnimatedTransform.js │ │ ├── AnimatedValue.js │ │ ├── AnimatedValueXY.js │ │ └── AnimatedWithChildren.js │ │ └── polyfills │ │ ├── InteractionManager.js │ │ ├── Set.js │ │ └── flattenStyle.js ├── AppState │ └── AppState.js ├── BatchedBridge │ ├── BatchedBridge.js │ ├── MessageQueue.js │ ├── NativeModules.js │ ├── __mocks__ │ │ ├── MessageQueueTestConfig.js │ │ └── MessageQueueTestModule.js │ └── __tests__ │ │ ├── MessageQueue-test.js │ │ └── NativeModules-test.js ├── Blob │ ├── Blob.js │ ├── BlobTypes.js │ ├── RCTBlob.xcodeproj │ │ └── project.pbxproj │ ├── RCTBlobManager.h │ ├── RCTBlobManager.m │ └── URL.js ├── BugReporting │ ├── BugReporting.js │ ├── dumpReactTree.js │ └── getReactData.js ├── CameraRoll │ ├── CameraRoll.js │ ├── ImagePickerIOS.js │ ├── RCTAssetsLibraryRequestHandler.h │ ├── RCTAssetsLibraryRequestHandler.m │ ├── RCTCameraRoll.xcodeproj │ │ └── project.pbxproj │ ├── RCTCameraRollManager.h │ ├── RCTCameraRollManager.m │ ├── RCTImagePickerManager.h │ ├── RCTImagePickerManager.m │ ├── RCTPhotoLibraryImageLoader.h │ └── RCTPhotoLibraryImageLoader.m ├── Components │ ├── AccessibilityInfo │ │ ├── AccessibilityInfo.android.js │ │ ├── AccessibilityInfo.ios.js │ │ └── AccessibilityInfo.macos.js │ ├── ActivityIndicator │ │ └── ActivityIndicator.js │ ├── AppleTV │ │ ├── TVEventHandler.android.js │ │ ├── TVEventHandler.ios.js │ │ ├── TVEventHandler.macos.js │ │ └── TVViewPropTypes.js │ ├── Button.js │ ├── CheckBox │ │ ├── CheckBox.android.js │ │ ├── CheckBox.ios.js │ │ └── CheckBox.macos.js │ ├── Clipboard │ │ └── Clipboard.js │ ├── Cursor │ │ └── Cursor.macos.js │ ├── DatePicker │ │ └── DatePickerIOS.macos.js │ ├── DatePickerAndroid │ │ ├── DatePickerAndroid.android.js │ │ ├── DatePickerAndroid.ios.js │ │ └── DatePickerAndroid.macos.js │ ├── DrawerAndroid │ │ ├── DrawerLayoutAndroid.android.js │ │ └── DrawerLayoutAndroid.macos.js │ ├── Intent │ │ └── IntentAndroid.macos.js │ ├── Keyboard │ │ ├── Keyboard.ios.js │ │ ├── Keyboard.macos.js │ │ └── KeyboardAvoidingView.js │ ├── LazyRenderer.js │ ├── MaskedView │ │ ├── MaskedViewIOS.android.js │ │ ├── MaskedViewIOS.ios.js │ │ └── MaskedViewIOS.macos.js │ ├── Navigation │ │ ├── NavigatorIOS.ios.js │ │ └── NavigatorIOS.macos.js │ ├── Picker │ │ ├── Picker.js │ │ ├── PickerAndroid.android.js │ │ ├── PickerAndroid.ios.js │ │ ├── PickerIOS.android.js │ │ └── PickerIOS.ios.js │ ├── ProgressBarAndroid │ │ ├── ProgressBarAndroid.android.js │ │ └── ProgressBarAndroid.macos.js │ ├── ProgressViewIOS │ │ ├── ProgressViewIOS.android.js │ │ ├── ProgressViewIOS.ios.js │ │ └── ProgressViewIOS.macos.js │ ├── RefreshControl │ │ ├── RefreshControl.js │ │ └── __mocks__ │ │ │ └── RefreshControlMock.js │ ├── SafeAreaView │ │ ├── SafeAreaView.android.js │ │ ├── SafeAreaView.ios.js │ │ └── SafeAreaView.macos.js │ ├── ScrollResponder.js │ ├── ScrollView │ │ ├── RecyclerViewBackedScrollView.macos.js │ │ ├── ScrollView.js │ │ ├── ScrollViewStickyHeader.js │ │ ├── __mocks__ │ │ │ └── ScrollViewMock.js │ │ └── processDecelerationRate.js │ ├── SegmentedControlIOS │ │ ├── SegmentedControlIOS.android.js │ │ └── SegmentedControlIOS.macos.js │ ├── Slider │ │ └── Slider.js │ ├── StaticContainer.react.js │ ├── StaticRenderer.js │ ├── StatusBar │ │ ├── StatusBar.js │ │ ├── StatusBarIOS.android.js │ │ ├── StatusBarIOS.ios.js │ │ └── StatusBarIOS.macos.js │ ├── Subscribable.js │ ├── Switch │ │ └── Switch.js │ ├── TabBarIOS │ │ ├── TabBarIOS.android.js │ │ ├── TabBarIOS.ios.js │ │ ├── TabBarIOS.macos.js │ │ ├── TabBarItemIOS.android.js │ │ └── TabBarItemIOS.ios.js │ ├── TextInput │ │ ├── TextInput.js │ │ └── TextInputState.js │ ├── TimePickerAndroid │ │ ├── TimePickerAndroid.android.js │ │ ├── TimePickerAndroid.ios.js │ │ └── TimePickerAndroid.macos.js │ ├── ToastAndroid │ │ ├── ToastAndroid.android.js │ │ └── ToastAndroid.ios.js │ ├── ToolbarAndroid │ │ ├── ToolbarAndroid.android.js │ │ └── ToolbarAndroid.ios.js │ ├── Touchable │ │ ├── BoundingDimensions.js │ │ ├── PooledClass.js │ │ ├── Position.js │ │ ├── Touchable.js │ │ ├── TouchableBounce.js │ │ ├── TouchableHighlight.js │ │ ├── TouchableNativeFeedback.android.js │ │ ├── TouchableNativeFeedback.ios.js │ │ ├── TouchableNativeFeedback.macos.js │ │ ├── TouchableOpacity.js │ │ ├── TouchableWithoutFeedback.js │ │ ├── __mocks__ │ │ │ └── ensureComponentIsNative.js │ │ ├── __tests__ │ │ │ ├── TouchableHighlight-test.js │ │ │ └── __snapshots__ │ │ │ │ └── TouchableHighlight-test.js.snap │ │ ├── ensureComponentIsNative.js │ │ └── ensurePositiveDelayProps.js │ ├── UnimplementedViews │ │ └── UnimplementedView.js │ ├── View │ │ ├── PlatformViewPropTypes.android.js │ │ ├── PlatformViewPropTypes.ios.js │ │ ├── PlatformViewPropTypes.macos.js │ │ ├── ReactNativeStyleAttributes.js │ │ ├── ReactNativeViewAttributes.js │ │ ├── ShadowPropTypesIOS.js │ │ ├── View.js │ │ ├── View.js.flow │ │ ├── ViewAccessibility.js │ │ ├── ViewPropTypes.js │ │ └── ViewStylePropTypes.js │ ├── ViewPager │ │ ├── ViewPagerAndroid.android.js │ │ ├── ViewPagerAndroid.ios.js │ │ └── ViewPagerAndroid.macos.js │ └── WebView │ │ ├── WebView.android.js │ │ └── WebView.macos.js ├── Core │ ├── Devtools │ │ ├── __tests__ │ │ │ └── parseErrorStack-test.js │ │ ├── getDevServer.js │ │ ├── openFileInEditor.js │ │ ├── parseErrorStack.js │ │ ├── setupDevtools.js │ │ └── symbolicateStackTrace.js │ ├── ExceptionsManager.js │ ├── InitializeCore.js │ ├── ReactNativeVersion.js │ ├── ReactNativeVersionCheck.js │ ├── Timers │ │ └── JSTimers.js │ ├── __mocks__ │ │ └── ErrorUtils.js │ └── __tests__ │ │ └── ReactNativeVersionCheck-test.js ├── CustomComponents │ └── NavigationExperimental │ │ └── assets │ │ ├── back-icon@1.5x.macos.png │ │ ├── back-icon@1x.macos.png │ │ ├── back-icon@2x.macos.png │ │ ├── back-icon@3x.macos.png │ │ └── back-icon@4x.macos.png ├── EventEmitter │ ├── MissingNativeEventEmitterShim.js │ ├── NativeEventEmitter.js │ ├── RCTDeviceEventEmitter.js │ ├── RCTEventEmitter.js │ ├── RCTNativeAppEventEmitter.js │ └── __mocks__ │ │ └── NativeEventEmitter.js ├── Experimental │ ├── Incremental.js │ ├── IncrementalExample.js │ ├── IncrementalGroup.js │ ├── IncrementalPresenter.js │ ├── SwipeableRow │ │ ├── SwipeableFlatList.js │ │ ├── SwipeableListView.js │ │ ├── SwipeableListViewDataSource.js │ │ ├── SwipeableQuickActionButton.js │ │ ├── SwipeableQuickActions.js │ │ └── SwipeableRow.js │ └── WindowedListView.js ├── Geolocation │ ├── Geolocation.js │ ├── RCTGeolocation.xcodeproj │ │ └── project.pbxproj │ ├── RCTLocationObserver.h │ └── RCTLocationObserver.m ├── Image │ ├── AssetRegistry.js │ ├── AssetSourceResolver.js │ ├── Image.android.js │ ├── Image.macos.js │ ├── ImageBackground.js │ ├── ImageEditor.js │ ├── ImageResizeMode.js │ ├── ImageSource.js │ ├── ImageSourcePropType.js │ ├── ImageStore.js │ ├── ImageStylePropTypes.js │ ├── RCTGIFImageDecoder.h │ ├── RCTGIFImageDecoder.m │ ├── RCTImage.xcodeproj │ │ └── project.pbxproj │ ├── RCTImageBlurUtils.h │ ├── RCTImageBlurUtils.m │ ├── RCTImageCache.h │ ├── RCTImageCache.m │ ├── RCTImageEditingManager.h │ ├── RCTImageEditingManager.m │ ├── RCTImageLoader.h │ ├── RCTImageLoader.m │ ├── RCTImageShadowView.h │ ├── RCTImageShadowView.m │ ├── RCTImageStoreManager.h │ ├── RCTImageStoreManager.m │ ├── RCTImageUtils.h │ ├── RCTImageUtils.m │ ├── RCTImageView.h │ ├── RCTImageView.m │ ├── RCTImageViewManager.h │ ├── RCTImageViewManager.m │ ├── RCTLocalAssetImageLoader.h │ ├── RCTLocalAssetImageLoader.m │ ├── RCTResizeMode.h │ ├── RCTResizeMode.m │ ├── RelativeImageStub.js │ ├── __tests__ │ │ ├── __snapshots__ │ │ │ └── assetRelativePathInSnapshot.js.snap │ │ ├── assetRelativePathInSnapshot.js │ │ ├── img │ │ │ ├── img1.png │ │ │ └── img2.png │ │ └── resolveAssetSource-test.js │ ├── nativeImageSource.js │ └── resolveAssetSource.js ├── Inspector │ ├── BorderBox.js │ ├── BoxInspector.js │ ├── ElementBox.js │ ├── ElementProperties.js │ ├── Inspector.js │ ├── InspectorOverlay.js │ ├── InspectorPanel.js │ ├── NetworkOverlay.js │ ├── PerformanceOverlay.js │ ├── StyleInspector.js │ └── resolveBoxStyle.js ├── Interaction │ ├── Batchinator.js │ ├── BridgeSpyStallHandler.js │ ├── FrameRateLogger.js │ ├── InteractionManager.js │ ├── InteractionMixin.js │ ├── InteractionStallDebugger.js │ ├── JSEventLoopWatchdog.js │ ├── PanResponder.js │ ├── ReactPerfStallHandler.js │ ├── TaskQueue.js │ └── __tests__ │ │ ├── Batchinator-test.js │ │ ├── InteractionManager-test.js │ │ ├── InteractionMixin-test.js │ │ └── TaskQueue-test.js ├── JSInspector │ ├── InspectorAgent.js │ ├── JSInspector.js │ └── NetworkAgent.js ├── LayoutAnimation │ └── LayoutAnimation.js ├── Linking │ └── Linking.js ├── LinkingIOS │ ├── RCTLinking.xcodeproj │ │ └── project.pbxproj │ ├── RCTLinkingManager.h │ └── RCTLinkingManager.m ├── Lists │ ├── FillRateHelper.js │ ├── FlatList.js │ ├── ListView │ │ ├── ListView.js │ │ ├── ListViewDataSource.js │ │ └── __mocks__ │ │ │ └── ListViewMock.js │ ├── MetroListView.js │ ├── SectionList.js │ ├── ViewabilityHelper.js │ ├── VirtualizeUtils.js │ ├── VirtualizedList.js │ ├── VirtualizedSectionList.js │ ├── __flowtests__ │ │ ├── FlatList-flowtest.js │ │ └── SectionList-flowtest.js │ └── __tests__ │ │ ├── FillRateHelper-test.js │ │ ├── FlatList-test.js │ │ ├── SectionList-test.js │ │ ├── ViewabilityHelper-test.js │ │ ├── VirtualizeUtils-test.js │ │ ├── VirtualizedList-test.js │ │ └── __snapshots__ │ │ ├── FlatList-test.js.snap │ │ ├── SectionList-test.js.snap │ │ ├── VirtualizeUtils-test.js.snap │ │ └── VirtualizedList-test.js.snap ├── Menu │ └── MenuManager.js ├── Modal │ └── Modal.js ├── NativeAnimation │ ├── Drivers │ │ ├── RCTAnimationDriver.h │ │ ├── RCTDecayAnimation.h │ │ ├── RCTDecayAnimation.m │ │ ├── RCTEventAnimation.h │ │ ├── RCTEventAnimation.m │ │ ├── RCTFrameAnimation.h │ │ ├── RCTFrameAnimation.m │ │ ├── RCTSpringAnimation.h │ │ └── RCTSpringAnimation.m │ ├── Nodes │ │ ├── RCTAdditionAnimatedNode.h │ │ ├── RCTAdditionAnimatedNode.m │ │ ├── RCTAnimatedNode.h │ │ ├── RCTAnimatedNode.m │ │ ├── RCTDiffClampAnimatedNode.h │ │ ├── RCTDiffClampAnimatedNode.m │ │ ├── RCTDivisionAnimatedNode.h │ │ ├── RCTDivisionAnimatedNode.m │ │ ├── RCTInterpolationAnimatedNode.h │ │ ├── RCTInterpolationAnimatedNode.m │ │ ├── RCTModuloAnimatedNode.h │ │ ├── RCTModuloAnimatedNode.m │ │ ├── RCTMultiplicationAnimatedNode.h │ │ ├── RCTMultiplicationAnimatedNode.m │ │ ├── RCTPropsAnimatedNode.h │ │ ├── RCTPropsAnimatedNode.m │ │ ├── RCTStyleAnimatedNode.h │ │ ├── RCTStyleAnimatedNode.m │ │ ├── RCTTransformAnimatedNode.h │ │ ├── RCTTransformAnimatedNode.m │ │ ├── RCTValueAnimatedNode.h │ │ └── RCTValueAnimatedNode.m │ ├── RCTAnimation.xcodeproj │ │ └── project.pbxproj │ ├── RCTAnimationUtils.h │ ├── RCTAnimationUtils.m │ ├── RCTNativeAnimatedModule.h │ ├── RCTNativeAnimatedModule.m │ ├── RCTNativeAnimatedNodesManager.h │ └── RCTNativeAnimatedNodesManager.m ├── NavigationExperimental │ └── NavigationReducer.js ├── Network │ ├── FormData.js │ ├── NetInfo.js │ ├── RCTDataRequestHandler.h │ ├── RCTDataRequestHandler.m │ ├── RCTFileRequestHandler.h │ ├── RCTFileRequestHandler.m │ ├── RCTHTTPRequestHandler.h │ ├── RCTHTTPRequestHandler.mm │ ├── RCTNetInfo.h │ ├── RCTNetInfo.m │ ├── RCTNetwork.xcodeproj │ │ └── project.pbxproj │ ├── RCTNetworkTask.h │ ├── RCTNetworkTask.m │ ├── RCTNetworking.android.js │ ├── RCTNetworking.h │ ├── RCTNetworking.ios.js │ ├── RCTNetworking.macos.js │ ├── RCTNetworking.mm │ ├── XHRInterceptor.js │ ├── XMLHttpRequest.js │ ├── __tests__ │ │ ├── FormData-test.js │ │ └── XMLHttpRequest-test.js │ ├── convertRequestBody.js │ └── fetch.js ├── Performance │ ├── QuickPerformanceLogger.js │ ├── SamplingProfiler.js │ └── Systrace.js ├── PermissionsAndroid │ └── PermissionsAndroid.js ├── Picker │ └── PickerIOS.macos.js ├── Promise.js ├── PushNotificationIOS │ ├── PushNotificationIOS.js │ ├── RCTPushNotification.xcodeproj │ │ └── project.pbxproj │ ├── RCTPushNotificationManager.h │ └── RCTPushNotificationManager.m ├── RCTTest │ ├── FBSnapshotTestCase │ │ ├── FBSnapshotTestCase.h │ │ ├── FBSnapshotTestCase.m │ │ ├── FBSnapshotTestController.h │ │ ├── FBSnapshotTestController.m │ │ ├── UIImage+Compare.h │ │ ├── UIImage+Compare.m │ │ ├── UIImage+Diff.h │ │ └── UIImage+Diff.m │ ├── RCTSnapshotManager.h │ ├── RCTSnapshotManager.m │ ├── RCTTest.xcodeproj │ │ └── project.pbxproj │ ├── RCTTestModule.h │ ├── RCTTestModule.m │ ├── RCTTestRunner.h │ ├── RCTTestRunner.m │ ├── SnapshotViewIOS.android.js │ ├── SnapshotViewIOS.ios.js │ └── SnapshotViewIOS.macos.js ├── ReactNative │ ├── AppContainer.js │ ├── AppRegistry.js │ ├── I18nManager.js │ ├── ReactNativeFeatureFlags.js │ ├── UIManager.js │ ├── UIManagerStatTracker.js │ ├── YellowBox.js │ ├── queryLayoutByID.js │ ├── renderApplication.js │ ├── requireNativeComponent.js │ └── verifyPropTypes.js ├── Renderer │ ├── REVISION │ ├── ReactNativeRenderer-dev.js │ ├── ReactNativeRenderer-prod.js │ └── shims │ │ ├── NativeMethodsMixin.js │ │ ├── ReactDebugTool.js │ │ ├── ReactFeatureFlags.js │ │ ├── ReactGlobalSharedState.js │ │ ├── ReactNative.js │ │ ├── ReactNativeBridgeEventPlugin.js │ │ ├── ReactNativeComponentTree.js │ │ ├── ReactNativePropRegistry.js │ │ ├── ReactNativeTypes.js │ │ ├── ReactPerf.js │ │ ├── ReactTypes.js │ │ ├── TouchHistoryMath.js │ │ ├── createReactNativeComponentClass.js │ │ └── takeSnapshot.js ├── Sample │ ├── Sample.android.js │ ├── Sample.h │ ├── Sample.ios.js │ ├── Sample.m │ ├── Sample.xcodeproj │ │ └── project.pbxproj │ └── package.json ├── Settings │ ├── RCTSettings.xcodeproj │ │ └── project.pbxproj │ ├── RCTSettingsManager.h │ ├── RCTSettingsManager.m │ ├── Settings.android.js │ ├── Settings.ios.js │ └── Settings.macos.js ├── Share │ └── Share.js ├── Storage │ └── AsyncStorage.js ├── StyleSheet │ ├── ColorPropType.js │ ├── EdgeInsetsPropType.js │ ├── LayoutPropTypes.js │ ├── PointPropType.js │ ├── StyleSheet.js │ ├── StyleSheetPropType.js │ ├── StyleSheetTypes.js │ ├── StyleSheetValidation.js │ ├── TransformPropTypes.js │ ├── __tests__ │ │ ├── __snapshots__ │ │ │ └── processTransform-test.js.snap │ │ ├── flattenStyle-test.js │ │ ├── normalizeColor-test.js │ │ ├── processColor-test.js │ │ ├── processTransform-test.js │ │ └── setNormalizedColorAlpha-test.js │ ├── flattenStyle.js │ ├── normalizeColor.js │ ├── processColor.js │ ├── processTransform.js │ └── setNormalizedColorAlpha.js ├── SurfaceBackedComponent │ ├── RCTSurfaceBackedComponent.h │ ├── RCTSurfaceBackedComponent.mm │ ├── RCTSurfaceBackedComponentState.h │ └── RCTSurfaceBackedComponentState.mm ├── SurfaceHostingComponent │ ├── RCTSurfaceHostingComponent+Internal.h │ ├── RCTSurfaceHostingComponent.h │ ├── RCTSurfaceHostingComponent.mm │ ├── RCTSurfaceHostingComponentController.h │ ├── RCTSurfaceHostingComponentController.mm │ ├── RCTSurfaceHostingComponentOptions.h │ ├── RCTSurfaceHostingComponentState.h │ └── RCTSurfaceHostingComponentState.mm ├── Text │ ├── RCTConvert+Text.h │ ├── RCTConvert+Text.m │ ├── RCTFontAttributes.h │ ├── RCTFontAttributes.m │ ├── RCTFontAttributesDelegate.h │ ├── RCTRawTextShadowView.h │ ├── RCTRawTextShadowView.m │ ├── RCTRawTextViewManager.h │ ├── RCTRawTextViewManager.m │ ├── RCTSecureTextField.h │ ├── RCTSecureTextField.m │ ├── RCTText.xcodeproj │ │ └── project.pbxproj │ ├── RCTTextField.h │ ├── RCTTextField.m │ ├── RCTTextFieldManager.m │ ├── RCTTextView.m │ ├── RCTTextViewManager.m │ ├── Text.js │ ├── Text │ │ ├── RCTTextShadowView.h │ │ ├── RCTTextShadowView.m │ │ ├── RCTTextView.h │ │ ├── RCTTextView.m │ │ ├── RCTTextViewManager.h │ │ └── RCTTextViewManager.m │ ├── TextInput │ │ ├── Multiline │ │ │ ├── RCTMultilineTextInputShadowView.h │ │ │ ├── RCTMultilineTextInputShadowView.m │ │ │ ├── RCTMultilineTextInputView.h │ │ │ ├── RCTMultilineTextInputView.m │ │ │ ├── RCTMultilineTextInputViewManager.h │ │ │ ├── RCTMultilineTextInputViewManager.m │ │ │ ├── RCTUITextView.h │ │ │ └── RCTUITextView.m │ │ ├── RCTBackedTextInputDelegate.h │ │ ├── RCTBackedTextInputDelegateAdapter.h │ │ ├── RCTBackedTextInputDelegateAdapter.m │ │ ├── RCTBackedTextInputViewProtocol.h │ │ ├── RCTBaseTextInputView.h │ │ ├── RCTBaseTextInputView.m │ │ ├── RCTBaseTextInputViewManager.h │ │ ├── RCTBaseTextInputViewManager.m │ │ ├── RCTTextSelection.h │ │ ├── RCTTextSelection.m │ │ └── Singleline │ │ │ ├── RCTSinglelineTextInputShadowView.h │ │ │ ├── RCTSinglelineTextInputShadowView.m │ │ │ ├── RCTSinglelineTextInputView.h │ │ │ ├── RCTSinglelineTextInputView.m │ │ │ ├── RCTSinglelineTextInputViewManager.h │ │ │ ├── RCTSinglelineTextInputViewManager.m │ │ │ ├── RCTUITextField.h │ │ │ └── RCTUITextField.m │ ├── TextInputLegacy │ │ ├── RCTMultilineTextInputView.h │ │ ├── RCTMultilineTextInputView.m │ │ ├── RCTSecureTextField.h │ │ ├── RCTSecureTextField.m │ │ ├── RCTShadowTextField.h │ │ ├── RCTShadowTextField.m │ │ ├── RCTShadowTextView.h │ │ ├── RCTShadowTextView.m │ │ ├── RCTTextField.h │ │ ├── RCTTextField.m │ │ ├── RCTTextFieldManager.h │ │ ├── RCTTextFieldManager.m │ │ ├── RCTTextManager.h │ │ ├── RCTTextManager.m │ │ ├── RCTTextSelection.h │ │ ├── RCTTextSelection.m │ │ ├── RCTTextViewManager.h │ │ ├── RCTTextViewManager.m │ │ ├── RCTUITextView.h │ │ └── RCTUITextView.m │ ├── TextProps.js │ ├── TextStylePropTypes.js │ └── TextUpdateTest.js ├── Types │ └── CoreEventTypes.js ├── Utilities │ ├── Appearance.js │ ├── BackAndroid.js │ ├── BackHandler.android.js │ ├── BackHandler.ios.js │ ├── BackHandler.macos.js │ ├── CSSVarConfig.js │ ├── DebugEnvironment.js │ ├── DeviceInfo.js │ ├── Dimensions.js │ ├── HMRClient.js │ ├── HMRLoadingView.android.js │ ├── HMRLoadingView.ios.js │ ├── HMRLoadingView.macos.js │ ├── HeapCapture.js │ ├── MatrixMath.js │ ├── PerformanceLogger.js │ ├── PixelRatio.js │ ├── Platform.android.js │ ├── Platform.ios.js │ ├── Platform.macos.js │ ├── PlatformOS.android.js │ ├── PlatformOS.ios.js │ ├── RCTLog.js │ ├── SceneTracker.js │ ├── __mocks__ │ │ ├── BackHandler.js │ │ └── PixelRatio.js │ ├── __tests__ │ │ ├── MatrixMath-test.js │ │ ├── Platform-test.js │ │ ├── SceneTracker-test.js │ │ ├── buildStyleInterpolator-test.js │ │ ├── deepFreezeAndThrowOnMutationInDev-test.js │ │ ├── groupByEveryN-test.js │ │ ├── mapWithSeparator-test.js │ │ ├── truncate-test.js │ │ └── utf8-test.js │ ├── asyncRequire.js │ ├── binaryToBase64.js │ ├── buildStyleInterpolator.js │ ├── clamp.js │ ├── createStrictShapeTypeChecker.js │ ├── deepFreezeAndThrowOnMutationInDev.js │ ├── defineLazyObjectProperty.js │ ├── deprecatedPropType.js │ ├── differ │ │ ├── __tests__ │ │ │ └── deepDiffer-test.js │ │ ├── deepDiffer.js │ │ ├── insetsDiffer.js │ │ ├── matricesDiffer.js │ │ ├── pointsDiffer.js │ │ └── sizesDiffer.js │ ├── dismissKeyboard.js │ ├── groupByEveryN.js │ ├── infoLog.js │ ├── logError.js │ ├── mapWithSeparator.js │ ├── mergeFast.js │ ├── mergeIntoFast.js │ ├── stringifySafe.js │ ├── truncate.js │ └── utf8.js ├── Vibration │ ├── RCTVibration.h │ ├── RCTVibration.m │ ├── RCTVibration.xcodeproj │ │ └── project.pbxproj │ ├── Vibration.js │ ├── VibrationIOS.android.js │ ├── VibrationIOS.ios.js │ └── VibrationIOS.macos.js ├── WebSocket │ ├── RCTReconnectingWebSocket.h │ ├── RCTReconnectingWebSocket.m │ ├── RCTSRWebSocket.h │ ├── RCTSRWebSocket.m │ ├── RCTWebSocket.xcodeproj │ │ └── project.pbxproj │ ├── RCTWebSocketExecutor.h │ ├── RCTWebSocketExecutor.m │ ├── RCTWebSocketModule.h │ ├── RCTWebSocketModule.m │ ├── WebSocket.js │ ├── WebSocketEvent.js │ ├── WebSocketInterceptor.js │ ├── __mocks__ │ │ └── event-target-shim.js │ └── __tests__ │ │ └── WebSocket-test.js ├── Wrapper │ ├── Example │ │ ├── RCTWrapperExampleView.h │ │ ├── RCTWrapperExampleView.m │ │ ├── RCTWrapperExampleViewController.h │ │ ├── RCTWrapperExampleViewController.m │ │ ├── RCTWrapperReactRootViewController.h │ │ ├── RCTWrapperReactRootViewController.m │ │ ├── RCTWrapperReactRootViewManager.h │ │ └── RCTWrapperReactRootViewManager.m │ ├── RCTWrapper.h │ ├── RCTWrapperShadowView.h │ ├── RCTWrapperShadowView.m │ ├── RCTWrapperView.h │ ├── RCTWrapperView.m │ ├── RCTWrapperViewControllerHostingView.h │ ├── RCTWrapperViewControllerHostingView.m │ ├── RCTWrapperViewManager.h │ └── RCTWrapperViewManager.m ├── fishhook │ ├── LICENSE │ ├── README.md │ ├── fishhook.c │ └── fishhook.h ├── polyfills │ ├── Array.es6.js │ ├── Array.prototype.es6.js │ ├── Number.es6.js │ ├── Object.es6.js │ ├── Object.es7.js │ ├── String.prototype.es6.js │ ├── __tests__ │ │ └── Object.es7-test.js │ ├── babelHelpers.js │ ├── console.js │ └── error-guard.js ├── promiseRejectionIsError.js ├── react-native │ ├── React.js │ ├── react-native-implementation.js │ └── react-native-interface.js └── vendor │ ├── core │ ├── ErrorUtils.js │ ├── Map.js │ ├── Set.js │ ├── _shouldPolyfillES6Collection.js │ ├── getObjectValues.js │ ├── guid.js │ ├── isEmpty.js │ ├── merge.js │ ├── mergeHelpers.js │ ├── mergeInto.js │ └── toIterator.js │ ├── document │ └── selection │ │ └── DocumentSelectionState.js │ ├── emitter │ ├── EmitterSubscription.js │ ├── EventEmitter.js │ ├── EventEmitterWithHolding.js │ ├── EventHolder.js │ ├── EventSubscription.js │ ├── EventSubscriptionVendor.js │ ├── EventValidator.js │ └── mixInEventEmitter.js │ ├── react │ └── vendor │ │ └── core │ │ └── ExecutionEnvironment.macos.js │ └── tinycolor │ └── tinycolor.js ├── README.md ├── RNTester ├── .eslintrc ├── README.md ├── RNTester-tvOS │ └── Info.plist ├── RNTester.xcodeproj │ ├── project.pbxproj │ └── xcshareddata │ │ └── xcschemes │ │ ├── RNTester-tvOS.xcscheme │ │ └── RNTester.xcscheme ├── RNTester │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Base.lproj │ │ └── LaunchScreen.xib │ ├── Images.xcassets │ │ ├── AppIcon.appiconset │ │ │ ├── Contents.json │ │ │ ├── Icon-40@2x.png │ │ │ ├── Icon-40@3x.png │ │ │ ├── Icon-60@2x.png │ │ │ ├── Icon-60@3x.png │ │ │ ├── Icon-Small@2x.png │ │ │ └── Icon-Small@3x.png │ │ ├── Contents.json │ │ ├── NavBarButtonPlus.imageset │ │ │ ├── Contents.json │ │ │ └── NavBarButtonPlus@3x.png │ │ ├── story-background.imageset │ │ │ ├── Contents.json │ │ │ └── story-background@2x.png │ │ ├── tabnav_list.imageset │ │ │ ├── Contents.json │ │ │ └── tabnav_list@3x.png │ │ ├── tabnav_notification.imageset │ │ │ ├── Contents.json │ │ │ └── tabnav_notification@3x.png │ │ └── tabnav_settings.imageset │ │ │ ├── Contents.json │ │ │ └── tabnav_settings@3x.png │ ├── Info.plist │ ├── NativeExampleViews │ │ ├── FlexibleSizeExampleView.h │ │ ├── FlexibleSizeExampleView.m │ │ ├── UpdatePropertiesExampleView.h │ │ └── UpdatePropertiesExampleView.m │ ├── RNTesterBundle │ │ ├── ImageInBundle.png │ │ ├── Info.plist │ │ └── OtherImages.xcassets │ │ │ ├── Contents.json │ │ │ └── ImageInAssetCatalog.imageset │ │ │ ├── Contents.json │ │ │ └── react-logo.png │ ├── legacy_image@2x.png │ └── main.m ├── RNTesterIntegrationTests │ ├── Info.plist │ ├── RCTLoggingTests.m │ ├── RCTRootViewIntegrationTests.m │ ├── RCTUIManagerScenarioTests.m │ ├── RNTesterIntegrationTests.m │ ├── RNTesterSnapshotTests.m │ ├── RNTesterTestModule.m │ ├── ReferenceImages │ │ ├── IntegrationTests-IntegrationTestsApp │ │ │ ├── testImageSnapshotTest_1@2x.png │ │ │ ├── testImageSnapshotTest_1_tvOS.png │ │ │ ├── testSimpleSnapshotTest_1@2x.png │ │ │ └── testSimpleSnapshotTest_1_tvOS.png │ │ └── RNTester-js-RNTesterApp.ios │ │ │ ├── testARTExample_1-iOS10@2x.png │ │ │ ├── testARTExample_1-iOS10_tvOS.png │ │ │ ├── testARTExample_1-iOS11@2x.png │ │ │ ├── testARTExample_1@2x.png │ │ │ ├── testARTExample_1_tvOS.png │ │ │ ├── testLayoutExample_1-iOS10@2x.png │ │ │ ├── testLayoutExample_1-iOS10_tvOS.png │ │ │ ├── testLayoutExample_1-iOS11@2x.png │ │ │ ├── testLayoutExample_1@2x.png │ │ │ ├── testLayoutExample_1_tvOS.png │ │ │ ├── testScrollViewExample_1-iOS10@2x.png │ │ │ ├── testScrollViewExample_1-iOS10_tvOS.png │ │ │ ├── testScrollViewExample_1-iOS11@2x.png │ │ │ ├── testScrollViewExample_1@2x.png │ │ │ ├── testScrollViewExample_1_tvOS.png │ │ │ ├── testSliderExample_1-iOS10@2x.png │ │ │ ├── testSliderExample_1-iOS11@2x.png │ │ │ ├── testSliderExample_1@2x.png │ │ │ ├── testSwitchExample_1-iOS10@2x.png │ │ │ ├── testSwitchExample_1-iOS11@2x.png │ │ │ ├── testSwitchExample_1@2x.png │ │ │ ├── testTabBarExample_1-iOS10@2x.png │ │ │ ├── testTabBarExample_1-iOS10_tvOS.png │ │ │ ├── testTabBarExample_1-iOS11@2x.png │ │ │ ├── testTabBarExample_1@2x.png │ │ │ ├── testTabBarExample_1_tvOS.png │ │ │ ├── testTextExample_1-iOS10@2x.png │ │ │ ├── testTextExample_1-iOS10_tvOS.png │ │ │ ├── testTextExample_1-iOS11@2x.png │ │ │ ├── testTextExample_1@2x.png │ │ │ ├── testTextExample_1_tvOS.png │ │ │ ├── testViewExample_1-iOS10@2x.png │ │ │ ├── testViewExample_1-iOS10_tvOS.png │ │ │ ├── testViewExample_1-iOS11@2x.png │ │ │ ├── testViewExample_1@2x.png │ │ │ └── testViewExample_1_tvOS.png │ ├── blue_square.png │ └── red_square.png ├── RNTesterLegacy.xcodeproj │ ├── project.pbxproj │ └── xcshareddata │ │ └── xcschemes │ │ ├── RNTester-tvOS.xcscheme │ │ └── RNTester.xcscheme ├── RNTesterUnitTests │ ├── Info.plist │ ├── OCMock │ │ ├── NSNotificationCenter+OCMAdditions.h │ │ ├── OCMArg.h │ │ ├── OCMConstraint.h │ │ ├── OCMLocation.h │ │ ├── OCMMacroState.h │ │ ├── OCMRecorder.h │ │ ├── OCMStubRecorder.h │ │ ├── OCMock.h │ │ └── OCMockObject.h │ ├── RCTAllocationTests.m │ ├── RCTAnimationUtilsTests.m │ ├── RCTBridgeTests.m │ ├── RCTBundleURLProviderTests.m │ ├── RCTComponentPropsTests.m │ ├── RCTConvert_NSURLTests.m │ ├── RCTConvert_YGValueTests.m │ ├── RCTDevMenuTests.m │ ├── RCTEventDispatcherTests.m │ ├── RCTFontTests.m │ ├── RCTGzipTests.m │ ├── RCTImageLoaderHelpers.h │ ├── RCTImageLoaderHelpers.m │ ├── RCTImageLoaderTests.m │ ├── RCTImageUtilTests.m │ ├── RCTJSCExecutorTests.m │ ├── RCTJSONTests.m │ ├── RCTMethodArgumentTests.m │ ├── RCTModuleInitNotificationRaceTests.m │ ├── RCTModuleInitTests.m │ ├── RCTModuleMethodTests.mm │ ├── RCTMultipartStreamReaderTests.m │ ├── RCTNativeAnimatedNodesManagerTests.m │ ├── RCTShadowViewTests.m │ ├── RCTUIManagerTests.m │ ├── RCTURLUtilsTests.m │ ├── RCTUnicodeDecodeTests.m │ ├── RNTesterUnitTestsBundle.js │ └── libOCMock.a ├── android │ └── app │ │ ├── BUCK │ │ ├── build.gradle │ │ ├── gradle.properties │ │ ├── proguard-rules.pro │ │ ├── react.gradle │ │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── assets │ │ └── fonts │ │ │ ├── notoserif.ttf │ │ │ └── notoserif_bold_italic.ttf │ │ ├── java │ │ └── com │ │ │ └── facebook │ │ │ └── react │ │ │ └── uiapp │ │ │ ├── RNTesterActivity.java │ │ │ └── RNTesterApplication.java │ │ └── res │ │ ├── drawable │ │ ├── ic_create_black_48dp.png │ │ ├── ic_menu_black_24dp.png │ │ ├── ic_settings_black_48dp.png │ │ ├── launcher_icon.png │ │ └── legacy_image.png │ │ ├── layout │ │ └── activity_main.xml │ │ └── values │ │ ├── strings.xml │ │ └── styles.xml └── js │ ├── ARTExample.js │ ├── AccessibilityAndroidExample.android.js │ ├── AccessibilityIOSExample.js │ ├── ActionSheetIOSExample.js │ ├── ActivityIndicatorExample.js │ ├── AlertExample.js │ ├── AlertIOSExample.js │ ├── AlertOSXExample.js │ ├── AnimatedExample.js │ ├── AnimatedGratuitousApp │ ├── AnExApp.js │ ├── AnExBobble.js │ ├── AnExChained.js │ ├── AnExScroll.js │ ├── AnExSet.js │ ├── AnExSlides.md │ ├── AnExTilt.js │ └── trees.jpg │ ├── AppStateExample.js │ ├── AppearanceContext.js │ ├── AppearanceExample.macos.js │ ├── AssetScaledImageExample.js │ ├── AsyncStorageExample.js │ ├── BorderExample.js │ ├── BoxShadowExample.js │ ├── ButtonExample.js │ ├── CameraRollExample.js │ ├── CameraRollView.js │ ├── CheckBoxExample.js │ ├── ClipboardExample.js │ ├── DatePickerAndroidExample.js │ ├── DatePickerIOSExample.js │ ├── DimensionsExample.js │ ├── DragnDropExample.macos.js │ ├── ExampleTypes.js │ ├── FlatListExample.js │ ├── GeolocationExample.js │ ├── ImageCapInsetsExample.js │ ├── ImageEditingExample.js │ ├── ImageExample.js │ ├── KeyboardAvoidingViewExample.js │ ├── LayoutAnimationExample.js │ ├── LayoutEventsExample.js │ ├── LayoutExample.js │ ├── LinkingExample.js │ ├── ListExampleShared.js │ ├── ListViewExample.js │ ├── ListViewGridLayoutExample.js │ ├── ListViewPagingExample.js │ ├── MaskedViewExample.js │ ├── MenuExample.macos.js │ ├── ModalExample.js │ ├── MultiColumnExample.js │ ├── NativeAnimationsExample.js │ ├── NavigatorIOSBarStyleExample.js │ ├── NavigatorIOSColorsExample.js │ ├── NavigatorIOSExample.js │ ├── NetInfoExample.js │ ├── OrientationChangeExample.js │ ├── PanResponderExample.js │ ├── PermissionsExampleAndroid.android.js │ ├── PickerExample.js │ ├── PickerIOSExample.js │ ├── PointerEventsExample.js │ ├── ProgressBarAndroidExample.android.js │ ├── ProgressViewIOSExample.js │ ├── PushNotificationIOSExample.js │ ├── RCTRootViewIOSExample.js │ ├── RNTesterActions.js │ ├── RNTesterApp.android.js │ ├── RNTesterApp.ios.js │ ├── RNTesterApp.macos.js │ ├── RNTesterBlock.js │ ├── RNTesterButton.js │ ├── RNTesterExampleContainer.js │ ├── RNTesterExampleList.js │ ├── RNTesterList.android.js │ ├── RNTesterList.ios.js │ ├── RNTesterList.macos.js │ ├── RNTesterNavigationReducer.js │ ├── RNTesterPage.js │ ├── RNTesterSettingSwitchRow.js │ ├── RNTesterStatePersister.js │ ├── RNTesterTitle.js │ ├── RTLExample.js │ ├── RefreshControlExample.js │ ├── RootViewSizeFlexibilityExampleApp.js │ ├── SafeAreaViewExample.js │ ├── ScrollViewExample.js │ ├── ScrollViewSimpleExample.js │ ├── SectionListExample.js │ ├── SegmentedControlIOSExample.js │ ├── SetPropertiesExampleApp.js │ ├── ShareExample.js │ ├── SliderExample.js │ ├── SnapshotExample.js │ ├── StatusBarExample.js │ ├── SwipeableFlatListExample.js │ ├── SwipeableListViewExample.js │ ├── SwitchExample.js │ ├── TVEventHandlerExample.js │ ├── TabBarIOSBarStyleExample.js │ ├── TabBarIOSExample.js │ ├── TextExample.android.js │ ├── TextExample.ios.js │ ├── TextExample.macos.js │ ├── TextInputExample.android.js │ ├── TextInputExample.ios.js │ ├── TextInputExample.macos.js │ ├── Thumbnails │ ├── bandaged.png │ ├── call.png │ ├── dislike.png │ ├── fist.png │ ├── flowers.png │ ├── heart.png │ ├── like.png │ ├── liking.png │ ├── party.png │ ├── poke.png │ ├── superlike.png │ └── victory.png │ ├── TimePickerAndroidExample.js │ ├── TimerExample.js │ ├── ToastAndroidExample.android.js │ ├── ToolbarAndroidExample.android.js │ ├── TouchableExample.js │ ├── TransformExample.js │ ├── TransparentHitTestExample.js │ ├── URIActionMap.js │ ├── VibrationExample.js │ ├── VibrationIOSExample.js │ ├── ViewExample.js │ ├── ViewPagerAndroidExample.android.js │ ├── WebSocketExample.js │ ├── WebViewExample.js │ ├── XHRExample.js │ ├── XHRExampleBinaryUpload.js │ ├── XHRExampleCookies.js │ ├── XHRExampleDownload.js │ ├── XHRExampleFetch.js │ ├── XHRExampleFormData.js │ ├── XHRExampleHeaders.js │ ├── XHRExampleOnTimeOut.js │ ├── bunny.png │ ├── createExamplePage.js │ ├── flux@3x.png │ ├── hawk.png │ ├── helloworld.html │ ├── http_test_server.js │ ├── imageMask.png │ ├── messagingtest.html │ ├── relay@3x.png │ ├── slider-left.png │ ├── slider-left@2x.png │ ├── slider-right.png │ ├── slider-right@2x.png │ ├── slider.png │ ├── slider@2x.png │ ├── uie_comment_highlighted@2x.png │ ├── uie_comment_normal@2x.png │ ├── uie_thumb_big.png │ ├── uie_thumb_normal@2x.png │ ├── uie_thumb_selected@2x.png │ └── websocket_test_server.js ├── React.podspec ├── React ├── Base │ ├── RCTAssert.h │ ├── RCTAssert.m │ ├── RCTBatchedBridge.mm │ ├── RCTBridge+Private.h │ ├── RCTBridge.h │ ├── RCTBridge.m │ ├── RCTBridgeDelegate.h │ ├── RCTBridgeMethod.h │ ├── RCTBridgeModule.h │ ├── RCTBundleURLProvider.h │ ├── RCTBundleURLProvider.m │ ├── RCTConvert.h │ ├── RCTConvert.m │ ├── RCTCxxConvert.h │ ├── RCTCxxConvert.m │ ├── RCTDefines.h │ ├── RCTDisplayLink.h │ ├── RCTDisplayLink.m │ ├── RCTErrorCustomizer.h │ ├── RCTErrorInfo.h │ ├── RCTErrorInfo.m │ ├── RCTEventDispatcher.h │ ├── RCTEventDispatcher.m │ ├── RCTFrameUpdate.h │ ├── RCTFrameUpdate.m │ ├── RCTImageSource.h │ ├── RCTImageSource.m │ ├── RCTInvalidating.h │ ├── RCTJSCErrorHandling.h │ ├── RCTJSCErrorHandling.mm │ ├── RCTJSStackFrame.h │ ├── RCTJSStackFrame.m │ ├── RCTJavaScriptExecutor.h │ ├── RCTJavaScriptLoader.h │ ├── RCTJavaScriptLoader.mm │ ├── RCTKeyCommands.h │ ├── RCTKeyCommands.m │ ├── RCTLog.h │ ├── RCTLog.mm │ ├── RCTManagedPointer.h │ ├── RCTManagedPointer.mm │ ├── RCTModuleData.h │ ├── RCTModuleData.mm │ ├── RCTModuleMethod.h │ ├── RCTModuleMethod.m │ ├── RCTModuleMethod.mm │ ├── RCTMultipartDataTask.h │ ├── RCTMultipartDataTask.m │ ├── RCTMultipartStreamReader.h │ ├── RCTMultipartStreamReader.m │ ├── RCTNullability.h │ ├── RCTParserUtils.h │ ├── RCTParserUtils.m │ ├── RCTPerformanceLogger.h │ ├── RCTPerformanceLogger.m │ ├── RCTPlatform.h │ ├── RCTPlatform.m │ ├── RCTReloadCommand.h │ ├── RCTReloadCommand.m │ ├── RCTRootContentView.h │ ├── RCTRootContentView.m │ ├── RCTRootView.h │ ├── RCTRootView.m │ ├── RCTRootViewDelegate.h │ ├── RCTRootViewInternal.h │ ├── RCTTVRemoteHandler.h │ ├── RCTTVRemoteHandler.m │ ├── RCTTouchEvent.h │ ├── RCTTouchEvent.m │ ├── RCTTouchHandler.h │ ├── RCTTouchHandler.m │ ├── RCTURLRequestDelegate.h │ ├── RCTURLRequestHandler.h │ ├── RCTUtils.h │ ├── RCTUtils.m │ ├── RCTVersion.h │ ├── Surface │ │ ├── RCTSurface.h │ │ ├── RCTSurface.mm │ │ ├── RCTSurfaceDelegate.h │ │ ├── RCTSurfaceRootShadowView.h │ │ ├── RCTSurfaceRootShadowView.m │ │ ├── RCTSurfaceRootShadowViewDelegate.h │ │ ├── RCTSurfaceRootView.h │ │ ├── RCTSurfaceRootView.mm │ │ ├── RCTSurfaceStage.h │ │ ├── RCTSurfaceStage.m │ │ ├── RCTSurfaceView+Internal.h │ │ ├── RCTSurfaceView.h │ │ ├── RCTSurfaceView.mm │ │ └── SurfaceHostingView │ │ │ ├── RCTSurfaceHostingView.h │ │ │ ├── RCTSurfaceHostingView.mm │ │ │ └── RCTSurfaceSizeMeasureMode.h │ ├── UIImageUtils.h │ └── UIImageUtils.m ├── CxxBridge │ ├── NSDataBigString.h │ ├── NSDataBigString.mm │ ├── RCTCxxBridge.mm │ ├── RCTCxxBridgeDelegate.h │ ├── RCTJSCHelpers.h │ ├── RCTJSCHelpers.mm │ ├── RCTMessageThread.h │ ├── RCTMessageThread.mm │ ├── RCTObjcExecutor.h │ └── RCTObjcExecutor.mm ├── CxxModule │ ├── DispatchMessageQueueThread.h │ ├── RCTCxxMethod.h │ ├── RCTCxxMethod.mm │ ├── RCTCxxModule.h │ ├── RCTCxxModule.mm │ ├── RCTCxxUtils.h │ ├── RCTCxxUtils.mm │ ├── RCTNativeModule.h │ └── RCTNativeModule.mm ├── CxxUtils │ ├── RCTFollyConvert.h │ └── RCTFollyConvert.mm ├── DevSupport │ ├── RCTDevLoadingView.h │ ├── RCTDevLoadingView.m │ ├── RCTDevMenu.h │ ├── RCTDevMenu.m │ ├── RCTInspectorDevServerHelper.h │ ├── RCTInspectorDevServerHelper.mm │ ├── RCTPackagerClient.h │ ├── RCTPackagerClient.m │ ├── RCTPackagerConnection.h │ └── RCTPackagerConnection.mm ├── Executors │ ├── RCTJSCExecutor.h │ ├── RCTJSCExecutor.mm │ ├── RCTWebViewExecutor.h │ └── RCTWebViewExecutor.m ├── Inspector │ ├── RCTInspector.h │ ├── RCTInspector.mm │ ├── RCTInspectorPackagerConnection.h │ └── RCTInspectorPackagerConnection.m ├── Modules │ ├── RCTAccessibilityManager.h │ ├── RCTAccessibilityManager.m │ ├── RCTAlertManager.h │ ├── RCTAlertManager.m │ ├── RCTAppState.h │ ├── RCTAppState.m │ ├── RCTAppearance.h │ ├── RCTAppearance.m │ ├── RCTAsyncLocalStorage.h │ ├── RCTAsyncLocalStorage.m │ ├── RCTClipboard.h │ ├── RCTClipboard.m │ ├── RCTCursorManager.h │ ├── RCTCursorManager.m │ ├── RCTDevSettings.h │ ├── RCTDevSettings.mm │ ├── RCTDeviceInfo.h │ ├── RCTDeviceInfo.m │ ├── RCTEventEmitter.h │ ├── RCTEventEmitter.m │ ├── RCTExceptionsManager.h │ ├── RCTExceptionsManager.m │ ├── RCTI18nManager.h │ ├── RCTI18nManager.m │ ├── RCTI18nUtil.h │ ├── RCTI18nUtil.m │ ├── RCTJSCSamplingProfiler.h │ ├── RCTJSCSamplingProfiler.m │ ├── RCTKeyboardObserver.h │ ├── RCTKeyboardObserver.m │ ├── RCTLayoutAnimation.h │ ├── RCTLayoutAnimation.m │ ├── RCTLayoutAnimationGroup.h │ ├── RCTLayoutAnimationGroup.m │ ├── RCTMenuManager.h │ ├── RCTMenuManager.m │ ├── RCTRedBox.h │ ├── RCTRedBox.m │ ├── RCTRedBoxExtraDataViewController.h │ ├── RCTRedBoxExtraDataViewController.m │ ├── RCTSourceCode.h │ ├── RCTSourceCode.m │ ├── RCTStatusBarManager.h │ ├── RCTStatusBarManager.m │ ├── RCTTVNavigationEventEmitter.h │ ├── RCTTVNavigationEventEmitter.m │ ├── RCTTiming.h │ ├── RCTTiming.m │ ├── RCTUIManager.h │ ├── RCTUIManager.m │ ├── RCTUIManagerObserverCoordinator.h │ ├── RCTUIManagerObserverCoordinator.mm │ ├── RCTUIManagerUtils.h │ └── RCTUIManagerUtils.m ├── Profiler │ ├── RCTFPSGraph.h │ ├── RCTFPSGraph.m │ ├── RCTJSCProfiler.m │ ├── RCTMacros.h │ ├── RCTPerfMonitor.m │ ├── RCTProfile.h │ ├── RCTProfile.m │ ├── RCTProfileTrampoline-arm.S │ ├── RCTProfileTrampoline-arm64.S │ ├── RCTProfileTrampoline-i386.S │ └── RCTProfileTrampoline-x86_64.S ├── React.xcodeproj │ └── project.pbxproj ├── ReactLegacy.xcodeproj │ └── project.pbxproj ├── Views │ ├── NSView+NSViewAnimationWithBlocks.h │ ├── NSView+NSViewAnimationWithBlocks.m │ ├── NSView+Private.h │ ├── NSView+React.h │ ├── NSView+React.m │ ├── RCTActivityIndicatorView.h │ ├── RCTActivityIndicatorView.m │ ├── RCTActivityIndicatorViewManager.h │ ├── RCTActivityIndicatorViewManager.m │ ├── RCTAnimationType.h │ ├── RCTAutoInsetsProtocol.h │ ├── RCTBorderDrawing.h │ ├── RCTBorderDrawing.m │ ├── RCTBorderStyle.h │ ├── RCTButton.h │ ├── RCTButton.m │ ├── RCTButtonManager.h │ ├── RCTButtonManager.m │ ├── RCTComponent.h │ ├── RCTComponentData.h │ ├── RCTComponentData.m │ ├── RCTConvert+CoreLocation.h │ ├── RCTConvert+CoreLocation.m │ ├── RCTConvert+Transform.h │ ├── RCTConvert+Transform.m │ ├── RCTDatePicker.h │ ├── RCTDatePicker.m │ ├── RCTDatePickerManager.h │ ├── RCTDatePickerManager.m │ ├── RCTFont.h │ ├── RCTFont.mm │ ├── RCTMaskedView.h │ ├── RCTMaskedView.m │ ├── RCTMaskedViewManager.h │ ├── RCTMaskedViewManager.m │ ├── RCTModalHostView.h │ ├── RCTModalHostView.m │ ├── RCTModalHostViewController.h │ ├── RCTModalHostViewController.m │ ├── RCTModalHostViewManager.h │ ├── RCTModalHostViewManager.m │ ├── RCTModalManager.h │ ├── RCTModalManager.m │ ├── RCTNavItem.h │ ├── RCTNavItem.m │ ├── RCTNavItemManager.h │ ├── RCTNavItemManager.m │ ├── RCTNavigator.h │ ├── RCTNavigator.m │ ├── RCTNavigatorManager.h │ ├── RCTNavigatorManager.m │ ├── RCTPicker.h │ ├── RCTPicker.m │ ├── RCTPickerManager.h │ ├── RCTPickerManager.m │ ├── RCTPointerEvents.h │ ├── RCTProgressViewManager.h │ ├── RCTProgressViewManager.m │ ├── RCTRefreshControl.m │ ├── RCTRefreshControlManager.m │ ├── RCTRootShadowView.h │ ├── RCTRootShadowView.m │ ├── RCTSegmentedControl.h │ ├── RCTSegmentedControl.m │ ├── RCTSegmentedControlManager.h │ ├── RCTSegmentedControlManager.m │ ├── RCTShadowView+Internal.h │ ├── RCTShadowView+Internal.m │ ├── RCTShadowView+Layout.h │ ├── RCTShadowView+Layout.m │ ├── RCTShadowView.h │ ├── RCTShadowView.m │ ├── RCTSlider.h │ ├── RCTSlider.m │ ├── RCTSliderManager.h │ ├── RCTSliderManager.m │ ├── RCTSwitch.h │ ├── RCTSwitch.m │ ├── RCTSwitchManager.h │ ├── RCTSwitchManager.m │ ├── RCTTVView.h │ ├── RCTTVView.m │ ├── RCTTabBar.h │ ├── RCTTabBar.m │ ├── RCTTabBarItem.h │ ├── RCTTabBarItem.m │ ├── RCTTabBarItemManager.h │ ├── RCTTabBarItemManager.m │ ├── RCTTabBarManager.h │ ├── RCTTabBarManager.m │ ├── RCTTextDecorationLineType.h │ ├── RCTView.h │ ├── RCTView.m │ ├── RCTViewControllerProtocol.h │ ├── RCTViewManager.h │ ├── RCTViewManager.m │ ├── RCTWebView.h │ ├── RCTWebView.m │ ├── RCTWebViewManager.h │ ├── RCTWebViewManager.m │ ├── RCTWrapperViewController.h │ ├── RCTWrapperViewController.m │ ├── SafeAreaView │ │ ├── RCTSafeAreaShadowView.h │ │ ├── RCTSafeAreaShadowView.m │ │ ├── RCTSafeAreaView.h │ │ ├── RCTSafeAreaView.m │ │ ├── RCTSafeAreaViewLocalData.h │ │ ├── RCTSafeAreaViewLocalData.m │ │ ├── RCTSafeAreaViewManager.h │ │ └── RCTSafeAreaViewManager.m │ └── ScrollView │ │ ├── RCTScrollContentShadowView.h │ │ ├── RCTScrollContentShadowView.m │ │ ├── RCTScrollContentView.h │ │ ├── RCTScrollContentView.m │ │ ├── RCTScrollContentViewManager.h │ │ ├── RCTScrollContentViewManager.m │ │ ├── RCTScrollView.h │ │ ├── RCTScrollView.m │ │ ├── RCTScrollViewManager.h │ │ ├── RCTScrollViewManager.m │ │ └── RCTScrollableProtocol.h └── third-party.xcconfig ├── ReactAndroid ├── DEFS ├── DevExperience.md ├── README.md ├── build.gradle ├── gradle.properties ├── libs │ └── BUCK ├── release.gradle └── src │ ├── androidTest │ ├── assets │ │ └── BUCK │ ├── buck-runner │ │ └── BUCK │ ├── java │ │ └── com │ │ │ └── facebook │ │ │ └── react │ │ │ ├── testing │ │ │ ├── AbstractScrollViewTestCase.java │ │ │ ├── BUCK │ │ │ ├── FakeWebSocketModule.java │ │ │ ├── InstanceSpecForTestPackage.java │ │ │ ├── ReactAppInstrumentationTestCase.java │ │ │ ├── ReactAppTestActivity.java │ │ │ ├── ReactInstanceSpecForTest.java │ │ │ ├── ReactIntegrationTestCase.java │ │ │ ├── ReactSettingsForTests.java │ │ │ ├── ReactTestAppShell.java │ │ │ ├── ReactTestApplicationImpl.java │ │ │ ├── ReactTestFactory.java │ │ │ ├── ReactTestHelper.java │ │ │ ├── ScreenshotingFrameLayout.java │ │ │ ├── idledetection │ │ │ │ ├── BUCK │ │ │ │ ├── IdleWaiter.java │ │ │ │ ├── ReactBridgeIdleSignaler.java │ │ │ │ └── ReactIdleDetectionUtil.java │ │ │ └── network │ │ │ │ ├── BUCK │ │ │ │ └── NetworkRecordingModuleMock.java │ │ │ └── tests │ │ │ ├── BUCK │ │ │ ├── CatalystMeasureLayoutTest.java │ │ │ ├── CatalystMultitouchHandlingTestCase.java │ │ │ ├── CatalystNativeJSToJavaParametersTestCase.java │ │ │ ├── CatalystNativeJavaToJSArgumentsTestCase.java │ │ │ ├── CatalystNativeJavaToJSReturnValuesTestCase.java │ │ │ ├── CatalystSubviewsClippingTestCase.java │ │ │ ├── CatalystTouchBubblingTestCase.java │ │ │ ├── CatalystUIManagerTestCase.java │ │ │ ├── DatePickerDialogTestCase.java │ │ │ ├── InitialPropsTestCase.java │ │ │ ├── JSLocaleTest.java │ │ │ ├── JSResponderTestCase.java │ │ │ ├── LayoutEventsTestCase.java │ │ │ ├── NativeIdTestCase.java │ │ │ ├── ProgressBarTestCase.java │ │ │ ├── ReactPickerTestCase.java │ │ │ ├── ReactRootViewTestCase.java │ │ │ ├── ReactSwipeRefreshLayoutTestCase.java │ │ │ ├── ShareTestCase.java │ │ │ ├── TestIdTestCase.java │ │ │ ├── TextInputTestCase.java │ │ │ ├── TimePickerDialogTestCase.java │ │ │ └── ViewRenderingTestCase.java │ └── js │ │ ├── Asserts.js │ │ ├── CatalystRootViewTestModule.js │ │ ├── DatePickerDialogTestModule.js │ │ ├── InitialPropsTestApp.js │ │ ├── JSResponderTestApp.js │ │ ├── LayoutEventsTestApp.js │ │ ├── MeasureLayoutTestModule.js │ │ ├── MultitouchHandlingTestAppModule.js │ │ ├── NativeIdTestModule.js │ │ ├── PickerAndroidTestModule.js │ │ ├── ProgressBarTestModule.js │ │ ├── ScrollViewTestModule.js │ │ ├── ShareTestModule.js │ │ ├── SubviewsClippingTestModule.js │ │ ├── SwipeRefreshLayoutTestModule.js │ │ ├── TestBundle.js │ │ ├── TestIdTestModule.js │ │ ├── TestJSLocaleModule.js │ │ ├── TestJSToJavaParametersModule.js │ │ ├── TestJavaToJSArgumentsModule.js │ │ ├── TestJavaToJSReturnValuesModule.js │ │ ├── TextInputTestModule.js │ │ ├── TimePickerDialogTestModule.js │ │ ├── TouchBubblingTestAppModule.js │ │ ├── UIManagerTestModule.js │ │ └── ViewRenderingTestModule.js │ ├── main │ ├── android_res │ │ └── com │ │ │ └── facebook │ │ │ └── catalyst │ │ │ └── appcompat │ │ │ └── BUCK │ ├── java │ │ └── com │ │ │ └── facebook │ │ │ ├── BUCK │ │ │ ├── debug │ │ │ ├── debugoverlay │ │ │ │ └── model │ │ │ │ │ ├── BUCK │ │ │ │ │ └── DebugOverlayTag.java │ │ │ ├── holder │ │ │ │ ├── BUCK │ │ │ │ ├── NoopPrinter.java │ │ │ │ ├── Printer.java │ │ │ │ └── PrinterHolder.java │ │ │ └── tags │ │ │ │ ├── BUCK │ │ │ │ └── ReactDebugOverlayTags.java │ │ │ ├── jni │ │ │ ├── BUCK │ │ │ ├── Countable.java │ │ │ ├── CpuCapabilitiesJni.java │ │ │ ├── DestructorThread.java │ │ │ ├── HybridClassBase.java │ │ │ ├── HybridData.java │ │ │ ├── IteratorHelper.java │ │ │ ├── JniTerminateHandler.java │ │ │ ├── MapIteratorHelper.java │ │ │ ├── NativeRunnable.java │ │ │ ├── ThreadScopeSupport.java │ │ │ └── fbjni.pro │ │ │ ├── perftest │ │ │ └── BUCK │ │ │ ├── proguard │ │ │ └── annotations │ │ │ │ └── BUCK │ │ │ ├── react │ │ │ ├── BUCK │ │ │ ├── CompositeReactPackage.java │ │ │ ├── CoreModulesPackage.java │ │ │ ├── DebugCorePackage.java │ │ │ ├── EagerModuleProvider.java │ │ │ ├── HeadlessJsTaskService.java │ │ │ ├── LazyReactPackage.java │ │ │ ├── MemoryPressureRouter.java │ │ │ ├── NativeModuleRegistryBuilder.java │ │ │ ├── ReactActivity.java │ │ │ ├── ReactActivityDelegate.java │ │ │ ├── ReactApplication.java │ │ │ ├── ReactFragmentActivity.java │ │ │ ├── ReactInstanceManager.java │ │ │ ├── ReactInstanceManagerBuilder.java │ │ │ ├── ReactInstancePackage.java │ │ │ ├── ReactNativeHost.java │ │ │ ├── ReactPackage.java │ │ │ ├── ReactPackageLogger.java │ │ │ ├── ReactRootView.java │ │ │ ├── ViewManagerOnDemandReactPackage.java │ │ │ ├── animated │ │ │ │ ├── AdditionAnimatedNode.java │ │ │ │ ├── AnimatedNode.java │ │ │ │ ├── AnimatedNodeValueListener.java │ │ │ │ ├── AnimationDriver.java │ │ │ │ ├── BUCK │ │ │ │ ├── DecayAnimation.java │ │ │ │ ├── DiffClampAnimatedNode.java │ │ │ │ ├── DivisionAnimatedNode.java │ │ │ │ ├── EventAnimationDriver.java │ │ │ │ ├── FrameBasedAnimationDriver.java │ │ │ │ ├── InterpolationAnimatedNode.java │ │ │ │ ├── ModulusAnimatedNode.java │ │ │ │ ├── MultiplicationAnimatedNode.java │ │ │ │ ├── NativeAnimatedModule.java │ │ │ │ ├── NativeAnimatedNodesManager.java │ │ │ │ ├── PropsAnimatedNode.java │ │ │ │ ├── SpringAnimation.java │ │ │ │ ├── StyleAnimatedNode.java │ │ │ │ ├── TransformAnimatedNode.java │ │ │ │ └── ValueAnimatedNode.java │ │ │ ├── animation │ │ │ │ ├── AbstractFloatPairPropertyUpdater.java │ │ │ │ ├── AbstractSingleFloatProperyUpdater.java │ │ │ │ ├── AnimationPropertyUpdater.java │ │ │ │ └── BUCK │ │ │ ├── bridge │ │ │ │ ├── ActivityEventListener.java │ │ │ │ ├── Arguments.java │ │ │ │ ├── BUCK │ │ │ │ ├── BaseActivityEventListener.java │ │ │ │ ├── BaseJavaModule.java │ │ │ │ ├── CallbackImpl.java │ │ │ │ ├── CatalystInstance.java │ │ │ │ ├── CatalystInstanceImpl.java │ │ │ │ ├── ContextBaseJavaModule.java │ │ │ │ ├── CxxCallbackImpl.java │ │ │ │ ├── CxxModuleWrapper.java │ │ │ │ ├── CxxModuleWrapperBase.java │ │ │ │ ├── Dynamic.java │ │ │ │ ├── DynamicFromArray.java │ │ │ │ ├── DynamicFromMap.java │ │ │ │ ├── FallbackJSBundleLoader.java │ │ │ │ ├── GuardedRunnable.java │ │ │ │ ├── Inspector.java │ │ │ │ ├── JSBundleLoader.java │ │ │ │ ├── JSCJavaScriptExecutor.java │ │ │ │ ├── JSCJavaScriptExecutorFactory.java │ │ │ │ ├── JSInstance.java │ │ │ │ ├── JavaJSExecutor.java │ │ │ │ ├── JavaMethodWrapper.java │ │ │ │ ├── JavaModuleWrapper.java │ │ │ │ ├── JavaOnlyArray.java │ │ │ │ ├── JavaOnlyMap.java │ │ │ │ ├── JavaScriptContextHolder.java │ │ │ │ ├── JavaScriptExecutor.java │ │ │ │ ├── JavaScriptExecutorFactory.java │ │ │ │ ├── JavaScriptModuleRegistry.java │ │ │ │ ├── JsonWriter.java │ │ │ │ ├── JsonWriterHelper.java │ │ │ │ ├── LifecycleEventListener.java │ │ │ │ ├── MemoryPressure.java │ │ │ │ ├── MemoryPressureListener.java │ │ │ │ ├── ModuleHolder.java │ │ │ │ ├── ModuleSpec.java │ │ │ │ ├── NativeArray.java │ │ │ │ ├── NativeMap.java │ │ │ │ ├── NativeModule.java │ │ │ │ ├── NativeModuleRegistry.java │ │ │ │ ├── PerformanceCounter.java │ │ │ │ ├── Promise.java │ │ │ │ ├── ProxyJavaScriptExecutor.java │ │ │ │ ├── ReactBridge.java │ │ │ │ ├── ReactCallback.java │ │ │ │ ├── ReactContext.java │ │ │ │ ├── ReactMarker.java │ │ │ │ ├── ReactMarkerConstants.java │ │ │ │ ├── ReactMethod.java │ │ │ │ ├── ReactModuleWithSpec.java │ │ │ │ ├── ReadableArray.java │ │ │ │ ├── ReadableMap.java │ │ │ │ ├── ReadableNativeArray.java │ │ │ │ ├── ReadableNativeMap.java │ │ │ │ ├── WritableNativeArray.java │ │ │ │ ├── WritableNativeMap.java │ │ │ │ ├── bridge.pro │ │ │ │ ├── queue │ │ │ │ │ ├── MessageQueueThread.java │ │ │ │ │ ├── MessageQueueThreadImpl.java │ │ │ │ │ ├── MessageQueueThreadSpec.java │ │ │ │ │ ├── NativeRunnable.java │ │ │ │ │ ├── ReactQueueConfiguration.java │ │ │ │ │ ├── ReactQueueConfigurationImpl.java │ │ │ │ │ └── ReactQueueConfigurationSpec.java │ │ │ │ └── reactnative.pro │ │ │ ├── common │ │ │ │ ├── BUCK │ │ │ │ ├── ClearableSynchronizedPool.java │ │ │ │ ├── DebugServerException.java │ │ │ │ ├── JavascriptException.java │ │ │ │ ├── LifecycleState.java │ │ │ │ ├── ShakeDetector.java │ │ │ │ ├── SingleThreadAsserter.java │ │ │ │ ├── SystemClock.java │ │ │ │ ├── build │ │ │ │ │ └── ReactBuildConfig.java │ │ │ │ └── network │ │ │ │ │ ├── BUCK │ │ │ │ │ └── OkHttpCallUtil.java │ │ │ ├── devsupport │ │ │ │ ├── BUCK │ │ │ │ ├── BundleDownloader.java │ │ │ │ ├── DebugOverlayController.java │ │ │ │ ├── DevInternalSettings.java │ │ │ │ ├── DevLoadingViewController.java │ │ │ │ ├── DevServerHelper.java │ │ │ │ ├── DevSettingsActivity.java │ │ │ │ ├── DevSupportManagerFactory.java │ │ │ │ ├── DevSupportManagerImpl.java │ │ │ │ ├── DisabledDevSupportManager.java │ │ │ │ ├── DoubleTapReloadRecognizer.java │ │ │ │ ├── FpsView.java │ │ │ │ ├── InspectorPackagerConnection.java │ │ │ │ ├── JSCHeapCapture.java │ │ │ │ ├── JSCSamplingProfiler.java │ │ │ │ ├── JSDebuggerWebSocketClient.java │ │ │ │ ├── JSException.java │ │ │ │ ├── MultipartStreamReader.java │ │ │ │ ├── ReactInstanceManagerDevHelper.java │ │ │ │ ├── RedBoxDialog.java │ │ │ │ ├── RedBoxHandler.java │ │ │ │ ├── StackTraceHelper.java │ │ │ │ ├── WebsocketJavaScriptExecutor.java │ │ │ │ ├── WindowOverlayCompat.java │ │ │ │ └── interfaces │ │ │ │ │ ├── DevBundleDownloadListener.java │ │ │ │ │ ├── DevOptionHandler.java │ │ │ │ │ ├── DevSupportManager.java │ │ │ │ │ ├── ErrorCustomizer.java │ │ │ │ │ ├── PackagerStatusCallback.java │ │ │ │ │ └── StackFrame.java │ │ │ ├── flat │ │ │ │ ├── AbstractDrawBorder.java │ │ │ │ ├── AbstractDrawCommand.java │ │ │ │ ├── AndroidView.java │ │ │ │ ├── AttachDetachListener.java │ │ │ │ ├── BUCK │ │ │ │ ├── BitmapUpdateListener.java │ │ │ │ ├── ClippingDrawCommandManager.java │ │ │ │ ├── DrawBackgroundColor.java │ │ │ │ ├── DrawBorder.java │ │ │ │ ├── DrawCommand.java │ │ │ │ ├── DrawCommandManager.java │ │ │ │ ├── DrawImage.java │ │ │ │ ├── DrawImageWithDrawee.java │ │ │ │ ├── DrawTextLayout.java │ │ │ │ ├── DrawView.java │ │ │ │ ├── DraweeRequestHelper.java │ │ │ │ ├── ElementsList.java │ │ │ │ ├── FlatARTSurfaceViewManager.java │ │ │ │ ├── FlatARTSurfaceViewShadowNode.java │ │ │ │ ├── FlatMeasuredViewGroup.java │ │ │ │ ├── FlatNativeViewHierarchyManager.java │ │ │ │ ├── FlatReactModalShadowNode.java │ │ │ │ ├── FlatRootShadowNode.java │ │ │ │ ├── FlatRootViewManager.java │ │ │ │ ├── FlatShadowNode.java │ │ │ │ ├── FlatTextShadowNode.java │ │ │ │ ├── FlatUIImplementation.java │ │ │ │ ├── FlatUIViewOperationQueue.java │ │ │ │ ├── FlatViewGroup.java │ │ │ │ ├── FlatViewManager.java │ │ │ │ ├── FontStylingSpan.java │ │ │ │ ├── HitSlopNodeRegion.java │ │ │ │ ├── HorizontalDrawCommandManager.java │ │ │ │ ├── InlineImageSpanWithPipeline.java │ │ │ │ ├── MoveProxy.java │ │ │ │ ├── NativeViewWrapper.java │ │ │ │ ├── NodeRegion.java │ │ │ │ ├── PipelineRequestHelper.java │ │ │ │ ├── RCTImageView.java │ │ │ │ ├── RCTImageViewManager.java │ │ │ │ ├── RCTModalHostManager.java │ │ │ │ ├── RCTRawText.java │ │ │ │ ├── RCTRawTextManager.java │ │ │ │ ├── RCTText.java │ │ │ │ ├── RCTTextInlineImage.java │ │ │ │ ├── RCTTextInlineImageManager.java │ │ │ │ ├── RCTTextInput.java │ │ │ │ ├── RCTTextInputManager.java │ │ │ │ ├── RCTTextManager.java │ │ │ │ ├── RCTView.java │ │ │ │ ├── RCTViewManager.java │ │ │ │ ├── RCTViewPagerManager.java │ │ │ │ ├── RCTVirtualText.java │ │ │ │ ├── RCTVirtualTextManager.java │ │ │ │ ├── README.md │ │ │ │ ├── ShadowStyleSpan.java │ │ │ │ ├── StateBuilder.java │ │ │ │ ├── TextNodeRegion.java │ │ │ │ ├── TypefaceCache.java │ │ │ │ ├── VerticalDrawCommandManager.java │ │ │ │ ├── ViewResolver.java │ │ │ │ └── VirtualViewManager.java │ │ │ ├── jstasks │ │ │ │ ├── BUCK │ │ │ │ ├── HeadlessJsTaskConfig.java │ │ │ │ ├── HeadlessJsTaskContext.java │ │ │ │ └── HeadlessJsTaskEventListener.java │ │ │ ├── module │ │ │ │ ├── annotations │ │ │ │ │ ├── BUCK │ │ │ │ │ ├── ReactModule.java │ │ │ │ │ └── ReactModuleList.java │ │ │ │ ├── model │ │ │ │ │ ├── BUCK │ │ │ │ │ ├── ReactModuleInfo.java │ │ │ │ │ └── ReactModuleInfoProvider.java │ │ │ │ └── processing │ │ │ │ │ ├── BUCK │ │ │ │ │ └── ReactModuleSpecProcessor.java │ │ │ ├── modules │ │ │ │ ├── accessibilityinfo │ │ │ │ │ ├── AccessibilityInfoModule.java │ │ │ │ │ └── BUCK │ │ │ │ ├── appregistry │ │ │ │ │ ├── AppRegistry.java │ │ │ │ │ └── BUCK │ │ │ │ ├── appstate │ │ │ │ │ ├── AppStateModule.java │ │ │ │ │ └── BUCK │ │ │ │ ├── blob │ │ │ │ │ ├── BUCK │ │ │ │ │ ├── BlobModule.java │ │ │ │ │ └── BlobProvider.java │ │ │ │ ├── camera │ │ │ │ │ ├── BUCK │ │ │ │ │ ├── CameraRollManager.java │ │ │ │ │ ├── ImageEditingManager.java │ │ │ │ │ └── ImageStoreManager.java │ │ │ │ ├── clipboard │ │ │ │ │ ├── BUCK │ │ │ │ │ └── ClipboardModule.java │ │ │ │ ├── common │ │ │ │ │ └── BUCK │ │ │ │ ├── core │ │ │ │ │ ├── BUCK │ │ │ │ │ ├── ChoreographerCompat.java │ │ │ │ │ ├── DeviceEventManagerModule.java │ │ │ │ │ ├── ExceptionsManagerModule.java │ │ │ │ │ ├── HeadlessJsTaskSupportModule.java │ │ │ │ │ ├── JSTimers.java │ │ │ │ │ ├── PermissionAwareActivity.java │ │ │ │ │ ├── PermissionListener.java │ │ │ │ │ ├── ReactChoreographer.java │ │ │ │ │ └── Timing.java │ │ │ │ ├── datepicker │ │ │ │ │ ├── BUCK │ │ │ │ │ ├── DatePickerDialogFragment.java │ │ │ │ │ ├── DatePickerDialogModule.java │ │ │ │ │ ├── DatePickerMode.java │ │ │ │ │ └── DismissableDatePickerDialog.java │ │ │ │ ├── debug │ │ │ │ │ ├── AnimationsDebugModule.java │ │ │ │ │ ├── BUCK │ │ │ │ │ ├── DidJSUpdateUiDuringFrameDetector.java │ │ │ │ │ ├── FpsDebugFrameCallback.java │ │ │ │ │ ├── SourceCodeModule.java │ │ │ │ │ └── interfaces │ │ │ │ │ │ └── DeveloperSettings.java │ │ │ │ ├── deviceinfo │ │ │ │ │ ├── BUCK │ │ │ │ │ └── DeviceInfoModule.java │ │ │ │ ├── dialog │ │ │ │ │ ├── AlertFragment.java │ │ │ │ │ ├── BUCK │ │ │ │ │ ├── DialogModule.java │ │ │ │ │ └── SupportAlertFragment.java │ │ │ │ ├── fresco │ │ │ │ │ ├── BUCK │ │ │ │ │ ├── FrescoModule.java │ │ │ │ │ ├── ReactNetworkImageRequest.java │ │ │ │ │ ├── ReactOkHttpNetworkFetcher.java │ │ │ │ │ └── SystraceRequestListener.java │ │ │ │ ├── i18nmanager │ │ │ │ │ ├── BUCK │ │ │ │ │ ├── I18nManagerModule.java │ │ │ │ │ └── I18nUtil.java │ │ │ │ ├── image │ │ │ │ │ ├── BUCK │ │ │ │ │ └── ImageLoaderModule.java │ │ │ │ ├── intent │ │ │ │ │ ├── BUCK │ │ │ │ │ └── IntentModule.java │ │ │ │ ├── location │ │ │ │ │ ├── BUCK │ │ │ │ │ ├── LocationModule.java │ │ │ │ │ └── PositionError.java │ │ │ │ ├── netinfo │ │ │ │ │ ├── BUCK │ │ │ │ │ └── NetInfoModule.java │ │ │ │ ├── network │ │ │ │ │ ├── BUCK │ │ │ │ │ ├── CookieJarContainer.java │ │ │ │ │ ├── NetworkInterceptorCreator.java │ │ │ │ │ ├── NetworkingModule.java │ │ │ │ │ ├── OkHttpClientProvider.java │ │ │ │ │ ├── ProgressListener.java │ │ │ │ │ ├── ProgressRequestBody.java │ │ │ │ │ ├── ProgressResponseBody.java │ │ │ │ │ ├── ReactCookieJarContainer.java │ │ │ │ │ ├── RequestBodyUtil.java │ │ │ │ │ ├── ResponseUtil.java │ │ │ │ │ └── TLSSocketFactory.java │ │ │ │ ├── permissions │ │ │ │ │ ├── BUCK │ │ │ │ │ └── PermissionsModule.java │ │ │ │ ├── share │ │ │ │ │ ├── BUCK │ │ │ │ │ └── ShareModule.java │ │ │ │ ├── statusbar │ │ │ │ │ ├── BUCK │ │ │ │ │ └── StatusBarModule.java │ │ │ │ ├── storage │ │ │ │ │ ├── AsyncLocalStorageUtil.java │ │ │ │ │ ├── AsyncStorageModule.java │ │ │ │ │ ├── BUCK │ │ │ │ │ └── ReactDatabaseSupplier.java │ │ │ │ ├── systeminfo │ │ │ │ │ ├── AndroidInfoHelpers.java │ │ │ │ │ ├── AndroidInfoModule.java │ │ │ │ │ ├── BUCK │ │ │ │ │ └── ReactNativeVersion.java │ │ │ │ ├── timepicker │ │ │ │ │ ├── BUCK │ │ │ │ │ ├── DismissableTimePickerDialog.java │ │ │ │ │ ├── TimePickerDialogFragment.java │ │ │ │ │ ├── TimePickerDialogModule.java │ │ │ │ │ └── TimePickerMode.java │ │ │ │ ├── toast │ │ │ │ │ ├── BUCK │ │ │ │ │ └── ToastModule.java │ │ │ │ ├── vibration │ │ │ │ │ ├── BUCK │ │ │ │ │ └── VibrationModule.java │ │ │ │ └── websocket │ │ │ │ │ ├── BUCK │ │ │ │ │ └── WebSocketModule.java │ │ │ ├── packagerconnection │ │ │ │ ├── BUCK │ │ │ │ ├── FileIoHandler.java │ │ │ │ ├── JSPackagerClient.java │ │ │ │ ├── NotificationOnlyHandler.java │ │ │ │ ├── PackagerConnectionSettings.java │ │ │ │ ├── ReconnectingWebSocket.java │ │ │ │ ├── RequestHandler.java │ │ │ │ ├── RequestOnlyHandler.java │ │ │ │ ├── Responder.java │ │ │ │ └── SamplingProfilerPackagerMethod.java │ │ │ ├── processing │ │ │ │ ├── BUCK │ │ │ │ └── ReactPropertyProcessor.java │ │ │ ├── shell │ │ │ │ ├── BUCK │ │ │ │ ├── MainPackageConfig.java │ │ │ │ └── MainReactPackage.java │ │ │ ├── touch │ │ │ │ └── BUCK │ │ │ ├── uimanager │ │ │ │ ├── BUCK │ │ │ │ ├── BaseViewManager.java │ │ │ │ ├── DisplayMetricsHolder.java │ │ │ │ ├── FloatUtil.java │ │ │ │ ├── GuardedFrameCallback.java │ │ │ │ ├── JSTouchDispatcher.java │ │ │ │ ├── LayoutShadowNode.java │ │ │ │ ├── MatrixMathHelper.java │ │ │ │ ├── MeasureSpecProvider.java │ │ │ │ ├── NativeViewHierarchyManager.java │ │ │ │ ├── NativeViewHierarchyOptimizer.java │ │ │ │ ├── OnLayoutEvent.java │ │ │ │ ├── ReactClippingViewGroup.java │ │ │ │ ├── ReactClippingViewGroupHelper.java │ │ │ │ ├── ReactCompoundView.java │ │ │ │ ├── ReactRootViewTagGenerator.java │ │ │ │ ├── ReactShadowNode.java │ │ │ │ ├── ReactShadowNodeImpl.java │ │ │ │ ├── ReactStylesDiffMap.java │ │ │ │ ├── ReactZIndexedViewGroup.java │ │ │ │ ├── ShadowNodeRegistry.java │ │ │ │ ├── SizeMonitoringFrameLayout.java │ │ │ │ ├── Spacing.java │ │ │ │ ├── ThemedReactContext.java │ │ │ │ ├── TouchTargetHelper.java │ │ │ │ ├── TransformHelper.java │ │ │ │ ├── UIBlock.java │ │ │ │ ├── UIImplementation.java │ │ │ │ ├── UIImplementationProvider.java │ │ │ │ ├── UIManagerModule.java │ │ │ │ ├── UIManagerModuleConstants.java │ │ │ │ ├── UIManagerModuleConstantsHelper.java │ │ │ │ ├── UIManagerModuleListener.java │ │ │ │ ├── UIViewOperationQueue.java │ │ │ │ ├── ViewGroupDrawingOrderHelper.java │ │ │ │ ├── ViewGroupManager.java │ │ │ │ ├── ViewHierarchyDumper.java │ │ │ │ ├── ViewManager.java │ │ │ │ ├── ViewManagerPropertyUpdater.java │ │ │ │ ├── ViewManagerRegistry.java │ │ │ │ ├── ViewManagersPropertyCache.java │ │ │ │ ├── ViewProps.java │ │ │ │ ├── YogaNodePool.java │ │ │ │ ├── annotations │ │ │ │ │ ├── BUCK │ │ │ │ │ └── ReactProp.java │ │ │ │ ├── events │ │ │ │ │ ├── ContentSizeChangeEvent.java │ │ │ │ │ ├── Event.java │ │ │ │ │ ├── EventDispatcher.java │ │ │ │ │ ├── EventDispatcherListener.java │ │ │ │ │ ├── TouchEvent.java │ │ │ │ │ ├── TouchEventCoalescingKeyHelper.java │ │ │ │ │ └── TouchesHelper.java │ │ │ │ ├── layoutanimation │ │ │ │ │ ├── AbstractLayoutAnimation.java │ │ │ │ │ ├── BaseLayoutAnimation.java │ │ │ │ │ ├── LayoutAnimationController.java │ │ │ │ │ ├── LayoutAnimationListener.java │ │ │ │ │ ├── LayoutAnimationType.java │ │ │ │ │ ├── LayoutDeleteAnimation.java │ │ │ │ │ ├── OpacityAnimation.java │ │ │ │ │ └── PositionAndSizeAnimation.java │ │ │ │ └── util │ │ │ │ │ ├── BUCK │ │ │ │ │ └── ReactFindViewUtil.java │ │ │ ├── util │ │ │ │ ├── BUCK │ │ │ │ └── JSStackTrace.java │ │ │ └── views │ │ │ │ ├── art │ │ │ │ ├── ARTGroupShadowNode.java │ │ │ │ ├── ARTGroupViewManager.java │ │ │ │ ├── ARTRenderableViewManager.java │ │ │ │ ├── ARTShapeShadowNode.java │ │ │ │ ├── ARTShapeViewManager.java │ │ │ │ ├── ARTSurfaceView.java │ │ │ │ ├── ARTSurfaceViewManager.java │ │ │ │ ├── ARTSurfaceViewShadowNode.java │ │ │ │ ├── ARTTextViewManager.java │ │ │ │ ├── ARTVirtualNode.java │ │ │ │ └── BUCK │ │ │ │ ├── checkbox │ │ │ │ ├── BUCK │ │ │ │ ├── ReactCheckBox.java │ │ │ │ ├── ReactCheckBoxEvent.java │ │ │ │ └── ReactCheckBoxManager.java │ │ │ │ ├── common │ │ │ │ ├── BUCK │ │ │ │ └── ViewHelper.java │ │ │ │ ├── drawer │ │ │ │ ├── BUCK │ │ │ │ ├── ReactDrawerLayoutManager.java │ │ │ │ └── events │ │ │ │ │ ├── DrawerClosedEvent.java │ │ │ │ │ ├── DrawerOpenedEvent.java │ │ │ │ │ ├── DrawerSlideEvent.java │ │ │ │ │ └── DrawerStateChangedEvent.java │ │ │ │ ├── image │ │ │ │ ├── BUCK │ │ │ │ ├── GlobalImageLoadListener.java │ │ │ │ ├── ImageLoadEvent.java │ │ │ │ ├── ImageResizeMethod.java │ │ │ │ ├── ImageResizeMode.java │ │ │ │ ├── ReactImageManager.java │ │ │ │ └── ReactImageView.java │ │ │ │ ├── imagehelper │ │ │ │ ├── BUCK │ │ │ │ ├── ImageSource.java │ │ │ │ ├── MultiSourceHelper.java │ │ │ │ └── ResourceDrawableIdHelper.java │ │ │ │ ├── modal │ │ │ │ ├── BUCK │ │ │ │ ├── ModalHostHelper.java │ │ │ │ ├── ModalHostShadowNode.java │ │ │ │ ├── ReactModalHostManager.java │ │ │ │ ├── ReactModalHostView.java │ │ │ │ ├── RequestCloseEvent.java │ │ │ │ └── ShowEvent.java │ │ │ │ ├── picker │ │ │ │ ├── BUCK │ │ │ │ ├── ReactDialogPickerManager.java │ │ │ │ ├── ReactDropdownPickerManager.java │ │ │ │ ├── ReactPicker.java │ │ │ │ ├── ReactPickerManager.java │ │ │ │ └── events │ │ │ │ │ └── PickerItemSelectEvent.java │ │ │ │ ├── progressbar │ │ │ │ ├── BUCK │ │ │ │ ├── ProgressBarContainerView.java │ │ │ │ ├── ProgressBarShadowNode.java │ │ │ │ └── ReactProgressBarViewManager.java │ │ │ │ ├── scroll │ │ │ │ ├── BUCK │ │ │ │ ├── FpsListener.java │ │ │ │ ├── OnScrollDispatchHelper.java │ │ │ │ ├── ReactHorizontalScrollContainerView.java │ │ │ │ ├── ReactHorizontalScrollContainerViewManager.java │ │ │ │ ├── ReactHorizontalScrollView.java │ │ │ │ ├── ReactHorizontalScrollViewManager.java │ │ │ │ ├── ReactScrollView.java │ │ │ │ ├── ReactScrollViewCommandHelper.java │ │ │ │ ├── ReactScrollViewHelper.java │ │ │ │ ├── ReactScrollViewManager.java │ │ │ │ ├── ScrollEvent.java │ │ │ │ ├── ScrollEventType.java │ │ │ │ └── VelocityHelper.java │ │ │ │ ├── slider │ │ │ │ ├── BUCK │ │ │ │ ├── ReactSlider.java │ │ │ │ ├── ReactSliderEvent.java │ │ │ │ ├── ReactSliderManager.java │ │ │ │ └── ReactSlidingCompleteEvent.java │ │ │ │ ├── swiperefresh │ │ │ │ ├── BUCK │ │ │ │ ├── ReactSwipeRefreshLayout.java │ │ │ │ ├── RefreshEvent.java │ │ │ │ └── SwipeRefreshLayoutManager.java │ │ │ │ ├── switchview │ │ │ │ ├── BUCK │ │ │ │ ├── ReactSwitch.java │ │ │ │ ├── ReactSwitchEvent.java │ │ │ │ └── ReactSwitchManager.java │ │ │ │ ├── text │ │ │ │ ├── BUCK │ │ │ │ ├── CustomLineHeightSpan.java │ │ │ │ ├── ReactBaseTextShadowNode.java │ │ │ │ ├── ReactRawTextManager.java │ │ │ │ ├── ReactRawTextShadowNode.java │ │ │ │ ├── ReactTextAnchorViewManager.java │ │ │ │ ├── ReactTextInlineImageShadowNode.java │ │ │ │ ├── ReactTextShadowNode.java │ │ │ │ ├── ReactTextUpdate.java │ │ │ │ ├── ReactTextView.java │ │ │ │ ├── ReactTextViewManager.java │ │ │ │ ├── ReactVirtualTextShadowNode.java │ │ │ │ ├── ReactVirtualTextViewManager.java │ │ │ │ ├── TextInlineImageSpan.java │ │ │ │ └── frescosupport │ │ │ │ │ ├── BUCK │ │ │ │ │ ├── FrescoBasedReactTextInlineImageShadowNode.java │ │ │ │ │ ├── FrescoBasedReactTextInlineImageSpan.java │ │ │ │ │ └── FrescoBasedReactTextInlineImageViewManager.java │ │ │ │ ├── textinput │ │ │ │ ├── BUCK │ │ │ │ ├── ContentSizeWatcher.java │ │ │ │ ├── ReactContentSizeChangedEvent.java │ │ │ │ ├── ReactEditText.java │ │ │ │ ├── ReactEditTextInputConnectionWrapper.java │ │ │ │ ├── ReactTextChangedEvent.java │ │ │ │ ├── ReactTextInputBlurEvent.java │ │ │ │ ├── ReactTextInputEndEditingEvent.java │ │ │ │ ├── ReactTextInputEvent.java │ │ │ │ ├── ReactTextInputFocusEvent.java │ │ │ │ ├── ReactTextInputKeyPressEvent.java │ │ │ │ ├── ReactTextInputLocalData.java │ │ │ │ ├── ReactTextInputManager.java │ │ │ │ ├── ReactTextInputSelectionEvent.java │ │ │ │ ├── ReactTextInputShadowNode.java │ │ │ │ ├── ReactTextInputSubmitEditingEvent.java │ │ │ │ └── ScrollWatcher.java │ │ │ │ ├── toolbar │ │ │ │ ├── BUCK │ │ │ │ ├── ReactToolbar.java │ │ │ │ ├── ReactToolbarManager.java │ │ │ │ └── events │ │ │ │ │ └── ToolbarClickEvent.java │ │ │ │ ├── view │ │ │ │ ├── BUCK │ │ │ │ ├── MeasureUtil.java │ │ │ │ ├── ReactViewBackgroundDrawable.java │ │ │ │ ├── ReactViewBackgroundManager.java │ │ │ │ ├── ReactViewGroup.java │ │ │ │ └── ReactViewManager.java │ │ │ │ ├── viewpager │ │ │ │ ├── BUCK │ │ │ │ ├── PageScrollEvent.java │ │ │ │ ├── PageScrollStateChangedEvent.java │ │ │ │ ├── PageSelectedEvent.java │ │ │ │ ├── ReactViewPager.java │ │ │ │ └── ReactViewPagerManager.java │ │ │ │ └── webview │ │ │ │ ├── BUCK │ │ │ │ ├── ReactWebViewManager.java │ │ │ │ └── events │ │ │ │ ├── TopLoadingErrorEvent.java │ │ │ │ ├── TopLoadingFinishEvent.java │ │ │ │ ├── TopLoadingStartEvent.java │ │ │ │ └── TopMessageEvent.java │ │ │ ├── systrace │ │ │ ├── BUCK │ │ │ └── Systrace.java │ │ │ └── yoga │ │ │ ├── YogaAlign.java │ │ │ ├── YogaBaselineFunction.java │ │ │ ├── YogaConfig.java │ │ │ ├── YogaConstants.java │ │ │ ├── YogaDimension.java │ │ │ ├── YogaDirection.java │ │ │ ├── YogaDisplay.java │ │ │ ├── YogaEdge.java │ │ │ ├── YogaExperimentalFeature.java │ │ │ ├── YogaFlexDirection.java │ │ │ ├── YogaJustify.java │ │ │ ├── YogaLogLevel.java │ │ │ ├── YogaLogger.java │ │ │ ├── YogaMeasureFunction.java │ │ │ ├── YogaMeasureMode.java │ │ │ ├── YogaMeasureOutput.java │ │ │ ├── YogaNode.java │ │ │ ├── YogaNodeType.java │ │ │ ├── YogaOverflow.java │ │ │ ├── YogaPositionType.java │ │ │ ├── YogaPrintOptions.java │ │ │ ├── YogaUnit.java │ │ │ ├── YogaValue.java │ │ │ └── YogaWrap.java │ ├── jni │ │ ├── Application.mk │ │ ├── first-party │ │ │ ├── fb │ │ │ │ ├── Android.mk │ │ │ │ ├── BUCK │ │ │ │ ├── Doxyfile │ │ │ │ ├── include │ │ │ │ │ ├── fb │ │ │ │ │ │ ├── ALog.h │ │ │ │ │ │ ├── Build.h │ │ │ │ │ │ ├── Countable.h │ │ │ │ │ │ ├── Doxyfile │ │ │ │ │ │ ├── Environment.h │ │ │ │ │ │ ├── ProgramLocation.h │ │ │ │ │ │ ├── RefPtr.h │ │ │ │ │ │ ├── StaticInitialized.h │ │ │ │ │ │ ├── ThreadLocal.h │ │ │ │ │ │ ├── assert.h │ │ │ │ │ │ ├── fbjni.h │ │ │ │ │ │ ├── fbjni │ │ │ │ │ │ │ ├── Boxed.h │ │ │ │ │ │ │ ├── ByteBuffer.h │ │ │ │ │ │ │ ├── Common.h │ │ │ │ │ │ │ ├── Context.h │ │ │ │ │ │ │ ├── CoreClasses-inl.h │ │ │ │ │ │ │ ├── CoreClasses.h │ │ │ │ │ │ │ ├── Exceptions.h │ │ │ │ │ │ │ ├── File.h │ │ │ │ │ │ │ ├── Hybrid.h │ │ │ │ │ │ │ ├── Iterator-inl.h │ │ │ │ │ │ │ ├── Iterator.h │ │ │ │ │ │ │ ├── JThread.h │ │ │ │ │ │ │ ├── JWeakReference.h │ │ │ │ │ │ │ ├── Meta-forward.h │ │ │ │ │ │ │ ├── Meta-inl.h │ │ │ │ │ │ │ ├── Meta.h │ │ │ │ │ │ │ ├── MetaConvert.h │ │ │ │ │ │ │ ├── NativeRunnable.h │ │ │ │ │ │ │ ├── ReferenceAllocators-inl.h │ │ │ │ │ │ │ ├── ReferenceAllocators.h │ │ │ │ │ │ │ ├── References-forward.h │ │ │ │ │ │ │ ├── References-inl.h │ │ │ │ │ │ │ ├── References.h │ │ │ │ │ │ │ ├── Registration-inl.h │ │ │ │ │ │ │ ├── Registration.h │ │ │ │ │ │ │ └── TypeTraits.h │ │ │ │ │ │ ├── log.h │ │ │ │ │ │ ├── lyra.h │ │ │ │ │ │ ├── noncopyable.h │ │ │ │ │ │ ├── nonmovable.h │ │ │ │ │ │ └── visibility.h │ │ │ │ │ └── jni │ │ │ │ │ │ ├── Countable.h │ │ │ │ │ │ ├── GlobalReference.h │ │ │ │ │ │ ├── JniTerminateHandler.h │ │ │ │ │ │ ├── LocalReference.h │ │ │ │ │ │ ├── LocalString.h │ │ │ │ │ │ ├── Registration.h │ │ │ │ │ │ ├── WeakReference.h │ │ │ │ │ │ └── jni_helpers.h │ │ │ │ ├── jni │ │ │ │ │ ├── ByteBuffer.cpp │ │ │ │ │ ├── Countable.cpp │ │ │ │ │ ├── Environment.cpp │ │ │ │ │ ├── Exceptions.cpp │ │ │ │ │ ├── Hybrid.cpp │ │ │ │ │ ├── LocalString.cpp │ │ │ │ │ ├── OnLoad.cpp │ │ │ │ │ ├── References.cpp │ │ │ │ │ ├── WeakReference.cpp │ │ │ │ │ ├── android │ │ │ │ │ │ ├── CpuCapabilities.cpp │ │ │ │ │ │ └── ReferenceChecking.cpp │ │ │ │ │ ├── fbjni.cpp │ │ │ │ │ ├── java │ │ │ │ │ │ ├── BUCK │ │ │ │ │ │ ├── CppException.java │ │ │ │ │ │ ├── CppSystemErrorException.java │ │ │ │ │ │ └── UnknownCppException.java │ │ │ │ │ └── jni_helpers.cpp │ │ │ │ ├── lyra │ │ │ │ │ └── lyra.cpp │ │ │ │ └── onload.cpp │ │ │ ├── fbgloginit │ │ │ │ ├── Android.mk │ │ │ │ ├── BUCK │ │ │ │ ├── fb │ │ │ │ │ └── glog_init.h │ │ │ │ └── glog_init.cpp │ │ │ ├── jni-hack │ │ │ │ ├── BUCK │ │ │ │ ├── README.md │ │ │ │ ├── jni.h │ │ │ │ └── real │ │ │ │ │ └── jni.h │ │ │ └── yogajni │ │ │ │ ├── Android.mk │ │ │ │ ├── BUCK │ │ │ │ └── jni │ │ │ │ └── YGJNI.cpp │ │ ├── packagerconnection │ │ │ ├── Android.mk │ │ │ ├── BUCK │ │ │ ├── JSPackagerClientResponder.cpp │ │ │ ├── JSPackagerClientResponder.h │ │ │ ├── OnLoad.cpp │ │ │ ├── SamplingProfilerJniMethod.cpp │ │ │ └── SamplingProfilerJniMethod.h │ │ ├── prebuilt │ │ │ └── BUCK │ │ ├── react │ │ │ ├── jni │ │ │ │ ├── Android.mk │ │ │ │ ├── AndroidJSCFactory.cpp │ │ │ │ ├── AndroidJSCFactory.h │ │ │ │ ├── BUCK │ │ │ │ ├── CatalystInstanceImpl.cpp │ │ │ │ ├── CatalystInstanceImpl.h │ │ │ │ ├── CxxModuleWrapper.cpp │ │ │ │ ├── CxxModuleWrapper.h │ │ │ │ ├── CxxModuleWrapperBase.h │ │ │ │ ├── CxxSharedModuleWrapper.h │ │ │ │ ├── JCallback.h │ │ │ │ ├── JInspector.cpp │ │ │ │ ├── JInspector.h │ │ │ │ ├── JMessageQueueThread.cpp │ │ │ │ ├── JMessageQueueThread.h │ │ │ │ ├── JNativeRunnable.h │ │ │ │ ├── JSCPerfLogging.cpp │ │ │ │ ├── JSCPerfLogging.h │ │ │ │ ├── JSLoader.cpp │ │ │ │ ├── JSLoader.h │ │ │ │ ├── JSLogging.cpp │ │ │ │ ├── JSLogging.h │ │ │ │ ├── JavaModuleWrapper.cpp │ │ │ │ ├── JavaModuleWrapper.h │ │ │ │ ├── JavaScriptExecutorHolder.h │ │ │ │ ├── JniJSModulesUnbundle.cpp │ │ │ │ ├── JniJSModulesUnbundle.h │ │ │ │ ├── MethodInvoker.cpp │ │ │ │ ├── MethodInvoker.h │ │ │ │ ├── ModuleRegistryBuilder.cpp │ │ │ │ ├── ModuleRegistryBuilder.h │ │ │ │ ├── NativeArray.cpp │ │ │ │ ├── NativeArray.h │ │ │ │ ├── NativeCommon.cpp │ │ │ │ ├── NativeCommon.h │ │ │ │ ├── NativeMap.cpp │ │ │ │ ├── NativeMap.h │ │ │ │ ├── OnLoad.cpp │ │ │ │ ├── OnLoad.h │ │ │ │ ├── ProxyExecutor.cpp │ │ │ │ ├── ProxyExecutor.h │ │ │ │ ├── ReactMarker.cpp │ │ │ │ ├── ReactMarker.h │ │ │ │ ├── ReadableNativeArray.cpp │ │ │ │ ├── ReadableNativeArray.h │ │ │ │ ├── ReadableNativeMap.cpp │ │ │ │ ├── ReadableNativeMap.h │ │ │ │ ├── WritableNativeArray.cpp │ │ │ │ ├── WritableNativeArray.h │ │ │ │ ├── WritableNativeMap.cpp │ │ │ │ └── WritableNativeMap.h │ │ │ └── perftests │ │ │ │ ├── BUCK │ │ │ │ └── OnLoad.cpp │ │ └── third-party │ │ │ ├── android-ndk │ │ │ └── BUCK │ │ │ ├── boost │ │ │ └── Android.mk │ │ │ ├── folly │ │ │ └── Android.mk │ │ │ └── glibc │ │ │ └── BUCK │ ├── libraries │ │ ├── fbcore │ │ │ └── src │ │ │ │ ├── main │ │ │ │ └── java │ │ │ │ │ └── com │ │ │ │ │ └── facebook │ │ │ │ │ └── common │ │ │ │ │ └── logging │ │ │ │ │ └── BUCK │ │ │ │ └── test │ │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── facebook │ │ │ │ └── powermock │ │ │ │ └── BUCK │ │ ├── fresco │ │ │ └── fresco-react-native │ │ │ │ └── BUCK │ │ ├── soloader │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── facebook │ │ │ │ └── soloader │ │ │ │ └── BUCK │ │ └── textlayoutbuilder │ │ │ └── BUCK │ ├── res │ │ ├── BUCK │ │ ├── devsupport │ │ │ ├── layout │ │ │ │ ├── dev_loading_view.xml │ │ │ │ └── redbox_view.xml │ │ │ ├── values │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ └── xml │ │ │ │ └── preferences.xml │ │ ├── shell │ │ │ └── values │ │ │ │ └── styles.xml │ │ └── views │ │ │ ├── modal │ │ │ ├── anim │ │ │ │ ├── catalyst_fade_in.xml │ │ │ │ ├── catalyst_fade_out.xml │ │ │ │ ├── catalyst_slide_down.xml │ │ │ │ └── catalyst_slide_up.xml │ │ │ └── values │ │ │ │ └── themes.xml │ │ │ └── uimanager │ │ │ └── values │ │ │ └── ids.xml │ └── third-party │ │ ├── android │ │ ├── support-annotations │ │ │ └── BUCK │ │ └── support │ │ │ ├── v4 │ │ │ └── BUCK │ │ │ └── v7 │ │ │ └── appcompat-orig │ │ │ └── BUCK │ │ └── java │ │ ├── asm │ │ └── BUCK │ │ ├── buck-android-support │ │ ├── BUCK │ │ └── buck-android-support.jar │ │ ├── fest │ │ └── BUCK │ │ ├── infer-annotations │ │ ├── BUCK │ │ └── infer-annotations-4.0.jar │ │ ├── javapoet │ │ └── BUCK │ │ ├── jsr-305 │ │ └── BUCK │ │ ├── jsr-330 │ │ └── BUCK │ │ ├── junit │ │ └── BUCK │ │ ├── mockito │ │ └── BUCK │ │ ├── okhttp │ │ └── BUCK │ │ ├── okio │ │ └── BUCK │ │ ├── robolectric3 │ │ └── robolectric │ │ │ └── BUCK │ │ ├── sqlite │ │ └── BUCK │ │ └── testing-support-lib │ │ └── BUCK │ └── test │ └── java │ ├── com │ └── facebook │ │ ├── common │ │ └── logging │ │ │ ├── BUCK │ │ │ └── FakeLoggingDelegate.java │ │ └── react │ │ ├── BUCK │ │ ├── CompositeReactPackageTest.java │ │ ├── RootViewTest.java │ │ ├── animated │ │ ├── BUCK │ │ ├── NativeAnimatedInterpolationTest.java │ │ └── NativeAnimatedNodeTraversalTest.java │ │ ├── bridge │ │ ├── BUCK │ │ ├── BaseJavaModuleTest.java │ │ ├── FallbackJSBundleLoaderTest.java │ │ ├── JavaOnlyArrayTest.java │ │ ├── JsonWriterTest.java │ │ └── ModuleSpecTest.java │ │ ├── devsupport │ │ ├── BUCK │ │ ├── JSDebuggerWebSocketClientTest.java │ │ ├── MultipartStreamReaderTest.java │ │ └── StackTraceHelperTest.java │ │ ├── modules │ │ ├── BUCK │ │ ├── camera │ │ │ └── ImageStoreManagerTest.java │ │ ├── clipboard │ │ │ └── ClipboardModuleTest.java │ │ ├── dialog │ │ │ └── DialogModuleTest.java │ │ ├── network │ │ │ └── NetworkingModuleTest.java │ │ ├── share │ │ │ └── ShareModuleTest.java │ │ └── timing │ │ │ └── TimingModuleTest.java │ │ ├── packagerconnection │ │ ├── BUCK │ │ └── JSPackagerClientTest.java │ │ ├── uimanager │ │ ├── BUCK │ │ ├── LayoutPropertyApplicatorTest.java │ │ ├── MatrixMathHelperTest.java │ │ ├── ReactPropConstantsTest.java │ │ ├── ReactPropForShadowNodeSetterTest.java │ │ ├── ReactPropForShadowNodeSpecTest.java │ │ ├── UIManagerModuleConstantsTest.java │ │ └── UIManagerModuleTest.java │ │ └── views │ │ ├── BUCK │ │ ├── image │ │ ├── ImageResizeModeTest.java │ │ └── ReactImagePropertyTest.java │ │ ├── slider │ │ └── ReactSliderPropertyTest.java │ │ ├── text │ │ ├── CustomLineHeightSpanTest.java │ │ └── ReactTextTest.java │ │ └── textinput │ │ ├── ReactTextInputPropertyTest.java │ │ └── TextInputTest.java │ └── org │ └── mockito │ └── configuration │ └── BUCK ├── ReactCommon ├── DEFS ├── cxxreact │ ├── Android.mk │ ├── BUCK │ ├── CxxModule.h │ ├── CxxNativeModule.cpp │ ├── CxxNativeModule.h │ ├── Instance.cpp │ ├── Instance.h │ ├── JSBigString.cpp │ ├── JSBigString.h │ ├── JSBundleType.cpp │ ├── JSBundleType.h │ ├── JSCExecutor.cpp │ ├── JSCExecutor.h │ ├── JSCLegacyTracing.cpp │ ├── JSCLegacyTracing.h │ ├── JSCMemory.cpp │ ├── JSCMemory.h │ ├── JSCNativeModules.cpp │ ├── JSCNativeModules.h │ ├── JSCPerfStats.cpp │ ├── JSCPerfStats.h │ ├── JSCSamplingProfiler.cpp │ ├── JSCSamplingProfiler.h │ ├── JSCTracing.cpp │ ├── JSCTracing.h │ ├── JSCUtils.cpp │ ├── JSCUtils.h │ ├── JSExecutor.h │ ├── JSIndexedRAMBundle.cpp │ ├── JSIndexedRAMBundle.h │ ├── JSModulesUnbundle.h │ ├── JsArgumentHelpers-inl.h │ ├── JsArgumentHelpers.h │ ├── MessageQueueThread.h │ ├── MethodCall.cpp │ ├── MethodCall.h │ ├── ModuleRegistry.cpp │ ├── ModuleRegistry.h │ ├── NativeModule.h │ ├── NativeToJsBridge.cpp │ ├── NativeToJsBridge.h │ ├── Platform.cpp │ ├── Platform.h │ ├── RAMBundleRegistry.cpp │ ├── RAMBundleRegistry.h │ ├── RecoverableError.h │ ├── SampleCxxModule.cpp │ ├── SampleCxxModule.h │ ├── SharedProxyCxxModule.h │ ├── SystraceSection.h │ ├── oss-compat-util.h │ └── tests │ │ ├── BUCK │ │ ├── RecoverableErrorTest.cpp │ │ ├── jsarg_helpers.cpp │ │ ├── jsbigstring.cpp │ │ ├── jscexecutor.cpp │ │ ├── jsclogging.cpp │ │ ├── methodcall.cpp │ │ └── value.cpp ├── jschelpers │ ├── Android.mk │ ├── BUCK │ ├── JSCHelpers.cpp │ ├── JSCHelpers.h │ ├── JSCWrapper.cpp │ ├── JSCWrapper.h │ ├── JavaScriptCore.h │ ├── Unicode.cpp │ ├── Unicode.h │ ├── Value.cpp │ ├── Value.h │ ├── noncopyable.h │ └── systemJSCWrapper.cpp ├── jsinspector │ ├── Android.mk │ ├── BUCK │ ├── InspectorInterfaces.cpp │ └── InspectorInterfaces.h ├── microprofiler │ ├── BUCK │ ├── MicroProfiler.cpp │ └── MicroProfiler.h ├── privatedata │ ├── Android.mk │ ├── BUCK │ ├── PrivateDataBase.cpp │ └── PrivateDataBase.h └── yoga │ ├── Android.mk │ ├── BUCK │ ├── yoga.podspec │ └── yoga │ ├── YGEnums.cpp │ ├── YGEnums.h │ ├── YGMacros.h │ ├── YGNode.cpp │ ├── YGNode.h │ ├── YGNodePrint.cpp │ ├── YGNodePrint.h │ ├── Yoga-internal.h │ ├── Yoga.cpp │ └── Yoga.h ├── Releases.md ├── babel-preset ├── README.md ├── configs │ ├── hmr.js │ └── main.js ├── index.js ├── lib │ └── resolvePlugins.js ├── package.json ├── plugins.js └── transforms │ └── transform-symbol-member.js ├── blog ├── 2015-03-26-react-native-bringing-modern-web-techniques-to-mobile.md ├── 2015-09-14-react-native-for-android.md ├── 2015-11-23-making-react-native-apps-accessible.md ├── 2016-03-24-introducing-hot-reloading.md ├── 2016-03-28-dive-into-react-native-performance.md ├── 2016-04-13-react-native-a-year-in-review.md ├── 2016-07-06-toward-better-documentation.md ├── 2016-08-12-react-native-meetup-san-francisco.md ├── 2016-08-19-right-to-left-support-for-react-native-apps.md ├── 2016-09-08-exponent-talks-unraveling-navigation.md ├── 2016-10-25-0.36-headless-js-the-keyboard-api-and-more.md ├── 2016-11-08-introducing-button-yarn-and-a-public-roadmap.md ├── 2016-12-05-easier-upgrades.md ├── 2017-01-07-monthly-release-cadence.md ├── 2017-02-14-using-native-driver-for-animated.md ├── 2017-03-13-better-list-views.md ├── 2017-03-13-idx-the-existential-function.md ├── 2017-03-13-introducing-create-react-native-app.md ├── 2017-06-21-react-native-monthly-1.md ├── 2017-07-28-react-native-monthly-2.md ├── 2017-08-07-react-native-performance-in-marketplace.md ├── 2017-08-30-react-native-monthly-3.md ├── 2017-09-21-react-native-monthly-4.md ├── 2017-11-06-react-native-monthly-5.md └── img │ ├── RNPerformanceStartup.png │ ├── animated-diagram.png │ ├── big-hero.jpg │ ├── blue-hero.jpg │ ├── button-android-ios.png │ ├── dark-hero.png │ ├── git-upgrade-conflict.png │ ├── git-upgrade-output.png │ ├── hmr-architecture.png │ ├── hmr-diamond.png │ ├── hmr-log.png │ ├── hmr-proxy.png │ ├── hmr-step.png │ ├── rnmsf-august-2016-airbnb.jpg │ ├── rnmsf-august-2016-docs.jpg │ ├── rnmsf-august-2016-hero.jpg │ ├── rnmsf-august-2016-netflix.jpg │ ├── rtl-ama-android-hebrew.png │ ├── rtl-ama-ios-arabic.png │ ├── rtl-demo-forcertl.png │ ├── rtl-demo-icon-ltr.png │ ├── rtl-demo-icon-rtl.png │ ├── rtl-demo-listitem-ltr.png │ ├── rtl-demo-listitem-rtl.png │ ├── rtl-demo-swipe-ltr.png │ ├── rtl-demo-swipe-rtl.png │ ├── rtl-rn-core-updates.png │ └── yarn-rncli.png ├── bots ├── IssueCommands.txt ├── NewIssueGreeting.md ├── QuestionGreeting.md ├── code-analysis-bot.js ├── pr-inactivity-bookmarklet.js └── question-bookmarklet.js ├── breaking-changes.md ├── build.gradle ├── cli.js ├── danger ├── .babelrc ├── README.md ├── dangerfile.js └── package.json ├── flow-github └── metro.js ├── flow ├── Map.js ├── Position.js ├── Promise.js ├── Set.js ├── console.js ├── create-react-class.js ├── fbjs.js └── prop-types.js ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── jest-preset.json ├── jest ├── .eslintrc ├── assetFileTransformer.js ├── mockComponent.js ├── preprocessor.js └── setup.js ├── keystores ├── BUCK ├── debug.keystore └── debug.keystore.properties ├── lib ├── InitializeJavaScriptAppEngine.js ├── RCTEventEmitter.js ├── README ├── TextInputState.js ├── UIManager.js ├── UIManagerStatTracker.js ├── View.js ├── deepDiffer.js ├── deepFreezeAndThrowOnMutationInDev.js └── flattenStyle.js ├── local-cli ├── .eslintrc ├── __mocks__ │ ├── beeper.js │ └── fs.js ├── __tests__ │ └── fs-mock-test.js ├── bundle │ ├── __mocks__ │ │ └── sign.js │ ├── __tests__ │ │ ├── filterPlatformAssetScales-test.js │ │ ├── getAssetDestPathAndroid-test.js │ │ └── getAssetDestPathIOS-test.js │ ├── assetPathUtils.js │ ├── buildBundle.js │ ├── bundle.js │ ├── bundleCommandLineArgs.js │ ├── filterPlatformAssetScales.js │ ├── getAssetDestPathAndroid.js │ ├── getAssetDestPathIOS.js │ ├── saveAssets.js │ ├── types.flow.js │ └── unbundle.js ├── cli.js ├── cliEntry.js ├── commands.js ├── core │ ├── Constants.js │ ├── __fixtures__ │ │ ├── android.js │ │ ├── commands.js │ │ ├── dependencies.js │ │ ├── files │ │ │ ├── AndroidManifest-debug.xml │ │ │ ├── AndroidManifest.xml │ │ │ ├── Main.java │ │ │ ├── ReactPackage.java │ │ │ ├── ReactPackage.kt │ │ │ ├── package.json │ │ │ └── project.pbxproj │ │ ├── ios.js │ │ └── projects.js │ ├── __tests__ │ │ ├── android │ │ │ ├── findAndroidAppFolder.spec.js │ │ │ ├── findManifest.spec.js │ │ │ ├── findPackageClassName.spec.js │ │ │ ├── getDependencyConfig.spec.js │ │ │ ├── getProjectConfig.spec.js │ │ │ └── readManifest.spec.js │ │ ├── findAssets.spec.js │ │ ├── findPlugins.spec.js │ │ ├── ios │ │ │ ├── findPodfilePath.spec.js │ │ │ ├── findPodspecName.spec.js │ │ │ ├── findProject.spec.js │ │ │ └── getProjectConfig.spec.js │ │ └── makeCommand.spec.js │ ├── android │ │ ├── findAndroidAppFolder.js │ │ ├── findManifest.js │ │ ├── findPackageClassName.js │ │ ├── index.js │ │ └── readManifest.js │ ├── default.config.js │ ├── findAssets.js │ ├── findPlugins.js │ ├── index.js │ ├── ios │ │ ├── findPodfilePath.js │ │ ├── findPodspecName.js │ │ ├── findProject.js │ │ └── index.js │ ├── macos │ │ ├── findProject.js │ │ └── index.js │ ├── makeCommand.js │ ├── windows │ │ ├── findNamespace.js │ │ ├── findPackageClassName.js │ │ ├── findProject.js │ │ ├── findWindowsSolution.js │ │ ├── generateGUID.js │ │ └── index.js │ └── wrapCommands.js ├── dependencies │ └── dependencies.js ├── eject │ └── eject.js ├── generator │ ├── copyProjectTemplateAndReplace.js │ ├── printRunInstructions.js │ ├── promptSync.js │ └── templates.js ├── index.js ├── info │ └── info.js ├── init │ └── init.js ├── install │ ├── install.js │ └── uninstall.js ├── library │ └── library.js ├── link │ ├── __fixtures__ │ │ ├── Info.plist │ │ ├── android │ │ │ ├── 0.17 │ │ │ │ ├── MainActivity.java │ │ │ │ └── patchedMainActivity.java │ │ │ ├── 0.18 │ │ │ │ ├── MainActivity.java │ │ │ │ └── patchedMainActivity.java │ │ │ ├── 0.20 │ │ │ │ └── MainActivity.java │ │ │ ├── build.gradle │ │ │ ├── patchedBuild.gradle │ │ │ ├── patchedSettings.gradle │ │ │ └── settings.gradle │ │ ├── linearGradient.pbxproj │ │ ├── pods │ │ │ ├── PodfileSimple │ │ │ ├── PodfileWithFunction │ │ │ ├── PodfileWithMarkers │ │ │ └── PodfileWithTarget │ │ └── project.pbxproj │ ├── __tests__ │ │ ├── android │ │ │ ├── applyPatch.spec.js │ │ │ ├── isInstalled.spec.js │ │ │ ├── makeBuildPatch.spec.js │ │ │ ├── makeImportPatch.spec.js │ │ │ ├── makePackagePatch.spec.js │ │ │ ├── makeSettingsPatch.spec.js │ │ │ └── makeStringsPatch.spec.js │ │ ├── getDependencyConfig.spec.js │ │ ├── getProjectDependencies.spec.js │ │ ├── groupFilesByType.spec.js │ │ ├── ios │ │ │ ├── addFileToProject.spec.js │ │ │ ├── addProjectToLibraries.spec.js │ │ │ ├── addSharedLibraries.spec.js │ │ │ ├── createGroup.spec.js │ │ │ ├── getBuildProperty.spec.js │ │ │ ├── getGroup.spec.js │ │ │ ├── getHeaderSearchPath.spec.js │ │ │ ├── getHeadersInFolder.spec.js │ │ │ ├── getPlist.spec.js │ │ │ ├── getPlistPath.spec.js │ │ │ ├── getProducts.spec.js │ │ │ ├── hasLibraryImported.spec.js │ │ │ ├── isInstalled.spec.js │ │ │ ├── mapHeaderSearchPaths.spec.js │ │ │ ├── removeProjectFromLibraries.js │ │ │ ├── removeProjectFromProject.spec.js │ │ │ ├── removeSharedLibrary.spec.js │ │ │ └── writePlist.spec.js │ │ ├── link.spec.js │ │ ├── pods │ │ │ ├── findLineToAddPod.spec.js │ │ │ ├── findMarkedLinesInPodfile.spec.js │ │ │ ├── findPodTargetLine.spec.js │ │ │ ├── isInstalled.spec.js │ │ │ └── removePodEntry.spec.js │ │ └── promiseWaterfall.spec.js │ ├── android │ │ ├── copyAssets.js │ │ ├── fs.js │ │ ├── isInstalled.js │ │ ├── patches │ │ │ ├── applyParams.js │ │ │ ├── applyPatch.js │ │ │ ├── makeBuildPatch.js │ │ │ ├── makeImportPatch.js │ │ │ ├── makePackagePatch.js │ │ │ ├── makeSettingsPatch.js │ │ │ ├── makeStringsPatch.js │ │ │ └── revokePatch.js │ │ ├── registerNativeModule.js │ │ ├── unlinkAssets.js │ │ └── unregisterNativeModule.js │ ├── commandStub.js │ ├── getDependencyConfig.js │ ├── getProjectDependencies.js │ ├── groupFilesByType.js │ ├── ios │ │ ├── addFileToProject.js │ │ ├── addProjectToLibraries.js │ │ ├── addSharedLibraries.js │ │ ├── addToHeaderSearchPaths.js │ │ ├── copyAssets.js │ │ ├── createGroup.js │ │ ├── createGroupWithMessage.js │ │ ├── getBuildProperty.js │ │ ├── getGroup.js │ │ ├── getHeaderSearchPath.js │ │ ├── getHeadersInFolder.js │ │ ├── getPlist.js │ │ ├── getPlistPath.js │ │ ├── getProducts.js │ │ ├── hasLibraryImported.js │ │ ├── isInstalled.js │ │ ├── mapHeaderSearchPaths.js │ │ ├── registerNativeModule.js │ │ ├── removeFromHeaderSearchPaths.js │ │ ├── removeFromPbxItemContainerProxySection.js │ │ ├── removeFromPbxReferenceProxySection.js │ │ ├── removeFromProjectReferences.js │ │ ├── removeFromStaticLibraries.js │ │ ├── removeProductGroup.js │ │ ├── removeProjectFromLibraries.js │ │ ├── removeProjectFromProject.js │ │ ├── removeSharedLibraries.js │ │ ├── unlinkAssets.js │ │ ├── unregisterNativeModule.js │ │ └── writePlist.js │ ├── link.js │ ├── pods │ │ ├── addPodEntry.js │ │ ├── findLineToAddPod.js │ │ ├── findMarkedLinesInPodfile.js │ │ ├── findPodTargetLine.js │ │ ├── isInstalled.js │ │ ├── readPodfile.js │ │ ├── registerNativeModule.js │ │ ├── removePodEntry.js │ │ ├── savePodFile.js │ │ └── unregisterNativeModule.js │ ├── pollParams.js │ ├── promiseWaterfall.js │ ├── promisify.js │ ├── unlink.js │ └── windows │ │ ├── isInstalled.js │ │ ├── patches │ │ ├── applyParams.js │ │ ├── applyPatch.js │ │ ├── makePackagePatch.js │ │ ├── makeProjectPatch.js │ │ ├── makeSolutionPatch.js │ │ ├── makeUsingPatch.js │ │ └── revokePatch.js │ │ ├── registerNativeModule.js │ │ └── unregisterNativeModule.js ├── logAndroid │ └── logAndroid.js ├── logIOS │ └── logIOS.js ├── platform.js ├── runAndroid │ ├── adb.js │ └── runAndroid.js ├── runIOS │ ├── __tests__ │ │ ├── findMatchingSimulator-test.js │ │ ├── findXcodeProject-test.js │ │ └── parseIOSDevicesList-test.js │ ├── findMatchingSimulator.js │ ├── findXcodeProject.js │ ├── parseIOSDevicesList.js │ └── runIOS.js ├── runMacOS │ ├── findXcodeProject.js │ └── runMacOS.js ├── server │ ├── checkNodeVersion.js │ ├── middleware │ │ ├── copyToClipBoardMiddleware.js │ │ ├── getDevToolsMiddleware.js │ │ ├── getFlowTypeCheckMiddleware.js │ │ ├── index.html │ │ ├── indexPage.js │ │ ├── loadRawBodyMiddleware.js │ │ ├── openStackFrameInEditorMiddleware.js │ │ ├── statusPageMiddleware.js │ │ ├── systraceProfileMiddleware.js │ │ └── unless.js │ ├── runServer.js │ ├── server.js │ └── util │ │ ├── attachWebsocketServer.js │ │ ├── copyToClipBoard.js │ │ ├── debugger-ui │ │ ├── DeltaPatcher.js │ │ ├── debuggerWorker.js │ │ ├── deltaUrlToBlobUrl.js │ │ └── index.html │ │ ├── external │ │ └── xsel │ │ ├── jsPackagerClient.js │ │ ├── launchChrome.js │ │ ├── launchEditor.js │ │ ├── messageSocket.js │ │ └── webSocketProxy.js ├── setup_env.bat ├── setup_env.sh ├── templates │ ├── HelloNavigation │ │ ├── App.js │ │ ├── README.md │ │ ├── components │ │ │ ├── KeyboardSpacer.js │ │ │ └── ListItem.js │ │ ├── dependencies.json │ │ ├── lib │ │ │ └── Backend.js │ │ └── views │ │ │ ├── HomeScreenTabNavigator.js │ │ │ ├── chat │ │ │ ├── ChatListScreen.js │ │ │ ├── ChatScreen.js │ │ │ └── chat-icon.png │ │ │ └── welcome │ │ │ ├── WelcomeScreen.js │ │ │ ├── WelcomeText.android.js │ │ │ ├── WelcomeText.ios.js │ │ │ └── welcome-icon.png │ ├── HelloWorld │ │ ├── App.js │ │ ├── __tests__ │ │ │ ├── App.js │ │ │ └── index.macos.js │ │ ├── _babelrc │ │ ├── _flowconfig │ │ ├── _gitattributes │ │ ├── _gitignore │ │ ├── _watchmanconfig │ │ ├── android │ │ │ └── app │ │ │ │ ├── build.gradle │ │ │ │ └── src │ │ │ │ └── main │ │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── helloworld │ │ │ │ └── MainApplication.java │ │ ├── index.js │ │ ├── ios │ │ │ └── HelloWorld │ │ │ │ ├── AppDelegate.m │ │ │ │ └── Images.xcassets │ │ │ │ └── Contents.json │ │ ├── macos │ │ │ ├── HelloWorld-tvOS │ │ │ │ └── Info.plist │ │ │ ├── HelloWorld-tvOSTests │ │ │ │ └── Info.plist │ │ │ ├── HelloWorld.xcodeproj │ │ │ │ ├── project.pbxproj │ │ │ │ └── xcshareddata │ │ │ │ │ └── xcschemes │ │ │ │ │ ├── HelloWorld-tvOS.xcscheme │ │ │ │ │ └── HelloWorld.xcscheme │ │ │ ├── HelloWorld │ │ │ │ ├── AppDelegate.h │ │ │ │ ├── AppDelegate.m │ │ │ │ ├── Images.xcassets │ │ │ │ │ └── AppIcon.appiconset │ │ │ │ │ │ └── Contents.json │ │ │ │ ├── Info.plist │ │ │ │ └── main.m │ │ │ └── HelloWorldTests │ │ │ │ ├── HelloWorldTests.m │ │ │ │ └── Info.plist │ │ └── rn-cli.config.js │ └── README.md ├── upgrade │ └── upgrade.js ├── util │ ├── Config.js │ ├── PackageManager.js │ ├── __mocks__ │ │ └── log.js │ ├── __tests__ │ │ └── findSymlinkedModules-test.js │ ├── assertRequiredOptions.js │ ├── copyAndReplace.js │ ├── findReactNativeScripts.js │ ├── findSymlinkedModules.js │ ├── findSymlinksPaths.js │ ├── isPackagerRunning.js │ ├── isValidPackageName.js │ ├── log.js │ ├── parseCommandLine.js │ ├── walk.js │ └── yarn.js └── wrong-react-native.js ├── package.json ├── react-native-git-upgrade ├── README.md ├── checks.js ├── cli.js ├── cliEntry.js ├── index.js ├── package.json └── yarn.js ├── react-native-macos-cli ├── index.js └── package.json ├── react.gradle ├── rn-cli.config.js ├── rn-get-polyfills.js ├── runXcodeTests.sh ├── scripts ├── android-e2e-test.js ├── bump-oss-version.js ├── circle-ci-android-setup.sh ├── e2e-sinopia.config.yml ├── e2e-test.sh ├── ios-configure-glog.sh ├── ios-install-third-party.sh ├── launchPackager.bat ├── launchPackager.command ├── macos-configure-folly.sh ├── macos-configure-glog.sh ├── macos-install-third-party.sh ├── objc-test-ios.sh ├── objc-test-macos.sh ├── objc-test-tvos.sh ├── objc-test.sh ├── packager.sh ├── process-podspecs.sh ├── publish-npm.js ├── react-native-xcode.sh ├── run-android-ci-instrumentation-tests.js ├── run-android-emulator.sh ├── run-android-local-integration-tests.sh ├── run-android-local-unit-tests.sh ├── run-ci-e2e-tests.js ├── run-instrumentation-tests-via-adb-shell.sh ├── sync-css-layout.sh ├── test-manual-e2e.sh ├── try-n-times.js ├── validate-android-device-env.sh ├── validate-android-sdk.sh ├── validate-android-test-env.sh └── versiontemplates │ ├── RCTVersion.h.template │ ├── ReactNativeVersion.java.template │ └── ReactNativeVersion.js.template ├── settings.gradle ├── setupBabel.js ├── third-party-podspecs ├── DoubleConversion.podspec ├── Folly.podspec └── GLog.podspec └── yarn.lock /.buckconfig: -------------------------------------------------------------------------------- 1 | 2 | [android] 3 | target = Google Inc.:Google APIs:23 4 | 5 | [download] 6 | max_number_of_retries = 3 7 | 8 | [maven_repositories] 9 | central = https://repo1.maven.org/maven2 10 | 11 | [alias] 12 | rntester = //RNTester/android/app:app 13 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # EditorConfig is awesome: http://EditorConfig.org 2 | 3 | # top-most EditorConfig file 4 | root = true 5 | 6 | # Unix-style newlines with a newline ending every file 7 | [*] 8 | end_of_line = lf 9 | insert_final_newline = true 10 | indent_style = space 11 | indent_size = 2 12 | 13 | [*.gradle] 14 | indent_size = 4 15 | -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | # node_modules ignored by default 2 | 3 | **/staticBundle.js 4 | **/main.js 5 | Libraries/vendor/**/* 6 | Libraries/Renderer/* 7 | pr-inactivity-bookmarklet.js 8 | question-bookmarklet.js 9 | flow/ 10 | danger/ 11 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Force LF line endings for Bash scripts. On Windows the rest of the source 2 | # files will typically have CR+LF endings (Git default on Windows), but Bash 3 | # scripts need to have LF endings to work (under Cygwin), thus override to force 4 | # that. 5 | gradlew text eol=lf 6 | *.sh text eol=lf 7 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: 🚀 Feature Proposal 3 | labels: "proposal" 4 | about: Submit a proposal for a new feature 5 | --- 6 | 7 | ## 🚀 Feature Proposal 8 | 9 | (A clear and concise description of what the feature is.) 10 | 11 | ## Motivation 12 | 13 | (Please outline the motivation for the proposal.) 14 | 15 | ## Example 16 | 17 | (Please provide an example for how this feature would be used.) 18 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | # rnpm 2 | /local-cli/rnpm 3 | /local-cli/server/middleware/heapCapture/bundle.js 4 | -------------------------------------------------------------------------------- /ContainerShip/Dockerfile.javascript: -------------------------------------------------------------------------------- 1 | FROM library/node:6.9.2 2 | 3 | ENV YARN_VERSION=0.27.5 4 | 5 | # install dependencies 6 | RUN apt-get update && apt-get install ocaml libelf-dev -y 7 | RUN npm install yarn@$YARN_VERSION -g 8 | 9 | # add code 10 | RUN mkdir /app 11 | ADD . /app 12 | 13 | WORKDIR /app 14 | RUN yarn install --ignore-engines 15 | 16 | WORKDIR website 17 | RUN yarn install --ignore-engines --ignore-platform 18 | 19 | WORKDIR /app 20 | -------------------------------------------------------------------------------- /ContainerShip/scripts/run-android-docker-unit-tests.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # set default environment variables 4 | UNIT_TESTS_BUILD_THREADS="${UNIT_TESTS_BUILD_THREADS:-1}" 5 | 6 | # for buck gen 7 | mount -o remount,exec /dev/shm 8 | 9 | set -x 10 | 11 | # run unit tests 12 | buck test ReactAndroid/src/test/... --config build.threads=$UNIT_TESTS_BUILD_THREADS 13 | -------------------------------------------------------------------------------- /IntegrationTests/blue_square.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/IntegrationTests/blue_square.png -------------------------------------------------------------------------------- /IntegrationTests/red_square.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/IntegrationTests/red_square.png -------------------------------------------------------------------------------- /Libraries/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "rules": { 3 | // This folder currently runs through babel and doesn't need to be 4 | // compatible with node 4 5 | "comma-dangle": 0 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /Libraries/ART/ARTShape.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | #import "ARTRenderable.h" 13 | 14 | @interface ARTShape : ARTRenderable 15 | 16 | @property (nonatomic, assign) CGPathRef d; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /Libraries/ART/ARTSurfaceView.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | #import "ARTContainer.h" 13 | 14 | @interface ARTSurfaceView : NSView 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /Libraries/ART/Brushes/ARTLinearGradient.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import "ARTBrush.h" 11 | 12 | @interface ARTLinearGradient : ARTBrush 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Libraries/ART/Brushes/ARTPattern.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import "ARTBrush.h" 11 | 12 | @interface ARTPattern : ARTBrush 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Libraries/ART/Brushes/ARTRadialGradient.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import "ARTBrush.h" 11 | 12 | @interface ARTRadialGradient : ARTBrush 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Libraries/ART/Brushes/ARTSolidColor.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import "ARTBrush.h" 11 | 12 | @interface ARTSolidColor : ARTBrush 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Libraries/ART/ViewManagers/ARTGroupManager.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import "ARTNodeManager.h" 11 | 12 | @interface ARTGroupManager : ARTNodeManager 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Libraries/ART/ViewManagers/ARTNodeManager.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @class ARTNode; 13 | 14 | @interface ARTNodeManager : RCTViewManager 15 | 16 | - (ARTNode *)node; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /Libraries/ART/ViewManagers/ARTRenderableManager.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import "ARTNodeManager.h" 11 | #import "ARTRenderable.h" 12 | 13 | @interface ARTRenderableManager : ARTNodeManager 14 | 15 | - (ARTRenderable *)node; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /Libraries/ART/ViewManagers/ARTShapeManager.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import "ARTRenderableManager.h" 11 | 12 | @interface ARTShapeManager : ARTRenderableManager 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Libraries/ART/ViewManagers/ARTSurfaceViewManager.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface ARTSurfaceViewManager : RCTViewManager 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Libraries/ART/ViewManagers/ARTTextManager.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import "ARTRenderableManager.h" 11 | 12 | @interface ARTTextManager : ARTRenderableManager 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Libraries/ActionSheetIOS/RCTActionSheetManager.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | #import 13 | 14 | @interface RCTActionSheetManager : NSObject 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /Libraries/Animated/examples/pic1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/Libraries/Animated/examples/pic1.jpg -------------------------------------------------------------------------------- /Libraries/Animated/examples/pic2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/Libraries/Animated/examples/pic2.jpg -------------------------------------------------------------------------------- /Libraries/Animated/examples/pic3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/Libraries/Animated/examples/pic3.jpg -------------------------------------------------------------------------------- /Libraries/Animated/src/polyfills/InteractionManager.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | 'use strict'; 11 | 12 | module.exports = { 13 | createInteractionHandle: function() {}, 14 | clearInteractionHandle: function() {} 15 | }; 16 | -------------------------------------------------------------------------------- /Libraries/Animated/src/polyfills/flattenStyle.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 'use strict'; 10 | module.exports = function(style) { 11 | return style; 12 | }; 13 | -------------------------------------------------------------------------------- /Libraries/CameraRoll/RCTImagePickerManager.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2013, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | */ 10 | 11 | #import 12 | 13 | @interface RCTImagePickerManager : NSObject 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /Libraries/CameraRoll/RCTPhotoLibraryImageLoader.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface RCTPhotoLibraryImageLoader : NSObject 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Libraries/Components/CheckBox/CheckBox.ios.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2017-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule CheckBox 10 | * @flow 11 | * @format 12 | */ 13 | 'use strict'; 14 | 15 | module.exports = require('UnimplementedView'); 16 | -------------------------------------------------------------------------------- /Libraries/Components/CheckBox/CheckBox.macos.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2017-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule CheckBox 10 | * @flow 11 | * @format 12 | */ 13 | 'use strict'; 14 | 15 | module.exports = require('UnimplementedView'); 16 | -------------------------------------------------------------------------------- /Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.macos.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule DrawerLayoutAndroid 10 | */ 11 | 'use strict'; 12 | 13 | module.exports = require('UnimplementedView'); 14 | -------------------------------------------------------------------------------- /Libraries/Components/Keyboard/Keyboard.macos.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule Keyboard 10 | * @flow 11 | */ 12 | 'use strict'; 13 | 14 | module.exports = require('UnimplementedView'); 15 | -------------------------------------------------------------------------------- /Libraries/Components/MaskedView/MaskedViewIOS.android.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule MaskedViewIOS 10 | * @flow 11 | */ 12 | 'use strict'; 13 | 14 | module.exports = require('UnimplementedView'); 15 | -------------------------------------------------------------------------------- /Libraries/Components/Navigation/NavigatorIOS.macos.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule NavigatorIOS 10 | * @flow 11 | */ 12 | 'use strict'; 13 | 14 | module.exports = require('UnimplementedView'); 15 | -------------------------------------------------------------------------------- /Libraries/Components/Picker/PickerAndroid.ios.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule PickerAndroid 10 | */ 11 | 'use strict'; 12 | 13 | module.exports = require('UnimplementedView'); 14 | -------------------------------------------------------------------------------- /Libraries/Components/SafeAreaView/SafeAreaView.android.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule SafeAreaView 10 | * @flow 11 | */ 12 | 'use strict'; 13 | 14 | module.exports = require('View'); 15 | -------------------------------------------------------------------------------- /Libraries/Components/SafeAreaView/SafeAreaView.macos.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule SafeAreaView 10 | * @flow 11 | */ 12 | 'use strict'; 13 | 14 | module.exports = require('View'); 15 | -------------------------------------------------------------------------------- /Libraries/Components/ScrollView/RecyclerViewBackedScrollView.macos.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2004-present Facebook. All Rights Reserved. 3 | * 4 | * @providesModule RecyclerViewBackedScrollView 5 | */ 6 | 'use strict'; 7 | 8 | module.exports = require('ScrollView'); 9 | -------------------------------------------------------------------------------- /Libraries/Components/StatusBar/StatusBarIOS.macos.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule StatusBarIOS 10 | */ 11 | 'use strict'; 12 | 13 | module.exports = require('UnimplementedView'); 14 | -------------------------------------------------------------------------------- /Libraries/Components/TabBarIOS/TabBarIOS.macos.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule TabBarIOS 10 | * @flow 11 | */ 12 | 'use strict'; 13 | 14 | module.exports = require('UnimplementedView'); 15 | -------------------------------------------------------------------------------- /Libraries/Components/ToolbarAndroid/ToolbarAndroid.ios.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule ToolbarAndroid 10 | */ 11 | 'use strict'; 12 | 13 | module.exports = require('UnimplementedView'); 14 | -------------------------------------------------------------------------------- /Libraries/Components/Touchable/__mocks__/ensureComponentIsNative.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 'use strict'; 10 | 11 | module.exports = () => true; 12 | -------------------------------------------------------------------------------- /Libraries/Components/View/PlatformViewPropTypes.android.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule PlatformViewPropTypes 10 | * @flow 11 | */ 12 | 13 | module.export = {}; 14 | -------------------------------------------------------------------------------- /Libraries/Components/View/PlatformViewPropTypes.macos.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule PlatformViewPropTypes 10 | * @flow 11 | */ 12 | 13 | module.export = {}; 14 | -------------------------------------------------------------------------------- /Libraries/Components/ViewPager/ViewPagerAndroid.ios.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule ViewPagerAndroid 10 | */ 11 | 'use strict'; 12 | 13 | module.exports = require('UnimplementedView'); 14 | -------------------------------------------------------------------------------- /Libraries/Components/ViewPager/ViewPagerAndroid.macos.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule ViewPagerAndroid 10 | */ 11 | 'use strict'; 12 | 13 | module.exports = require('UnimplementedView'); 14 | -------------------------------------------------------------------------------- /Libraries/CustomComponents/NavigationExperimental/assets/back-icon@1.5x.macos.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/Libraries/CustomComponents/NavigationExperimental/assets/back-icon@1.5x.macos.png -------------------------------------------------------------------------------- /Libraries/CustomComponents/NavigationExperimental/assets/back-icon@1x.macos.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/Libraries/CustomComponents/NavigationExperimental/assets/back-icon@1x.macos.png -------------------------------------------------------------------------------- /Libraries/CustomComponents/NavigationExperimental/assets/back-icon@2x.macos.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/Libraries/CustomComponents/NavigationExperimental/assets/back-icon@2x.macos.png -------------------------------------------------------------------------------- /Libraries/CustomComponents/NavigationExperimental/assets/back-icon@3x.macos.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/Libraries/CustomComponents/NavigationExperimental/assets/back-icon@3x.macos.png -------------------------------------------------------------------------------- /Libraries/CustomComponents/NavigationExperimental/assets/back-icon@4x.macos.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/Libraries/CustomComponents/NavigationExperimental/assets/back-icon@4x.macos.png -------------------------------------------------------------------------------- /Libraries/Geolocation/RCTLocationObserver.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface RCTLocationObserver : RCTEventEmitter 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Libraries/Image/RCTGIFImageDecoder.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface RCTGIFImageDecoder : NSObject 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Libraries/Image/RCTImageCache.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | #import 13 | 14 | @interface RCTImageCache : NSObject 15 | @end 16 | -------------------------------------------------------------------------------- /Libraries/Image/RCTImageEditingManager.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface RCTImageEditingManager : NSObject 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Libraries/Image/RCTImageShadowView.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface RCTImageShadowView : RCTShadowView 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Libraries/Image/RCTImageViewManager.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface RCTImageViewManager : RCTViewManager 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Libraries/Image/RCTLocalAssetImageLoader.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface RCTLocalAssetImageLoader : NSObject 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Libraries/Image/__tests__/__snapshots__/assetRelativePathInSnapshot.js.snap: -------------------------------------------------------------------------------- 1 | // Jest Snapshot v1, https://goo.gl/fbAQLP 2 | 3 | exports[`renders assets based on relative path 1`] = ` 4 | 5 | 12 | 19 | 20 | `; 21 | -------------------------------------------------------------------------------- /Libraries/Image/__tests__/img/img1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/Libraries/Image/__tests__/img/img1.png -------------------------------------------------------------------------------- /Libraries/Image/__tests__/img/img2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/Libraries/Image/__tests__/img/img2.png -------------------------------------------------------------------------------- /Libraries/Lists/__tests__/__snapshots__/VirtualizeUtils-test.js.snap: -------------------------------------------------------------------------------- 1 | // Jest Snapshot v1, https://goo.gl/fbAQLP 2 | 3 | exports[`elementsThatOverlapOffsets errors on non-increasing offsets 1`] = `"bad offsets input, should be in increasing order: [150,50]"`; 4 | -------------------------------------------------------------------------------- /Libraries/Menu/MenuManager.js: -------------------------------------------------------------------------------- 1 | /* 2 | * @providesModule MenuManager 3 | * @flow 4 | */ 5 | 'use strict'; 6 | 7 | const MenuManager = require('NativeModules').MenuManager; 8 | const RCTDeviceEventEmitter = require('RCTDeviceEventEmitter'); 9 | 10 | MenuManager.addSubmenu = function(title, items) { 11 | items.forEach(item => { 12 | MenuManager.addItemToSubmenu(title, item); 13 | RCTDeviceEventEmitter.addListener( 14 | 'onKeyPressed_' + item.key, 15 | item.callback 16 | ); 17 | }); 18 | }; 19 | 20 | module.exports = MenuManager; 21 | -------------------------------------------------------------------------------- /Libraries/NativeAnimation/Drivers/RCTDecayAnimation.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import "RCTAnimationDriver.h" 11 | 12 | @interface RCTDecayAnimation : NSObject 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Libraries/NativeAnimation/Drivers/RCTFrameAnimation.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import "RCTAnimationDriver.h" 11 | 12 | @interface RCTFrameAnimation : NSObject 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Libraries/NativeAnimation/Drivers/RCTSpringAnimation.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import "RCTAnimationDriver.h" 11 | 12 | @interface RCTSpringAnimation : NSObject 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Libraries/NativeAnimation/Nodes/RCTAdditionAnimatedNode.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import "RCTValueAnimatedNode.h" 11 | 12 | @interface RCTAdditionAnimatedNode : RCTValueAnimatedNode 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Libraries/NativeAnimation/Nodes/RCTDiffClampAnimatedNode.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import "RCTValueAnimatedNode.h" 11 | 12 | @interface RCTDiffClampAnimatedNode : RCTValueAnimatedNode 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Libraries/NativeAnimation/Nodes/RCTDivisionAnimatedNode.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import "RCTValueAnimatedNode.h" 11 | 12 | @interface RCTDivisionAnimatedNode : RCTValueAnimatedNode 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Libraries/NativeAnimation/Nodes/RCTInterpolationAnimatedNode.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import "RCTValueAnimatedNode.h" 11 | 12 | @interface RCTInterpolationAnimatedNode : RCTValueAnimatedNode 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Libraries/NativeAnimation/Nodes/RCTModuloAnimatedNode.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import "RCTValueAnimatedNode.h" 11 | 12 | @interface RCTModuloAnimatedNode : RCTValueAnimatedNode 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Libraries/NativeAnimation/Nodes/RCTMultiplicationAnimatedNode.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import "RCTValueAnimatedNode.h" 11 | 12 | @interface RCTMultiplicationAnimatedNode : RCTValueAnimatedNode 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Libraries/NavigationExperimental/NavigationReducer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/Libraries/NavigationExperimental/NavigationReducer.js -------------------------------------------------------------------------------- /Libraries/RCTTest/RCTSnapshotManager.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface RCTSnapshotManager : RCTViewManager 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Libraries/RCTTest/SnapshotViewIOS.android.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule SnapshotViewIOS 10 | */ 11 | 'use strict'; 12 | 13 | module.exports = require('UnimplementedView'); 14 | -------------------------------------------------------------------------------- /Libraries/Renderer/REVISION: -------------------------------------------------------------------------------- 1 | 9491dee79586d21c115cd4d5986c81b7d88d2b3f -------------------------------------------------------------------------------- /Libraries/Renderer/shims/ReactDebugTool.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2013-present, Facebook, Inc. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @providesModule ReactDebugTool 8 | */ 9 | 10 | 'use strict'; 11 | 12 | const { 13 | __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, 14 | } = require('ReactNative'); 15 | 16 | module.exports = 17 | __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactDebugTool; 18 | -------------------------------------------------------------------------------- /Libraries/Renderer/shims/ReactFeatureFlags.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2013-present, Facebook, Inc. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @providesModule ReactFeatureFlags 8 | */ 9 | 10 | 'use strict'; 11 | 12 | var ReactFeatureFlags = { 13 | debugRenderPhaseSideEffects: false, 14 | }; 15 | 16 | module.exports = ReactFeatureFlags; 17 | -------------------------------------------------------------------------------- /Libraries/Renderer/shims/ReactGlobalSharedState.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2013-present, Facebook, Inc. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @providesModule ReactGlobalSharedState 8 | */ 9 | 10 | 'use strict'; 11 | 12 | const { 13 | __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, 14 | } = require('ReactNative'); 15 | 16 | module.exports = 17 | __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactGlobalSharedState; 18 | -------------------------------------------------------------------------------- /Libraries/Renderer/shims/ReactNativeBridgeEventPlugin.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2013-present, Facebook, Inc. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @providesModule ReactNativeBridgeEventPlugin 8 | */ 9 | 10 | 'use strict'; 11 | 12 | const { 13 | __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, 14 | } = require('ReactNative'); 15 | 16 | module.exports = 17 | __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactNativeBridgeEventPlugin; 18 | -------------------------------------------------------------------------------- /Libraries/Renderer/shims/ReactNativePropRegistry.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2013-present, Facebook, Inc. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @providesModule ReactNativePropRegistry 8 | * @flow 9 | */ 10 | 11 | 'use strict'; 12 | 13 | const { 14 | __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, 15 | } = require('ReactNative'); 16 | 17 | module.exports = 18 | __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactNativePropRegistry; 19 | -------------------------------------------------------------------------------- /Libraries/Renderer/shims/ReactPerf.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2013-present, Facebook, Inc. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @providesModule ReactPerf 8 | */ 9 | 10 | 'use strict'; 11 | 12 | const { 13 | __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, 14 | } = require('ReactNative'); 15 | 16 | module.exports = __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactPerf; 17 | -------------------------------------------------------------------------------- /Libraries/Renderer/shims/TouchHistoryMath.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2013-present, Facebook, Inc. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @providesModule TouchHistoryMath 8 | */ 9 | 10 | 'use strict'; 11 | 12 | const { 13 | __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, 14 | } = require('ReactNative'); 15 | 16 | module.exports = 17 | __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.TouchHistoryMath; 18 | -------------------------------------------------------------------------------- /Libraries/Renderer/shims/takeSnapshot.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2013-present, Facebook, Inc. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @providesModule takeSnapshot 8 | */ 9 | 10 | 'use strict'; 11 | 12 | const { 13 | __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, 14 | } = require('ReactNative'); 15 | 16 | module.exports = 17 | __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.takeSnapshot; 18 | -------------------------------------------------------------------------------- /Libraries/Sample/Sample.android.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Stub of Sample for Android. 3 | * 4 | * @providesModule Sample 5 | * @flow 6 | */ 7 | 'use strict'; 8 | 9 | var warning = require('fbjs/lib/warning'); 10 | 11 | var Sample = { 12 | test: function() { 13 | warning('Not yet implemented for Android.'); 14 | } 15 | }; 16 | 17 | module.exports = Sample; 18 | -------------------------------------------------------------------------------- /Libraries/Sample/Sample.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | @interface Sample : NSObject 4 | 5 | @end 6 | -------------------------------------------------------------------------------- /Libraries/Sample/Sample.ios.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @providesModule Sample 3 | * @flow 4 | */ 5 | 'use strict'; 6 | 7 | var NativeSample = require('NativeModules').Sample; 8 | 9 | /** 10 | * High-level docs for the Sample iOS API can be written here. 11 | */ 12 | 13 | var Sample = { 14 | test: function() { 15 | NativeSample.test(); 16 | } 17 | }; 18 | 19 | module.exports = Sample; 20 | -------------------------------------------------------------------------------- /Libraries/Sample/Sample.m: -------------------------------------------------------------------------------- 1 | #import "Sample.h" 2 | 3 | @implementation Sample 4 | 5 | RCT_EXPORT_MODULE() 6 | 7 | RCT_EXPORT_METHOD(test) 8 | { 9 | // Your implementation here 10 | } 11 | 12 | @end 13 | -------------------------------------------------------------------------------- /Libraries/Sample/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Sample", 3 | "version": "0.0.1", 4 | "keywords": "react-native" 5 | } 6 | -------------------------------------------------------------------------------- /Libraries/Text/RCTFontAttributesDelegate.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | @protocol RCTFontAttributesDelegate 11 | 12 | - (void)fontAttributesDidChangeWithFont:(NSFont *)font; 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Libraries/Text/RCTRawTextShadowView.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface RCTRawTextShadowView : RCTShadowView 13 | 14 | @property (nonatomic, copy) NSString *text; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /Libraries/Text/RCTRawTextViewManager.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface RCTRawTextViewManager : RCTViewManager 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Libraries/Text/Text/RCTTextViewManager.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface RCTTextViewManager : RCTViewManager 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Libraries/Text/TextInput/Multiline/RCTMultilineTextInputShadowView.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface RCTMultilineTextInputShadowView : RCTShadowView 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Libraries/Text/TextInput/Multiline/RCTMultilineTextInputViewManager.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import "RCTBaseTextInputViewManager.h" 11 | 12 | @interface RCTMultilineTextInputViewManager : RCTBaseTextInputViewManager 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Libraries/Text/TextInput/RCTBaseTextInputViewManager.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface RCTBaseTextInputViewManager : RCTViewManager 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputShadowView.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface RCTSinglelineTextInputShadowView : RCTShadowView 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputViewManager.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import "RCTBaseTextInputViewManager.h" 11 | 12 | @interface RCTSinglelineTextInputViewManager : RCTBaseTextInputViewManager 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Libraries/Text/TextInputLegacy/RCTShadowTextField.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface RCTShadowTextField : RCTShadowView 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Libraries/Text/TextInputLegacy/RCTShadowTextField.m: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import "RCTShadowTextField.h" 11 | 12 | @implementation RCTShadowTextField 13 | 14 | - (BOOL)isYogaLeafNode 15 | { 16 | return YES; 17 | } 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /Libraries/Text/TextInputLegacy/RCTShadowTextView.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface RCTShadowTextView : RCTShadowView 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Libraries/Text/TextInputLegacy/RCTShadowTextView.m: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import "RCTShadowTextView.h" 11 | 12 | @implementation RCTShadowTextView 13 | 14 | - (BOOL)isYogaLeafNode 15 | { 16 | return YES; 17 | } 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /Libraries/Text/TextInputLegacy/RCTTextManager.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface RCTTextManager : RCTViewManager 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Libraries/Text/TextInputLegacy/RCTTextViewManager.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface RCTMultilineTextInputViewManager : RCTViewManager 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Libraries/Vibration/RCTVibration.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface RCTVibration : NSObject 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Libraries/WebSocket/__mocks__/event-target-shim.js: -------------------------------------------------------------------------------- 1 | // Jest fatals for the following statement (minimal repro case) 2 | // 3 | // exports.something = Symbol; 4 | // 5 | // Until it is fixed, mocking the entire node module makes the 6 | // problem go away. 7 | 8 | 'use strict'; 9 | 10 | function EventTarget() { 11 | // Support both EventTarget and EventTarget(...) 12 | // as a super class, just like the original module does. 13 | if (arguments.length > 0) { 14 | return EventTarget; 15 | } 16 | } 17 | 18 | module.exports = EventTarget; 19 | -------------------------------------------------------------------------------- /Libraries/Wrapper/Example/RCTWrapperExampleView.h: -------------------------------------------------------------------------------- 1 | // Copyright 2004-present Facebook. All Rights Reserved. 2 | 3 | #import 4 | 5 | NS_ASSUME_NONNULL_BEGIN 6 | 7 | @interface RCTWrapperExampleView : UIView 8 | 9 | @end 10 | 11 | NS_ASSUME_NONNULL_END 12 | -------------------------------------------------------------------------------- /Libraries/Wrapper/Example/RCTWrapperExampleViewController.h: -------------------------------------------------------------------------------- 1 | // Copyright 2004-present Facebook. All Rights Reserved. 2 | 3 | #import 4 | 5 | NS_ASSUME_NONNULL_BEGIN 6 | 7 | @interface RCTWrapperExampleViewController : UIViewController 8 | 9 | @end 10 | 11 | NS_ASSUME_NONNULL_END 12 | -------------------------------------------------------------------------------- /Libraries/Wrapper/Example/RCTWrapperExampleViewController.m: -------------------------------------------------------------------------------- 1 | // Copyright 2004-present Facebook. All Rights Reserved. 2 | 3 | #import "RCTWrapperExampleViewController.h" 4 | 5 | #import 6 | 7 | #import "RCTWrapperExampleView.h" 8 | 9 | @implementation RCTWrapperExampleViewController 10 | 11 | - (void)loadView { 12 | self.view = [RCTWrapperExampleView new]; 13 | } 14 | 15 | @end 16 | 17 | RCT_WRAPPER_FOR_VIEW_CONTROLLER(RCTWrapperExampleViewController) 18 | -------------------------------------------------------------------------------- /Libraries/Wrapper/Example/RCTWrapperReactRootViewController.h: -------------------------------------------------------------------------------- 1 | // Copyright 2004-present Facebook. All Rights Reserved. 2 | 3 | #import 4 | 5 | @class RCTBridge; 6 | 7 | NS_ASSUME_NONNULL_BEGIN 8 | 9 | @interface RCTWrapperReactRootViewController : UIViewController 10 | 11 | - (instancetype)initWithBridge:(RCTBridge *)bridge; 12 | 13 | @end 14 | 15 | NS_ASSUME_NONNULL_END 16 | -------------------------------------------------------------------------------- /Libraries/Wrapper/Example/RCTWrapperReactRootViewManager.h: -------------------------------------------------------------------------------- 1 | // Copyright 2004-present Facebook. All Rights Reserved. 2 | 3 | #import 4 | 5 | #import 6 | 7 | NS_ASSUME_NONNULL_BEGIN 8 | 9 | @interface RCTWrapperReactRootViewManager : RCTWrapperViewManager 10 | 11 | @end 12 | 13 | NS_ASSUME_NONNULL_END 14 | -------------------------------------------------------------------------------- /Libraries/Wrapper/RCTWrapperShadowView.h: -------------------------------------------------------------------------------- 1 | // Copyright 2004-present Facebook. All Rights Reserved. 2 | 3 | #import 4 | 5 | #import 6 | 7 | @class RCTBridge; 8 | 9 | NS_ASSUME_NONNULL_BEGIN 10 | 11 | @interface RCTWrapperShadowView : RCTShadowView 12 | 13 | - (instancetype)initWithBridge:(RCTBridge *)bridge NS_DESIGNATED_INITIALIZER; 14 | 15 | @end 16 | 17 | NS_ASSUME_NONNULL_END 18 | -------------------------------------------------------------------------------- /Libraries/Wrapper/RCTWrapperViewManager.h: -------------------------------------------------------------------------------- 1 | // Copyright 2004-present Facebook. All Rights Reserved. 2 | 3 | #import 4 | 5 | @class RCTWrapperView; 6 | 7 | NS_ASSUME_NONNULL_BEGIN 8 | 9 | @interface RCTWrapperViewManager : RCTViewManager 10 | 11 | - (RCTWrapperView *)view NS_REQUIRES_SUPER; 12 | 13 | @end 14 | 15 | NS_ASSUME_NONNULL_END 16 | -------------------------------------------------------------------------------- /Libraries/Wrapper/RCTWrapperViewManager.m: -------------------------------------------------------------------------------- 1 | // Copyright 2004-present Facebook. All Rights Reserved. 2 | 3 | #import "RCTWrapperViewManager.h" 4 | 5 | #import "RCTWrapperShadowView.h" 6 | #import "RCTWrapperView.h" 7 | 8 | @implementation RCTWrapperViewManager 9 | 10 | RCT_EXPORT_MODULE() 11 | 12 | - (RCTShadowView *)shadowView 13 | { 14 | return [[RCTWrapperShadowView alloc] initWithBridge:self.bridge]; 15 | } 16 | 17 | - (UIView *)view 18 | { 19 | return [[RCTWrapperView alloc] initWithBridge:self.bridge]; 20 | } 21 | 22 | @end 23 | -------------------------------------------------------------------------------- /Libraries/react-native/React.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2016-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule React 10 | */ 11 | 12 | 'use strict'; 13 | 14 | module.exports = require('react'); 15 | -------------------------------------------------------------------------------- /RNTester/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "rules": { 3 | // This folder currently runs through babel and doesn't need to be 4 | // compatible with node 4 5 | "comma-dangle": 0 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /RNTester/RNTester/Images.xcassets/AppIcon.appiconset/Icon-40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/RNTester/Images.xcassets/AppIcon.appiconset/Icon-40@2x.png -------------------------------------------------------------------------------- /RNTester/RNTester/Images.xcassets/AppIcon.appiconset/Icon-40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/RNTester/Images.xcassets/AppIcon.appiconset/Icon-40@3x.png -------------------------------------------------------------------------------- /RNTester/RNTester/Images.xcassets/AppIcon.appiconset/Icon-60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/RNTester/Images.xcassets/AppIcon.appiconset/Icon-60@2x.png -------------------------------------------------------------------------------- /RNTester/RNTester/Images.xcassets/AppIcon.appiconset/Icon-60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/RNTester/Images.xcassets/AppIcon.appiconset/Icon-60@3x.png -------------------------------------------------------------------------------- /RNTester/RNTester/Images.xcassets/AppIcon.appiconset/Icon-Small@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/RNTester/Images.xcassets/AppIcon.appiconset/Icon-Small@2x.png -------------------------------------------------------------------------------- /RNTester/RNTester/Images.xcassets/AppIcon.appiconset/Icon-Small@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/RNTester/Images.xcassets/AppIcon.appiconset/Icon-Small@3x.png -------------------------------------------------------------------------------- /RNTester/RNTester/Images.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /RNTester/RNTester/Images.xcassets/NavBarButtonPlus.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "scale" : "2x" 10 | }, 11 | { 12 | "idiom" : "universal", 13 | "filename" : "NavBarButtonPlus@3x.png", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /RNTester/RNTester/Images.xcassets/NavBarButtonPlus.imageset/NavBarButtonPlus@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/RNTester/Images.xcassets/NavBarButtonPlus.imageset/NavBarButtonPlus@3x.png -------------------------------------------------------------------------------- /RNTester/RNTester/Images.xcassets/story-background.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "scale" : "2x", 10 | "filename" : "story-background@2x.png" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /RNTester/RNTester/Images.xcassets/story-background.imageset/story-background@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/RNTester/Images.xcassets/story-background.imageset/story-background@2x.png -------------------------------------------------------------------------------- /RNTester/RNTester/Images.xcassets/tabnav_list.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "scale" : "2x" 10 | }, 11 | { 12 | "idiom" : "universal", 13 | "scale" : "3x", 14 | "filename" : "tabnav_list@3x.png" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /RNTester/RNTester/Images.xcassets/tabnav_list.imageset/tabnav_list@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/RNTester/Images.xcassets/tabnav_list.imageset/tabnav_list@3x.png -------------------------------------------------------------------------------- /RNTester/RNTester/Images.xcassets/tabnav_notification.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "scale" : "2x" 10 | }, 11 | { 12 | "idiom" : "universal", 13 | "scale" : "3x", 14 | "filename" : "tabnav_notification@3x.png" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /RNTester/RNTester/Images.xcassets/tabnav_notification.imageset/tabnav_notification@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/RNTester/Images.xcassets/tabnav_notification.imageset/tabnav_notification@3x.png -------------------------------------------------------------------------------- /RNTester/RNTester/Images.xcassets/tabnav_settings.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "scale" : "2x" 10 | }, 11 | { 12 | "idiom" : "universal", 13 | "scale" : "3x", 14 | "filename" : "tabnav_settings@3x.png" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /RNTester/RNTester/Images.xcassets/tabnav_settings.imageset/tabnav_settings@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/RNTester/Images.xcassets/tabnav_settings.imageset/tabnav_settings@3x.png -------------------------------------------------------------------------------- /RNTester/RNTester/NativeExampleViews/FlexibleSizeExampleView.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | */ 10 | 11 | #import 12 | 13 | #import 14 | 15 | @interface FlexibleSizeExampleView : RCTView 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /RNTester/RNTester/NativeExampleViews/UpdatePropertiesExampleView.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | */ 10 | 11 | #import 12 | 13 | #import 14 | 15 | @interface UpdatePropertiesExampleView : RCTView 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /RNTester/RNTester/RNTesterBundle/ImageInBundle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/RNTester/RNTesterBundle/ImageInBundle.png -------------------------------------------------------------------------------- /RNTester/RNTester/RNTesterBundle/OtherImages.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /RNTester/RNTester/RNTesterBundle/OtherImages.xcassets/ImageInAssetCatalog.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "react-logo.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /RNTester/RNTester/RNTesterBundle/OtherImages.xcassets/ImageInAssetCatalog.imageset/react-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/RNTester/RNTesterBundle/OtherImages.xcassets/ImageInAssetCatalog.imageset/react-logo.png -------------------------------------------------------------------------------- /RNTester/RNTester/legacy_image@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/RNTester/legacy_image@2x.png -------------------------------------------------------------------------------- /RNTester/RNTesterIntegrationTests/ReferenceImages/IntegrationTests-IntegrationTestsApp/testImageSnapshotTest_1@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/RNTesterIntegrationTests/ReferenceImages/IntegrationTests-IntegrationTestsApp/testImageSnapshotTest_1@2x.png -------------------------------------------------------------------------------- /RNTester/RNTesterIntegrationTests/ReferenceImages/IntegrationTests-IntegrationTestsApp/testImageSnapshotTest_1_tvOS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/RNTesterIntegrationTests/ReferenceImages/IntegrationTests-IntegrationTestsApp/testImageSnapshotTest_1_tvOS.png -------------------------------------------------------------------------------- /RNTester/RNTesterIntegrationTests/ReferenceImages/IntegrationTests-IntegrationTestsApp/testSimpleSnapshotTest_1@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/RNTesterIntegrationTests/ReferenceImages/IntegrationTests-IntegrationTestsApp/testSimpleSnapshotTest_1@2x.png -------------------------------------------------------------------------------- /RNTester/RNTesterIntegrationTests/ReferenceImages/IntegrationTests-IntegrationTestsApp/testSimpleSnapshotTest_1_tvOS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/RNTesterIntegrationTests/ReferenceImages/IntegrationTests-IntegrationTestsApp/testSimpleSnapshotTest_1_tvOS.png -------------------------------------------------------------------------------- /RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testARTExample_1-iOS10@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testARTExample_1-iOS10@2x.png -------------------------------------------------------------------------------- /RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testARTExample_1-iOS10_tvOS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testARTExample_1-iOS10_tvOS.png -------------------------------------------------------------------------------- /RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testARTExample_1-iOS11@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testARTExample_1-iOS11@2x.png -------------------------------------------------------------------------------- /RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testARTExample_1@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testARTExample_1@2x.png -------------------------------------------------------------------------------- /RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testARTExample_1_tvOS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testARTExample_1_tvOS.png -------------------------------------------------------------------------------- /RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testLayoutExample_1-iOS10@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testLayoutExample_1-iOS10@2x.png -------------------------------------------------------------------------------- /RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testLayoutExample_1-iOS10_tvOS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testLayoutExample_1-iOS10_tvOS.png -------------------------------------------------------------------------------- /RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testLayoutExample_1-iOS11@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testLayoutExample_1-iOS11@2x.png -------------------------------------------------------------------------------- /RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testLayoutExample_1@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testLayoutExample_1@2x.png -------------------------------------------------------------------------------- /RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testLayoutExample_1_tvOS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testLayoutExample_1_tvOS.png -------------------------------------------------------------------------------- /RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testScrollViewExample_1-iOS10@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testScrollViewExample_1-iOS10@2x.png -------------------------------------------------------------------------------- /RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testScrollViewExample_1-iOS10_tvOS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testScrollViewExample_1-iOS10_tvOS.png -------------------------------------------------------------------------------- /RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testScrollViewExample_1-iOS11@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testScrollViewExample_1-iOS11@2x.png -------------------------------------------------------------------------------- /RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testScrollViewExample_1@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testScrollViewExample_1@2x.png -------------------------------------------------------------------------------- /RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testScrollViewExample_1_tvOS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testScrollViewExample_1_tvOS.png -------------------------------------------------------------------------------- /RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testSliderExample_1-iOS10@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testSliderExample_1-iOS10@2x.png -------------------------------------------------------------------------------- /RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testSliderExample_1-iOS11@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testSliderExample_1-iOS11@2x.png -------------------------------------------------------------------------------- /RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testSliderExample_1@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testSliderExample_1@2x.png -------------------------------------------------------------------------------- /RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testSwitchExample_1-iOS10@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testSwitchExample_1-iOS10@2x.png -------------------------------------------------------------------------------- /RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testSwitchExample_1-iOS11@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testSwitchExample_1-iOS11@2x.png -------------------------------------------------------------------------------- /RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testSwitchExample_1@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testSwitchExample_1@2x.png -------------------------------------------------------------------------------- /RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testTabBarExample_1-iOS10@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testTabBarExample_1-iOS10@2x.png -------------------------------------------------------------------------------- /RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testTabBarExample_1-iOS10_tvOS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testTabBarExample_1-iOS10_tvOS.png -------------------------------------------------------------------------------- /RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testTabBarExample_1-iOS11@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testTabBarExample_1-iOS11@2x.png -------------------------------------------------------------------------------- /RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testTabBarExample_1@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testTabBarExample_1@2x.png -------------------------------------------------------------------------------- /RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testTabBarExample_1_tvOS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testTabBarExample_1_tvOS.png -------------------------------------------------------------------------------- /RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testTextExample_1-iOS10@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testTextExample_1-iOS10@2x.png -------------------------------------------------------------------------------- /RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testTextExample_1-iOS10_tvOS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testTextExample_1-iOS10_tvOS.png -------------------------------------------------------------------------------- /RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testTextExample_1-iOS11@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testTextExample_1-iOS11@2x.png -------------------------------------------------------------------------------- /RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testTextExample_1@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testTextExample_1@2x.png -------------------------------------------------------------------------------- /RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testTextExample_1_tvOS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testTextExample_1_tvOS.png -------------------------------------------------------------------------------- /RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testViewExample_1-iOS10@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testViewExample_1-iOS10@2x.png -------------------------------------------------------------------------------- /RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testViewExample_1-iOS10_tvOS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testViewExample_1-iOS10_tvOS.png -------------------------------------------------------------------------------- /RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testViewExample_1-iOS11@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testViewExample_1-iOS11@2x.png -------------------------------------------------------------------------------- /RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testViewExample_1@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testViewExample_1@2x.png -------------------------------------------------------------------------------- /RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testViewExample_1_tvOS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testViewExample_1_tvOS.png -------------------------------------------------------------------------------- /RNTester/RNTesterIntegrationTests/blue_square.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/RNTesterIntegrationTests/blue_square.png -------------------------------------------------------------------------------- /RNTester/RNTesterIntegrationTests/red_square.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/RNTesterIntegrationTests/red_square.png -------------------------------------------------------------------------------- /RNTester/RNTesterUnitTests/libOCMock.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/RNTesterUnitTests/libOCMock.a -------------------------------------------------------------------------------- /RNTester/android/app/gradle.properties: -------------------------------------------------------------------------------- 1 | android.useDeprecatedNdk=true 2 | MYAPP_RELEASE_STORE_FILE=my-release-key.keystore 3 | MYAPP_RELEASE_KEY_ALIAS=my-key-alias 4 | MYAPP_RELEASE_STORE_PASSWORD=***** 5 | MYAPP_RELEASE_KEY_PASSWORD=***** 6 | -------------------------------------------------------------------------------- /RNTester/android/app/src/main/assets/fonts/notoserif.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/android/app/src/main/assets/fonts/notoserif.ttf -------------------------------------------------------------------------------- /RNTester/android/app/src/main/assets/fonts/notoserif_bold_italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/android/app/src/main/assets/fonts/notoserif_bold_italic.ttf -------------------------------------------------------------------------------- /RNTester/android/app/src/main/res/drawable/ic_create_black_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/android/app/src/main/res/drawable/ic_create_black_48dp.png -------------------------------------------------------------------------------- /RNTester/android/app/src/main/res/drawable/ic_menu_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/android/app/src/main/res/drawable/ic_menu_black_24dp.png -------------------------------------------------------------------------------- /RNTester/android/app/src/main/res/drawable/ic_settings_black_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/android/app/src/main/res/drawable/ic_settings_black_48dp.png -------------------------------------------------------------------------------- /RNTester/android/app/src/main/res/drawable/launcher_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/android/app/src/main/res/drawable/launcher_icon.png -------------------------------------------------------------------------------- /RNTester/android/app/src/main/res/drawable/legacy_image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/android/app/src/main/res/drawable/legacy_image.png -------------------------------------------------------------------------------- /RNTester/android/app/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /RNTester/android/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | RNTester App 3 | 4 | -------------------------------------------------------------------------------- /RNTester/android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /RNTester/js/AnimatedGratuitousApp/trees.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/js/AnimatedGratuitousApp/trees.jpg -------------------------------------------------------------------------------- /RNTester/js/ImageEditingExample.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @flow 10 | * @providesModule ImageEditingExample 11 | */ 12 | -------------------------------------------------------------------------------- /RNTester/js/Thumbnails/bandaged.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/js/Thumbnails/bandaged.png -------------------------------------------------------------------------------- /RNTester/js/Thumbnails/call.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/js/Thumbnails/call.png -------------------------------------------------------------------------------- /RNTester/js/Thumbnails/dislike.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/js/Thumbnails/dislike.png -------------------------------------------------------------------------------- /RNTester/js/Thumbnails/fist.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/js/Thumbnails/fist.png -------------------------------------------------------------------------------- /RNTester/js/Thumbnails/flowers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/js/Thumbnails/flowers.png -------------------------------------------------------------------------------- /RNTester/js/Thumbnails/heart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/js/Thumbnails/heart.png -------------------------------------------------------------------------------- /RNTester/js/Thumbnails/like.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/js/Thumbnails/like.png -------------------------------------------------------------------------------- /RNTester/js/Thumbnails/liking.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/js/Thumbnails/liking.png -------------------------------------------------------------------------------- /RNTester/js/Thumbnails/party.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/js/Thumbnails/party.png -------------------------------------------------------------------------------- /RNTester/js/Thumbnails/poke.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/js/Thumbnails/poke.png -------------------------------------------------------------------------------- /RNTester/js/Thumbnails/superlike.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/js/Thumbnails/superlike.png -------------------------------------------------------------------------------- /RNTester/js/Thumbnails/victory.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/js/Thumbnails/victory.png -------------------------------------------------------------------------------- /RNTester/js/bunny.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/js/bunny.png -------------------------------------------------------------------------------- /RNTester/js/flux@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/js/flux@3x.png -------------------------------------------------------------------------------- /RNTester/js/hawk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/js/hawk.png -------------------------------------------------------------------------------- /RNTester/js/imageMask.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/js/imageMask.png -------------------------------------------------------------------------------- /RNTester/js/relay@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/js/relay@3x.png -------------------------------------------------------------------------------- /RNTester/js/slider-left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/js/slider-left.png -------------------------------------------------------------------------------- /RNTester/js/slider-left@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/js/slider-left@2x.png -------------------------------------------------------------------------------- /RNTester/js/slider-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/js/slider-right.png -------------------------------------------------------------------------------- /RNTester/js/slider-right@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/js/slider-right@2x.png -------------------------------------------------------------------------------- /RNTester/js/slider.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/js/slider.png -------------------------------------------------------------------------------- /RNTester/js/slider@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/js/slider@2x.png -------------------------------------------------------------------------------- /RNTester/js/uie_comment_highlighted@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/js/uie_comment_highlighted@2x.png -------------------------------------------------------------------------------- /RNTester/js/uie_comment_normal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/js/uie_comment_normal@2x.png -------------------------------------------------------------------------------- /RNTester/js/uie_thumb_big.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/js/uie_thumb_big.png -------------------------------------------------------------------------------- /RNTester/js/uie_thumb_normal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/js/uie_thumb_normal@2x.png -------------------------------------------------------------------------------- /RNTester/js/uie_thumb_selected@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/RNTester/js/uie_thumb_selected@2x.png -------------------------------------------------------------------------------- /React/Base/RCTCxxConvert.m: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import "RCTCxxConvert.h" 11 | 12 | @implementation RCTCxxConvert 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /React/Base/RCTInvalidating.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @protocol RCTInvalidating 13 | 14 | - (void)invalidate; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /React/Base/RCTNullability.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | typedef NS_ENUM(NSUInteger, RCTNullability) { 13 | RCTNullabilityUnspecified, 14 | RCTNullable, 15 | RCTNonnullable, 16 | }; 17 | -------------------------------------------------------------------------------- /React/Base/RCTPlatform.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | #import 13 | 14 | @interface RCTPlatform : NSObject 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /React/Modules/RCTAppState.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface RCTAppState : RCTEventEmitter 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /React/Modules/RCTAppearance.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import 3 | 4 | @interface RCTAppearance : RCTEventEmitter 5 | 6 | @end 7 | -------------------------------------------------------------------------------- /React/Modules/RCTClipboard.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface RCTClipboard : NSObject 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /React/Modules/RCTCursorManager.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | #import "RCTBridgeModule.h" 12 | 13 | @interface RCTCursorManager : NSObject 14 | @end 15 | -------------------------------------------------------------------------------- /React/Modules/RCTDeviceInfo.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | #import 12 | 13 | @interface RCTDeviceInfo : NSObject 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /React/Modules/RCTKeyboardObserver.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface RCTKeyboardObserver : RCTEventEmitter 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /React/Modules/RCTMenuManager.h: -------------------------------------------------------------------------------- 1 | #import "RCTBridgeModule.h" 2 | 3 | @interface MenuManager : NSObject 4 | 5 | @end 6 | -------------------------------------------------------------------------------- /React/Modules/RCTSourceCode.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | #import 13 | 14 | @interface RCTSourceCode : NSObject 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /React/Views/RCTActivityIndicatorView.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface RCTActivityIndicatorView : NSProgressIndicator 13 | 14 | -(void)workaroundForLayer; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /React/Views/RCTButtonManager.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface RCTButtonManager : RCTViewManager 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /React/Views/RCTConvert+Transform.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import "RCTConvert.h" 11 | 12 | @interface RCTConvert (Transform) 13 | 14 | + (CATransform3D)CATransform3D:(id)json; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /React/Views/RCTDatePicker.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface RCTDatePicker : NSDatePicker 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /React/Views/RCTMaskedView.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | #import 13 | 14 | @interface RCTMaskedView : RCTView 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /React/Views/RCTModalHostViewManager.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import "RCTViewManager.h" 11 | 12 | #import "RCTInvalidating.h" 13 | 14 | @interface RCTModalHostViewManager : RCTViewManager 15 | 16 | @end -------------------------------------------------------------------------------- /React/Views/RCTNavigatorManager.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface RCTNavigatorManager : RCTViewManager 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /React/Views/RCTPickerManager.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface RCTPickerManager : RCTViewManager 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /React/Views/RCTProgressViewManager.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface RCTProgressViewManager : RCTViewManager 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /React/Views/RCTSegmentedControlManager.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface RCTSegmentedControlManager : RCTViewManager 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /React/Views/RCTSliderManager.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface RCTSliderManager : RCTViewManager 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /React/Views/RCTSwitchManager.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface RCTSwitchManager : RCTViewManager 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /React/Views/RCTTabBarItemManager.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface RCTTabBarItemManager : RCTViewManager 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /React/Views/RCTTabBarManager.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface RCTTabBarManager : RCTViewManager 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /React/Views/RCTWebViewManager.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface RCTWebViewManager : RCTViewManager 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /React/Views/ScrollView/RCTScrollContentShadowView.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | #import 13 | 14 | @interface RCTScrollContentShadowView : RCTShadowView 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /React/Views/ScrollView/RCTScrollContentView.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | #import 13 | 14 | @interface RCTScrollContentView : RCTView 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /React/Views/ScrollView/RCTScrollContentViewManager.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface RCTScrollContentViewManager : RCTViewManager 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /React/third-party.xcconfig: -------------------------------------------------------------------------------- 1 | // 2 | // folly.xcconfig 3 | // CxxReact 4 | // 5 | // Created by Marc Horowitz on 1/12/17. 6 | // Copyright © 2017 Facebook. All rights reserved. 7 | // 8 | 9 | HEADER_SEARCH_PATHS = $(SRCROOT)/../third-party/boost_1_63_0 $(SRCROOT)/../third-party/folly-2016.09.26.00 $(SRCROOT)/../third-party/glog-0.3.4/src 10 | OTHER_CFLAGS = -DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 11 | -------------------------------------------------------------------------------- /ReactAndroid/README.md: -------------------------------------------------------------------------------- 1 | # Building React Native for Android 2 | 3 | See the [docs on the website](https://facebook.github.io/react-native/docs/android-building-from-source.html). 4 | 5 | # Running tests 6 | 7 | When you submit a pull request CircleCI will automatically run all tests. To run tests locally, see [Testing](https://facebook.github.io/react-native/docs/testing.html). 8 | -------------------------------------------------------------------------------- /ReactAndroid/gradle.properties: -------------------------------------------------------------------------------- 1 | VERSION_NAME=1000.0.0-master 2 | GROUP=com.facebook.react 3 | 4 | POM_NAME=ReactNative 5 | POM_ARTIFACT_ID=react-native 6 | POM_PACKAGING=aar 7 | 8 | android.useDeprecatedNdk=true 9 | 10 | MOCKITO_CORE_VERSION=1.10.19 11 | POWERMOCK_VERSION=1.6.2 12 | ROBOLECTRIC_VERSION=3.0 13 | JUNIT_VERSION=4.12 14 | FEST_ASSERT_CORE_VERSION=2.0M10 15 | -------------------------------------------------------------------------------- /ReactAndroid/src/androidTest/assets/BUCK: -------------------------------------------------------------------------------- 1 | include_defs("//ReactAndroid/DEFS") 2 | 3 | android_resource( 4 | name = "assets", 5 | assets = ".", 6 | visibility = ["PUBLIC"], 7 | ) 8 | -------------------------------------------------------------------------------- /ReactAndroid/src/androidTest/java/com/facebook/react/testing/idledetection/BUCK: -------------------------------------------------------------------------------- 1 | include_defs("//ReactAndroid/DEFS") 2 | 3 | android_library( 4 | name = "idledetection", 5 | srcs = glob(["**/*.java"]), 6 | visibility = [ 7 | "PUBLIC", 8 | ], 9 | deps = [ 10 | react_native_dep("third-party/java/testing-support-lib:runner"), 11 | react_native_target("java/com/facebook/react/bridge:bridge"), 12 | react_native_target("java/com/facebook/react/modules/core:core"), 13 | ], 14 | ) 15 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/android_res/com/facebook/catalyst/appcompat/BUCK: -------------------------------------------------------------------------------- 1 | include_defs("//ReactAndroid/DEFS") 2 | 3 | # used by ReactToolbarManager because of Gradle 4 | # TODO t10182713 will be replaced with appcompat-orig when we stop using Gradle 5 | android_resource( 6 | name = "appcompat", 7 | package = "com.facebook.react", 8 | res = react_native_dep("third-party/android/support/v7/appcompat-orig:res-unpacker-cmd"), 9 | visibility = ["//ReactAndroid/..."], 10 | ) 11 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/java/com/facebook/BUCK: -------------------------------------------------------------------------------- 1 | include_defs("//ReactAndroid/DEFS") 2 | 3 | android_library( 4 | name = "yoga", 5 | srcs = glob(["yoga/*.java"]), 6 | visibility = ["PUBLIC"], 7 | deps = [ 8 | react_native_dep("java/com/facebook/proguard/annotations:annotations"), 9 | react_native_dep("libraries/soloader/java/com/facebook/soloader:soloader"), 10 | react_native_dep("third-party/java/infer-annotations:infer-annotations"), 11 | react_native_dep("third-party/java/jsr-305:jsr-305"), 12 | ], 13 | ) 14 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/java/com/facebook/debug/debugoverlay/model/BUCK: -------------------------------------------------------------------------------- 1 | include_defs("//ReactAndroid/DEFS") 2 | 3 | android_library( 4 | name = "model", 5 | srcs = glob(["*.java"]), 6 | visibility = [ 7 | "PUBLIC", 8 | ], 9 | deps = [ 10 | react_native_dep("third-party/java/jsr-305:jsr-305"), 11 | ], 12 | ) 13 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/java/com/facebook/debug/holder/BUCK: -------------------------------------------------------------------------------- 1 | include_defs("//ReactAndroid/DEFS") 2 | 3 | android_library( 4 | name = "holder", 5 | srcs = glob(["*.java"]), 6 | exported_deps = [ 7 | react_native_dep("java/com/facebook/debug/debugoverlay/model:model"), 8 | ], 9 | visibility = [ 10 | "PUBLIC", 11 | ], 12 | deps = [ 13 | react_native_dep("third-party/java/jsr-305:jsr-305"), 14 | ], 15 | ) 16 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/java/com/facebook/debug/holder/Printer.java: -------------------------------------------------------------------------------- 1 | // Copyright 2004-present Facebook. All Rights Reserved. 2 | 3 | package com.facebook.debug.holder; 4 | 5 | import com.facebook.debug.debugoverlay.model.DebugOverlayTag; 6 | 7 | /** Interface to debugging tool. */ 8 | public interface Printer { 9 | 10 | void logMessage(final DebugOverlayTag tag, final String message, Object... args); 11 | void logMessage(final DebugOverlayTag tag, final String message); 12 | boolean shouldDisplayLogMessage(final DebugOverlayTag tag); 13 | } 14 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/java/com/facebook/debug/tags/BUCK: -------------------------------------------------------------------------------- 1 | include_defs("//ReactAndroid/DEFS") 2 | 3 | android_library( 4 | name = "tags", 5 | srcs = glob(["*.java"]), 6 | exported_deps = [ 7 | react_native_dep("java/com/facebook/debug/debugoverlay/model:model"), 8 | ], 9 | visibility = [ 10 | "PUBLIC", 11 | ], 12 | deps = [ 13 | react_native_dep("third-party/java/jsr-305:jsr-305"), 14 | ], 15 | ) 16 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/java/com/facebook/jni/BUCK: -------------------------------------------------------------------------------- 1 | include_defs("//ReactAndroid/DEFS") 2 | 3 | android_library( 4 | name = "jni", 5 | srcs = glob(["**/*.java"]), 6 | proguard_config = "fbjni.pro", 7 | visibility = [ 8 | "PUBLIC", 9 | ], 10 | deps = [ 11 | react_native_dep("java/com/facebook/proguard/annotations:annotations"), 12 | react_native_dep("libraries/soloader/java/com/facebook/soloader:soloader"), 13 | react_native_dep("third-party/java/jsr-305:jsr-305"), 14 | ], 15 | ) 16 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/java/com/facebook/jni/HybridClassBase.java: -------------------------------------------------------------------------------- 1 | // Copyright 2004-present Facebook. All Rights Reserved. 2 | 3 | package com.facebook.jni; 4 | import com.facebook.proguard.annotations.DoNotStrip; 5 | 6 | @DoNotStrip 7 | public abstract class HybridClassBase extends HybridData { 8 | } 9 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/java/com/facebook/jni/fbjni.pro: -------------------------------------------------------------------------------- 1 | # For common use cases for the hybrid pattern, keep symbols which may 2 | # be referenced only from C++. 3 | 4 | -keepclassmembers class * { 5 | com.facebook.jni.HybridData *; 6 | (com.facebook.jni.HybridData); 7 | } 8 | 9 | -keepclasseswithmembers class * { 10 | com.facebook.jni.HybridData *; 11 | } 12 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/java/com/facebook/perftest/BUCK: -------------------------------------------------------------------------------- 1 | include_defs("//ReactAndroid/DEFS") 2 | 3 | android_library( 4 | name = "perftest", 5 | srcs = glob(["*.java"]), 6 | visibility = [ 7 | "PUBLIC", 8 | ], 9 | ) 10 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/java/com/facebook/proguard/annotations/BUCK: -------------------------------------------------------------------------------- 1 | include_defs("//ReactAndroid/DEFS") 2 | 3 | android_library( 4 | name = "annotations", 5 | srcs = glob(["*.java"]), 6 | proguard_config = "proguard_annotations.pro", 7 | visibility = [ 8 | "PUBLIC", 9 | ], 10 | deps = [ 11 | ], 12 | ) 13 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/java/com/facebook/react/ReactPackageLogger.java: -------------------------------------------------------------------------------- 1 | // Copyright 2004-present Facebook. All Rights Reserved. 2 | 3 | package com.facebook.react; 4 | 5 | /** 6 | * Interface for the bridge to call for TTI start and end markers. 7 | */ 8 | public interface ReactPackageLogger { 9 | 10 | void startProcessPackage(); 11 | void endProcessPackage(); 12 | } 13 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/java/com/facebook/react/animation/BUCK: -------------------------------------------------------------------------------- 1 | include_defs("//ReactAndroid/DEFS") 2 | 3 | android_library( 4 | name = "animation", 5 | srcs = glob(["**/*.java"]), 6 | visibility = [ 7 | "PUBLIC", 8 | ], 9 | deps = [ 10 | react_native_dep("third-party/java/infer-annotations:infer-annotations"), 11 | react_native_dep("third-party/java/jsr-305:jsr-305"), 12 | react_native_target("java/com/facebook/react/bridge:bridge"), 13 | ], 14 | ) 15 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/java/com/facebook/react/bridge/MemoryPressure.java: -------------------------------------------------------------------------------- 1 | // Copyright 2004-present Facebook. All Rights Reserved. 2 | 3 | package com.facebook.react.bridge; 4 | 5 | public enum MemoryPressure { 6 | UI_HIDDEN, 7 | MODERATE, 8 | CRITICAL 9 | } 10 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/java/com/facebook/react/bridge/MemoryPressureListener.java: -------------------------------------------------------------------------------- 1 | // Copyright 2004-present Facebook. All Rights Reserved. 2 | 3 | package com.facebook.react.bridge; 4 | 5 | /** 6 | * Listener interface for memory pressure events. 7 | */ 8 | public interface MemoryPressureListener { 9 | 10 | /** 11 | * Called when the system generates a memory warning. 12 | */ 13 | void handleMemoryPressure(int level); 14 | 15 | } 16 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/java/com/facebook/react/bridge/bridge.pro: -------------------------------------------------------------------------------- 1 | ## Putting this here is kind of a hack. I don't want to modify the OSS bridge. 2 | ## TODO mhorowitz: add @DoNotStrip to the interface directly. 3 | 4 | -keepclassmembers class com.facebook.react.bridge.queue.MessageQueueThread { 5 | public boolean isOnThread(); 6 | public void assertIsOnThread(); 7 | } 8 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/java/com/facebook/react/common/network/BUCK: -------------------------------------------------------------------------------- 1 | include_defs("//ReactAndroid/DEFS") 2 | 3 | android_library( 4 | name = "network", 5 | srcs = glob(["**/*.java"]), 6 | visibility = [ 7 | "PUBLIC", 8 | ], 9 | deps = [ 10 | react_native_dep("third-party/java/okhttp:okhttp3"), 11 | react_native_dep("third-party/java/okio:okio"), 12 | ], 13 | ) 14 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/java/com/facebook/react/module/annotations/BUCK: -------------------------------------------------------------------------------- 1 | include_defs("//ReactAndroid/DEFS") 2 | 3 | android_library( 4 | name = "annotations", 5 | srcs = glob(["**/*.java"]), 6 | required_for_source_only_abi = True, 7 | visibility = [ 8 | "PUBLIC", 9 | ], 10 | deps = [ 11 | react_native_dep("third-party/java/infer-annotations:infer-annotations"), 12 | react_native_dep("third-party/java/jsr-305:jsr-305"), 13 | react_native_target("java/com/facebook/react/bridge:bridge"), 14 | ], 15 | ) 16 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/java/com/facebook/react/module/model/BUCK: -------------------------------------------------------------------------------- 1 | include_defs("//ReactAndroid/DEFS") 2 | 3 | android_library( 4 | name = "model", 5 | srcs = glob(["**/*.java"]), 6 | visibility = [ 7 | "PUBLIC", 8 | ], 9 | deps = [ 10 | react_native_dep("third-party/java/jsr-305:jsr-305"), 11 | ], 12 | ) 13 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/java/com/facebook/react/module/model/ReactModuleInfoProvider.java: -------------------------------------------------------------------------------- 1 | // Copyright 2004-present Facebook. All Rights Reserved. 2 | 3 | package com.facebook.react.module.model; 4 | 5 | import java.util.Map; 6 | 7 | /** 8 | * Interface for auto-generated class by ReactModuleSpecProcessor. 9 | */ 10 | public interface ReactModuleInfoProvider { 11 | 12 | Map getReactModuleInfos(); 13 | } 14 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/java/com/facebook/react/modules/appregistry/BUCK: -------------------------------------------------------------------------------- 1 | include_defs("//ReactAndroid/DEFS") 2 | 3 | android_library( 4 | name = "appregistry", 5 | srcs = glob(["**/*.java"]), 6 | visibility = [ 7 | "PUBLIC", 8 | ], 9 | deps = [ 10 | react_native_target("java/com/facebook/react/bridge:bridge"), 11 | ], 12 | ) 13 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/java/com/facebook/react/modules/network/CookieJarContainer.java: -------------------------------------------------------------------------------- 1 | package com.facebook.react.modules.network; 2 | 3 | import okhttp3.CookieJar; 4 | 5 | public interface CookieJarContainer extends CookieJar { 6 | 7 | void setCookieJar(CookieJar cookieJar); 8 | 9 | void removeCookieJar(); 10 | 11 | } 12 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/java/com/facebook/react/touch/BUCK: -------------------------------------------------------------------------------- 1 | include_defs("//ReactAndroid/DEFS") 2 | 3 | android_library( 4 | name = "touch", 5 | srcs = glob(["**/*.java"]), 6 | visibility = [ 7 | "PUBLIC", 8 | ], 9 | deps = [ 10 | react_native_dep("third-party/java/infer-annotations:infer-annotations"), 11 | react_native_dep("third-party/java/jsr-305:jsr-305"), 12 | ], 13 | ) 14 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/java/com/facebook/react/uimanager/UIBlock.java: -------------------------------------------------------------------------------- 1 | package com.facebook.react.uimanager; 2 | 3 | import android.view.View; 4 | 5 | /** 6 | * A task to execute on the UI View for third party libraries. 7 | */ 8 | public interface UIBlock { 9 | public void execute(NativeViewHierarchyManager nativeViewHierarchyManager); 10 | } 11 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/BUCK: -------------------------------------------------------------------------------- 1 | include_defs("//ReactAndroid/DEFS") 2 | 3 | android_library( 4 | name = "annotations", 5 | srcs = glob(["*.java"]), 6 | required_for_source_only_abi = True, 7 | visibility = [ 8 | "PUBLIC", 9 | ], 10 | deps = [ 11 | react_native_dep("third-party/java/jsr-305:jsr-305"), 12 | ], 13 | ) 14 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationListener.java: -------------------------------------------------------------------------------- 1 | // Copyright 2004-present Facebook. All Rights Reserved. 2 | 3 | package com.facebook.react.uimanager.layoutanimation; 4 | 5 | /** 6 | * Listener invoked when a layout animation has completed. 7 | */ 8 | public interface LayoutAnimationListener { 9 | void onAnimationEnd(); 10 | } 11 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/java/com/facebook/react/uimanager/util/BUCK: -------------------------------------------------------------------------------- 1 | include_defs("//ReactAndroid/DEFS") 2 | 3 | android_library( 4 | name = "util", 5 | srcs = glob(["*.java"]), 6 | visibility = [ 7 | "PUBLIC", 8 | ], 9 | deps = [ 10 | react_native_dep("third-party/java/jsr-305:jsr-305"), 11 | react_native_target("res:uimanager"), 12 | ], 13 | ) 14 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/java/com/facebook/react/util/BUCK: -------------------------------------------------------------------------------- 1 | include_defs("//ReactAndroid/DEFS") 2 | 3 | android_library( 4 | name = "util", 5 | srcs = glob(["**/*.java"]), 6 | visibility = [ 7 | "PUBLIC", 8 | ], 9 | deps = [ 10 | react_native_target("java/com/facebook/react/bridge:bridge"), 11 | ], 12 | ) 13 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/java/com/facebook/react/views/art/ARTGroupViewManager.java: -------------------------------------------------------------------------------- 1 | // Copyright 2004-present Facebook. All Rights Reserved. 2 | 3 | package com.facebook.react.views.art; 4 | 5 | import com.facebook.react.module.annotations.ReactModule; 6 | 7 | /** 8 | * ViewManager for shadowed ART group views. 9 | */ 10 | @ReactModule(name = ARTRenderableViewManager.CLASS_GROUP) 11 | public class ARTGroupViewManager extends ARTRenderableViewManager { 12 | 13 | /* package */ ARTGroupViewManager() { 14 | super(CLASS_GROUP); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/java/com/facebook/react/views/art/ARTShapeViewManager.java: -------------------------------------------------------------------------------- 1 | // Copyright 2004-present Facebook. All Rights Reserved. 2 | 3 | package com.facebook.react.views.art; 4 | 5 | import com.facebook.react.module.annotations.ReactModule; 6 | 7 | /** 8 | * ViewManager for shadowed ART shape views. 9 | */ 10 | @ReactModule(name = ARTRenderableViewManager.CLASS_SHAPE) 11 | public class ARTShapeViewManager extends ARTRenderableViewManager { 12 | 13 | /* package */ ARTShapeViewManager() { 14 | super(CLASS_SHAPE); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/java/com/facebook/react/views/art/ARTTextViewManager.java: -------------------------------------------------------------------------------- 1 | // Copyright 2004-present Facebook. All Rights Reserved. 2 | 3 | package com.facebook.react.views.art; 4 | 5 | import com.facebook.react.module.annotations.ReactModule; 6 | 7 | /** 8 | * ViewManager for shadowed ART text views. 9 | */ 10 | @ReactModule(name = ARTRenderableViewManager.CLASS_TEXT) 11 | public class ARTTextViewManager extends ARTRenderableViewManager { 12 | 13 | /* package */ ARTTextViewManager() { 14 | super(CLASS_TEXT); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/java/com/facebook/react/views/common/BUCK: -------------------------------------------------------------------------------- 1 | include_defs("//ReactAndroid/DEFS") 2 | 3 | android_library( 4 | name = "common", 5 | srcs = glob(["*.java"]), 6 | provided_deps = [ 7 | react_native_dep("third-party/android/support/v4:lib-support-v4"), 8 | ], 9 | visibility = [ 10 | "PUBLIC", 11 | ], 12 | deps = [ 13 | ], 14 | ) 15 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/java/com/facebook/react/views/image/GlobalImageLoadListener.java: -------------------------------------------------------------------------------- 1 | // Copyright 2004-present Facebook. All Rights Reserved. 2 | 3 | package com.facebook.react.views.image; 4 | 5 | import android.net.Uri; 6 | 7 | /** Listener interface for global image loading events. */ 8 | public interface GlobalImageLoadListener { 9 | 10 | /** Called when a source has been set on an ImageView, but before it is actually loaded. */ 11 | void onLoadAttempt(Uri uri); 12 | } 13 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/java/com/facebook/react/views/image/ImageResizeMethod.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | package com.facebook.react.views.image; 11 | 12 | public enum ImageResizeMethod { 13 | AUTO, 14 | RESIZE, 15 | SCALE 16 | } 17 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/java/com/facebook/react/views/text/ReactVirtualTextShadowNode.java: -------------------------------------------------------------------------------- 1 | // Copyright 2004-present Facebook. All Rights Reserved. 2 | 3 | package com.facebook.react.views.text; 4 | 5 | /** 6 | * A virtual text node. 7 | */ 8 | public class ReactVirtualTextShadowNode extends ReactBaseTextShadowNode { 9 | 10 | @Override 11 | public boolean isVirtual() { 12 | return true; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/java/com/facebook/react/views/textinput/ContentSizeWatcher.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | package com.facebook.react.views.textinput; 11 | 12 | public interface ContentSizeWatcher { 13 | public void onLayout(); 14 | } 15 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/java/com/facebook/systrace/BUCK: -------------------------------------------------------------------------------- 1 | include_defs("//ReactAndroid/DEFS") 2 | 3 | android_library( 4 | name = "systrace", 5 | srcs = glob(["*.java"]), 6 | visibility = [ 7 | "PUBLIC", 8 | ], 9 | ) 10 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_BUILD_SCRIPT := Android.mk 2 | 3 | APP_ABI := armeabi-v7a x86 4 | APP_PLATFORM := android-9 5 | 6 | APP_MK_DIR := $(dir $(lastword $(MAKEFILE_LIST))) 7 | 8 | NDK_MODULE_PATH := $(APP_MK_DIR)$(HOST_DIRSEP)$(THIRD_PARTY_NDK_DIR)$(HOST_DIRSEP)$(REACT_COMMON_DIR)$(HOST_DIRSEP)$(APP_MK_DIR)first-party 9 | 10 | APP_STL := gnustl_shared 11 | 12 | # Make sure every shared lib includes a .note.gnu.build-id header 13 | APP_LDFLAGS := -Wl,--build-id 14 | 15 | NDK_TOOLCHAIN_VERSION := 4.8 16 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/jni/first-party/fb/include/fb/visibility.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #pragma once 11 | 12 | #define FBEXPORT __attribute__((visibility("default"))) 13 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/jni/first-party/fb/jni/java/BUCK: -------------------------------------------------------------------------------- 1 | include_defs("//ReactAndroid/DEFS") 2 | 3 | java_library( 4 | name = "java", 5 | srcs = glob(["**/*.java"]), 6 | visibility = ["PUBLIC"], 7 | deps = [ 8 | "//java/com/facebook/proguard/annotations:annotations", 9 | ], 10 | ) 11 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/jni/first-party/fbgloginit/BUCK: -------------------------------------------------------------------------------- 1 | include_defs("//ReactAndroid/DEFS") 2 | 3 | include_defs("//ReactCommon/DEFS") 4 | 5 | fb_xplat_cxx_library( 6 | name = "fbgloginit", 7 | srcs = [ 8 | "glog_init.cpp", 9 | ], 10 | exported_headers = ["fb/glog_init.h"], 11 | compiler_flags = [ 12 | "-fexceptions", 13 | "-fno-omit-frame-pointer", 14 | ], 15 | linker_flags = [ 16 | "-llog", 17 | ], 18 | visibility = ["PUBLIC"], 19 | deps = [ 20 | GLOG_DEP, 21 | ], 22 | ) 23 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/jni/first-party/fbgloginit/fb/glog_init.h: -------------------------------------------------------------------------------- 1 | // Copyright 2004-present Facebook. All Rights Reserved. 2 | 3 | #pragma once 4 | 5 | #include 6 | 7 | namespace facebook { namespace gloginit { 8 | 9 | void initialize(const char* tag = "ReactNativeJNI"); 10 | 11 | }} 12 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/jni/first-party/jni-hack/README.md: -------------------------------------------------------------------------------- 1 | This buck module exists so that targets that need to be built against both 1) Android (where we can and should use the Android NDK jni headers) and 2) the host platform(generally for local unit tests) can depend on a single target and get the right jni header for whatever platform they're building against automatically. 2 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/jni/first-party/jni-hack/jni.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2014-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #pragma once 11 | 12 | #ifdef __ANDROID__ 13 | #include_next 14 | #else 15 | #include "real/jni.h" 16 | #endif 17 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/jni/packagerconnection/OnLoad.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 2004-present Facebook. All Rights Reserved. 2 | 3 | #include 4 | #include 5 | 6 | #include "SamplingProfilerJniMethod.h" 7 | 8 | using namespace facebook::jni; 9 | 10 | namespace facebook { 11 | namespace react { 12 | 13 | extern "C" JNIEXPORT jint JNI_OnLoad(JavaVM *vm, void *reserved) { 14 | return initialize(vm, [] { SamplingProfilerJniMethod::registerNatives(); }); 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/jni/react/jni/JSCPerfLogging.h: -------------------------------------------------------------------------------- 1 | // Copyright 2004-present Facebook. All Rights Reserved. 2 | 3 | #pragma once 4 | 5 | #include 6 | 7 | namespace facebook { 8 | namespace react { 9 | 10 | void addNativePerfLoggingHooks(JSGlobalContextRef ctx); 11 | 12 | } } 13 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/jni/react/jni/JSLogging.h: -------------------------------------------------------------------------------- 1 | // Copyright 2004-present Facebook. All Rights Reserved. 2 | 3 | #pragma once 4 | 5 | #include 6 | 7 | namespace facebook { 8 | namespace react { 9 | 10 | JSValueRef nativeLoggingHook( 11 | JSContextRef ctx, 12 | JSObjectRef function, 13 | JSObjectRef thisObject, 14 | size_t argumentCount, 15 | const JSValueRef arguments[], JSValueRef *exception); 16 | 17 | }} 18 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/jni/react/jni/OnLoad.h: -------------------------------------------------------------------------------- 1 | // Copyright 2004-present Facebook. All Rights Reserved. 2 | 3 | #pragma once 4 | 5 | #include 6 | 7 | namespace facebook { 8 | namespace react { 9 | 10 | jmethodID getLogMarkerMethod(); 11 | 12 | } // namespace react 13 | } // namespace facebook 14 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/jni/third-party/boost/Android.mk: -------------------------------------------------------------------------------- 1 | LOCAL_PATH:= $(call my-dir) 2 | include $(CLEAR_VARS) 3 | 4 | LOCAL_C_INCLUDES := $(LOCAL_PATH)/boost_1_63_0 5 | LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/boost_1_63_0 6 | CXX11_FLAGS := -std=gnu++11 7 | LOCAL_EXPORT_CPPFLAGS := $(CXX11_FLAGS) 8 | 9 | LOCAL_MODULE := boost 10 | 11 | include $(BUILD_STATIC_LIBRARY) 12 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/libraries/fbcore/src/main/java/com/facebook/common/logging/BUCK: -------------------------------------------------------------------------------- 1 | include_defs("//ReactAndroid/DEFS") 2 | 3 | android_library( 4 | name = "logging", 5 | exported_deps = [ 6 | react_native_dep("libraries/fresco/fresco-react-native:fbcore"), 7 | ], 8 | visibility = ["//ReactAndroid/..."], 9 | ) 10 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/libraries/soloader/java/com/facebook/soloader/BUCK: -------------------------------------------------------------------------------- 1 | include_defs("//ReactAndroid/DEFS") 2 | 3 | android_prebuilt_aar( 4 | name = "soloader", 5 | aar = ":soloader-binary-aar", 6 | visibility = ["PUBLIC"], 7 | ) 8 | 9 | remote_file( 10 | name = "soloader-binary-aar", 11 | sha1 = "918573465c94c6bc9bad48ef259f1e0cd6543c1b", 12 | url = "mvn:com.facebook.soloader:soloader:aar:0.1.0", 13 | ) 14 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/res/devsupport/layout/dev_loading_view.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 15 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/res/views/modal/anim/catalyst_fade_in.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/res/views/modal/anim/catalyst_fade_out.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/res/views/modal/anim/catalyst_slide_down.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/res/views/modal/anim/catalyst_slide_up.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/res/views/uimanager/values/ids.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/third-party/android/support-annotations/BUCK: -------------------------------------------------------------------------------- 1 | include_defs("//ReactAndroid/DEFS") 2 | 3 | prebuilt_jar( 4 | name = "android-support-annotations", 5 | binary_jar = ":support-annotations-binary-aar", 6 | visibility = ["//ReactAndroid/..."], 7 | ) 8 | 9 | remote_file( 10 | name = "support-annotations-binary-aar", 11 | sha1 = "1fce89a6428c51467090d7f424e4c9c3dbd55f7e", 12 | url = "mvn:com.android.support:support-annotations:jar:23.0.1", 13 | ) 14 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/third-party/android/support/v4/BUCK: -------------------------------------------------------------------------------- 1 | include_defs("//ReactAndroid/DEFS") 2 | 3 | android_prebuilt_aar( 4 | name = "lib-support-v4", 5 | aar = ":lib-support-v4-binary-aar", 6 | visibility = ["PUBLIC"], 7 | ) 8 | 9 | remote_file( 10 | name = "lib-support-v4-binary-aar", 11 | sha1 = "9e8da0e4ecf9f63258c7fbd273889252cba2d0c3", 12 | url = "mvn:com.android.support:support-v4:aar:23.0.1", 13 | ) 14 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/third-party/java/buck-android-support/BUCK: -------------------------------------------------------------------------------- 1 | include_defs("//ReactAndroid/DEFS") 2 | 3 | # this lib was compiled by buck version : 6cbf2709778ea352a169d1c84e3ef2894dfa39ec 4 | prebuilt_jar( 5 | name = "buck-android-support", 6 | binary_jar = "buck-android-support.jar", 7 | visibility = [ 8 | react_native_integration_tests_target("..."), 9 | ], 10 | ) 11 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/third-party/java/buck-android-support/buck-android-support.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/ReactAndroid/src/main/third-party/java/buck-android-support/buck-android-support.jar -------------------------------------------------------------------------------- /ReactAndroid/src/main/third-party/java/infer-annotations/BUCK: -------------------------------------------------------------------------------- 1 | include_defs("//ReactAndroid/DEFS") 2 | 3 | prebuilt_jar( 4 | name = "infer-annotations", 5 | binary_jar = "infer-annotations-4.0.jar", 6 | visibility = ["//ReactAndroid/..."], 7 | ) 8 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/third-party/java/infer-annotations/infer-annotations-4.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/ReactAndroid/src/main/third-party/java/infer-annotations/infer-annotations-4.0.jar -------------------------------------------------------------------------------- /ReactAndroid/src/main/third-party/java/javapoet/BUCK: -------------------------------------------------------------------------------- 1 | include_defs("//ReactAndroid/DEFS") 2 | 3 | prebuilt_jar( 4 | name = "javapoet", 5 | binary_jar = ":jsr305-binary-jar", 6 | visibility = ["//ReactAndroid/..."], 7 | ) 8 | 9 | remote_file( 10 | name = "jsr305-binary-jar", 11 | sha1 = "ad3ba65c1788f4d814a4da056323e2b84412fb3c", 12 | url = "mvn:com.squareup:javapoet:jar:1.2.0", 13 | ) 14 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/third-party/java/jsr-305/BUCK: -------------------------------------------------------------------------------- 1 | include_defs("//ReactAndroid/DEFS") 2 | 3 | prebuilt_jar( 4 | name = "jsr-305", 5 | binary_jar = ":jsr305-binary-jar", 6 | visibility = ["PUBLIC"], 7 | ) 8 | 9 | remote_file( 10 | name = "jsr305-binary-jar", 11 | sha1 = "5871fb60dc68d67da54a663c3fd636a10a532948", 12 | url = "mvn:com.google.code.findbugs:jsr305:jar:3.0.0", 13 | ) 14 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/third-party/java/jsr-330/BUCK: -------------------------------------------------------------------------------- 1 | include_defs("//ReactAndroid/DEFS") 2 | 3 | prebuilt_jar( 4 | name = "jsr-330", 5 | binary_jar = ":jsr330-binary-jar", 6 | visibility = ["PUBLIC"], 7 | ) 8 | 9 | remote_file( 10 | name = "jsr330-binary-jar", 11 | sha1 = "6975da39a7040257bd51d21a231b76c915872d38", 12 | url = "mvn:javax.inject:javax.inject:jar:1", 13 | ) 14 | -------------------------------------------------------------------------------- /ReactAndroid/src/main/third-party/java/okio/BUCK: -------------------------------------------------------------------------------- 1 | include_defs("//ReactAndroid/DEFS") 2 | 3 | prebuilt_jar( 4 | name = "okio", 5 | binary_jar = ":okio-binary-jar", 6 | visibility = ["//ReactAndroid/..."], 7 | ) 8 | 9 | remote_file( 10 | name = "okio-binary-jar", 11 | sha1 = "a9283170b7305c8d92d25aff02a6ab7e45d06cbe", 12 | url = "mvn:com.squareup.okio:okio:jar:1.13.0", 13 | ) 14 | -------------------------------------------------------------------------------- /ReactAndroid/src/test/java/com/facebook/common/logging/BUCK: -------------------------------------------------------------------------------- 1 | include_defs("//ReactAndroid/DEFS") 2 | 3 | android_library( 4 | name = "logging", 5 | srcs = glob(["**/*.java"]), 6 | exported_deps = [ 7 | react_native_dep("libraries/fbcore/src/main/java/com/facebook/common/logging:logging"), 8 | ], 9 | visibility = [ 10 | "PUBLIC", 11 | ], 12 | deps = [ 13 | react_native_dep("third-party/java/jsr-305:jsr-305"), 14 | ], 15 | ) 16 | -------------------------------------------------------------------------------- /ReactAndroid/src/test/java/org/mockito/configuration/BUCK: -------------------------------------------------------------------------------- 1 | include_defs("//ReactAndroid/DEFS") 2 | 3 | android_library( 4 | name = "configuration", 5 | srcs = glob(["**/*.java"]), 6 | visibility = [ 7 | "PUBLIC", 8 | ], 9 | deps = [ 10 | react_native_dep("third-party/java/mockito:mockito"), 11 | ], 12 | ) 13 | -------------------------------------------------------------------------------- /ReactCommon/cxxreact/JSCLegacyTracing.h: -------------------------------------------------------------------------------- 1 | // Copyright 2004-present Facebook. All Rights Reserved. 2 | 3 | #pragma once 4 | 5 | #include 6 | 7 | namespace facebook { 8 | namespace react { 9 | 10 | void addNativeTracingLegacyHooks(JSGlobalContextRef ctx); 11 | 12 | } } 13 | -------------------------------------------------------------------------------- /ReactCommon/cxxreact/JSCMemory.h: -------------------------------------------------------------------------------- 1 | // Copyright 2004-present Facebook. All Rights Reserved. 2 | 3 | #pragma once 4 | 5 | #include 6 | 7 | namespace facebook { 8 | namespace react { 9 | 10 | void addJSCMemoryHooks(JSGlobalContextRef ctx); 11 | 12 | } } 13 | -------------------------------------------------------------------------------- /ReactCommon/cxxreact/JSCPerfStats.h: -------------------------------------------------------------------------------- 1 | // Copyright 2004-present Facebook. All Rights Reserved. 2 | 3 | #pragma once 4 | 5 | #include 6 | 7 | namespace facebook { 8 | namespace react { 9 | 10 | void addJSCPerfStatsHooks(JSGlobalContextRef ctx); 11 | 12 | } } 13 | -------------------------------------------------------------------------------- /ReactCommon/cxxreact/JSCSamplingProfiler.h: -------------------------------------------------------------------------------- 1 | // Copyright 2004-present Facebook. All Rights Reserved. 2 | 3 | #pragma once 4 | 5 | #include 6 | 7 | namespace facebook { 8 | namespace react { 9 | 10 | void initSamplingProfilerOnMainJSCThread(JSGlobalContextRef ctx); 11 | 12 | } } 13 | -------------------------------------------------------------------------------- /ReactCommon/cxxreact/JSCTracing.h: -------------------------------------------------------------------------------- 1 | // Copyright 2004-present Facebook. All Rights Reserved. 2 | 3 | #pragma once 4 | 5 | #include 6 | 7 | namespace facebook { 8 | namespace react { 9 | 10 | void addNativeTracingHooks(JSGlobalContextRef ctx); 11 | 12 | } } 13 | -------------------------------------------------------------------------------- /ReactCommon/jschelpers/Unicode.h: -------------------------------------------------------------------------------- 1 | // Copyright 2004-present Facebook. All Rights Reserved. 2 | 3 | #pragma once 4 | 5 | #include 6 | #include 7 | 8 | namespace facebook { 9 | namespace react { 10 | namespace unicode { 11 | __attribute__((visibility("default"))) std::string utf16toUTF8(const uint16_t* utf16, size_t length) noexcept; 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /ReactCommon/jschelpers/noncopyable.h: -------------------------------------------------------------------------------- 1 | // Copyright 2004-present Facebook. All Rights Reserved. 2 | 3 | #pragma once 4 | namespace facebook { 5 | namespace react { 6 | struct noncopyable { 7 | noncopyable(const noncopyable&) = delete; 8 | noncopyable& operator=(const noncopyable&) = delete; 9 | protected: 10 | noncopyable() = default; 11 | }; 12 | }} 13 | -------------------------------------------------------------------------------- /ReactCommon/jsinspector/Android.mk: -------------------------------------------------------------------------------- 1 | LOCAL_PATH := $(call my-dir) 2 | 3 | include $(CLEAR_VARS) 4 | 5 | LOCAL_MODULE := jsinspector 6 | 7 | LOCAL_SRC_FILES := \ 8 | InspectorInterfaces.cpp 9 | 10 | LOCAL_C_INCLUDES := $(LOCAL_PATH)/.. 11 | LOCAL_EXPORT_C_INCLUDES := $(LOCAL_C_INCLUDES) 12 | 13 | LOCAL_CFLAGS += -Wall -Werror -fexceptions 14 | CXX11_FLAGS := -std=c++11 15 | LOCAL_CFLAGS += $(CXX11_FLAGS) 16 | LOCAL_EXPORT_CPPFLAGS := $(CXX11_FLAGS) 17 | 18 | include $(BUILD_SHARED_LIBRARY) 19 | -------------------------------------------------------------------------------- /ReactCommon/privatedata/PrivateDataBase.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 2004-present Facebook. All Rights Reserved. 2 | 3 | #include "PrivateDataBase.h" 4 | 5 | namespace facebook { 6 | namespace react { 7 | 8 | PrivateDataBase::~PrivateDataBase() {} 9 | 10 | } } 11 | -------------------------------------------------------------------------------- /ReactCommon/yoga/Android.mk: -------------------------------------------------------------------------------- 1 | LOCAL_PATH := $(call my-dir) 2 | 3 | include $(CLEAR_VARS) 4 | 5 | LOCAL_MODULE := yogacore 6 | 7 | LOCAL_SRC_FILES := $(wildcard $(LOCAL_PATH)/yoga/*.cpp) 8 | 9 | LOCAL_C_INCLUDES := $(LOCAL_PATH) 10 | LOCAL_EXPORT_C_INCLUDES := $(LOCAL_C_INCLUDES) 11 | 12 | LOCAL_CFLAGS := -Wall -Werror -fexceptions -frtti -std=c++1y -O3 13 | 14 | include $(BUILD_STATIC_LIBRARY) 15 | -------------------------------------------------------------------------------- /ReactCommon/yoga/BUCK: -------------------------------------------------------------------------------- 1 | fb_xplat_cxx_library( 2 | name = "yoga", 3 | srcs = glob(["yoga/*.cpp"]), 4 | header_namespace = "", 5 | exported_headers = glob(["yoga/*.h"]), 6 | compiler_flags = [ 7 | "-fno-omit-frame-pointer", 8 | "-fexceptions", 9 | "-Wall", 10 | "-Werror", 11 | "-std=c++1y", 12 | "-O3", 13 | ], 14 | force_static = True, 15 | visibility = ["PUBLIC"], 16 | deps = [ 17 | ], 18 | ) 19 | -------------------------------------------------------------------------------- /babel-preset/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 'use strict'; 10 | 11 | module.exports = require('./configs/main'); 12 | -------------------------------------------------------------------------------- /blog/img/RNPerformanceStartup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/blog/img/RNPerformanceStartup.png -------------------------------------------------------------------------------- /blog/img/animated-diagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/blog/img/animated-diagram.png -------------------------------------------------------------------------------- /blog/img/big-hero.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/blog/img/big-hero.jpg -------------------------------------------------------------------------------- /blog/img/blue-hero.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/blog/img/blue-hero.jpg -------------------------------------------------------------------------------- /blog/img/button-android-ios.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/blog/img/button-android-ios.png -------------------------------------------------------------------------------- /blog/img/dark-hero.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/blog/img/dark-hero.png -------------------------------------------------------------------------------- /blog/img/git-upgrade-conflict.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/blog/img/git-upgrade-conflict.png -------------------------------------------------------------------------------- /blog/img/git-upgrade-output.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/blog/img/git-upgrade-output.png -------------------------------------------------------------------------------- /blog/img/hmr-architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/blog/img/hmr-architecture.png -------------------------------------------------------------------------------- /blog/img/hmr-diamond.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/blog/img/hmr-diamond.png -------------------------------------------------------------------------------- /blog/img/hmr-log.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/blog/img/hmr-log.png -------------------------------------------------------------------------------- /blog/img/hmr-proxy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/blog/img/hmr-proxy.png -------------------------------------------------------------------------------- /blog/img/hmr-step.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/blog/img/hmr-step.png -------------------------------------------------------------------------------- /blog/img/rnmsf-august-2016-airbnb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/blog/img/rnmsf-august-2016-airbnb.jpg -------------------------------------------------------------------------------- /blog/img/rnmsf-august-2016-docs.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/blog/img/rnmsf-august-2016-docs.jpg -------------------------------------------------------------------------------- /blog/img/rnmsf-august-2016-hero.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/blog/img/rnmsf-august-2016-hero.jpg -------------------------------------------------------------------------------- /blog/img/rnmsf-august-2016-netflix.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/blog/img/rnmsf-august-2016-netflix.jpg -------------------------------------------------------------------------------- /blog/img/rtl-ama-android-hebrew.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/blog/img/rtl-ama-android-hebrew.png -------------------------------------------------------------------------------- /blog/img/rtl-ama-ios-arabic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/blog/img/rtl-ama-ios-arabic.png -------------------------------------------------------------------------------- /blog/img/rtl-demo-forcertl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/blog/img/rtl-demo-forcertl.png -------------------------------------------------------------------------------- /blog/img/rtl-demo-icon-ltr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/blog/img/rtl-demo-icon-ltr.png -------------------------------------------------------------------------------- /blog/img/rtl-demo-icon-rtl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/blog/img/rtl-demo-icon-rtl.png -------------------------------------------------------------------------------- /blog/img/rtl-demo-listitem-ltr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/blog/img/rtl-demo-listitem-ltr.png -------------------------------------------------------------------------------- /blog/img/rtl-demo-listitem-rtl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/blog/img/rtl-demo-listitem-rtl.png -------------------------------------------------------------------------------- /blog/img/rtl-demo-swipe-ltr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/blog/img/rtl-demo-swipe-ltr.png -------------------------------------------------------------------------------- /blog/img/rtl-demo-swipe-rtl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/blog/img/rtl-demo-swipe-rtl.png -------------------------------------------------------------------------------- /blog/img/rtl-rn-core-updates.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/blog/img/rtl-rn-core-updates.png -------------------------------------------------------------------------------- /blog/img/yarn-rncli.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/blog/img/yarn-rncli.png -------------------------------------------------------------------------------- /breaking-changes.md: -------------------------------------------------------------------------------- 1 | # Breaking Changes 2 | 3 | **Breaking changes are now tracked in [the Wiki](https://github.com/facebook/react-native/wiki/Breaking-Changes)**. 4 | -------------------------------------------------------------------------------- /cli.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 'use strict'; 10 | 11 | module.exports = require('./local-cli/cli.js'); 12 | -------------------------------------------------------------------------------- /danger/.babelrc: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /danger/README.md: -------------------------------------------------------------------------------- 1 | If you'd like to make changes to the Dangerfile, find an existing PR and copy the URL. 2 | 3 | Then run from the React Native root: 4 | 5 | ``` 6 | cd danger 7 | npm install 8 | .. 9 | node danger/node_modules/.bin/danger pr https://github.com/facebook/react-native/pull/1 10 | ``` 11 | 12 | And you will get the responses from parsing the Dangerfile. 13 | -------------------------------------------------------------------------------- /danger/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "scripts": { 4 | "danger": "node ./node_modules/.bin/danger" 5 | }, 6 | "devDependencies": { 7 | "danger": "^2.1.6", 8 | "lodash.includes": "^4.3.0", 9 | "minimatch": "^3.0.4" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /flow/Position.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @flow 10 | * @nolint 11 | */ 12 | 13 | declare class Position { 14 | coords: Coordinates, 15 | timestamp: number, 16 | mocked: boolean, 17 | } 18 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Mon Jan 16 11:21:59 CST 2017 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip 7 | -------------------------------------------------------------------------------- /jest/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "rules": { 3 | // This folder currently runs through babel and doesn't need to be 4 | // compatible with node 4 5 | "comma-dangle": 0 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /keystores/BUCK: -------------------------------------------------------------------------------- 1 | keystore( 2 | name = "debug", 3 | properties = "debug.keystore.properties", 4 | store = "debug.keystore", 5 | visibility = [ 6 | "PUBLIC", 7 | ], 8 | ) 9 | -------------------------------------------------------------------------------- /keystores/debug.keystore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/keystores/debug.keystore -------------------------------------------------------------------------------- /keystores/debug.keystore.properties: -------------------------------------------------------------------------------- 1 | key.store=debug.keystore 2 | key.alias=androiddebugkey 3 | key.store.password=android 4 | key.alias.password=android 5 | -------------------------------------------------------------------------------- /lib/README: -------------------------------------------------------------------------------- 1 | JS modules in this folder are forwarding modules to allow React to require React Native internals as node dependencies. 2 | -------------------------------------------------------------------------------- /lib/UIManager.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2016-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @flow 10 | */ 11 | 'use strict'; 12 | 13 | // This is a forwarding module to allow React to require React Native internals 14 | // as node dependency 15 | module.exports = require('UIManager'); 16 | -------------------------------------------------------------------------------- /lib/View.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2016-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @flow 10 | */ 11 | 'use strict'; 12 | 13 | // This is a forwarding module to allow React to require React Native internals 14 | // as node dependency 15 | module.exports = require('View'); 16 | -------------------------------------------------------------------------------- /lib/deepDiffer.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2016-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @flow 10 | */ 11 | 'use strict'; 12 | 13 | // This is a forwarding module to allow React to require React Native internals 14 | // as node dependency 15 | module.exports = require('deepDiffer'); 16 | -------------------------------------------------------------------------------- /lib/flattenStyle.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2016-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @flow 10 | */ 11 | 'use strict'; 12 | 13 | // This is a forwarding module to allow React to require React Native internals 14 | // as node dependency 15 | module.exports = require('flattenStyle'); 16 | -------------------------------------------------------------------------------- /local-cli/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "rules": { 3 | // This folder currently runs through babel and doesn't need to be 4 | // compatible with node 4 5 | "comma-dangle": 0, 6 | 7 | "extra-arrow-initializer": 0, 8 | "no-alert": 0, 9 | "no-console-disallow": 0 10 | }, 11 | "env": { 12 | "node": true 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /local-cli/bundle/__mocks__/sign.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 'use strict'; 10 | 11 | function sign(source) { 12 | return source; 13 | } 14 | 15 | module.exports = sign; 16 | -------------------------------------------------------------------------------- /local-cli/core/__fixtures__/commands.js: -------------------------------------------------------------------------------- 1 | exports.single = { 2 | func: () => {}, 3 | description: 'Test action', 4 | name: 'test', 5 | }; 6 | 7 | exports.multiple = [{ 8 | func: () => {}, 9 | description: 'Test action #1', 10 | name: 'test1', 11 | }, { 12 | func: () => {}, 13 | description: 'Test action #2', 14 | name: 'test2', 15 | }]; 16 | -------------------------------------------------------------------------------- /local-cli/core/__fixtures__/files/AndroidManifest-debug.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | -------------------------------------------------------------------------------- /local-cli/core/__fixtures__/files/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | -------------------------------------------------------------------------------- /local-cli/core/__fixtures__/files/Main.java: -------------------------------------------------------------------------------- 1 | package com.some.example; 2 | 3 | import java.util.ArrayList; 4 | import java.util.Arrays; 5 | import java.util.Collections; 6 | import java.util.List; 7 | 8 | public class SomeExamplePackage {} 9 | -------------------------------------------------------------------------------- /local-cli/core/__fixtures__/ios.js: -------------------------------------------------------------------------------- 1 | const fs = require.requireActual('fs'); 2 | const path = require('path'); 3 | 4 | exports.valid = { 5 | 'demoProject.xcodeproj': { 6 | 'project.pbxproj': fs.readFileSync(path.join(__dirname, './files/project.pbxproj')), 7 | }, 8 | 'TestPod.podspec': 'empty' 9 | }; 10 | 11 | exports.validTestName = { 12 | 'MyTestProject.xcodeproj': { 13 | 'project.pbxproj': fs.readFileSync(path.join(__dirname, './files/project.pbxproj')), 14 | }, 15 | }; 16 | 17 | exports.pod = { 18 | 'TestPod.podspec': 'empty' 19 | }; 20 | -------------------------------------------------------------------------------- /local-cli/core/ios/findPodfilePath.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const fs = require('fs'); 4 | const path = require('path'); 5 | 6 | module.exports = function findPodfilePath(projectFolder) { 7 | const podFilePath = path.join(projectFolder, '..', 'Podfile'); 8 | const podFileExists = fs.existsSync(podFilePath); 9 | 10 | return podFileExists ? podFilePath : null; 11 | }; 12 | -------------------------------------------------------------------------------- /local-cli/core/windows/generateGUID.js: -------------------------------------------------------------------------------- 1 | const s4 = () => { 2 | return Math.floor((1 + Math.random()) * 0x10000) 3 | .toString(16) 4 | .substring(1); 5 | }; 6 | 7 | module.exports = function generateGUID() { 8 | return s4() + s4() + '-' + s4() + '-' + s4() + '-' + 9 | s4() + '-' + s4() + s4() + s4(); 10 | }; 11 | -------------------------------------------------------------------------------- /local-cli/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = [ 4 | require('./runMacOS/runMacOS') 5 | ]; -------------------------------------------------------------------------------- /local-cli/link/__fixtures__/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | UISupportedInterfaceOrientations 8 | 9 | UIInterfaceOrientationPortrait 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /local-cli/link/__fixtures__/android/build.gradle: -------------------------------------------------------------------------------- 1 | dependencies { 2 | compile fileTree(dir: "libs", include: ["*.jar"]) 3 | compile "com.android.support:appcompat-v7:23.0.1" 4 | compile "com.facebook.react:react-native:0.18.+" 5 | } 6 | -------------------------------------------------------------------------------- /local-cli/link/__fixtures__/android/patchedBuild.gradle: -------------------------------------------------------------------------------- 1 | dependencies { 2 | compile project(':test') 3 | compile(project(':test2')) { 4 | exclude(group: 'org.unwanted', module: 'test10') 5 | } 6 | compile fileTree(dir: "libs", include: ["*.jar"]) 7 | compile "com.android.support:appcompat-v7:23.0.1" 8 | compile "com.facebook.react:react-native:0.18.+" 9 | } 10 | -------------------------------------------------------------------------------- /local-cli/link/__fixtures__/android/patchedSettings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'TestRN' 2 | 3 | include ':app' 4 | include ':test' 5 | project(':test').projectDir = new File(rootProject.projectDir, '../node_modules/test/android') 6 | -------------------------------------------------------------------------------- /local-cli/link/__fixtures__/android/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'TestRN' 2 | 3 | include ':app' 4 | -------------------------------------------------------------------------------- /local-cli/link/__fixtures__/pods/PodfileSimple: -------------------------------------------------------------------------------- 1 | source 'https://github.com/CocoaPods/Specs.git' 2 | platform :ios, '9.0' 3 | 4 | target 'Testing' do 5 | pod 'TestPod', '~> 3.1' 6 | 7 | # test should point to this line 8 | end 9 | -------------------------------------------------------------------------------- /local-cli/link/android/fs.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs-extra'); 2 | 3 | exports.readFile = (file) => 4 | () => fs.readFileSync(file, 'utf8'); 5 | 6 | exports.writeFile = (file, content) => content ? 7 | fs.writeFileSync(file, content, 'utf8') : 8 | (c) => fs.writeFileSync(file, c, 'utf8'); 9 | -------------------------------------------------------------------------------- /local-cli/link/android/isInstalled.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs'); 2 | const makeBuildPatch = require('./patches/makeBuildPatch'); 3 | 4 | module.exports = function isInstalled(config, name) { 5 | const buildGradle = fs.readFileSync(config.buildGradlePath); 6 | return makeBuildPatch(name).installPattern.test(buildGradle); 7 | }; 8 | -------------------------------------------------------------------------------- /local-cli/link/android/patches/applyPatch.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs'); 2 | 3 | module.exports = function applyPatch(file, patch) { 4 | fs.writeFileSync(file, fs 5 | .readFileSync(file, 'utf8') 6 | .replace(patch.pattern, match => `${match}${patch.patch}`) 7 | ); 8 | }; 9 | -------------------------------------------------------------------------------- /local-cli/link/android/patches/makeBuildPatch.js: -------------------------------------------------------------------------------- 1 | module.exports = function makeBuildPatch(name) { 2 | const installPattern = new RegExp( 3 | `\\s{4}(compile)(\\(|\\s)(project)\\(\\\':${name}\\\'\\)(\\)|\\s)` 4 | ); 5 | 6 | return { 7 | installPattern, 8 | pattern: /[^ \t]dependencies {\n/, 9 | patch: ` compile project(':${name}')\n` 10 | }; 11 | }; 12 | -------------------------------------------------------------------------------- /local-cli/link/android/patches/makeImportPatch.js: -------------------------------------------------------------------------------- 1 | module.exports = function makeImportPatch(packageImportPath) { 2 | return { 3 | pattern: 'import com.facebook.react.ReactApplication;', 4 | patch: '\n' + packageImportPath, 5 | }; 6 | }; 7 | -------------------------------------------------------------------------------- /local-cli/link/android/patches/makePackagePatch.js: -------------------------------------------------------------------------------- 1 | const applyParams = require('./applyParams'); 2 | 3 | module.exports = function makePackagePatch(packageInstance, params, prefix) { 4 | const processedInstance = applyParams(packageInstance, params, prefix); 5 | 6 | return { 7 | pattern: 'new MainReactPackage()', 8 | patch: ',\n ' + processedInstance, 9 | }; 10 | }; 11 | -------------------------------------------------------------------------------- /local-cli/link/android/patches/revokePatch.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs'); 2 | 3 | module.exports = function revokePatch(file, patch) { 4 | fs.writeFileSync(file, fs 5 | .readFileSync(file, 'utf8') 6 | .replace(patch.patch, '') 7 | ); 8 | }; 9 | -------------------------------------------------------------------------------- /local-cli/link/commandStub.js: -------------------------------------------------------------------------------- 1 | module.exports = (cb) => cb(); 2 | -------------------------------------------------------------------------------- /local-cli/link/getDependencyConfig.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Given an array of dependencies - it returns their RNPM config 3 | * if they were valid. 4 | */ 5 | module.exports = function getDependencyConfig(config, deps) { 6 | return deps.reduce((acc, name) => { 7 | try { 8 | return acc.concat({ 9 | config: config.getDependencyConfig(name), 10 | name, 11 | }); 12 | } catch (err) { 13 | console.log(err); 14 | return acc; 15 | } 16 | }, []); 17 | }; 18 | -------------------------------------------------------------------------------- /local-cli/link/getProjectDependencies.js: -------------------------------------------------------------------------------- 1 | const path = require('path'); 2 | 3 | /** 4 | * Returns an array of dependencies that should be linked/checked. 5 | */ 6 | module.exports = function getProjectDependencies() { 7 | const pjson = require(path.join(process.cwd(), './package.json')); 8 | return Object.keys(pjson.dependencies || {}).filter(name => name !== 'react-native'); 9 | }; 10 | -------------------------------------------------------------------------------- /local-cli/link/ios/addFileToProject.js: -------------------------------------------------------------------------------- 1 | const PbxFile = require('xcode/lib/pbxFile'); 2 | 3 | /** 4 | * Given xcodeproj and filePath, it creates new file 5 | * from path provided, adds it to the project 6 | * and returns newly created instance of a file 7 | */ 8 | module.exports = function addFileToProject(project, filePath) { 9 | const file = new PbxFile(filePath); 10 | file.uuid = project.generateUuid(); 11 | file.fileRef = project.generateUuid(); 12 | project.addToPbxFileReferenceSection(file); 13 | return file; 14 | }; 15 | -------------------------------------------------------------------------------- /local-cli/link/ios/addProjectToLibraries.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Given an array of xcodeproj libraries and pbxFile, 3 | * it appends it to that group 4 | * 5 | * Important: That function mutates `libraries` and it's not pure. 6 | * It's mainly due to limitations of `xcode` library. 7 | */ 8 | module.exports = function addProjectToLibraries(libraries, file) { 9 | return libraries.children.push({ 10 | value: file.fileRef, 11 | comment: file.basename, 12 | }); 13 | }; 14 | -------------------------------------------------------------------------------- /local-cli/link/ios/addSharedLibraries.js: -------------------------------------------------------------------------------- 1 | const createGroupWithMessage = require('./createGroupWithMessage'); 2 | 3 | module.exports = function addSharedLibraries(project, libraries) { 4 | if (!libraries.length) { 5 | return; 6 | } 7 | 8 | // Create a Frameworks group if necessary. 9 | createGroupWithMessage(project, 'Frameworks'); 10 | 11 | const target = project.getFirstTarget().uuid; 12 | 13 | for (var name of libraries) { 14 | project.addFramework(name, { target }); 15 | } 16 | }; 17 | -------------------------------------------------------------------------------- /local-cli/link/ios/addToHeaderSearchPaths.js: -------------------------------------------------------------------------------- 1 | const mapHeaderSearchPaths = require('./mapHeaderSearchPaths'); 2 | 3 | module.exports = function addToHeaderSearchPaths(project, path) { 4 | mapHeaderSearchPaths(project, searchPaths => searchPaths.concat(path)); 5 | }; 6 | -------------------------------------------------------------------------------- /local-cli/link/ios/getPlistPath.js: -------------------------------------------------------------------------------- 1 | const path = require('path'); 2 | const getBuildProperty = require('./getBuildProperty'); 3 | 4 | module.exports = function getPlistPath(project, sourceDir) { 5 | const plistFile = getBuildProperty(project, 'INFOPLIST_FILE'); 6 | 7 | if (!plistFile) { 8 | return null; 9 | } 10 | 11 | return path.join( 12 | sourceDir, 13 | plistFile.replace(/"/g, '').replace('$(SRCROOT)', '') 14 | ); 15 | }; 16 | -------------------------------------------------------------------------------- /local-cli/link/ios/getProducts.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Given xcodeproj it returns list of products ending with 3 | * .a extension, so that we know what elements add to target 4 | * project static library 5 | */ 6 | module.exports = function getProducts(project) { 7 | return project 8 | .pbxGroupByName('Products') 9 | .children 10 | .map(c => c.comment) 11 | .filter(c => c.indexOf('.a') > -1); 12 | }; 13 | -------------------------------------------------------------------------------- /local-cli/link/ios/hasLibraryImported.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Given an array of libraries already imported and packageName that will be 3 | * added, returns true or false depending on whether the library is already linked 4 | * or not 5 | */ 6 | module.exports = function hasLibraryImported(libraries, packageName) { 7 | return libraries.children 8 | .filter(library => library.comment === packageName) 9 | .length > 0; 10 | }; 11 | -------------------------------------------------------------------------------- /local-cli/link/ios/removeFromHeaderSearchPaths.js: -------------------------------------------------------------------------------- 1 | const mapHeaderSearchPaths = require('./mapHeaderSearchPaths'); 2 | 3 | /** 4 | * Given Xcode project and absolute path, it makes sure there are no headers referring to it 5 | */ 6 | module.exports = function addToHeaderSearchPaths(project, path) { 7 | mapHeaderSearchPaths(project, 8 | searchPaths => searchPaths.filter(searchPath => searchPath !== path) 9 | ); 10 | }; 11 | -------------------------------------------------------------------------------- /local-cli/link/ios/removeFromPbxReferenceProxySection.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Every file added to the project from another project is attached to 3 | * `PBXItemContainerProxy` through `PBXReferenceProxy`. 4 | */ 5 | module.exports = function removeFromPbxReferenceProxySection(project, file) { 6 | const section = project.hash.project.objects.PBXReferenceProxy; 7 | 8 | for (var key of Object.keys(section)) { 9 | if (section[key].path === file.basename) { 10 | delete section[key]; 11 | } 12 | } 13 | 14 | return; 15 | }; 16 | -------------------------------------------------------------------------------- /local-cli/link/ios/removeProductGroup.js: -------------------------------------------------------------------------------- 1 | module.exports = function removeProductGroup(project, productGroupId) { 2 | const section = project.hash.project.objects.PBXGroup; 3 | 4 | for (var key of Object.keys(section)) { 5 | if (key === productGroupId) { 6 | delete section[key]; 7 | } 8 | } 9 | 10 | return; 11 | }; 12 | -------------------------------------------------------------------------------- /local-cli/link/ios/removeProjectFromLibraries.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Given an array of xcodeproj libraries and pbxFile, 3 | * it removes it from that group by comparing basenames 4 | * 5 | * Important: That function mutates `libraries` and it's not pure. 6 | * It's mainly due to limitations of `xcode` library. 7 | */ 8 | module.exports = function removeProjectFromLibraries(libraries, file) { 9 | libraries.children = libraries.children.filter(library => 10 | library.comment !== file.basename 11 | ); 12 | }; 13 | -------------------------------------------------------------------------------- /local-cli/link/ios/removeSharedLibraries.js: -------------------------------------------------------------------------------- 1 | module.exports = function removeSharedLibraries(project, libraries) { 2 | if (!libraries.length) { 3 | return; 4 | } 5 | 6 | const target = project.getFirstTarget().uuid; 7 | 8 | for (var name of libraries) { 9 | project.removeFramework(name, { target }); 10 | } 11 | }; 12 | -------------------------------------------------------------------------------- /local-cli/link/pods/findMarkedLinesInPodfile.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | const MARKER_TEXT = '# Add new pods below this line'; 3 | 4 | module.exports = function findMarkedLinesInPodfile(podLines) { 5 | const result = []; 6 | for (let i = 0, len = podLines.length; i < len; i++) { 7 | if (podLines[i].includes(MARKER_TEXT)) { 8 | result.push({ line: i + 1, indentation: podLines[i].indexOf('#') }); 9 | } 10 | } 11 | return result; 12 | }; 13 | -------------------------------------------------------------------------------- /local-cli/link/pods/readPodfile.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const fs = require('fs'); 4 | 5 | module.exports = function readPodfile(podfilePath) { 6 | const podContent = fs.readFileSync(podfilePath, 'utf8'); 7 | return podContent.split(/\r?\n/g); 8 | }; 9 | -------------------------------------------------------------------------------- /local-cli/link/pods/removePodEntry.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = function removePodEntry(podfileContent, podName) { 4 | // this regex should catch line(s) with full pod definition, like: pod 'podname', :path => '../node_modules/podname', :subspecs => ['Sub2', 'Sub1'] 5 | const podRegex = new RegExp("\\n( |\\t)*pod\\s+(\"|')" + podName + "(\"|')(,\\s*(:[a-z]+\\s*=>)?\\s*((\"|').*?(\"|')|\\[[\\s\\S]*?\\]))*\\n", 'g'); 6 | return podfileContent.replace(podRegex, '\n'); 7 | }; 8 | -------------------------------------------------------------------------------- /local-cli/link/pods/savePodFile.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const fs = require('fs'); 4 | 5 | module.exports = function savePodFile(podfilePath, podLines) { 6 | const newPodfile = podLines.join('\n'); 7 | fs.writeFileSync(podfilePath, newPodfile); 8 | }; 9 | -------------------------------------------------------------------------------- /local-cli/link/pods/unregisterNativeModule.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const fs = require('fs'); 4 | const removePodEntry = require('./removePodEntry'); 5 | 6 | /** 7 | * Unregister native module IOS with CocoaPods 8 | */ 9 | module.exports = function unregisterNativeModule(dependencyConfig, iOSProject) { 10 | const podContent = fs.readFileSync(iOSProject.podfile, 'utf8'); 11 | const removed = removePodEntry(podContent, dependencyConfig.podspec); 12 | fs.writeFileSync(iOSProject.podfile, removed); 13 | }; 14 | -------------------------------------------------------------------------------- /local-cli/link/pollParams.js: -------------------------------------------------------------------------------- 1 | var inquirer = require('inquirer'); 2 | 3 | module.exports = (questions) => new Promise((resolve, reject) => { 4 | if (!questions) { 5 | return resolve({}); 6 | } 7 | 8 | inquirer.prompt(questions).then(resolve, reject); 9 | }); 10 | -------------------------------------------------------------------------------- /local-cli/link/promiseWaterfall.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Given an array of promise creators, executes them in a sequence. 3 | * 4 | * If any of the promises in the chain fails, all subsequent promises 5 | * will be skipped 6 | * 7 | * Returns the value last promise from a sequence resolved 8 | */ 9 | module.exports = function promiseWaterfall(tasks) { 10 | return tasks.reduce( 11 | (prevTaskPromise, task) => prevTaskPromise.then(task), 12 | Promise.resolve() 13 | ); 14 | }; 15 | -------------------------------------------------------------------------------- /local-cli/link/promisify.js: -------------------------------------------------------------------------------- 1 | module.exports = (func) => new Promise((resolve, reject) => 2 | func((err, res) => err ? reject(err) : resolve(res)) 3 | ); 4 | -------------------------------------------------------------------------------- /local-cli/link/windows/isInstalled.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs'); 2 | const makeUsingPatch = require('./patches/makeUsingPatch'); 3 | 4 | module.exports = function isInstalled(config, dependencyConfig) { 5 | return fs 6 | .readFileSync(config.mainPage) 7 | .indexOf(makeUsingPatch(dependencyConfig.packageUsingPath).patch) > -1; 8 | }; 9 | -------------------------------------------------------------------------------- /local-cli/link/windows/patches/applyPatch.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs'); 2 | 3 | module.exports = function applyPatch(file, patch, flip = false) { 4 | 5 | fs.writeFileSync(file, fs 6 | .readFileSync(file, 'utf8') 7 | .replace(patch.pattern, match => { 8 | return flip ? `${patch.patch}${match}` : `${match}${patch.patch}`; 9 | }) 10 | ); 11 | }; 12 | -------------------------------------------------------------------------------- /local-cli/link/windows/patches/makePackagePatch.js: -------------------------------------------------------------------------------- 1 | const applyParams = require('./applyParams'); 2 | 3 | module.exports = function makePackagePatch(packageInstance, params, prefix) { 4 | const processedInstance = applyParams(packageInstance, params, prefix); 5 | 6 | return { 7 | pattern: 'new MainReactPackage()', 8 | patch: ',\n ' + processedInstance, 9 | }; 10 | }; 11 | -------------------------------------------------------------------------------- /local-cli/link/windows/patches/makeSolutionPatch.js: -------------------------------------------------------------------------------- 1 | module.exports = function makeSolutionPatch(windowsConfig) { 2 | 3 | const solutionInsert = `Project("{${windowsConfig.projectGUID.toUpperCase()}}") = "${windowsConfig.projectName}", "${windowsConfig.relativeProjPath}", "{${windowsConfig.pathGUID.toUpperCase()}}" 4 | EndProject 5 | `; 6 | 7 | return { 8 | pattern: 'Global', 9 | patch: solutionInsert, 10 | unpatch: new RegExp(`Project.+${windowsConfig.projectName}.+\\s+EndProject\\s+`), 11 | }; 12 | }; 13 | -------------------------------------------------------------------------------- /local-cli/link/windows/patches/makeUsingPatch.js: -------------------------------------------------------------------------------- 1 | module.exports = function makeUsingPatch(packageImportPath) { 2 | return { 3 | pattern: 'using ReactNative.Modules.Core;', 4 | patch: '\n' + packageImportPath, 5 | }; 6 | }; 7 | -------------------------------------------------------------------------------- /local-cli/link/windows/patches/revokePatch.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs'); 2 | 3 | module.exports = function revokePatch(file, patch) { 4 | const unpatch = patch.unpatch || patch.patch; 5 | fs.writeFileSync(file, fs 6 | .readFileSync(file, 'utf8') 7 | .replace(unpatch, '') 8 | ); 9 | }; 10 | -------------------------------------------------------------------------------- /local-cli/platform.js: -------------------------------------------------------------------------------- 1 | let config = {}; 2 | Object.assign(config, require('./core/macos')); 3 | 4 | module.exports = { macos: config }; -------------------------------------------------------------------------------- /local-cli/server/middleware/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | React Native 5 | 6 | 7 |

React Native packager is running.

8 |

Visit documentation

9 | 10 | 11 | -------------------------------------------------------------------------------- /local-cli/server/util/external/xsel: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/local-cli/server/util/external/xsel -------------------------------------------------------------------------------- /local-cli/setup_env.bat: -------------------------------------------------------------------------------- 1 | :: Copyright (c) 2015-present, Facebook, Inc. 2 | :: All rights reserved. 3 | :: 4 | :: This source code is licensed under the BSD-style license found in the 5 | :: LICENSE file in the root directory of this source tree. An additional grant 6 | :: of patent rights can be found in the PATENTS file in the same directory. 7 | -------------------------------------------------------------------------------- /local-cli/setup_env.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # Copyright (c) 2015-present, Facebook, Inc. 3 | # All rights reserved. 4 | # 5 | # This source code is licensed under the BSD-style license found in the 6 | # LICENSE file in the root directory of this source tree. An additional grant 7 | # of patent rights can be found in the PATENTS file in the same directory. 8 | 9 | # 2048 is the max for non root users on Mac 10 | ulimit -n 2048 11 | -------------------------------------------------------------------------------- /local-cli/templates/HelloNavigation/dependencies.json: -------------------------------------------------------------------------------- 1 | { 2 | "react-navigation": "1.0.0-beta.11" 3 | } 4 | -------------------------------------------------------------------------------- /local-cli/templates/HelloNavigation/views/HomeScreenTabNavigator.js: -------------------------------------------------------------------------------- 1 | import { TabNavigator } from 'react-navigation'; 2 | 3 | import ChatListScreen from './chat/ChatListScreen'; 4 | import WelcomeScreen from './welcome/WelcomeScreen'; 5 | 6 | /** 7 | * Screen with tabs shown on app startup. 8 | */ 9 | const HomeScreenTabNavigator = TabNavigator({ 10 | Welcome: { 11 | screen: WelcomeScreen, 12 | }, 13 | Chats: { 14 | screen: ChatListScreen, 15 | }, 16 | }); 17 | 18 | export default HomeScreenTabNavigator; 19 | -------------------------------------------------------------------------------- /local-cli/templates/HelloNavigation/views/chat/chat-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/local-cli/templates/HelloNavigation/views/chat/chat-icon.png -------------------------------------------------------------------------------- /local-cli/templates/HelloNavigation/views/welcome/welcome-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ptmt/react-native-macos/1bb1d251116b778632a116eaf52860276bd02592/local-cli/templates/HelloNavigation/views/welcome/welcome-icon.png -------------------------------------------------------------------------------- /local-cli/templates/HelloWorld/__tests__/App.js: -------------------------------------------------------------------------------- 1 | import 'react-native'; 2 | import React from 'react'; 3 | import App from '../App'; 4 | 5 | // Note: test renderer must be required after react-native. 6 | import renderer from 'react-test-renderer'; 7 | 8 | it('renders correctly', () => { 9 | const tree = renderer.create( 10 | 11 | ); 12 | }); 13 | -------------------------------------------------------------------------------- /local-cli/templates/HelloWorld/__tests__/index.macos.js: -------------------------------------------------------------------------------- 1 | import 'react-native'; 2 | import React from 'react'; 3 | import Index from '../index.macos.js'; 4 | 5 | // Note: test renderer must be required after react-native. 6 | import renderer from 'react-test-renderer'; 7 | 8 | it('renders correctly', () => { 9 | const tree = renderer.create( 10 | 11 | ); 12 | }); 13 | -------------------------------------------------------------------------------- /local-cli/templates/HelloWorld/_babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["react-native"], 3 | "plugins": [ 4 | ["module-resolver", { 5 | "alias": { 6 | "react-native": "react-native-macos" 7 | } 8 | }] 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /local-cli/templates/HelloWorld/_gitattributes: -------------------------------------------------------------------------------- 1 | *.pbxproj -text 2 | -------------------------------------------------------------------------------- /local-cli/templates/HelloWorld/_watchmanconfig: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /local-cli/templates/HelloWorld/index.js: -------------------------------------------------------------------------------- 1 | import { AppRegistry } from 'react-native'; 2 | import App from './App'; 3 | 4 | AppRegistry.registerComponent('HelloWorld', () => App); 5 | -------------------------------------------------------------------------------- /local-cli/templates/HelloWorld/ios/HelloWorld/Images.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /local-cli/util/__mocks__/log.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 'use strict'; 10 | 11 | module.exports.out = () => jest.genMockFn(); 12 | module.exports.err = () => jest.genMockFn(); 13 | -------------------------------------------------------------------------------- /local-cli/util/isValidPackageName.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 'use strict'; 10 | 11 | function isValidPackageName(name) { 12 | return name.match(/^[$A-Z_][0-9A-Z_$]*$/i); 13 | } 14 | 15 | module.exports = isValidPackageName; 16 | -------------------------------------------------------------------------------- /runXcodeTests.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Run from react-native root 4 | 5 | set -e 6 | 7 | if [ -z "$1" ] 8 | then 9 | echo "You must supply an OS version as the first arg, e.g. 8.1" 10 | exit 255 11 | fi 12 | 13 | xctool \ 14 | -project RNTester/RNTester.xcodeproj \ 15 | -scheme RNTester \ 16 | -sdk iphonesimulator${1} \ 17 | -destination "platform=iOS Simulator,OS=${1},name=iPhone 5" \ 18 | build test 19 | -------------------------------------------------------------------------------- /scripts/e2e-sinopia.config.yml: -------------------------------------------------------------------------------- 1 | storage: /tmp/sinopia-package-cache 2 | 3 | uplinks: 4 | npmjs: 5 | url: https://registry.npmjs.org/ 6 | 7 | packages: 8 | 'react-native-macos': 9 | allow_access: $all 10 | allow_publish: $all 11 | 12 | 'react-native-macos-cli': 13 | allow_access: $all 14 | allow_publish: $all 15 | 16 | '*': 17 | allow_access: $all 18 | proxy: npmjs 19 | 20 | logs: 21 | - {type: file, path: sinopia.log, format: pretty, level: http} 22 | 23 | max_body_size: '50mb' 24 | -------------------------------------------------------------------------------- /scripts/launchPackager.bat: -------------------------------------------------------------------------------- 1 | :: Copyright (c) 2015-present, Facebook, Inc. 2 | :: All rights reserved. 3 | :: 4 | :: This source code is licensed under the BSD-style license found in the 5 | :: LICENSE file in the root directory of this source tree. An additional grant 6 | :: of patent rights can be found in the PATENTS file in the same directory. 7 | 8 | @echo off 9 | title Metro Bundler 10 | node "%~dp0..\local-cli\cli.js" start 11 | pause 12 | exit 13 | -------------------------------------------------------------------------------- /scripts/macos-configure-folly.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | # Fix name conflicts with macOS 5 | cat << EOF >> folly/prepend.h 6 | #ifdef __APPLE__ 7 | #undef check 8 | #endif 9 | EOF 10 | 11 | echo "$(cat folly/prepend.h)\n$(cat folly/dynamic.h)" > folly/dynamic.h 12 | -------------------------------------------------------------------------------- /scripts/packager.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Copyright (c) 2015-present, Facebook, Inc. 4 | # All rights reserved. 5 | # 6 | # This source code is licensed under the BSD-style license found in the 7 | # LICENSE file in the root directory of this source tree. An additional grant 8 | # of patent rights can be found in the PATENTS file in the same directory. 9 | 10 | THIS_DIR=$(dirname "$0") 11 | source "${THIS_DIR}/.packager.env" 12 | cd "$THIS_DIR/.." 13 | node "./local-cli/cli.js" start "$@" 14 | -------------------------------------------------------------------------------- /scripts/run-android-local-unit-tests.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Runs all Android unit tests locally. 4 | # See http://facebook.github.io/react-native/docs/testing.html 5 | 6 | source $(dirname $0)/validate-android-sdk.sh 7 | source $(dirname $0)/validate-android-test-env.sh 8 | 9 | set -e 10 | 11 | echo "Fetching dependencies..." 12 | buck fetch ReactAndroid/src/test/... 13 | 14 | echo "Running unit tests..." 15 | buck test ReactAndroid/src/test/... 16 | -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | // Copyright 2004-present Facebook. All Rights Reserved. 2 | 3 | include ':ReactAndroid', ':RNTester:android:app' 4 | --------------------------------------------------------------------------------