react-native 0.0.0-16bb2ae4f → 0.0.0-18697adec

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (616) hide show
  1. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +14 -1
  2. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +2 -0
  3. package/Libraries/Animated/AnimatedEvent.js +23 -4
  4. package/Libraries/Animated/NativeAnimatedHelper.js +3 -3
  5. package/Libraries/BatchedBridge/MessageQueue.js +10 -10
  6. package/Libraries/Blob/FileReader.js +1 -1
  7. package/Libraries/Blob/React-RCTBlob.podspec +1 -1
  8. package/Libraries/Blob/URL.js +1 -1
  9. package/Libraries/Components/Button.js +3 -0
  10. package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +3 -6
  11. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +4 -7
  12. package/Libraries/Components/ScrollView/ScrollView.js +14 -5
  13. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +1 -0
  14. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +268 -252
  15. package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +1 -0
  16. package/Libraries/Components/StatusBar/StatusBar.js +6 -14
  17. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +2 -3
  18. package/Libraries/Components/TextInput/AndroidTextInputViewConfig.js +1 -0
  19. package/Libraries/Components/TextInput/TextInput.js +27 -1
  20. package/Libraries/Components/TextInput/TextInputState.js +1 -1
  21. package/Libraries/Components/View/ViewAccessibility.js +1 -0
  22. package/Libraries/Core/ExceptionsManager.js +3 -1
  23. package/Libraries/Core/ReactNativeVersion.js +1 -1
  24. package/Libraries/Core/Timers/JSTimers.js +37 -28
  25. package/Libraries/Core/Timers/immediateShim.js +67 -0
  26. package/Libraries/Core/Timers/queueMicrotask.js +41 -0
  27. package/Libraries/Core/polyfillPromise.js +1 -1
  28. package/Libraries/Core/setUpBatchedBridge.js +1 -1
  29. package/Libraries/Core/setUpGlobals.js +2 -0
  30. package/Libraries/Core/setUpRegeneratorRuntime.js +25 -8
  31. package/Libraries/Core/setUpTimers.js +65 -6
  32. package/Libraries/DeprecatedPropTypes/DeprecatedTextInputPropTypes.js +1 -1
  33. package/Libraries/Image/Image.ios.js +6 -0
  34. package/Libraries/Image/ImageBackground.js +10 -8
  35. package/Libraries/Image/ImageProps.js +28 -0
  36. package/Libraries/Image/ImageSource.js +1 -1
  37. package/Libraries/Image/React-RCTImage.podspec +1 -1
  38. package/Libraries/LinkingIOS/React-RCTLinking.podspec +1 -1
  39. package/Libraries/Lists/FlatList.js +43 -26
  40. package/Libraries/Lists/VirtualizedList.js +3 -1
  41. package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +4 -4
  42. package/Libraries/LogBox/Data/LogBoxData.js +18 -18
  43. package/Libraries/LogBox/UI/LogBoxImages/alert-triangle.png +0 -0
  44. package/Libraries/LogBox/UI/LogBoxImages/chevron-left.png +0 -0
  45. package/Libraries/LogBox/UI/LogBoxImages/chevron-right.png +0 -0
  46. package/Libraries/LogBox/UI/LogBoxImages/close.png +0 -0
  47. package/Libraries/LogBox/UI/LogBoxImages/loader.png +0 -0
  48. package/Libraries/NativeAnimation/Nodes/RCTPropsAnimatedNode.m +0 -3
  49. package/Libraries/NativeAnimation/RCTNativeAnimatedModule.mm +6 -3
  50. package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.h +1 -2
  51. package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +17 -11
  52. package/Libraries/NativeAnimation/React-RCTAnimation.podspec +1 -1
  53. package/Libraries/Network/React-RCTNetwork.podspec +1 -1
  54. package/Libraries/Network/XMLHttpRequest.js +3 -1
  55. package/Libraries/NewAppScreen/components/logo.png +0 -0
  56. package/Libraries/Performance/QuickPerformanceLogger.js +2 -1
  57. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +2 -1
  58. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +2 -0
  59. package/Libraries/Pressability/Pressability.js +1 -0
  60. package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +1 -0
  61. package/Libraries/PushNotificationIOS/RCTPushNotificationManager.mm +0 -1
  62. package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +1 -1
  63. package/Libraries/ReactNative/AppRegistry.js +1 -1
  64. package/Libraries/ReactNative/PaperUIManager.js +1 -0
  65. package/Libraries/ReactNative/renderApplication.js +1 -1
  66. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +1 -2
  67. package/Libraries/Reliability/UserFlow.js +7 -0
  68. package/Libraries/Renderer/REVISION +1 -1
  69. package/Libraries/Renderer/implementations/ReactFabric-dev.fb.js +4485 -3842
  70. package/Libraries/Renderer/implementations/ReactFabric-prod.fb.js +2060 -1709
  71. package/Libraries/Renderer/implementations/ReactFabric-profiling.fb.js +2148 -1796
  72. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.fb.js +4264 -3695
  73. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.fb.js +1303 -1063
  74. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.fb.js +1374 -1139
  75. package/Libraries/Renderer/shims/ReactFabric.js +3 -1
  76. package/Libraries/Renderer/shims/ReactFeatureFlags.js +3 -1
  77. package/Libraries/Renderer/shims/ReactNative.js +3 -1
  78. package/Libraries/Renderer/shims/ReactNativeTypes.js +3 -1
  79. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +3 -1
  80. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +3 -1
  81. package/Libraries/Settings/React-RCTSettings.podspec +1 -1
  82. package/Libraries/StyleSheet/normalizeColor.js +2 -2
  83. package/Libraries/Text/Text.js +11 -0
  84. package/Libraries/Text/TextInput/RCTBaseTextInputView.m +2 -12
  85. package/Libraries/Text/TextInput/RCTInputAccessoryViewContent.m +4 -11
  86. package/Libraries/Text/TextProps.js +1 -7
  87. package/Libraries/TurboModule/TurboModuleRegistry.js +1 -1
  88. package/Libraries/TypeSafety/RCTTypeSafety.podspec +1 -1
  89. package/Libraries/UTFSequence.js +1 -1
  90. package/Libraries/Utilities/Dimensions.js +9 -14
  91. package/Libraries/Utilities/FeatureDetection.js +31 -0
  92. package/Libraries/Utilities/HMRClient.js +10 -6
  93. package/Libraries/Utilities/MatrixMath.js +1 -1
  94. package/Libraries/Utilities/NativeDeviceInfo.js +1 -1
  95. package/Libraries/Utilities/deprecatedPropType.js +2 -2
  96. package/Libraries/Utilities/useWindowDimensions.js +7 -2
  97. package/Libraries/Vibration/React-RCTVibration.podspec +1 -1
  98. package/Libraries/vendor/emitter/_EventSubscriptionVendor.js +1 -1
  99. package/React/Base/RCTBridge+Private.h +8 -0
  100. package/React/Base/RCTBridge.h +13 -0
  101. package/React/Base/RCTBridge.m +30 -7
  102. package/React/Base/RCTBridgeModule.h +3 -12
  103. package/React/Base/RCTBundleURLProvider.h +26 -1
  104. package/React/Base/RCTBundleURLProvider.mm +79 -15
  105. package/React/Base/RCTConstants.h +6 -7
  106. package/React/Base/RCTConstants.m +12 -12
  107. package/React/Base/RCTConvert.h +1 -1
  108. package/React/Base/RCTConvert.m +1 -1
  109. package/React/Base/RCTCxxConvert.h +1 -1
  110. package/React/Base/RCTDefines.h +12 -3
  111. package/React/Base/RCTEventDispatcherProtocol.h +2 -0
  112. package/React/Base/RCTJSThread.h +29 -0
  113. package/React/Base/RCTJSThread.m +19 -0
  114. package/React/Base/RCTMultipartStreamReader.m +0 -2
  115. package/React/Base/RCTRootView.h +15 -0
  116. package/React/Base/RCTRootView.m +15 -0
  117. package/React/Base/RCTTouchHandler.m +4 -9
  118. package/React/Base/RCTUtils.h +3 -0
  119. package/React/Base/RCTUtils.m +14 -7
  120. package/React/Base/RCTVersion.m +1 -1
  121. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.h +11 -0
  122. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.mm +35 -1
  123. package/React/CoreModules/BUCK +3 -3
  124. package/React/CoreModules/RCTAccessibilityManager.mm +1 -1
  125. package/React/CoreModules/RCTActionSheetManager.mm +14 -5
  126. package/React/CoreModules/RCTAsyncLocalStorage.mm +4 -0
  127. package/React/CoreModules/RCTDevLoadingView.mm +5 -10
  128. package/React/CoreModules/RCTDevSettings.mm +12 -10
  129. package/React/CoreModules/RCTDevSplitBundleLoader.mm +1 -1
  130. package/React/CoreModules/RCTDeviceInfo.mm +4 -4
  131. package/React/CoreModules/RCTEventDispatcher.mm +5 -0
  132. package/React/CoreModules/RCTLogBox.mm +14 -10
  133. package/React/CoreModules/RCTPerfMonitor.mm +9 -4
  134. package/React/CoreModules/RCTRedBox.mm +1 -5
  135. package/React/CoreModules/React-CoreModules.podspec +1 -1
  136. package/React/CxxBridge/RCTCxxBridge.mm +18 -1
  137. package/React/DevSupport/RCTPackagerConnection.h +3 -0
  138. package/React/DevSupport/RCTPackagerConnection.mm +19 -8
  139. package/React/FBReactNativeSpec/FBReactNativeSpec.podspec +12 -4
  140. package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +1 -2
  141. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +64 -62
  142. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +31 -11
  143. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.h +6 -0
  144. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +108 -4
  145. package/React/Fabric/Mounting/RCTComponentViewFactory.mm +1 -0
  146. package/React/Fabric/Mounting/RCTMountingManager.h +3 -0
  147. package/React/Fabric/Mounting/RCTMountingManager.mm +22 -3
  148. package/React/Fabric/Mounting/UIView+ComponentViewProtocol.h +2 -0
  149. package/React/Fabric/Mounting/UIView+ComponentViewProtocol.mm +12 -0
  150. package/React/Fabric/RCTConversions.h +3 -0
  151. package/React/Fabric/RCTScheduler.mm +12 -5
  152. package/React/Fabric/RCTSurfacePresenter.mm +6 -7
  153. package/React/Fabric/RCTSurfacePresenterBridgeAdapter.h +1 -1
  154. package/React/Fabric/RCTSurfaceRegistry.h +1 -1
  155. package/React/Fabric/RCTSurfaceTouchHandler.mm +6 -20
  156. package/React/Fabric/Surface/RCTFabricSurface.mm +3 -0
  157. package/React/Modules/RCTI18nUtil.h +14 -6
  158. package/React/Modules/RCTI18nUtil.m +1 -47
  159. package/React/Profiler/RCTProfileTrampoline-arm.S +1 -1
  160. package/React/Profiler/RCTProfileTrampoline-arm64.S +2 -2
  161. package/React/React-RCTFabric.podspec +1 -1
  162. package/React/Views/RCTFont.mm +54 -38
  163. package/React/Views/RCTModalHostView.h +1 -1
  164. package/React/Views/RCTModalHostView.m +16 -0
  165. package/React/Views/RCTModalHostViewManager.m +1 -0
  166. package/React/Views/RCTView.m +2 -7
  167. package/React/Views/RCTViewManager.m +4 -2
  168. package/React/Views/SafeAreaView/RCTSafeAreaView.m +1 -5
  169. package/React/Views/ScrollView/RCTScrollView.h +1 -0
  170. package/React/Views/ScrollView/RCTScrollView.m +111 -36
  171. package/React/Views/ScrollView/RCTScrollViewManager.m +1 -7
  172. package/React/Views/UIView+React.m +2 -11
  173. package/React-Core.podspec +1 -1
  174. package/ReactAndroid/Android-prebuilt.mk +8 -0
  175. package/ReactAndroid/README.md +1 -1
  176. package/ReactAndroid/build.gradle +12 -5
  177. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/BUCK +1 -1
  178. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactAppInstrumentationTestCase.java +1 -1
  179. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/idledetection/BUCK +1 -1
  180. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/rule/BUCK +5 -5
  181. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/BUCK +0 -1
  182. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/core/BUCK +5 -5
  183. package/ReactAndroid/src/androidTest/js/BUCK +26 -0
  184. package/ReactAndroid/src/androidTest/js/TestBundle.js +0 -7
  185. package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/Android.mk +2 -2
  186. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/Android.mk +4 -4
  187. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/HermesExecutorFactory.java +1 -1
  188. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/RuntimeConfig.java +0 -6
  189. package/ReactAndroid/src/main/java/com/facebook/react/BUCK +1 -1
  190. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java +1 -0
  191. package/ReactAndroid/src/main/java/com/facebook/react/ReactAndroidHWInputDeviceHelper.java +2 -0
  192. package/ReactAndroid/src/main/java/com/facebook/react/ReactFragment.java +6 -2
  193. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +89 -44
  194. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java +28 -0
  195. package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +13 -0
  196. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +5 -4
  197. package/ReactAndroid/src/main/java/com/facebook/react/animated/BUCK +1 -1
  198. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java +2 -2
  199. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java +4 -4
  200. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BackgroundExecutor.java +3 -2
  201. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstance.java +4 -0
  202. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +11 -0
  203. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.java +37 -0
  204. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModuleRegistry.java +22 -0
  205. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +3 -6
  206. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContextBaseJavaModule.java +1 -1
  207. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactCxxErrorHandler.java +39 -0
  208. package/ReactAndroid/src/main/java/com/facebook/react/bridge/{ReactSoftException.java → ReactSoftExceptionLogger.java} +8 -3
  209. package/ReactAndroid/src/main/java/com/facebook/react/bridge/RuntimeScheduler.java +21 -0
  210. package/ReactAndroid/src/main/java/com/facebook/react/bridge/SoftAssertions.java +8 -7
  211. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.java +10 -0
  212. package/ReactAndroid/src/main/java/com/facebook/react/common/BUCK +2 -2
  213. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/BUCK +1 -1
  214. package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +32 -4
  215. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BUCK +1 -1
  216. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.java +97 -0
  217. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.java +9 -58
  218. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +14 -9
  219. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.java +3 -72
  220. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PackagerStatusCheck.java +100 -0
  221. package/ReactAndroid/src/main/java/com/facebook/react/fabric/Binding.java +10 -0
  222. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricComponents.java +4 -3
  223. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricJSIModuleProvider.java +1 -0
  224. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +64 -31
  225. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.java +3 -3
  226. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Android.mk +2 -1
  227. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/BUCK +1 -1
  228. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.cpp +54 -10
  229. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.h +7 -1
  230. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.java +14 -6
  231. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.java +4 -4
  232. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +40 -11
  233. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEvent.java +2 -2
  234. package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/Android.mk +2 -2
  235. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskContext.java +2 -2
  236. package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/BUCK +1 -1
  237. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/BUCK +1 -1
  238. package/ReactAndroid/src/main/java/com/facebook/react/modules/appstate/BUCK +1 -1
  239. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BUCK +1 -1
  240. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/Android.mk +2 -2
  241. package/ReactAndroid/src/main/java/com/facebook/react/modules/bundleloader/BUCK +1 -1
  242. package/ReactAndroid/src/main/java/com/facebook/react/modules/camera/BUCK +1 -1
  243. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/BUCK +1 -1
  244. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/{JavaScriptTimerManager.java → JavaScriptTimerExecutor.java} +1 -1
  245. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.java +7 -7
  246. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/TimingModule.java +2 -2
  247. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/BUCK +1 -1
  248. package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/BUCK +1 -1
  249. package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/DeviceInfoModule.java +10 -6
  250. package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/BUCK +1 -1
  251. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/BUCK +1 -1
  252. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.java +7 -1
  253. package/ReactAndroid/src/main/java/com/facebook/react/modules/image/BUCK +1 -1
  254. package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/BUCK +1 -1
  255. package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.java +23 -19
  256. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/BUCK +1 -1
  257. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java +1 -4
  258. package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/BUCK +1 -1
  259. package/ReactAndroid/src/main/java/com/facebook/react/modules/share/BUCK +1 -1
  260. package/ReactAndroid/src/main/java/com/facebook/react/modules/sound/BUCK +1 -1
  261. package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/BUCK +1 -1
  262. package/ReactAndroid/src/main/java/com/facebook/react/modules/storage/BUCK +1 -1
  263. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/BUCK +2 -2
  264. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +1 -1
  265. package/ReactAndroid/src/main/java/com/facebook/react/modules/toast/BUCK +1 -1
  266. package/ReactAndroid/src/main/java/com/facebook/react/modules/vibration/BUCK +1 -1
  267. package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/BUCK +1 -1
  268. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/ReconnectingWebSocket.java +11 -9
  269. package/ReactAndroid/src/main/java/com/facebook/react/shell/BUCK +0 -1
  270. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.java +0 -5
  271. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/TurboModuleManager.java +4 -2
  272. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/TurboModuleManager.cpp +39 -11
  273. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/TurboModuleManager.h +9 -2
  274. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.java +7 -28
  275. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/PixelUtil.java +1 -6
  276. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.java +2 -2
  277. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactOverflowView.java +25 -0
  278. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.java +162 -66
  279. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.java +9 -9
  280. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +1 -0
  281. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +6 -5
  282. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagersPropertyCache.java +16 -1
  283. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/Event.java +12 -20
  284. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/LockFreeEventDispatcherImpl.java +2 -2
  285. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ReactEventEmitter.java +14 -13
  286. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEvent.java +21 -5
  287. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.java +1 -1
  288. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/BUCK +1 -1
  289. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/BUCK +1 -1
  290. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/BUCK +1 -1
  291. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.java +7 -11
  292. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/BUCK +1 -1
  293. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/BUCK +1 -0
  294. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +9 -1
  295. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +24 -1
  296. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEvent.java +2 -2
  297. package/ReactAndroid/src/main/java/com/facebook/react/views/slider/BUCK +1 -1
  298. package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSliderManager.java +4 -7
  299. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/BUCK +1 -1
  300. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/BUCK +1 -1
  301. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.java +0 -4
  302. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.java +23 -2
  303. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +8 -0
  304. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +20 -1
  305. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +31 -12
  306. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManagerMapBuffer.java +31 -11
  307. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/BUCK +1 -0
  308. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +14 -4
  309. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditTextInputConnectionWrapper.java +3 -0
  310. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +114 -62
  311. package/ReactAndroid/src/main/java/com/facebook/react/views/view/CanvasUtil.java +92 -0
  312. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundDrawable.java +39 -8
  313. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +24 -3
  314. package/ReactAndroid/src/main/jni/react/jni/Android.mk +5 -3
  315. package/ReactAndroid/src/main/jni/react/jni/BUCK +5 -2
  316. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +61 -0
  317. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.h +8 -0
  318. package/ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.cpp +18 -0
  319. package/ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.h +25 -0
  320. package/ReactAndroid/src/main/jni/react/jni/JReactSoftExceptionLogger.cpp +21 -0
  321. package/ReactAndroid/src/main/jni/react/jni/JReactSoftExceptionLogger.h +28 -0
  322. package/{ReactCommon/react/renderer/core/Constants.cpp → ReactAndroid/src/main/jni/react/jni/JRuntimeScheduler.cpp} +6 -8
  323. package/ReactAndroid/src/main/jni/react/jni/JRuntimeScheduler.h +30 -0
  324. package/ReactAndroid/src/main/jni/react/jni/JSLoader.cpp +1 -1
  325. package/ReactAndroid/src/main/jni/third-party/libevent/Android.mk +0 -1
  326. package/ReactAndroid/src/main/third-party/android/androidx/BUCK +63 -2
  327. package/ReactAndroid/src/main/third-party/java/testing-support-lib/BUCK +0 -31
  328. package/ReactAndroid/src/test/java/com/facebook/react/bridge/ReactTestHelper.java +1 -0
  329. package/ReactAndroid/src/test/java/com/facebook/react/modules/BUCK +1 -0
  330. package/ReactAndroid/src/test/java/com/facebook/react/modules/deviceinfo/DeviceInfoModuleTest.java +168 -0
  331. package/ReactCommon/React-Fabric.podspec +10 -1
  332. package/ReactCommon/ReactCommon.podspec +2 -1
  333. package/ReactCommon/callinvoker/BUCK +2 -2
  334. package/ReactCommon/callinvoker/React-callinvoker.podspec +1 -1
  335. package/ReactCommon/cxxreact/Android.mk +2 -1
  336. package/ReactCommon/cxxreact/BUCK +1 -0
  337. package/ReactCommon/cxxreact/CxxNativeModule.cpp +28 -0
  338. package/ReactCommon/cxxreact/CxxNativeModule.h +9 -0
  339. package/ReactCommon/cxxreact/React-cxxreact.podspec +2 -1
  340. package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
  341. package/ReactCommon/hermes/React-hermes.podspec +1 -1
  342. package/ReactCommon/hermes/executor/Android.mk +4 -4
  343. package/ReactCommon/hermes/inspector/Android.mk +1 -2
  344. package/ReactCommon/hermes/inspector/tools/msggen/package.json +7 -4
  345. package/ReactCommon/hermes/inspector/tools/msggen/yarn.lock +13 -10
  346. package/ReactCommon/jsi/Android.mk +1 -1
  347. package/ReactCommon/jsi/BUCK +0 -2
  348. package/ReactCommon/jsi/React-jsi.podspec +1 -1
  349. package/ReactCommon/jsiexecutor/Android.mk +2 -2
  350. package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +1 -1
  351. package/ReactCommon/logger/Android.mk +23 -0
  352. package/ReactCommon/logger/BUCK +43 -0
  353. package/ReactCommon/logger/React-logger.podspec +40 -0
  354. package/ReactCommon/logger/react_native_log.cpp +52 -0
  355. package/ReactCommon/logger/react_native_log.h +33 -0
  356. package/ReactCommon/react/nativemodule/core/Android.mk +2 -2
  357. package/ReactCommon/react/nativemodule/core/ReactCommon/LongLivedObject.cpp +1 -0
  358. package/ReactCommon/react/nativemodule/core/ReactCommon/LongLivedObject.h +3 -2
  359. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +46 -1
  360. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.h +10 -0
  361. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +37 -1
  362. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +24 -22
  363. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.h +11 -8
  364. package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModule.h +7 -5
  365. package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModule.mm +51 -29
  366. package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.mm +45 -34
  367. package/ReactCommon/react/nativemodule/samples/BUCK +2 -2
  368. package/ReactCommon/react/nativemodule/samples/platform/android/Android.mk +1 -1
  369. package/ReactCommon/react/renderer/animations/BUCK +1 -0
  370. package/ReactCommon/react/renderer/animations/LayoutAnimationCallbackWrapper.h +34 -0
  371. package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.cpp +5 -27
  372. package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.h +8 -14
  373. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +920 -1136
  374. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.h +80 -245
  375. package/ReactCommon/react/renderer/animations/conversions.h +212 -0
  376. package/ReactCommon/react/renderer/animations/primitives.h +104 -0
  377. package/ReactCommon/react/renderer/animations/tests/LayoutAnimationTest.cpp +9 -6
  378. package/ReactCommon/react/renderer/animations/utils.cpp +71 -0
  379. package/ReactCommon/react/renderer/animations/utils.h +80 -0
  380. package/ReactCommon/react/renderer/attributedstring/AttributedString.h +0 -1
  381. package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.cpp +7 -3
  382. package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.h +12 -2
  383. package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +7 -2
  384. package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +3 -1
  385. package/ReactCommon/react/renderer/attributedstring/conversions.h +162 -11
  386. package/ReactCommon/react/renderer/attributedstring/primitives.h +34 -1
  387. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorProviderRegistry.cpp +2 -2
  388. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorProviderRegistry.h +1 -0
  389. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +10 -4
  390. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.h +4 -1
  391. package/ReactCommon/react/renderer/componentregistry/componentNameByReactViewName.cpp +2 -1
  392. package/ReactCommon/react/renderer/components/image/Android.mk +1 -1
  393. package/ReactCommon/react/renderer/components/image/ImageProps.cpp +28 -9
  394. package/ReactCommon/react/renderer/components/image/ImageProps.h +5 -1
  395. package/ReactCommon/react/renderer/components/image/conversions.h +9 -2
  396. package/ReactCommon/react/renderer/components/inputaccessory/BUCK +1 -1
  397. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/BUCK +1 -1
  398. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm +0 -1
  399. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewProps.cpp +2 -1
  400. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewProps.h +2 -0
  401. package/ReactCommon/react/renderer/components/root/RootProps.cpp +12 -2
  402. package/ReactCommon/react/renderer/components/root/RootProps.h +6 -1
  403. package/ReactCommon/react/renderer/components/root/RootShadowNode.cpp +2 -1
  404. package/ReactCommon/react/renderer/components/root/RootShadowNode.h +2 -0
  405. package/ReactCommon/react/renderer/components/root/tests/RootShadowNodeTest.cpp +8 -4
  406. package/ReactCommon/react/renderer/components/safeareaview/BUCK +1 -1
  407. package/ReactCommon/react/renderer/components/scrollview/Android.mk +1 -1
  408. package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.cpp +45 -4
  409. package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.h +5 -1
  410. package/ReactCommon/react/renderer/components/scrollview/conversions.h +5 -0
  411. package/ReactCommon/react/renderer/components/text/Android.mk +1 -1
  412. package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +32 -0
  413. package/ReactCommon/react/renderer/components/text/BaseTextProps.h +5 -1
  414. package/ReactCommon/react/renderer/components/text/ParagraphComponentDescriptor.h +1 -16
  415. package/ReactCommon/react/renderer/components/text/ParagraphProps.cpp +10 -4
  416. package/ReactCommon/react/renderer/components/text/ParagraphProps.h +5 -1
  417. package/ReactCommon/react/renderer/components/text/RawTextProps.cpp +3 -2
  418. package/ReactCommon/react/renderer/components/text/RawTextProps.h +5 -1
  419. package/ReactCommon/react/renderer/components/text/RawTextShadowNode.h +0 -6
  420. package/ReactCommon/react/renderer/components/text/TextProps.cpp +6 -3
  421. package/ReactCommon/react/renderer/components/text/TextProps.h +5 -1
  422. package/ReactCommon/react/renderer/components/text/TextShadowNode.h +0 -6
  423. package/ReactCommon/react/renderer/components/textinput/Android.mk +1 -1
  424. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.cpp +58 -91
  425. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.h +10 -6
  426. package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputProps.cpp +46 -22
  427. package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputProps.h +6 -5
  428. package/ReactCommon/react/renderer/components/textinput/iostextinput/conversions.h +15 -3
  429. package/ReactCommon/react/renderer/components/textinput/iostextinput/primitives.h +6 -0
  430. package/ReactCommon/react/renderer/components/textinput/iostextinput/propsConversions.h +63 -2
  431. package/ReactCommon/react/renderer/components/unimplementedview/Android.mk +1 -1
  432. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewComponentDescriptor.cpp +4 -2
  433. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewComponentDescriptor.h +5 -2
  434. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewProps.h +1 -0
  435. package/ReactCommon/react/renderer/components/view/AccessibilityPrimitives.h +21 -0
  436. package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +24 -1
  437. package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +3 -0
  438. package/ReactCommon/react/renderer/components/view/Android.mk +3 -2
  439. package/ReactCommon/react/renderer/components/view/BUCK +1 -0
  440. package/ReactCommon/react/renderer/components/view/Touch.h +1 -32
  441. package/ReactCommon/react/renderer/components/view/ViewComponentDescriptor.h +0 -22
  442. package/ReactCommon/react/renderer/components/view/ViewProps.cpp +62 -14
  443. package/ReactCommon/react/renderer/components/view/ViewProps.h +7 -1
  444. package/ReactCommon/react/renderer/components/view/ViewPropsInterpolation.h +2 -10
  445. package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +5 -4
  446. package/ReactCommon/react/renderer/components/view/ViewShadowNode.h +1 -1
  447. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +58 -33
  448. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.h +2 -8
  449. package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +3 -2
  450. package/ReactCommon/react/renderer/components/view/YogaStylableProps.h +2 -0
  451. package/ReactCommon/react/renderer/components/view/accessibilityPropsConversions.h +62 -8
  452. package/ReactCommon/react/renderer/components/view/conversions.h +57 -14
  453. package/ReactCommon/react/renderer/components/view/propsConversions.h +163 -28
  454. package/ReactCommon/react/renderer/components/view/tests/ViewTest.cpp +7 -2
  455. package/ReactCommon/react/renderer/core/Android.mk +1 -1
  456. package/ReactCommon/react/renderer/core/ComponentDescriptor.h +5 -2
  457. package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +19 -21
  458. package/ReactCommon/react/renderer/core/ConcreteShadowNode.h +4 -0
  459. package/ReactCommon/react/renderer/core/EventDispatcher.cpp +12 -31
  460. package/ReactCommon/react/renderer/core/EventDispatcher.h +1 -4
  461. package/ReactCommon/react/renderer/core/LayoutableShadowNode.h +0 -6
  462. package/ReactCommon/react/renderer/core/Props.cpp +10 -2
  463. package/ReactCommon/react/renderer/core/Props.h +6 -1
  464. package/ReactCommon/react/renderer/core/PropsParserContext.h +29 -0
  465. package/ReactCommon/react/renderer/core/RawProps.cpp +2 -1
  466. package/ReactCommon/react/renderer/core/RawProps.h +3 -1
  467. package/ReactCommon/react/renderer/core/RawPropsKey.cpp +10 -2
  468. package/ReactCommon/react/renderer/core/RawPropsParser.h +11 -2
  469. package/ReactCommon/react/renderer/core/ReactPrimitives.h +0 -2
  470. package/ReactCommon/react/renderer/core/ShadowNode.cpp +7 -10
  471. package/ReactCommon/react/renderer/core/ShadowNode.h +4 -0
  472. package/ReactCommon/react/renderer/core/ShadowNodeFamily.h +1 -0
  473. package/ReactCommon/react/renderer/core/ShadowNodeTraits.h +11 -1
  474. package/ReactCommon/react/renderer/core/propsConversions.h +18 -8
  475. package/ReactCommon/react/renderer/core/tests/ComponentDescriptorTest.cpp +16 -4
  476. package/ReactCommon/react/renderer/core/tests/RawPropsTest.cpp +85 -20
  477. package/ReactCommon/react/renderer/core/tests/TestComponent.h +6 -2
  478. package/ReactCommon/react/renderer/graphics/Android.mk +5 -2
  479. package/ReactCommon/react/renderer/graphics/BUCK +12 -1
  480. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +2 -1
  481. package/ReactCommon/react/renderer/graphics/Transform.cpp +1 -1
  482. package/ReactCommon/react/renderer/graphics/Transform.h +1 -1
  483. package/ReactCommon/react/renderer/graphics/conversions.h +34 -19
  484. package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/PlatformColorParser.h +67 -0
  485. package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/PlatformColorParser.h +29 -0
  486. package/ReactCommon/react/renderer/graphics/platform/ios/Color.h +42 -1
  487. package/ReactCommon/react/renderer/graphics/platform/ios/PlatformColorParser.h +34 -0
  488. package/ReactCommon/react/renderer/graphics/platform/ios/RCTPlatformColorUtils.h +12 -0
  489. package/ReactCommon/react/renderer/graphics/platform/ios/RCTPlatformColorUtils.mm +206 -0
  490. package/ReactCommon/react/renderer/imagemanager/BUCK +1 -1
  491. package/ReactCommon/react/renderer/imagemanager/platform/ios/RCTSyncImageManager.mm +1 -1
  492. package/ReactCommon/react/renderer/mapbuffer/BUCK +2 -2
  493. package/ReactCommon/react/renderer/mounting/Android.mk +2 -1
  494. package/ReactCommon/react/renderer/mounting/MountingOverrideDelegate.h +1 -1
  495. package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +6 -2
  496. package/ReactCommon/react/renderer/mounting/ShadowTree.h +3 -1
  497. package/ReactCommon/react/renderer/mounting/ShadowViewMutation.cpp +12 -0
  498. package/ReactCommon/react/renderer/mounting/ShadowViewMutation.h +10 -1
  499. package/ReactCommon/react/renderer/mounting/tests/MountingTest.cpp +12 -1
  500. package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +8 -1
  501. package/ReactCommon/react/renderer/mounting/tests/StateReconciliationTest.cpp +10 -3
  502. package/ReactCommon/react/renderer/runtimescheduler/Android.mk +2 -1
  503. package/ReactCommon/react/renderer/runtimescheduler/BUCK +1 -0
  504. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +10 -4
  505. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +9 -2
  506. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.cpp +4 -2
  507. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.h +4 -2
  508. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.cpp +30 -0
  509. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.h +34 -0
  510. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerClock.h +4 -2
  511. package/ReactCommon/react/renderer/runtimescheduler/SchedulerPriority.h +4 -2
  512. package/ReactCommon/react/renderer/runtimescheduler/Task.cpp +11 -5
  513. package/ReactCommon/react/renderer/runtimescheduler/Task.h +5 -3
  514. package/ReactCommon/react/renderer/runtimescheduler/primitives.h +4 -2
  515. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +34 -0
  516. package/ReactCommon/react/renderer/{core/Constants.h → scheduler/InspectorData.h} +9 -8
  517. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +44 -29
  518. package/ReactCommon/react/renderer/scheduler/Scheduler.h +14 -0
  519. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +49 -29
  520. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +12 -4
  521. package/ReactCommon/react/renderer/scheduler/SurfaceManager.cpp +1 -0
  522. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTAttributedTextUtils.h +2 -0
  523. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTAttributedTextUtils.mm +22 -0
  524. package/ReactCommon/react/renderer/timeline/BUCK +6 -6
  525. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +34 -30
  526. package/ReactCommon/react/renderer/uimanager/UIManager.h +6 -3
  527. package/ReactCommon/react/renderer/uimanager/UIManagerAnimationDelegate.h +1 -1
  528. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +101 -108
  529. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.h +4 -7
  530. package/ReactCommon/react/test_utils/BUCK +3 -0
  531. package/ReactCommon/react/test_utils/MockSurfaceHandler.h +25 -0
  532. package/ReactCommon/react/test_utils/shadowTreeGeneration.h +18 -4
  533. package/ReactCommon/react/utils/Android.mk +3 -1
  534. package/ReactCommon/react/utils/BUCK +1 -0
  535. package/ReactCommon/react/utils/ContextContainer.h +0 -27
  536. package/ReactCommon/reactperflogger/React-perflogger.podspec +1 -1
  537. package/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +1 -1
  538. package/ReactCommon/runtimeexecutor/ReactCommon/RuntimeExecutor.h +12 -0
  539. package/android/com/facebook/react/react-native/{0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.aar → 0.0.0-18697adec/react-native-0.0.0-18697adec.aar} +0 -0
  540. package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.aar.md5 +1 -0
  541. package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.aar.sha1 +1 -0
  542. package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.aar.sha256 +1 -0
  543. package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.aar.sha512 +1 -0
  544. package/android/com/facebook/react/react-native/{0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.module → 0.0.0-18697adec/react-native-0.0.0-18697adec.module} +30 -17
  545. package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.module.md5 +1 -0
  546. package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.module.sha1 +1 -0
  547. package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.module.sha256 +1 -0
  548. package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.module.sha512 +1 -0
  549. package/android/com/facebook/react/react-native/{0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.pom → 0.0.0-18697adec/react-native-0.0.0-18697adec.pom} +8 -2
  550. package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.pom.md5 +1 -0
  551. package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.pom.sha1 +1 -0
  552. package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.pom.sha256 +1 -0
  553. package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.pom.sha512 +1 -0
  554. package/android/com/facebook/react/react-native/maven-metadata.xml +4 -4
  555. package/android/com/facebook/react/react-native/maven-metadata.xml.md5 +1 -1
  556. package/android/com/facebook/react/react-native/maven-metadata.xml.sha1 +1 -1
  557. package/android/com/facebook/react/react-native/maven-metadata.xml.sha256 +1 -1
  558. package/android/com/facebook/react/react-native/maven-metadata.xml.sha512 +1 -1
  559. package/flow/HermesInternalType.js +114 -0
  560. package/flow/global.js +68 -0
  561. package/index.js +37 -24
  562. package/jest/renderer.js +3 -7
  563. package/jest/setup.js +2 -1
  564. package/package.json +55 -16
  565. package/react.gradle +19 -13
  566. package/scripts/generate-specs-cli.js +20 -2
  567. package/scripts/ios-configure-glog.sh +4 -0
  568. package/scripts/react-native-xcode.sh +1 -1
  569. package/scripts/react_native_pods.rb +195 -38
  570. package/template/_flowconfig +1 -1
  571. package/template/android/app/build.gradle +2 -2
  572. package/template/android/build.gradle +1 -2
  573. package/template/android/gradle/wrapper/gradle-wrapper.properties +1 -1
  574. package/template/android/gradle.properties +1 -1
  575. package/template/ios/HelloWorld.xcodeproj/project.pbxproj +2 -0
  576. package/template/ios/Podfile +1 -0
  577. package/template/package.json +3 -4
  578. package/third-party-podspecs/RCT-Folly.podspec +6 -3
  579. package/Libraries/BUCK +0 -26
  580. package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.android.js +0 -87
  581. package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.ios.js +0 -30
  582. package/Libraries/Components/DatePickerAndroid/DatePickerAndroidTypes.js +0 -30
  583. package/Libraries/Components/StaticContainer.react.js +0 -51
  584. package/Libraries/Components/StatusBar/StatusBarIOS.js +0 -38
  585. package/Libraries/Components/Touchable/ensurePositiveDelayProps.js +0 -25
  586. package/Libraries/Interaction/InteractionMixin.js +0 -54
  587. package/Libraries/ReactNative/queryLayoutByID.js +0 -58
  588. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/DatePickerDialogTestCase.java +0 -172
  589. package/ReactAndroid/src/androidTest/js/DatePickerDialogTestModule.js +0 -45
  590. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/BUCK +0 -27
  591. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerDialogFragment.java +0 -137
  592. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerDialogModule.java +0 -153
  593. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerMode.java +0 -15
  594. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DismissableDatePickerDialog.java +0 -117
  595. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/BUCK +0 -20
  596. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/RuntimeSchedulerManager.java +0 -39
  597. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/Android.mk +0 -34
  598. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/BUCK +0 -35
  599. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/OnLoad.cpp +0 -15
  600. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/RuntimeSchedulerManager.cpp +0 -46
  601. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/RuntimeSchedulerManager.h +0 -40
  602. package/android/com/facebook/react/react-native/0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.aar.md5 +0 -1
  603. package/android/com/facebook/react/react-native/0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.aar.sha1 +0 -1
  604. package/android/com/facebook/react/react-native/0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.aar.sha256 +0 -1
  605. package/android/com/facebook/react/react-native/0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.aar.sha512 +0 -1
  606. package/android/com/facebook/react/react-native/0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.module.md5 +0 -1
  607. package/android/com/facebook/react/react-native/0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.module.sha1 +0 -1
  608. package/android/com/facebook/react/react-native/0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.module.sha256 +0 -1
  609. package/android/com/facebook/react/react-native/0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.module.sha512 +0 -1
  610. package/android/com/facebook/react/react-native/0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.pom.md5 +0 -1
  611. package/android/com/facebook/react/react-native/0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.pom.sha1 +0 -1
  612. package/android/com/facebook/react/react-native/0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.pom.sha256 +0 -1
  613. package/android/com/facebook/react/react-native/0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.pom.sha512 +0 -1
  614. package/scripts/generate-specs.sh +0 -100
  615. package/template/_editorconfig +0 -3
  616. package/template/_gitattributes +0 -3
