@office-iss/react-native-win32 0.74.4 → 0.75.0-preview.2
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.
- package/.flowconfig +9 -4
- package/CHANGELOG.json +569 -51
- package/CHANGELOG.md +173 -30
- package/Libraries/Animated/AnimatedImplementation.js +2 -0
- package/Libraries/Animated/NativeAnimatedHelper.js +4 -0
- package/Libraries/Animated/NativeAnimatedHelper.win32.js +4 -0
- package/Libraries/Animated/createAnimatedComponent.js +10 -4
- package/Libraries/Animated/useAnimatedProps.js +56 -28
- package/Libraries/BatchedBridge/MessageQueue.js +1 -0
- package/Libraries/Components/Button.js +10 -5
- package/Libraries/Components/Button.win32.js +1 -0
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +11 -2
- package/Libraries/Components/Pressable/Pressable.js +13 -6
- package/Libraries/Components/Pressable/Pressable.win32.js +13 -6
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +4 -0
- package/Libraries/Components/ScrollView/ScrollView.js +109 -29
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +6 -0
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +13 -1
- package/Libraries/Components/StatusBar/StatusBar.js +1 -21
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +0 -15
- package/Libraries/Components/TextInput/InputAccessoryView.js +10 -1
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +0 -12
- package/Libraries/Components/TextInput/TextInput.d.ts +0 -19
- package/Libraries/Components/TextInput/TextInput.js +14 -70
- package/Libraries/Components/TextInput/TextInput.win32.js +15 -72
- package/Libraries/Components/Touchable/Touchable.js +2 -2
- package/Libraries/Components/Touchable/TouchableHighlight.d.ts +4 -10
- package/Libraries/Components/Touchable/TouchableHighlight.js +3 -1
- package/Libraries/Components/Touchable/TouchableOpacity.d.ts +4 -32
- package/Libraries/Components/Touchable/TouchableOpacity.js +3 -1
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +8 -0
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +117 -111
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +6 -0
- package/Libraries/Components/View/ReactNativeViewAttributes.js +1 -0
- package/Libraries/Components/View/ReactNativeViewAttributes.win32.js +1 -0
- package/Libraries/Components/View/View.js +0 -11
- package/Libraries/Components/View/View.win32.js +0 -11
- package/Libraries/Components/View/ViewAccessibility.js +4 -4
- package/Libraries/Components/View/ViewAccessibility.win32.js +6 -6
- package/Libraries/Components/View/ViewPropTypes.d.ts +7 -49
- package/Libraries/Components/View/ViewPropTypes.js +7 -0
- package/Libraries/Components/View/ViewPropTypes.win32.js +7 -0
- package/Libraries/Core/Devtools/loadBundleFromServer.js +3 -3
- package/Libraries/Core/Devtools/loadBundleFromServer.win32.js +153 -0
- package/Libraries/Core/Devtools/parseErrorStack.js +5 -5
- package/Libraries/Core/Devtools/parseHermesStack.js +22 -16
- package/Libraries/Core/ErrorHandlers.js +116 -0
- package/Libraries/Core/ExceptionsManager.js +2 -2
- package/Libraries/Core/ReactNativeVersion.js +3 -3
- package/Libraries/Core/setUpDeveloperTools.js +3 -1
- package/Libraries/Core/setUpPerformance.js +6 -4
- package/Libraries/Core/setUpReactDevTools.js +70 -10
- package/Libraries/Core/setUpTimers.js +50 -31
- package/Libraries/Debugging/DebuggingOverlayRegistry.js +1 -1
- package/Libraries/Image/Image.android.js +23 -13
- package/Libraries/Image/Image.d.ts +14 -15
- package/Libraries/Image/Image.ios.js +21 -11
- package/Libraries/Image/Image.win32.js +5 -3
- package/Libraries/Image/ImageProps.js +16 -5
- package/Libraries/Image/ImageTypes.flow.js +7 -2
- package/Libraries/Image/ImageUtils.js +1 -0
- package/Libraries/Image/ImageViewNativeComponent.js +2 -1
- package/Libraries/Inspector/ElementBox.js +6 -3
- package/Libraries/Inspector/ElementProperties.js +1 -1
- package/Libraries/Interaction/TouchHistoryMath.js +4 -4
- package/Libraries/IntersectionObserver/IntersectionObserverManager.js +6 -26
- package/Libraries/JSInspector/NetworkAgent.js +1 -1
- package/Libraries/LogBox/Data/LogBoxData.js +39 -29
- package/Libraries/LogBox/Data/LogBoxLog.js +114 -2
- package/Libraries/LogBox/Data/parseLogBoxLog.js +168 -53
- package/Libraries/LogBox/LogBox.js +29 -12
- package/Libraries/LogBox/LogBoxNotificationContainer.js +4 -0
- package/Libraries/LogBox/UI/LogBoxInspector.js +8 -70
- package/Libraries/LogBox/UI/LogBoxInspectorBody.js +87 -0
- package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +6 -42
- package/Libraries/LogBox/UI/LogBoxInspectorFooterButton.js +58 -0
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +5 -66
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.win32.js +8 -52
- package/Libraries/LogBox/UI/LogBoxInspectorHeaderButton.js +76 -0
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +8 -5
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.win32.js +8 -5
- package/Libraries/LogBox/UI/LogBoxNotification.js +13 -152
- package/Libraries/LogBox/UI/LogBoxNotificationCountBadge.js +63 -0
- package/Libraries/LogBox/UI/LogBoxNotificationDismissButton.js +67 -0
- package/Libraries/LogBox/UI/LogBoxNotificationMessage.js +57 -0
- package/Libraries/NativeComponent/BaseViewConfig.android.js +5 -0
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +5 -0
- package/Libraries/NativeComponent/BaseViewConfig.win32.js +5 -0
- package/Libraries/NativeComponent/NativeComponentRegistry.js +12 -5
- package/Libraries/NativeComponent/StaticViewConfigValidator.js +3 -0
- package/Libraries/Network/XMLHttpRequest.js +5 -1
- package/Libraries/NewAppScreen/components/LearnMoreLinks.js +3 -3
- package/Libraries/Pressability/Pressability.js +3 -51
- package/Libraries/Pressability/Pressability.win32.js +3 -51
- package/Libraries/ReactNative/AppContainer-dev.js +3 -2
- package/Libraries/ReactNative/AppContainer-prod.js +2 -1
- package/Libraries/ReactNative/AppContainer.js +2 -0
- package/Libraries/ReactNative/AppRegistry.d.ts +7 -0
- package/Libraries/ReactNative/AppRegistry.js +10 -4
- package/Libraries/ReactNative/BridgelessUIManager.js +1 -21
- package/Libraries/ReactNative/FabricUIManager.js +0 -51
- package/Libraries/ReactNative/ReactFabricPublicInstance/warnForStyleProps.js +1 -0
- package/Libraries/ReactNative/RendererImplementation.js +20 -2
- package/Libraries/ReactNative/UIManager.d.ts +0 -21
- package/Libraries/ReactNative/UIManagerProperties.js +0 -3
- package/Libraries/ReactNative/__mocks__/FabricUIManager.js +5 -341
- package/Libraries/ReactNative/getNativeComponentAttributes.js +8 -8
- package/Libraries/ReactNative/renderApplication.js +3 -0
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +15682 -27088
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +5082 -4381
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3480 -2571
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +15943 -27543
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +5303 -4606
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +3450 -2572
- package/Libraries/Renderer/shims/ReactFabric.js +2 -2
- package/Libraries/Renderer/shims/ReactFeatureFlags.js +2 -2
- package/Libraries/Renderer/shims/ReactNative.js +2 -3
- package/Libraries/Renderer/shims/ReactNativeTypes.js +24 -3
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +2 -2
- package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
- package/Libraries/Share/Share.d.ts +16 -10
- package/Libraries/Share/Share.js +14 -15
- package/Libraries/StyleSheet/StyleSheet.d.ts +1 -1
- package/Libraries/StyleSheet/StyleSheet.js +3 -10
- package/Libraries/StyleSheet/StyleSheet.win32.js +3 -10
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +21 -21
- package/Libraries/StyleSheet/StyleSheetTypes.js +24 -18
- package/Libraries/StyleSheet/flattenStyle.js +1 -0
- package/Libraries/StyleSheet/processFilter.js +132 -0
- package/Libraries/StyleSheet/processTransform.js +18 -3
- package/Libraries/Text/Text.js +151 -128
- package/Libraries/Text/Text.win32.js +163 -138
- package/Libraries/Text/TextNativeComponent.js +5 -4
- package/Libraries/Text/TextNativeComponent.win32.js +5 -4
- package/Libraries/Text/TextProps.js +6 -6
- package/Libraries/Text/TextProps.win32.js +6 -6
- package/Libraries/TurboModule/TurboModuleRegistry.js +2 -1
- package/Libraries/Types/CodegenTypes.js +3 -0
- package/Libraries/Utilities/{LoadingView.android.js → DevLoadingView.js} +33 -11
- package/Libraries/Utilities/Dimensions.js +1 -0
- package/Libraries/Utilities/Dimensions.win32.js +1 -0
- package/Libraries/Utilities/HMRClient.js +36 -8
- package/Libraries/Utilities/HMRClientProdShim.js +1 -0
- package/Libraries/Utilities/Platform.android.js +5 -5
- package/Libraries/Utilities/Platform.d.ts +1 -1
- package/Libraries/Utilities/Platform.flow.js +2 -2
- package/Libraries/Utilities/Platform.flow.win32.js +3 -3
- package/Libraries/Utilities/Platform.ios.js +1 -1
- package/Libraries/Utilities/Platform.win32.js +1 -1
- package/Libraries/Utilities/RCTLog.js +1 -0
- package/Libraries/Utilities/ReactNativeTestTools.js +12 -24
- package/Libraries/Utilities/verifyComponentAttributeEquivalence.js +11 -6
- package/Libraries/__tests__/ButtonWin32-test.js +7 -6
- package/Libraries/promiseRejectionTrackingOptions.js +1 -0
- package/jest/mockComponent.js +7 -0
- package/jest/renderer.js +25 -14
- package/jest/setup.js +19 -13
- package/jest.config.js +2 -1
- package/overrides.json +32 -31
- package/package.json +27 -25
- package/rn-get-polyfills.js +1 -0
- package/src/private/core/composeStyles.js +27 -0
- package/src/private/featureflags/ReactNativeFeatureFlags.js +93 -33
- package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +23 -4
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +56 -0
- package/src/private/fusebox/setUpFuseboxReactDevToolsDispatcher.js +108 -0
- package/src/private/specs/modules/NativeBlobModule.js +4 -2
- package/src/private/specs/modules/NativeDevSettings.js +1 -0
- package/src/private/specs/modules/NativePlatformConstantsAndroid.js +1 -1
- package/src/private/specs/modules/NativePlatformConstantsIOS.js +1 -1
- package/src/private/specs/modules/NativePlatformConstantsWin.js +1 -1
- package/src/private/specs/modules/NativePushNotificationManagerIOS.js +0 -4
- package/src/private/specs/modules/NativeUIManager.js +0 -7
- package/src/private/webapis/dom/geometry/DOMRectReadOnly.js +24 -24
- package/src/private/webapis/dom/nodes/ReactNativeElement.js +11 -14
- package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +2 -3
- package/src/private/webapis/dom/nodes/ReadOnlyElement.js +24 -54
- package/src/private/webapis/dom/nodes/ReadOnlyNode.js +5 -13
- package/src/private/webapis/dom/nodes/specs/NativeDOM.js +468 -0
- package/src/private/webapis/dom/nodes/specs/__mocks__/NativeDOMMock.js +413 -0
- package/src/private/webapis/dom/oldstylecollections/DOMRectList.js +4 -4
- package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +4 -4
- package/src/private/webapis/dom/oldstylecollections/NodeList.js +5 -5
- package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +34 -0
- package/src/private/webapis/microtasks/specs/NativeMicrotasks.js +21 -0
- package/src/private/webapis/performance/EventCounts.js +1 -1
- package/src/private/webapis/performance/MemoryInfo.js +9 -9
- package/src/private/webapis/performance/Performance.js +10 -56
- package/src/private/webapis/performance/PerformanceObserver.js +30 -22
- package/src/private/webapis/performance/RawPerformanceEntry.js +2 -7
- package/src/private/webapis/performance/ReactNativeStartupTiming.js +18 -18
- package/src/private/webapis/performance/UserTiming.js +63 -0
- package/src/private/webapis/performance/{NativePerformance.js → specs/NativePerformance.js} +3 -2
- package/src/private/webapis/performance/{NativePerformanceObserver.js → specs/NativePerformanceObserver.js} +2 -2
- package/src/private/webapis/performance/{__mocks__ → specs/__mocks__}/NativePerformance.js +1 -1
- package/src/private/webapis/performance/{__mocks__ → specs/__mocks__}/NativePerformanceObserver.js +3 -4
- package/src-win/Libraries/Components/View/ViewPropTypes.d.ts +7 -49
- package/types/modules/globals.d.ts +4 -0
- package/Libraries/Components/ScrollView/ScrollView.win32.js +0 -1915
- package/Libraries/NativeModules/specs/NativeAnimationsDebugModule.js +0 -13
- package/Libraries/Utilities/LoadingView.ios.js +0 -50
- package/Libraries/Utilities/LoadingView.js +0 -16
- package/jest/ReactNativeInternalFeatureFlagsMock.js +0 -13
- package/src/private/featureflags/NativeReactNativeFeatureFlags.js +0 -44
- package/src/private/featureflags/__tests__/ReactNativeFeatureFlags-test.js +0 -92
- package/src/private/specs/modules/NativeAnimationsDebugModule.js +0 -20
- package/src/private/webapis/dom/oldstylecollections/__tests__/DOMRectList-test.js +0 -85
- package/src/private/webapis/dom/oldstylecollections/__tests__/HTMLCollection-test.js +0 -80
- package/src/private/webapis/dom/oldstylecollections/__tests__/NodeList-test.js +0 -161
- package/src/private/webapis/performance/__tests__/EventCounts-test.js +0 -116
- package/src/private/webapis/performance/__tests__/NativePerformanceMock-test.js +0 -82
- package/src/private/webapis/performance/__tests__/NativePerformanceObserverMock-test.js +0 -108
- package/src/private/webapis/performance/__tests__/Performance-test.js +0 -117
- package/src/private/webapis/performance/__tests__/PerformanceObserver-test.js +0 -208
package/overrides.json
CHANGED
|
@@ -7,13 +7,13 @@
|
|
|
7
7
|
"**/__snapshots__/**",
|
|
8
8
|
"src-win/rntypes/**"
|
|
9
9
|
],
|
|
10
|
-
"baseVersion": "0.
|
|
10
|
+
"baseVersion": "0.75.0-rc.5",
|
|
11
11
|
"overrides": [
|
|
12
12
|
{
|
|
13
13
|
"type": "derived",
|
|
14
14
|
"file": ".flowconfig",
|
|
15
15
|
"baseFile": ".flowconfig",
|
|
16
|
-
"baseHash": "
|
|
16
|
+
"baseHash": "75582b181be0cd6790f7c021bfafb761dfc42381"
|
|
17
17
|
},
|
|
18
18
|
{
|
|
19
19
|
"type": "derived",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"type": "derived",
|
|
36
36
|
"file": "src-win/Libraries/Animated/NativeAnimatedHelper.win32.js",
|
|
37
37
|
"baseFile": "packages/react-native/Libraries/Animated/NativeAnimatedHelper.js",
|
|
38
|
-
"baseHash": "
|
|
38
|
+
"baseHash": "2cefe6e59aa26f98158be3f35452f9a49d8395c4",
|
|
39
39
|
"issue": 11041
|
|
40
40
|
},
|
|
41
41
|
{
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
"type": "derived",
|
|
68
68
|
"file": "src-win/Libraries/Components/Button.win32.js",
|
|
69
69
|
"baseFile": "packages/react-native/Libraries/Components/Button.js",
|
|
70
|
-
"baseHash": "
|
|
70
|
+
"baseHash": "b59e0b119a7a930e835ff3eefa780e757a97b31f"
|
|
71
71
|
},
|
|
72
72
|
{
|
|
73
73
|
"type": "platform",
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
"type": "patch",
|
|
93
93
|
"file": "src-win/Libraries/Components/Pressable/Pressable.win32.js",
|
|
94
94
|
"baseFile": "packages/react-native/Libraries/Components/Pressable/Pressable.js",
|
|
95
|
-
"baseHash": "
|
|
95
|
+
"baseHash": "77ec40a2f6a75280b170fe839813d8712c90fbfb",
|
|
96
96
|
"issue": 6240
|
|
97
97
|
},
|
|
98
98
|
{
|
|
@@ -108,12 +108,6 @@
|
|
|
108
108
|
"baseFile": "packages/react-native/Libraries/Components/SafeAreaView/SafeAreaView.js",
|
|
109
109
|
"baseHash": "ae5845b576484b3600e395d3b1ee03223530b8f7"
|
|
110
110
|
},
|
|
111
|
-
{
|
|
112
|
-
"type": "derived",
|
|
113
|
-
"file": "src-win/Libraries/Components/ScrollView/ScrollView.win32.js",
|
|
114
|
-
"baseFile": "packages/react-native/Libraries/Components/ScrollView/ScrollView.js",
|
|
115
|
-
"baseHash": "a842009ee0d0d9ee5ee16e88ff25b9a45f38b667"
|
|
116
|
-
},
|
|
117
111
|
{
|
|
118
112
|
"type": "platform",
|
|
119
113
|
"file": "src-win/Libraries/Components/TextInput/Tests/TextInputTest.tsx"
|
|
@@ -122,7 +116,7 @@
|
|
|
122
116
|
"type": "derived",
|
|
123
117
|
"file": "src-win/Libraries/Components/TextInput/TextInput.win32.js",
|
|
124
118
|
"baseFile": "packages/react-native/Libraries/Components/TextInput/TextInput.js",
|
|
125
|
-
"baseHash": "
|
|
119
|
+
"baseHash": "dad569fd3dd81f212afd7b35ffe75108e926eb5e"
|
|
126
120
|
},
|
|
127
121
|
{
|
|
128
122
|
"type": "patch",
|
|
@@ -149,7 +143,7 @@
|
|
|
149
143
|
"type": "patch",
|
|
150
144
|
"file": "src-win/Libraries/Components/Touchable/Touchable.win32.js",
|
|
151
145
|
"baseFile": "packages/react-native/Libraries/Components/Touchable/Touchable.js",
|
|
152
|
-
"baseHash": "
|
|
146
|
+
"baseHash": "27e19d3bf49ff28629fdad544aad04939c2ce030",
|
|
153
147
|
"issue": 0
|
|
154
148
|
},
|
|
155
149
|
{
|
|
@@ -180,13 +174,13 @@
|
|
|
180
174
|
"type": "patch",
|
|
181
175
|
"file": "src-win/Libraries/Components/View/ReactNativeViewAttributes.win32.js",
|
|
182
176
|
"baseFile": "packages/react-native/Libraries/Components/View/ReactNativeViewAttributes.js",
|
|
183
|
-
"baseHash": "
|
|
177
|
+
"baseHash": "8fc645a55ff86ceeac9c45f09d232586589ee7dc"
|
|
184
178
|
},
|
|
185
179
|
{
|
|
186
180
|
"type": "patch",
|
|
187
181
|
"file": "src-win/Libraries/Components/View/View.win32.js",
|
|
188
182
|
"baseFile": "packages/react-native/Libraries/Components/View/View.js",
|
|
189
|
-
"baseHash": "
|
|
183
|
+
"baseHash": "1905f72f4d202d466ea7d8ed4b36df0845f2c310"
|
|
190
184
|
},
|
|
191
185
|
{
|
|
192
186
|
"type": "derived",
|
|
@@ -198,19 +192,19 @@
|
|
|
198
192
|
"type": "derived",
|
|
199
193
|
"file": "src-win/Libraries/Components/View/ViewAccessibility.win32.js",
|
|
200
194
|
"baseFile": "packages/react-native/Libraries/Components/View/ViewAccessibility.js",
|
|
201
|
-
"baseHash": "
|
|
195
|
+
"baseHash": "7ac427e8b7a78a8e938ce1b383ec6e911a6fa3b5"
|
|
202
196
|
},
|
|
203
197
|
{
|
|
204
198
|
"type": "derived",
|
|
205
199
|
"file": "src-win/Libraries/Components/View/ViewPropTypes.d.ts",
|
|
206
200
|
"baseFile": "packages/react-native/Libraries/Components/View/ViewPropTypes.d.ts",
|
|
207
|
-
"baseHash": "
|
|
201
|
+
"baseHash": "8e33800dfdd3b50e26c3331abb8b4682c091602f"
|
|
208
202
|
},
|
|
209
203
|
{
|
|
210
204
|
"type": "patch",
|
|
211
205
|
"file": "src-win/Libraries/Components/View/ViewPropTypes.win32.js",
|
|
212
206
|
"baseFile": "packages/react-native/Libraries/Components/View/ViewPropTypes.js",
|
|
213
|
-
"baseHash": "
|
|
207
|
+
"baseHash": "50bd550ba0710173ca3533b7b103075ecdda6b56",
|
|
214
208
|
"issue": 6240
|
|
215
209
|
},
|
|
216
210
|
{
|
|
@@ -223,6 +217,13 @@
|
|
|
223
217
|
"type": "platform",
|
|
224
218
|
"file": "src-win/Libraries/Components/View/ViewWin32.js"
|
|
225
219
|
},
|
|
220
|
+
{
|
|
221
|
+
"type": "patch",
|
|
222
|
+
"file": "src-win/Libraries/Core/Devtools/loadBundleFromServer.win32.js",
|
|
223
|
+
"baseFile": "packages/react-native/Libraries/Core/Devtools/loadBundleFromServer.js",
|
|
224
|
+
"baseHash": "14662281c97222b45893308b744a7dc7c2000801",
|
|
225
|
+
"issue": 12704
|
|
226
|
+
},
|
|
226
227
|
{
|
|
227
228
|
"type": "patch",
|
|
228
229
|
"file": "src-win/Libraries/Core/ReactNativeVersionCheck.win32.js",
|
|
@@ -244,7 +245,7 @@
|
|
|
244
245
|
"type": "derived",
|
|
245
246
|
"file": "src-win/Libraries/Image/Image.win32.js",
|
|
246
247
|
"baseFile": "packages/react-native/Libraries/Image/Image.ios.js",
|
|
247
|
-
"baseHash": "
|
|
248
|
+
"baseHash": "f3298e1dac3f1cd3d277b15b916753535b677f04",
|
|
248
249
|
"issue": 4320
|
|
249
250
|
},
|
|
250
251
|
{
|
|
@@ -316,14 +317,14 @@
|
|
|
316
317
|
"type": "patch",
|
|
317
318
|
"file": "src-win/Libraries/LogBox/UI/LogBoxInspectorHeader.win32.js",
|
|
318
319
|
"baseFile": "packages/react-native/Libraries/LogBox/UI/LogBoxInspectorHeader.js",
|
|
319
|
-
"baseHash": "
|
|
320
|
+
"baseHash": "e85290422895e30d58e2d804f11e73407a743282",
|
|
320
321
|
"issue": 7952
|
|
321
322
|
},
|
|
322
323
|
{
|
|
323
324
|
"type": "derived",
|
|
324
325
|
"file": "src-win/Libraries/LogBox/UI/LogBoxInspectorReactFrames.win32.js",
|
|
325
326
|
"baseFile": "packages/react-native/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js",
|
|
326
|
-
"baseHash": "
|
|
327
|
+
"baseHash": "3a765d2180cca25ed35172ebce8294fc569486aa"
|
|
327
328
|
},
|
|
328
329
|
{
|
|
329
330
|
"type": "derived",
|
|
@@ -343,7 +344,7 @@
|
|
|
343
344
|
"type": "derived",
|
|
344
345
|
"file": "src-win/Libraries/NativeComponent/BaseViewConfig.win32.js",
|
|
345
346
|
"baseFile": "packages/react-native/Libraries/NativeComponent/BaseViewConfig.ios.js",
|
|
346
|
-
"baseHash": "
|
|
347
|
+
"baseHash": "d7b9540d5e637cb86b29d119838a4024bfc2b7d6"
|
|
347
348
|
},
|
|
348
349
|
{
|
|
349
350
|
"type": "copy",
|
|
@@ -379,7 +380,7 @@
|
|
|
379
380
|
"type": "patch",
|
|
380
381
|
"file": "src-win/Libraries/Pressability/Pressability.win32.js",
|
|
381
382
|
"baseFile": "packages/react-native/Libraries/Pressability/Pressability.js",
|
|
382
|
-
"baseHash": "
|
|
383
|
+
"baseHash": "8e70142f3acab570d188c617a1811da11b6e9da4",
|
|
383
384
|
"issue": 6240
|
|
384
385
|
},
|
|
385
386
|
{
|
|
@@ -426,7 +427,7 @@
|
|
|
426
427
|
"type": "patch",
|
|
427
428
|
"file": "src-win/Libraries/StyleSheet/StyleSheet.win32.js",
|
|
428
429
|
"baseFile": "packages/react-native/Libraries/StyleSheet/StyleSheet.js",
|
|
429
|
-
"baseHash": "
|
|
430
|
+
"baseHash": "5c01bd55040fb9d31534bd27b98fe9c3671994c0"
|
|
430
431
|
},
|
|
431
432
|
{
|
|
432
433
|
"type": "derived",
|
|
@@ -438,20 +439,20 @@
|
|
|
438
439
|
"type": "derived",
|
|
439
440
|
"file": "src-win/Libraries/Text/Text.win32.js",
|
|
440
441
|
"baseFile": "packages/react-native/Libraries/Text/Text.js",
|
|
441
|
-
"baseHash": "
|
|
442
|
+
"baseHash": "71c24366f3f0baa9a48ba34c08b255483bf77553"
|
|
442
443
|
},
|
|
443
444
|
{
|
|
444
445
|
"type": "derived",
|
|
445
446
|
"file": "src-win/Libraries/Text/TextNativeComponent.win32.js",
|
|
446
447
|
"baseFile": "packages/react-native/Libraries/Text/TextNativeComponent.js",
|
|
447
|
-
"baseHash": "
|
|
448
|
+
"baseHash": "9f7ea4e5225a06e1ec3bb46a2f4bc9f72bf46873",
|
|
448
449
|
"issue": 7074
|
|
449
450
|
},
|
|
450
451
|
{
|
|
451
452
|
"type": "derived",
|
|
452
453
|
"file": "src-win/Libraries/Text/TextProps.win32.js",
|
|
453
454
|
"baseFile": "packages/react-native/Libraries/Text/TextProps.js",
|
|
454
|
-
"baseHash": "
|
|
455
|
+
"baseHash": "8e56a028dee989ebb8b06f4c01a1d038f074597d"
|
|
455
456
|
},
|
|
456
457
|
{
|
|
457
458
|
"type": "patch",
|
|
@@ -477,7 +478,7 @@
|
|
|
477
478
|
"type": "derived",
|
|
478
479
|
"file": "src-win/Libraries/Utilities/Dimensions.win32.js",
|
|
479
480
|
"baseFile": "packages/react-native/Libraries/Utilities/Dimensions.js",
|
|
480
|
-
"baseHash": "
|
|
481
|
+
"baseHash": "bac146d616013f6da06bba9f6c0f52633e4a0737"
|
|
481
482
|
},
|
|
482
483
|
{
|
|
483
484
|
"type": "platform",
|
|
@@ -497,13 +498,13 @@
|
|
|
497
498
|
"type": "derived",
|
|
498
499
|
"file": "src-win/Libraries/Utilities/Platform.flow.win32.js",
|
|
499
500
|
"baseFile": "packages/react-native/Libraries/Utilities/Platform.flow.js",
|
|
500
|
-
"baseHash": "
|
|
501
|
+
"baseHash": "f38efa527b9426ae0178bb2336be2e93af0392ba"
|
|
501
502
|
},
|
|
502
503
|
{
|
|
503
504
|
"type": "derived",
|
|
504
505
|
"file": "src-win/Libraries/Utilities/Platform.win32.js",
|
|
505
506
|
"baseFile": "packages/react-native/Libraries/Utilities/Platform.android.js",
|
|
506
|
-
"baseHash": "
|
|
507
|
+
"baseHash": "33f07d6fddb5290d05c8d4cc490312e3af88c70b"
|
|
507
508
|
},
|
|
508
509
|
{
|
|
509
510
|
"type": "copy",
|
|
@@ -527,7 +528,7 @@
|
|
|
527
528
|
"type": "derived",
|
|
528
529
|
"file": "src-win/src/private/specs/modules/NativePlatformConstantsWin.js",
|
|
529
530
|
"baseFile": "packages/react-native/src/private/specs/modules/NativePlatformConstantsAndroid.js",
|
|
530
|
-
"baseHash": "
|
|
531
|
+
"baseHash": "fa0f34a2de33b641bd63863629087644796d8b59"
|
|
531
532
|
}
|
|
532
533
|
]
|
|
533
534
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@office-iss/react-native-win32",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.75.0-preview.2",
|
|
4
4
|
"description": "Implementation of react native on top of Office's Win32 platform.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -26,17 +26,17 @@
|
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"@babel/runtime": "^7.0.0",
|
|
28
28
|
"@jest/create-cache-key-function": "^29.6.3",
|
|
29
|
-
"@react-native-community/cli": "
|
|
30
|
-
"@react-native-community/cli-platform-android": "
|
|
31
|
-
"@react-native-community/cli-platform-ios": "
|
|
29
|
+
"@react-native-community/cli": "14.0.0-alpha.11",
|
|
30
|
+
"@react-native-community/cli-platform-android": "14.0.0-alpha.11",
|
|
31
|
+
"@react-native-community/cli-platform-ios": "14.0.0-alpha.11",
|
|
32
32
|
"@react-native/assets": "1.0.0",
|
|
33
|
-
"@react-native/assets-registry": "0.
|
|
34
|
-
"@react-native/codegen": "0.
|
|
35
|
-
"@react-native/community-cli-plugin": "0.
|
|
36
|
-
"@react-native/gradle-plugin": "0.
|
|
37
|
-
"@react-native/js-polyfills": "0.
|
|
38
|
-
"@react-native/normalize-colors": "0.
|
|
39
|
-
"@react-native/virtualized-lists": "0.
|
|
33
|
+
"@react-native/assets-registry": "0.75.0-rc.5",
|
|
34
|
+
"@react-native/codegen": "0.75.0-rc.5",
|
|
35
|
+
"@react-native/community-cli-plugin": "0.75.0-rc.5",
|
|
36
|
+
"@react-native/gradle-plugin": "0.75.0-rc.5",
|
|
37
|
+
"@react-native/js-polyfills": "0.75.0-rc.5",
|
|
38
|
+
"@react-native/normalize-colors": "0.75.0-rc.5",
|
|
39
|
+
"@react-native/virtualized-lists": "0.75.0-rc.5",
|
|
40
40
|
"abort-controller": "^3.0.0",
|
|
41
41
|
"anser": "^1.4.9",
|
|
42
42
|
"ansi-regex": "^5.0.0",
|
|
@@ -45,6 +45,7 @@
|
|
|
45
45
|
"chalk": "^4.0.0",
|
|
46
46
|
"event-target-shim": "^5.0.1",
|
|
47
47
|
"flow-enums-runtime": "^0.0.6",
|
|
48
|
+
"glob": "^7.1.1",
|
|
48
49
|
"invariant": "^2.2.4",
|
|
49
50
|
"jest-environment-node": "^29.6.3",
|
|
50
51
|
"jsc-android": "^250231.0.0",
|
|
@@ -56,11 +57,12 @@
|
|
|
56
57
|
"pretty-format": "^26.5.2",
|
|
57
58
|
"promise": "^8.3.0",
|
|
58
59
|
"react-clone-referenced-element": "^1.0.1",
|
|
59
|
-
"react-devtools-core": "^5.
|
|
60
|
+
"react-devtools-core": "^5.3.1",
|
|
60
61
|
"react-refresh": "^0.14.0",
|
|
61
62
|
"react-shallow-renderer": "^16.15.0",
|
|
62
63
|
"regenerator-runtime": "^0.13.2",
|
|
63
|
-
"scheduler": "0.
|
|
64
|
+
"scheduler": "0.25.0-rc-fb9a90fa48-20240614",
|
|
65
|
+
"semver": "^7.1.3",
|
|
64
66
|
"stacktrace-parser": "^0.1.10",
|
|
65
67
|
"whatwg-fetch": "^3.0.0",
|
|
66
68
|
"ws": "^6.2.2",
|
|
@@ -69,13 +71,13 @@
|
|
|
69
71
|
"devDependencies": {
|
|
70
72
|
"@babel/core": "^7.20.0",
|
|
71
73
|
"@babel/eslint-parser": "^7.20.0",
|
|
72
|
-
"@react-native/metro-config": "0.
|
|
74
|
+
"@react-native/metro-config": "0.75.0-rc.5",
|
|
73
75
|
"@rnw-scripts/babel-react-native-config": "0.0.0",
|
|
74
|
-
"@rnw-scripts/eslint-config": "1.2.
|
|
75
|
-
"@rnw-scripts/jest-out-of-tree-snapshot-resolver": "^1.1.
|
|
76
|
-
"@rnw-scripts/just-task": "2.3.
|
|
76
|
+
"@rnw-scripts/eslint-config": "1.2.23",
|
|
77
|
+
"@rnw-scripts/jest-out-of-tree-snapshot-resolver": "^1.1.27",
|
|
78
|
+
"@rnw-scripts/just-task": "2.3.40",
|
|
77
79
|
"@rnw-scripts/metro-dev-config": "0.0.0",
|
|
78
|
-
"@rnx-kit/jest-preset": "^0.1.
|
|
80
|
+
"@rnx-kit/jest-preset": "^0.1.17",
|
|
79
81
|
"@types/node": "^18.0.0",
|
|
80
82
|
"@types/prop-types": "15.7.1",
|
|
81
83
|
"@types/react": "^18.2.6",
|
|
@@ -84,22 +86,22 @@
|
|
|
84
86
|
"jscodeshift": "^0.14.0",
|
|
85
87
|
"just-scripts": "^1.3.3",
|
|
86
88
|
"prettier": "2.8.8",
|
|
87
|
-
"react": "
|
|
88
|
-
"react-native": "0.
|
|
89
|
-
"react-native-platform-override": "^1.9.
|
|
89
|
+
"react": "19.0.0-rc-fb9a90fa48-20240614",
|
|
90
|
+
"react-native": "0.75.0-rc.5",
|
|
91
|
+
"react-native-platform-override": "^1.9.42",
|
|
90
92
|
"typescript": "5.0.4"
|
|
91
93
|
},
|
|
92
94
|
"peerDependencies": {
|
|
93
95
|
"@types/react": "^18.2.6",
|
|
94
|
-
"react": "
|
|
95
|
-
"react-native": "
|
|
96
|
+
"react": "^19.0.0-rc-fb9a90fa48-20240614",
|
|
97
|
+
"react-native": "0.75.0-rc.5"
|
|
96
98
|
},
|
|
97
99
|
"beachball": {
|
|
98
|
-
"defaultNpmTag": "
|
|
100
|
+
"defaultNpmTag": "preview",
|
|
99
101
|
"disallowedChangeTypes": [
|
|
100
102
|
"major",
|
|
101
103
|
"minor",
|
|
102
|
-
"
|
|
104
|
+
"patch",
|
|
103
105
|
"premajor",
|
|
104
106
|
"preminor",
|
|
105
107
|
"prepatch"
|
package/rn-get-polyfills.js
CHANGED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
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
|
+
* @flow strict
|
|
8
|
+
* @format
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Combines two styles such that `style2` will override any styles in `style1`.
|
|
13
|
+
* If either style is null or undefined, the other one is returned without
|
|
14
|
+
* allocating an array, saving allocations and enabling memoization.
|
|
15
|
+
*/
|
|
16
|
+
export default function composeStyles<T1, T2>(
|
|
17
|
+
style1: ?T1,
|
|
18
|
+
style2: ?T2,
|
|
19
|
+
): ?(T1 | T2 | $ReadOnlyArray<T1 | T2>) {
|
|
20
|
+
if (style1 == null) {
|
|
21
|
+
return style2;
|
|
22
|
+
}
|
|
23
|
+
if (style2 == null) {
|
|
24
|
+
return style1;
|
|
25
|
+
}
|
|
26
|
+
return [style1, style2];
|
|
27
|
+
}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
|
-
* @generated SignedSource<<
|
|
7
|
+
* @generated SignedSource<<870e25c844e692bb04ee49fe20cd3baf>>
|
|
8
8
|
* @flow strict-local
|
|
9
9
|
*/
|
|
10
10
|
|
|
@@ -27,13 +27,13 @@ import {
|
|
|
27
27
|
|
|
28
28
|
export type ReactNativeFeatureFlagsJsOnly = {
|
|
29
29
|
jsOnlyTestFlag: Getter<boolean>,
|
|
30
|
-
isLayoutAnimationEnabled: Getter<boolean>,
|
|
31
30
|
animatedShouldDebounceQueueFlush: Getter<boolean>,
|
|
32
31
|
animatedShouldUseSingleOp: Getter<boolean>,
|
|
33
32
|
enableAccessToHostTreeInFabric: Getter<boolean>,
|
|
33
|
+
isLayoutAnimationEnabled: Getter<boolean>,
|
|
34
34
|
shouldUseAnimatedObjectForTransform: Getter<boolean>,
|
|
35
|
-
shouldUseSetNativePropsInFabric: Getter<boolean>,
|
|
36
35
|
shouldUseRemoveClippedSubviewsAsDefaultOnIOS: Getter<boolean>,
|
|
36
|
+
shouldUseSetNativePropsInFabric: Getter<boolean>,
|
|
37
37
|
};
|
|
38
38
|
|
|
39
39
|
export type ReactNativeFeatureFlagsJsOnlyOverrides = Partial<ReactNativeFeatureFlagsJsOnly>;
|
|
@@ -41,17 +41,29 @@ export type ReactNativeFeatureFlagsJsOnlyOverrides = Partial<ReactNativeFeatureF
|
|
|
41
41
|
export type ReactNativeFeatureFlags = {
|
|
42
42
|
...ReactNativeFeatureFlagsJsOnly,
|
|
43
43
|
commonTestFlag: Getter<boolean>,
|
|
44
|
-
|
|
44
|
+
allowCollapsableChildren: Getter<boolean>,
|
|
45
|
+
allowRecursiveCommitsWithSynchronousMountOnAndroid: Getter<boolean>,
|
|
45
46
|
batchRenderingUpdatesInEventLoop: Getter<boolean>,
|
|
46
47
|
destroyFabricSurfacesInReactInstanceManager: Getter<boolean>,
|
|
47
48
|
enableBackgroundExecutor: Getter<boolean>,
|
|
48
|
-
|
|
49
|
+
enableCleanTextInputYogaNode: Getter<boolean>,
|
|
50
|
+
enableGranularShadowTreeStateReconciliation: Getter<boolean>,
|
|
49
51
|
enableMicrotasks: Getter<boolean>,
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
52
|
+
enableSynchronousStateUpdates: Getter<boolean>,
|
|
53
|
+
enableUIConsistency: Getter<boolean>,
|
|
54
|
+
fixStoppedSurfaceRemoveDeleteTreeUIFrameCallbackLeak: Getter<boolean>,
|
|
55
|
+
forceBatchingMountItemsOnAndroid: Getter<boolean>,
|
|
56
|
+
fuseboxEnabledDebug: Getter<boolean>,
|
|
57
|
+
fuseboxEnabledRelease: Getter<boolean>,
|
|
58
|
+
lazyAnimationCallbacks: Getter<boolean>,
|
|
59
|
+
preventDoubleTextMeasure: Getter<boolean>,
|
|
60
|
+
setAndroidLayoutDirection: Getter<boolean>,
|
|
61
|
+
useImmediateExecutorInAndroidBridgeless: Getter<boolean>,
|
|
62
|
+
useModernRuntimeScheduler: Getter<boolean>,
|
|
63
|
+
useNativeViewConfigsInBridgelessMode: Getter<boolean>,
|
|
64
|
+
useRuntimeShadowNodeReferenceUpdate: Getter<boolean>,
|
|
65
|
+
useRuntimeShadowNodeReferenceUpdateOnLayout: Getter<boolean>,
|
|
66
|
+
useStateAlignmentMechanism: Getter<boolean>,
|
|
55
67
|
}
|
|
56
68
|
|
|
57
69
|
/**
|
|
@@ -59,11 +71,6 @@ export type ReactNativeFeatureFlags = {
|
|
|
59
71
|
*/
|
|
60
72
|
export const jsOnlyTestFlag: Getter<boolean> = createJavaScriptFlagGetter('jsOnlyTestFlag', false);
|
|
61
73
|
|
|
62
|
-
/**
|
|
63
|
-
* Function used to enable / disabled Layout Animations in React Native.
|
|
64
|
-
*/
|
|
65
|
-
export const isLayoutAnimationEnabled: Getter<boolean> = createJavaScriptFlagGetter('isLayoutAnimationEnabled', true);
|
|
66
|
-
|
|
67
74
|
/**
|
|
68
75
|
* Enables an experimental flush-queue debouncing in Animated.js.
|
|
69
76
|
*/
|
|
@@ -80,28 +87,37 @@ export const animatedShouldUseSingleOp: Getter<boolean> = createJavaScriptFlagGe
|
|
|
80
87
|
export const enableAccessToHostTreeInFabric: Getter<boolean> = createJavaScriptFlagGetter('enableAccessToHostTreeInFabric', false);
|
|
81
88
|
|
|
82
89
|
/**
|
|
83
|
-
*
|
|
90
|
+
* Function used to enable / disabled Layout Animations in React Native.
|
|
84
91
|
*/
|
|
85
|
-
export const
|
|
92
|
+
export const isLayoutAnimationEnabled: Getter<boolean> = createJavaScriptFlagGetter('isLayoutAnimationEnabled', true);
|
|
86
93
|
|
|
87
94
|
/**
|
|
88
|
-
* Enables use of
|
|
95
|
+
* Enables use of AnimatedObject for animating transform values.
|
|
89
96
|
*/
|
|
90
|
-
export const
|
|
97
|
+
export const shouldUseAnimatedObjectForTransform: Getter<boolean> = createJavaScriptFlagGetter('shouldUseAnimatedObjectForTransform', false);
|
|
91
98
|
|
|
92
99
|
/**
|
|
93
100
|
* removeClippedSubviews prop will be used as the default in FlatList on iOS to match Android
|
|
94
101
|
*/
|
|
95
102
|
export const shouldUseRemoveClippedSubviewsAsDefaultOnIOS: Getter<boolean> = createJavaScriptFlagGetter('shouldUseRemoveClippedSubviewsAsDefaultOnIOS', false);
|
|
96
103
|
|
|
104
|
+
/**
|
|
105
|
+
* Enables use of setNativeProps in JS driven animations.
|
|
106
|
+
*/
|
|
107
|
+
export const shouldUseSetNativePropsInFabric: Getter<boolean> = createJavaScriptFlagGetter('shouldUseSetNativePropsInFabric', true);
|
|
108
|
+
|
|
97
109
|
/**
|
|
98
110
|
* Common flag for testing. Do NOT modify.
|
|
99
111
|
*/
|
|
100
112
|
export const commonTestFlag: Getter<boolean> = createNativeFlagGetter('commonTestFlag', false);
|
|
101
113
|
/**
|
|
102
|
-
*
|
|
114
|
+
* Enables the differentiator to understand the "collapsableChildren" prop
|
|
115
|
+
*/
|
|
116
|
+
export const allowCollapsableChildren: Getter<boolean> = createNativeFlagGetter('allowCollapsableChildren', true);
|
|
117
|
+
/**
|
|
118
|
+
* Adds support for recursively processing commits that mount synchronously (Android only).
|
|
103
119
|
*/
|
|
104
|
-
export const
|
|
120
|
+
export const allowRecursiveCommitsWithSynchronousMountOnAndroid: Getter<boolean> = createNativeFlagGetter('allowRecursiveCommitsWithSynchronousMountOnAndroid', false);
|
|
105
121
|
/**
|
|
106
122
|
* When enabled, the RuntimeScheduler processing the event loop will batch all rendering updates and dispatch them together at the end of each iteration of the loop.
|
|
107
123
|
*/
|
|
@@ -115,33 +131,77 @@ export const destroyFabricSurfacesInReactInstanceManager: Getter<boolean> = crea
|
|
|
115
131
|
*/
|
|
116
132
|
export const enableBackgroundExecutor: Getter<boolean> = createNativeFlagGetter('enableBackgroundExecutor', false);
|
|
117
133
|
/**
|
|
118
|
-
*
|
|
134
|
+
* Clean yoga node when <TextInput /> does not change.
|
|
119
135
|
*/
|
|
120
|
-
export const
|
|
136
|
+
export const enableCleanTextInputYogaNode: Getter<boolean> = createNativeFlagGetter('enableCleanTextInputYogaNode', false);
|
|
137
|
+
/**
|
|
138
|
+
* When enabled, the renderer would only fail commits when they propagate state and the last commit that updated state changed before committing.
|
|
139
|
+
*/
|
|
140
|
+
export const enableGranularShadowTreeStateReconciliation: Getter<boolean> = createNativeFlagGetter('enableGranularShadowTreeStateReconciliation', false);
|
|
121
141
|
/**
|
|
122
142
|
* Enables the use of microtasks in Hermes (scheduling) and RuntimeScheduler (execution).
|
|
123
143
|
*/
|
|
124
144
|
export const enableMicrotasks: Getter<boolean> = createNativeFlagGetter('enableMicrotasks', false);
|
|
125
145
|
/**
|
|
126
|
-
*
|
|
146
|
+
* Dispatches state updates synchronously in Fabric (e.g.: updates the scroll position in the shadow tree synchronously from the main thread).
|
|
147
|
+
*/
|
|
148
|
+
export const enableSynchronousStateUpdates: Getter<boolean> = createNativeFlagGetter('enableSynchronousStateUpdates', false);
|
|
149
|
+
/**
|
|
150
|
+
* Ensures that JavaScript always has a consistent view of the state of the UI (e.g.: commits done in other threads are not immediately propagated to JS during its execution).
|
|
151
|
+
*/
|
|
152
|
+
export const enableUIConsistency: Getter<boolean> = createNativeFlagGetter('enableUIConsistency', false);
|
|
153
|
+
/**
|
|
154
|
+
* Fixes a leak in SurfaceMountingManager.mRemoveDeleteTreeUIFrameCallback
|
|
155
|
+
*/
|
|
156
|
+
export const fixStoppedSurfaceRemoveDeleteTreeUIFrameCallbackLeak: Getter<boolean> = createNativeFlagGetter('fixStoppedSurfaceRemoveDeleteTreeUIFrameCallbackLeak', false);
|
|
157
|
+
/**
|
|
158
|
+
* Forces the mounting layer on Android to always batch mount items instead of dispatching them immediately. This might fix some crashes related to synchronous state updates, where some views dispatch state updates during mount.
|
|
159
|
+
*/
|
|
160
|
+
export const forceBatchingMountItemsOnAndroid: Getter<boolean> = createNativeFlagGetter('forceBatchingMountItemsOnAndroid', false);
|
|
161
|
+
/**
|
|
162
|
+
* Flag determining if the React Native DevTools (Fusebox) CDP backend should be enabled in debug builds. This flag is global and should not be changed across React Host lifetimes.
|
|
163
|
+
*/
|
|
164
|
+
export const fuseboxEnabledDebug: Getter<boolean> = createNativeFlagGetter('fuseboxEnabledDebug', false);
|
|
165
|
+
/**
|
|
166
|
+
* Flag determining if the React Native DevTools (Fusebox) CDP backend should be enabled in release builds. This flag is global and should not be changed across React Host lifetimes.
|
|
167
|
+
*/
|
|
168
|
+
export const fuseboxEnabledRelease: Getter<boolean> = createNativeFlagGetter('fuseboxEnabledRelease', false);
|
|
169
|
+
/**
|
|
170
|
+
* Only enqueue Choreographer calls if there is an ongoing animation, instead of enqueueing every frame.
|
|
171
|
+
*/
|
|
172
|
+
export const lazyAnimationCallbacks: Getter<boolean> = createNativeFlagGetter('lazyAnimationCallbacks', false);
|
|
173
|
+
/**
|
|
174
|
+
* When enabled, ParagraphShadowNode will no longer call measure twice.
|
|
175
|
+
*/
|
|
176
|
+
export const preventDoubleTextMeasure: Getter<boolean> = createNativeFlagGetter('preventDoubleTextMeasure', true);
|
|
177
|
+
/**
|
|
178
|
+
* Propagate layout direction to Android views.
|
|
127
179
|
*/
|
|
128
|
-
export const
|
|
180
|
+
export const setAndroidLayoutDirection: Getter<boolean> = createNativeFlagGetter('setAndroidLayoutDirection', false);
|
|
181
|
+
/**
|
|
182
|
+
* Invoke callbacks immediately on the ReactInstance rather than going through a background thread for synchronization
|
|
183
|
+
*/
|
|
184
|
+
export const useImmediateExecutorInAndroidBridgeless: Getter<boolean> = createNativeFlagGetter('useImmediateExecutorInAndroidBridgeless', false);
|
|
185
|
+
/**
|
|
186
|
+
* When enabled, it uses the modern fork of RuntimeScheduler that allows scheduling tasks with priorities from any thread.
|
|
187
|
+
*/
|
|
188
|
+
export const useModernRuntimeScheduler: Getter<boolean> = createNativeFlagGetter('useModernRuntimeScheduler', false);
|
|
129
189
|
/**
|
|
130
|
-
* When enabled,
|
|
190
|
+
* When enabled, the native view configs are used in bridgeless mode.
|
|
131
191
|
*/
|
|
132
|
-
export const
|
|
192
|
+
export const useNativeViewConfigsInBridgelessMode: Getter<boolean> = createNativeFlagGetter('useNativeViewConfigsInBridgelessMode', false);
|
|
133
193
|
/**
|
|
134
|
-
*
|
|
194
|
+
* When enabled, cloning shadow nodes within react native will update the reference held by the current JS fiber tree.
|
|
135
195
|
*/
|
|
136
|
-
export const
|
|
196
|
+
export const useRuntimeShadowNodeReferenceUpdate: Getter<boolean> = createNativeFlagGetter('useRuntimeShadowNodeReferenceUpdate', false);
|
|
137
197
|
/**
|
|
138
|
-
*
|
|
198
|
+
* When enabled, cloning shadow nodes during layout will update the reference held by the current JS fiber tree.
|
|
139
199
|
*/
|
|
140
|
-
export const
|
|
200
|
+
export const useRuntimeShadowNodeReferenceUpdateOnLayout: Getter<boolean> = createNativeFlagGetter('useRuntimeShadowNodeReferenceUpdateOnLayout', false);
|
|
141
201
|
/**
|
|
142
|
-
*
|
|
202
|
+
* When enabled, it uses optimised state reconciliation algorithm.
|
|
143
203
|
*/
|
|
144
|
-
export const
|
|
204
|
+
export const useStateAlignmentMechanism: Getter<boolean> = createNativeFlagGetter('useStateAlignmentMechanism', false);
|
|
145
205
|
|
|
146
206
|
/**
|
|
147
207
|
* Overrides the feature flags with the provided methods.
|
|
@@ -13,7 +13,7 @@ import type {
|
|
|
13
13
|
ReactNativeFeatureFlagsJsOnlyOverrides,
|
|
14
14
|
} from './ReactNativeFeatureFlags';
|
|
15
15
|
|
|
16
|
-
import NativeReactNativeFeatureFlags from './NativeReactNativeFeatureFlags';
|
|
16
|
+
import NativeReactNativeFeatureFlags from './specs/NativeReactNativeFeatureFlags';
|
|
17
17
|
|
|
18
18
|
const accessedFeatureFlags: Set<string> = new Set();
|
|
19
19
|
let overrides: ?ReactNativeFeatureFlagsJsOnlyOverrides;
|
|
@@ -29,7 +29,6 @@ function createGetter<T: boolean | number | string>(
|
|
|
29
29
|
|
|
30
30
|
return () => {
|
|
31
31
|
if (cachedValue == null) {
|
|
32
|
-
accessedFeatureFlags.add(configName);
|
|
33
32
|
cachedValue = customValueGetter() ?? defaultValue;
|
|
34
33
|
}
|
|
35
34
|
return cachedValue;
|
|
@@ -44,7 +43,10 @@ export function createJavaScriptFlagGetter<
|
|
|
44
43
|
): Getter<ReturnType<ReactNativeFeatureFlagsJsOnly[K]>> {
|
|
45
44
|
return createGetter(
|
|
46
45
|
configName,
|
|
47
|
-
() =>
|
|
46
|
+
() => {
|
|
47
|
+
accessedFeatureFlags.add(configName);
|
|
48
|
+
return overrides?.[configName]?.();
|
|
49
|
+
},
|
|
48
50
|
defaultValue,
|
|
49
51
|
);
|
|
50
52
|
}
|
|
@@ -57,7 +59,13 @@ export function createNativeFlagGetter<K: $Keys<NativeFeatureFlags>>(
|
|
|
57
59
|
): Getter<ReturnType<$NonMaybeType<NativeFeatureFlags[K]>>> {
|
|
58
60
|
return createGetter(
|
|
59
61
|
configName,
|
|
60
|
-
() =>
|
|
62
|
+
() => {
|
|
63
|
+
const valueFromNative = NativeReactNativeFeatureFlags?.[configName]?.();
|
|
64
|
+
if (valueFromNative == null) {
|
|
65
|
+
logUnavailableNativeModuleError(configName);
|
|
66
|
+
}
|
|
67
|
+
return valueFromNative;
|
|
68
|
+
},
|
|
61
69
|
defaultValue,
|
|
62
70
|
);
|
|
63
71
|
}
|
|
@@ -82,3 +90,14 @@ export function setOverrides(
|
|
|
82
90
|
|
|
83
91
|
overrides = newOverrides;
|
|
84
92
|
}
|
|
93
|
+
|
|
94
|
+
const reportedConfigNames: Set<string> = new Set();
|
|
95
|
+
|
|
96
|
+
function logUnavailableNativeModuleError(configName: string): void {
|
|
97
|
+
if (!reportedConfigNames.has(configName)) {
|
|
98
|
+
reportedConfigNames.add(configName);
|
|
99
|
+
console.error(
|
|
100
|
+
`Could not access feature flag '${configName}' because native module method was not available`,
|
|
101
|
+
);
|
|
102
|
+
}
|
|
103
|
+
}
|