package/index.js CHANGED
@@ -55,7 +55,6 @@ import typeof AppState from './Libraries/AppState/AppState';
55
55
  import typeof AsyncStorage from './Libraries/Storage/AsyncStorage';
56
56
  import typeof BackHandler from './Libraries/Utilities/BackHandler';
57
57
  import typeof Clipboard from './Libraries/Components/Clipboard/Clipboard';
58
- import typeof DatePickerAndroid from './Libraries/Components/DatePickerAndroid/DatePickerAndroid';
59
58
  import typeof DeviceInfo from './Libraries/Utilities/DeviceInfo';
60
59
  import typeof DevSettings from './Libraries/Utilities/DevSettings';
61
60
  import typeof Dimensions from './Libraries/Utilities/Dimensions';
@@ -77,7 +76,6 @@ import typeof PixelRatio from './Libraries/Utilities/PixelRatio';
77
76
  import typeof PushNotificationIOS from './Libraries/PushNotificationIOS/PushNotificationIOS';
78
77
  import typeof Settings from './Libraries/Settings/Settings';
79
78
  import typeof Share from './Libraries/Share/Share';
80
- import typeof StatusBarIOS from './Libraries/Components/StatusBar/StatusBarIOS';
81
79
  import typeof StyleSheet from './Libraries/StyleSheet/StyleSheet';
82
80
  import typeof Systrace from './Libraries/Performance/Systrace';
83
81
  import typeof ToastAndroid from './Libraries/Components/ToastAndroid/ToastAndroid';
@@ -298,15 +296,6 @@ module.exports = {
298
296
  );
299
297
  return require('./Libraries/Components/Clipboard/Clipboard');
300
298
  },
301
- get DatePickerAndroid(): DatePickerAndroid {
302
- warnOnce(
303
- 'DatePickerAndroid-merged',
304
- 'DatePickerAndroid has been merged with DatePickerIOS and will be removed in a future release. ' +
305
- "It can now be installed and imported from '@react-native-community/datetimepicker' instead of 'react-native'. " +
306
- 'See https://github.com/react-native-datetimepicker/datetimepicker',
307
- );
308
- return require('./Libraries/Components/DatePickerAndroid/DatePickerAndroid');
309
- },
310
299
  get DeviceInfo(): DeviceInfo {
311
300
  return require('./Libraries/Utilities/DeviceInfo');
312
301
  },
@@ -384,13 +373,6 @@ module.exports = {
384
373
  get Share(): Share {
385
374
  return require('./Libraries/Share/Share');
386
375
  },
387
- get StatusBarIOS(): StatusBarIOS {
388
- warnOnce(
389
- 'StatusBarIOS-merged',
390
- 'StatusBarIOS has been merged with StatusBar and will be removed in a future release. Use StatusBar for mutating the status bar',
391
- );
392
- return require('./Libraries/Components/StatusBar/StatusBarIOS');
393
- },
394
376
  get StyleSheet(): StyleSheet {
395
377
  return require('./Libraries/StyleSheet/StyleSheet');
396
378
  },
@@ -679,17 +661,17 @@ if (__DEV__) {
679
661
  });
680
662
 
681
663
  /* $FlowFixMe[prop-missing] This is intentional: Flow will error when
682
- * attempting to access Picker. */
664
+ * attempting to access StatusBarIOS. */
683
665
  /* $FlowFixMe[invalid-export] This is intentional: Flow will error when
684
- * attempting to access Picker. */
685
- Object.defineProperty(module.exports, 'Picker', {
666
+ * attempting to access StatusBarIOS. */
667
+ Object.defineProperty(module.exports, 'StatusBarIOS', {
686
668
  configurable: true,
687
669
  get() {
688
670
  invariant(
689
671
  false,
690
- 'Picker has been removed from React Native. ' +
691
- "It can now be installed and imported from '@react-native-picker/picker' instead of 'react-native'. " +
692
- 'See https://github.com/react-native-picker/picker',
672
+ 'StatusBarIOS has been removed from React Native. ' +
673
+ 'Has been merged with StatusBar. ' +
674
+ 'See https://reactnative.dev/docs/statusbar',
693
675
  );
694
676
  },
695
677
  });
@@ -709,4 +691,35 @@ if (__DEV__) {
709
691
  );
710
692
  },
711
693
  });
694
+
695
+ /* $FlowFixMe[prop-missing] This is intentional: Flow will error when
696
+ * attempting to access Picker. */
697
+ /* $FlowFixMe[invalid-export] This is intentional: Flow will error when
698
+ * attempting to access Picker. */
699
+ Object.defineProperty(module.exports, 'Picker', {
700
+ configurable: true,
701
+ get() {
702
+ invariant(
703
+ false,
704
+ 'Picker has been removed from React Native. ' +
705
+ "It can now be installed and imported from '@react-native-picker/picker' instead of 'react-native'. " +
706
+ 'See https://github.com/react-native-picker/picker',
707
+ );
708
+ },
709
+ });
710
+ /* $FlowFixMe[prop-missing] This is intentional: Flow will error when
711
+ * attempting to access DatePickerAndroid. */
712
+ /* $FlowFixMe[invalid-export] This is intentional: Flow will error when
713
+ * attempting to access DatePickerAndroid. */
714
+ Object.defineProperty(module.exports, 'DatePickerAndroid', {
715
+ configurable: true,
716
+ get() {
717
+ invariant(
718
+ false,
719
+ 'DatePickerAndroid has been removed from React Native. ' +
720
+ "It can now be installed and imported from '@react-native-community/datetimepicker' instead of 'react-native'. " +
721
+ 'See https://github.com/react-native-datetimepicker/datetimepicker',
722
+ );
723
+ },
724
+ });
712
725
  }
package/jest/renderer.js CHANGED
@@ -9,14 +9,10 @@
9
9
  * @flow
10
10
  */
11
11
 
12
- const React = require('react');
12
+ import * as React from 'react';
13
+ import TestRenderer from 'react-test-renderer';
14
+ import ShallowRenderer from 'react-shallow-renderer';
13
15
 
14
- const ShallowRenderer = require('react-shallow-renderer');
15
- const TestRenderer = require('react-test-renderer');
16
-
17
- /* $FlowFixMe[not-a-function] (>=0.125.1 site=react_native_fb) This comment
18
- * suppresses an error found when Flow v0.125.1 was deployed. To see the error,
19
- * delete this comment and run Flow. */
20
16
  const renderer = new ShallowRenderer();
21
17
 
22
18
  export const shallow = (Component: React.Element<any>): any => {
package/jest/setup.js CHANGED
@@ -12,7 +12,7 @@
12
12
  const MockNativeMethods = jest.requireActual('./MockNativeMethods');
13
13
  const mockComponent = jest.requireActual('./mockComponent');
14
14
 
15
- jest.requireActual('@react-native/polyfills/Object.es7');
15
+ jest.requireActual('@react-native/polyfills/Object.es8');
16
16
  jest.requireActual('@react-native/polyfills/error-guard');
17
17
 
18
18
  global.__DEV__ = true;
@@ -23,6 +23,7 @@ global.performance = {
23
23
 
24
24
  global.Promise = jest.requireActual('promise');
25
25
  global.regeneratorRuntime = jest.requireActual('regenerator-runtime/runtime');
26
+ global.window = global;
26
27
 
27
28
  global.requestAnimationFrame = function(callback) {
28
29
  return setTimeout(callback, 0);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native",
3
- "version": "0.0.0-16bb2ae4f",
3
+ "version": "0.0.0-18697adec",
4
4
  "bin": "./cli.js",
5
5
  "description": "A framework for building native apps using React",
6
6
  "license": "MIT",
@@ -38,7 +38,6 @@
38
38
  "rn-get-polyfills.js",
39
39
  "scripts/compose-source-maps.js",
40
40
  "scripts/find-node.sh",
41
- "scripts/generate-specs.sh",
42
41
  "scripts/generate-specs-cli.js",
43
42
  "scripts/ios-configure-glog.sh",
44
43
  "scripts/launchPackager.bat",
@@ -85,23 +84,23 @@
85
84
  },
86
85
  "dependencies": {
87
86
  "@jest/create-cache-key-function": "^27.0.1",
88
- "@react-native-community/cli": "^6.0.0-rc.0",
89
- "@react-native-community/cli-platform-android": "^6.0.0-rc.0",
90
- "@react-native-community/cli-platform-ios": "^6.0.0-rc.0",
87
+ "@react-native-community/cli": "^6.0.0",
88
+ "@react-native-community/cli-platform-android": "^6.0.0",
89
+ "@react-native-community/cli-platform-ios": "^6.0.0",
91
90
  "@react-native/assets": "1.0.0",
92
- "@react-native/normalize-color": "1.0.0",
93
- "@react-native/polyfills": "1.0.0",
91
+ "@react-native/normalize-color": "2.0.0",
92
+ "@react-native/polyfills": "2.0.0",
94
93
  "abort-controller": "^3.0.0",
95
94
  "anser": "^1.4.9",
96
95
  "base64-js": "^1.1.2",
97
96
  "event-target-shim": "^5.0.1",
98
- "hermes-engine": "~0.8.0",
97
+ "hermes-engine": "~0.9.0",
99
98
  "invariant": "^2.2.4",
100
99
  "jsc-android": "^250230.2.1",
101
- "metro-babel-register": "0.66.1",
102
- "metro-react-native-babel-transformer": "0.66.1",
103
- "metro-runtime": "0.66.1",
104
- "metro-source-map": "0.66.1",
100
+ "metro-babel-register": "0.66.2",
101
+ "metro-react-native-babel-transformer": "0.66.2",
102
+ "metro-runtime": "0.66.2",
103
+ "metro-source-map": "0.66.2",
105
104
  "nullthrows": "^1.1.1",
106
105
  "pretty-format": "^26.5.2",
107
106
  "promise": "^8.0.3",
@@ -109,15 +108,55 @@
109
108
  "react-devtools-core": "^4.13.0",
110
109
  "react-refresh": "^0.4.0",
111
110
  "regenerator-runtime": "^0.13.2",
112
- "scheduler": "^0.20.1",
111
+ "scheduler": "^0.20.2",
113
112
  "stacktrace-parser": "^0.1.3",
114
113
  "use-subscription": "^1.0.0",
115
114
  "whatwg-fetch": "^3.0.0",
116
- "ws": "^6.1.4"
115
+ "ws": "^6.1.4",
116
+ "react-native-codegen": "^0.0.8"
117
117
  },
118
118
  "devDependencies": {
119
- "flow-bin": "^0.155.1",
120
- "react": "17.0.2"
119
+ "flow-bin": "^0.160.2",
120
+ "react": "17.0.2",
121
+ "@babel/core": "^7.14.0",
122
+ "@babel/generator": "^7.14.0",
123
+ "@babel/template": "^7.0.0",
124
+ "@babel/types": "^7.0.0",
125
+ "@react-native-community/eslint-plugin": "*",
126
+ "@reactions/component": "^2.0.2",
127
+ "async": "^2.4.0",
128
+ "babel-eslint": "^10.1.0",
129
+ "babel-preset-fbjs": "^3.4.0",
130
+ "clang-format": "^1.2.4",
131
+ "connect": "^3.6.5",
132
+ "coveralls": "^3.0.2",
133
+ "detox": "16.7.2",
134
+ "eslint": "7.12.0",
135
+ "eslint-config-fb-strict": "^24.9.0",
136
+ "eslint-config-fbjs": "2.1.0",
137
+ "eslint-config-prettier": "^6.0.0",
138
+ "eslint-plugin-babel": "^5.3.0",
139
+ "eslint-plugin-eslint-comments": "^3.1.1",
140
+ "eslint-plugin-flowtype": "2.50.3",
141
+ "eslint-plugin-jest": "22.4.1",
142
+ "eslint-plugin-jsx-a11y": "6.2.1",
143
+ "eslint-plugin-prettier": "2.6.2",
144
+ "eslint-plugin-react": "7.21.5",
145
+ "eslint-plugin-react-hooks": "^4.2.0",
146
+ "eslint-plugin-react-native": "3.10.0",
147
+ "eslint-plugin-relay": "1.8.1",
148
+ "jest": "^26.6.3",
149
+ "jest-junit": "^10.0.0",
150
+ "jscodeshift": "^0.11.0",
151
+ "metro-transform-plugins": "^0.66.2",
152
+ "mkdirp": "^0.5.1",
153
+ "prettier": "1.19.1",
154
+ "react-shallow-renderer": "16.14.1",
155
+ "react-test-renderer": "17.0.2",
156
+ "shelljs": "^0.7.8",
157
+ "signedsource": "^1.0.0",
158
+ "ws": "^6.1.4",
159
+ "yargs": "^15.3.1"
121
160
  },
122
161
  "detox": {
123
162
  "test-runner": "jest",
package/react.gradle CHANGED
@@ -26,7 +26,7 @@ def detectEntryFile(config) {
26
26
  */
27
27
  def detectCliPath(config) {
28
28
  if (config.cliPath) {
29
- return config.cliPath
29
+ return "${projectDir}/${config.cliPath}"
30
30
  }
31
31
  if (new File("${projectDir}/../../node_modules/react-native/cli.js").exists()) {
32
32
  return "${projectDir}/../../node_modules/react-native/cli.js"
@@ -284,18 +284,24 @@ afterEvaluate {
284
284
  into(file(config."jsBundleDir${targetName}"))
285
285
  } else {
286
286
  into ("$buildDir/intermediates")
287
- into ("assets/${targetPath}") {
288
- from(jsBundleDir)
289
- }
287
+ if (isAndroidLibrary) {
288
+ into ("library_assets/${variant.name}/out") {
289
+ from(jsBundleDir)
290
+ }
291
+ } else {
292
+ into ("assets/${targetPath}") {
293
+ from(jsBundleDir)
294
+ }
290
295
 
291
- // Workaround for Android Gradle Plugin 3.2+ new asset directory
292
- into ("merged_assets/${variant.name}/merge${targetName}Assets/out") {
293
- from(jsBundleDir)
294
- }
296
+ // Workaround for Android Gradle Plugin 3.2+ new asset directory
297
+ into ("merged_assets/${variant.name}/merge${targetName}Assets/out") {
298
+ from(jsBundleDir)
299
+ }
295
300
 
296
- // Workaround for Android Gradle Plugin 3.4+ new asset directory
297
- into ("merged_assets/${variant.name}/out") {
298
- from(jsBundleDir)
301
+ // Workaround for Android Gradle Plugin 3.4+ new asset directory
302
+ into ("merged_assets/${variant.name}/out") {
303
+ from(jsBundleDir)
304
+ }
299
305
  }
300
306
  }
301
307
 
@@ -303,6 +309,7 @@ afterEvaluate {
303
309
  dependsOn(variant.mergeAssetsProvider.get())
304
310
 
305
311
  enabled(currentBundleTask.enabled)
312
+ dependsOn(currentBundleTask)
306
313
  }
307
314
 
308
315
  // mergeResources task runs before the bundle file is copied to the intermediate asset directory from Android plugin 4.1+.
@@ -352,8 +359,7 @@ afterEvaluate {
352
359
  }
353
360
 
354
361
  if (enableVmCleanup) {
355
- def task = tasks.findByName("package${targetName}")
356
- task.doFirst(vmSelectionAction)
362
+ packageTask.doFirst(vmSelectionAction)
357
363
  }
358
364
  }
359
365
  }
@@ -11,9 +11,9 @@
11
11
 
12
12
  let RNCodegen;
13
13
  try {
14
- RNCodegen = require('react-native-codegen/lib/generators/RNCodegen.js');
15
- } catch (e) {
16
14
  RNCodegen = require('../packages/react-native-codegen/lib/generators/RNCodegen.js');
15
+ } catch (e) {
16
+ RNCodegen = require('react-native-codegen/lib/generators/RNCodegen.js');
17
17
  if (!RNCodegen) {
18
18
  throw 'RNCodegen not found.';
19
19
  }
@@ -79,6 +79,24 @@ function generateSpec(
79
79
  fs.renameSync(`${outputDirectory}/${f}`, `${jniOutputDirectory}/${f}`);
80
80
  });
81
81
  }
82
+
83
+ if (platform === 'ios') {
84
+ const files = fs.readdirSync(outputDirectory);
85
+ const componentsOutputDirectory = `${outputDirectory}/react/renderer/components/${libraryName}`;
86
+ mkdirp.sync(componentsOutputDirectory);
87
+ files
88
+ .filter(
89
+ f =>
90
+ (f.endsWith('.h') && !f.startsWith(libraryName)) ||
91
+ f.endsWith('.cpp'),
92
+ )
93
+ .forEach(f => {
94
+ fs.renameSync(
95
+ `${outputDirectory}/${f}`,
96
+ `${componentsOutputDirectory}/${f}`,
97
+ );
98
+ });
99
+ }
82
100
  }
83
101
 
84
102
  function main() {
@@ -28,6 +28,10 @@ if [ -h "test-driver" ]; then
28
28
  rm test-driver
29
29
  fi
30
30
 
31
+ # Manually disable gflags include to fix issue https://github.com/facebook/react-native/issues/28446
32
+ sed -i '' 's/\@ac_cv_have_libgflags\@/0/' src/glog/logging.h.in
33
+ sed -i '' 's/HAVE_LIB_GFLAGS/HAVE_LIB_GFLAGS_DISABLED/' src/config.h.in
34
+
31
35
  ./configure --host arm-apple-darwin
32
36
 
33
37
  cat << EOF >> src/config.h
@@ -81,7 +81,7 @@ fi
81
81
 
82
82
  # Find path to Node
83
83
  # shellcheck source=/dev/null
84
- source "$RN_DIR/scripts/find-node.sh"
84
+ source "$REACT_NATIVE_DIR/scripts/find-node.sh"
85
85
 
86
86
  # check and assign NODE_BINARY env
87
87
  # shellcheck source=/dev/null
@@ -46,6 +46,7 @@ def use_react_native! (options={})
46
46
  pod 'React-callinvoker', :path => "#{prefix}/ReactCommon/callinvoker"
47
47
  pod 'React-runtimeexecutor', :path => "#{prefix}/ReactCommon/runtimeexecutor"
48
48
  pod 'React-perflogger', :path => "#{prefix}/ReactCommon/reactperflogger"
49
+ pod 'React-logger', :path => "#{prefix}/ReactCommon/logger"
49
50
  pod 'ReactCommon/turbomodule/core', :path => "#{prefix}/ReactCommon"
50
51
  pod 'Yoga', :path => "#{prefix}/ReactCommon/yoga", :modular_headers => true
51
52
 
@@ -64,13 +65,13 @@ def use_react_native! (options={})
64
65
 
65
66
  if hermes_enabled
66
67
  pod 'React-hermes', :path => "#{prefix}/ReactCommon/hermes"
67
- pod 'hermes-engine'
68
+ pod 'hermes-engine', '~> 0.9.0'
68
69
  pod 'libevent', '~> 2.1.12'
69
70
  end
70
71
  end
71
72
 
72
73
  def use_flipper!(versions = {}, configurations: ['Debug'])
73
- versions['Flipper'] ||= '0.93.0'
74
+ versions['Flipper'] ||= '0.99.0'
74
75
  versions['Flipper-Boost-iOSX'] ||= '1.76.0.1.11'
75
76
  versions['Flipper-DoubleConversion'] ||= '3.1.7'
76
77
  versions['Flipper-Fmt'] ||= '7.1.7'
@@ -78,6 +79,7 @@ def use_flipper!(versions = {}, configurations: ['Debug'])
78
79
  versions['Flipper-Glog'] ||= '0.3.6'
79
80
  versions['Flipper-PeerTalk'] ||= '0.0.4'
80
81
  versions['Flipper-RSocket'] ||= '1.4.3'
82
+ versions['OpenSSL-Universal'] ||= '1.1.180'
81
83
  pod 'FlipperKit', versions['Flipper'], :configurations => configurations
82
84
  pod 'FlipperKit/FlipperKitLayoutPlugin', versions['Flipper'], :configurations => configurations
83
85
  pod 'FlipperKit/SKIOSNetworkPlugin', versions['Flipper'], :configurations => configurations
@@ -101,6 +103,7 @@ def use_flipper!(versions = {}, configurations: ['Debug'])
101
103
  pod 'FlipperKit/FlipperKitHighlightOverlay', versions['Flipper'], :configurations => configurations
102
104
  pod 'FlipperKit/FlipperKitLayoutTextSearchable', versions['Flipper'], :configurations => configurations
103
105
  pod 'FlipperKit/FlipperKitNetworkPlugin', versions['Flipper'], :configurations => configurations
106
+ pod 'OpenSSL-Universal', versions['OpenSSL-Universal'], :configurations => configurations
104
107
  end
105
108
 
106
109
  def has_pod(installer, name)
@@ -156,56 +159,210 @@ def use_react_native_codegen!(spec, options={})
156
159
  # The prefix to react-native
157
160
  prefix = options[:react_native_path] ||= "../.."
158
161
 
159
- # The path to JavaScript files
160
- js_srcs = options[:js_srcs_dir] ||= "#{prefix}/Libraries"
161
-
162
162
  # Library name (e.g. FBReactNativeSpec)
163
- modules_library_name = options[:library_name] ||= spec.name
163
+ library_name = options[:library_name] ||= "#{spec.name.gsub('_','-').split('-').collect(&:capitalize).join}Spec"
164
164
 
165
165
  # Output dir, relative to podspec that invoked this method
166
- modules_output_dir = options[:modules_output_dir] ||= "#{prefix}/React/#{modules_library_name}/#{modules_library_name}"
167
-
168
- generated_dirs = [ modules_output_dir ]
169
- generated_filenames = [ "#{modules_library_name}.h", "#{modules_library_name}-generated.mm" ]
170
- generated_files = generated_filenames.map { |filename| "#{modules_output_dir}/#{filename}" }
171
-
172
- # Run the codegen as part of the Xcode build pipeline.
173
- env_vars = "SRCS_DIR='${PODS_TARGET_SRCROOT}/#{js_srcs}'"
174
- env_vars += " MODULES_OUTPUT_DIR='${PODS_TARGET_SRCROOT}/#{modules_output_dir}'"
175
- env_vars += " MODULES_LIBRARY_NAME='#{modules_library_name}'"
176
-
177
- if ENV['USE_FABRIC'] == '1'
178
- # We use a different library name for components, as well as an additional set of files.
179
- # Eventually, we want these to be part of the same library as #{modules_library_name} above.
180
- components_output_dir = options[:components_output_dir] ||= "#{prefix}/ReactCommon/react/renderer/components/rncore/"
181
- generated_dirs.push components_output_dir
182
- env_vars += " COMPONENTS_OUTPUT_DIR='${PODS_TARGET_SRCROOT}/#{components_output_dir}'"
183
- components_generated_filenames = [
184
- "ComponentDescriptors.h",
185
- "EventEmitters.cpp",
186
- "EventEmitters.h",
187
- "Props.cpp",
188
- "Props.h",
189
- "RCTComponentViewHelpers.h",
190
- "ShadowNodes.cpp",
191
- "ShadowNodes.h"
192
- ]
193
- generated_files = generated_files.concat(components_generated_filenames.map { |filename| "#{components_output_dir}/#{filename}" })
166
+ output_dir = options[:output_dir] ||= "#{library_name}"
167
+ components_output_dir = "#{output_dir}/react/renderer/components/#{library_name}"
168
+
169
+ codegen_config = {
170
+ "modules" => {
171
+ :js_srcs_pattern => "Native*.js",
172
+ :generated_dir => output_dir,
173
+ :generated_files => [
174
+ "#{library_name}.h",
175
+ "#{library_name}-generated.mm"
176
+ ]
177
+ },
178
+ "components" => {
179
+ :js_srcs_pattern => "*NativeComponent.js",
180
+ :generated_dir => components_output_dir,
181
+ :generated_files => [
182
+ "ComponentDescriptors.h",
183
+ "EventEmitters.cpp",
184
+ "EventEmitters.h",
185
+ "Props.cpp",
186
+ "Props.h",
187
+ "RCTComponentViewHelpers.h",
188
+ "ShadowNodes.cpp",
189
+ "ShadowNodes.h"
190
+ ]
191
+ }
192
+ }
193
+
194
+ # The path to JavaScript files
195
+ js_srcs_dir = options[:js_srcs_dir] ||= "./"
196
+ library_type = options[:library_type]
197
+
198
+ if library_type
199
+ js_srcs_pattern = codegen_config[library_type][:js_srcs_pattern]
200
+ end
201
+
202
+ if library_type
203
+ generated_dirs = [ codegen_config[library_type][:generated_dir] ]
204
+ generated_files = codegen_config[library_type][:generated_files].map { |filename| "#{codegen_config[library_type][:generated_dir]}/#{filename}" }
205
+ else
206
+ generated_dirs = [ codegen_config["modules"][:generated_dir], codegen_config["components"][:generated_dir] ]
207
+ generated_files = codegen_config["modules"][:generated_files].map { |filename| "#{codegen_config["modules"][:generated_dir]}/#{filename}" }
208
+ generated_files = generated_files.concat(codegen_config["components"][:generated_files].map { |filename| "#{codegen_config["components"][:generated_dir]}/#{filename}" })
209
+ end
210
+
211
+ if js_srcs_pattern
212
+ file_list = `find #{js_srcs_dir} -type f -name #{js_srcs_pattern}`.split("\n").sort
213
+ input_files = file_list.map { |filename| "${PODS_TARGET_SRCROOT}/#{filename}" }
214
+ else
215
+ input_files = [ js_srcs_dir ]
194
216
  end
195
217
 
196
218
  # Prepare filesystem by creating empty files that will be picked up as references by CocoaPods.
197
- spec.prepare_command = "mkdir -p #{generated_dirs.join(" ")} && touch #{generated_files.join(" ")}"
219
+ prepare_command = "mkdir -p #{generated_dirs.join(" ")} && touch -a #{generated_files.join(" ")}"
220
+ system(prepare_command) # Always run prepare_command when a podspec uses the codegen, as CocoaPods may skip invoking this command in certain scenarios. Replace with pre_integrate_hook after updating to CocoaPods 1.11
221
+ spec.prepare_command = prepare_command
198
222
 
199
223
  spec.script_phase = {
200
224
  :name => 'Generate Specs',
201
- :input_files => [ "${PODS_TARGET_SRCROOT}/#{js_srcs}" ], # This also needs to be relative to Xcode
202
- :output_files => ["${DERIVED_FILE_DIR}/codegen-#{modules_library_name}.log"].concat(generated_files.map { |filename| " ${PODS_TARGET_SRCROOT}/#{filename}"} ),
225
+ :input_files => input_files, # This also needs to be relative to Xcode
226
+ :output_files => ["${DERIVED_FILE_DIR}/codegen-#{library_name}.log"].concat(generated_files.map { |filename| " ${PODS_TARGET_SRCROOT}/#{filename}"} ),
203
227
  # The final generated files will be created when this script is invoked at Xcode build time.
204
228
  :script => %{set -o pipefail
229
+ set -e
230
+
231
+ RN_DIR=$(cd "$\{PODS_TARGET_SRCROOT\}/#{prefix}" && pwd)
232
+
233
+ GENERATED_SRCS_DIR="$\{DERIVED_FILE_DIR\}/generated/source/codegen"
234
+ GENERATED_SCHEMA_FILE="$GENERATED_SRCS_DIR/schema.json"
235
+ TEMP_OUTPUT_DIR="$GENERATED_SRCS_DIR/out"
236
+
237
+ LIBRARY_NAME="#{library_name}"
238
+ OUTPUT_DIR="$\{PODS_TARGET_SRCROOT\}/#{output_dir}"
239
+
240
+ CODEGEN_REPO_PATH="$RN_DIR/packages/react-native-codegen"
241
+ CODEGEN_NPM_PATH="$RN_DIR/../react-native-codegen"
242
+ CODEGEN_CLI_PATH=""
243
+
244
+ # Determine path to react-native-codegen
245
+ if [ -d "$CODEGEN_REPO_PATH" ]; then
246
+ CODEGEN_CLI_PATH=$(cd "$CODEGEN_REPO_PATH" && pwd)
247
+ elif [ -d "$CODEGEN_NPM_PATH" ]; then
248
+ CODEGEN_CLI_PATH=$(cd "$CODEGEN_NPM_PATH" && pwd)
249
+ else
250
+ echo "error: Could not determine react-native-codegen location. Try running 'yarn install' or 'npm install' in your project root." >> "${SCRIPT_OUTPUT_FILE_0}" 2>&1
251
+ exit 1
252
+ fi
253
+
254
+ find_node () {
255
+ source "$RN_DIR/scripts/find-node.sh"
256
+
257
+ NODE_BINARY="${NODE_BINARY:-$(command -v node || true)}"
258
+ if [ -z "$NODE_BINARY" ]; then
259
+ echo "error: Could not find node. Make sure it is in bash PATH or set the NODE_BINARY environment variable." >> "${SCRIPT_OUTPUT_FILE_0}" 2>&1
260
+ exit 1
261
+ fi
262
+ }
205
263
 
206
- bash -l -c '#{env_vars} $\{PODS_TARGET_SRCROOT\}/#{prefix}/scripts/generate-specs.sh' 2>&1 | tee "${SCRIPT_OUTPUT_FILE_0}"
264
+ setup_dirs () {
265
+ set +e
266
+ rm -rf "$GENERATED_SRCS_DIR"
267
+ set -e
268
+
269
+ mkdir -p "$GENERATED_SRCS_DIR" "$TEMP_OUTPUT_DIR"
270
+
271
+ # Clear output files
272
+ > "${SCRIPT_OUTPUT_FILE_0}"
273
+ }
274
+
275
+ describe () {
276
+ printf "\\n\\n>>>>> %s\\n\\n\\n" "$1" >> "${SCRIPT_OUTPUT_FILE_0}" 2>&1
277
+ }
278
+
279
+ buildCodegenCLI () {
280
+ if [ ! -d "$CODEGEN_CLI_PATH/lib" ]; then
281
+ describe "Building react-native-codegen package"
282
+ bash "$CODEGEN_CLI_PATH/scripts/oss/build.sh"
283
+ fi
284
+ }
285
+
286
+ generateCodegenSchemaFromJavaScript () {
287
+ describe "Generating codegen schema from JavaScript"
288
+
289
+ SRCS_PATTERN="#{js_srcs_pattern}"
290
+ SRCS_DIR="#{js_srcs_dir}"
291
+ if [ $SRCS_PATTERN ]; then
292
+ JS_SRCS=$(find "$\{PODS_TARGET_SRCROOT\}"/$SRCS_DIR -type f -name "$SRCS_PATTERN" -print0 | xargs -0)
293
+ echo "#{file_list}" >> "${SCRIPT_OUTPUT_FILE_0}" 2>&1
294
+ else
295
+ JS_SRCS="$\{PODS_TARGET_SRCROOT\}/$SRCS_DIR"
296
+ echo "#{js_srcs_dir}" >> "${SCRIPT_OUTPUT_FILE_0}" 2>&1
297
+ fi
298
+
299
+ "$NODE_BINARY" "$CODEGEN_CLI_PATH/lib/cli/combine/combine-js-to-schema-cli.js" "$GENERATED_SCHEMA_FILE" $JS_SRCS
300
+ }
301
+
302
+ generateCodegenArtifactsFromSchema () {
303
+ describe "Generating codegen artifacts from schema"
304
+ pushd "$RN_DIR" >/dev/null || exit 1
305
+ "$NODE_BINARY" "scripts/generate-specs-cli.js" ios "$GENERATED_SCHEMA_FILE" "$TEMP_OUTPUT_DIR" "$LIBRARY_NAME"
306
+ popd >/dev/null || exit 1
307
+ }
308
+
309
+ moveOutputs () {
310
+ mkdir -p "$OUTPUT_DIR"
311
+
312
+ # Copy all output to output_dir
313
+ cp -R "$TEMP_OUTPUT_DIR/" "$OUTPUT_DIR" || exit 1
314
+ echo "$LIBRARY_NAME output has been written to $OUTPUT_DIR:" >> "${SCRIPT_OUTPUT_FILE_0}" 2>&1
315
+ ls -1 "$OUTPUT_DIR" >> "${SCRIPT_OUTPUT_FILE_0}" 2>&1
316
+ }
317
+
318
+ main () {
319
+ setup_dirs
320
+ find_node
321
+ buildCodegenCLI
322
+ generateCodegenSchemaFromJavaScript
323
+ generateCodegenArtifactsFromSchema
324
+ moveOutputs
325
+ }
326
+
327
+ main "$@"
328
+ echo 'Done.' >> "${SCRIPT_OUTPUT_FILE_0}" 2>&1
207
329
  },
208
330
  :execution_position => :before_compile,
209
331
  :show_env_vars_in_log => true
210
332
  }
211
333
  end
334
+
335
+ # This provides a post_install workaround for build issues related Xcode 12.5 and Apple Silicon (M1) machines.
336
+ # Call this in the app's main Podfile's post_install hook.
337
+ # See https://github.com/facebook/react-native/issues/31480#issuecomment-902912841 for more context.
338
+ # Actual fix was authored by https://github.com/mikehardy.
339
+ # New app template will call this for now until the underlying issue is resolved.
340
+ def __apply_Xcode_12_5_M1_post_install_workaround(installer)
341
+ # Apple Silicon builds require a library path tweak for Swift library discovery to resolve Swift-related "symbol not found".
342
+ # Note: this was fixed via https://github.com/facebook/react-native/commit/eb938863063f5535735af2be4e706f70647e5b90
343
+ # Keeping this logic here but commented out for future reference.
344
+ #
345
+ # installer.aggregate_targets.each do |aggregate_target|
346
+ # aggregate_target.user_project.native_targets.each do |target|
347
+ # target.build_configurations.each do |config|
348
+ # config.build_settings['LIBRARY_SEARCH_PATHS'] = ['$(SDKROOT)/usr/lib/swift', '$(inherited)']
349
+ # end
350
+ # end
351
+ # aggregate_target.user_project.save
352
+ # end
353
+
354
+ # Flipper podspecs are still targeting an older iOS deployment target, and may cause an error like:
355
+ # "error: thread-local storage is not supported for the current target"
356
+ # The most reliable known workaround is to bump iOS deployment target to match react-native (iOS 11 now).
357
+ installer.pods_project.targets.each do |target|
358
+ target.build_configurations.each do |config|
359
+ config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '11.0'
360
+ end
361
+ end
362
+
363
+ # But... doing so caused another issue in Flipper:
364
+ # "Time.h:52:17: error: typedef redefinition with different types"
365
+ # We need to make a patch to RCT-Folly - set `__IPHONE_10_0` to our iOS target + 1.
366
+ # See https://github.com/facebook/flipper/issues/834 for more details.
367
+ `sed -i -e $'s/__IPHONE_10_0/__IPHONE_12_0/' #{installer.sandbox.root}/RCT-Folly/folly/portability/Time.h`
368
+ end