react-native-windows 0.68.3 → 0.69.0-preview.1
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 +1 -3
- package/Chakra/ChakraHelpers.cpp +0 -1
- package/Directory.Build.props +3 -0
- package/Directory.Build.targets +1 -1
- package/Folly/TEMP_UntilFollyUpdate/dynamic-inl.h +1411 -0
- package/Folly/TEMP_UntilFollyUpdate/lang/ToAscii.cpp +336 -0
- package/Folly/TEMP_UntilFollyUpdate/lang/ToAscii.h +182 -0
- package/Libraries/ActionSheetIOS/ActionSheetIOS.js +7 -0
- package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +1 -0
- package/Libraries/Alert/Alert.windows.js +2 -2
- package/Libraries/Animated/AnimatedImplementation.js +1 -1
- package/Libraries/Animated/NativeAnimatedHelper.js +55 -9
- package/Libraries/Animated/NativeAnimatedModule.js +1 -0
- package/Libraries/Animated/NativeAnimatedTurboModule.js +1 -0
- package/Libraries/Animated/animations/TimingAnimation.js +6 -11
- package/Libraries/Animated/createAnimatedComponent.js +2 -2
- package/Libraries/Animated/nodes/AnimatedColor.js +95 -29
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +19 -22
- package/Libraries/Animated/nodes/AnimatedNode.js +2 -2
- package/Libraries/Animated/nodes/AnimatedValue.js +1 -1
- package/Libraries/AppState/AppState.js +1 -1
- package/Libraries/Blob/URL.js +7 -1
- package/Libraries/Components/Button.js +3 -0
- package/Libraries/Components/Button.windows.js +4 -0
- package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +5 -0
- package/Libraries/Components/Pressable/Pressable.js +3 -3
- package/Libraries/Components/Pressable/Pressable.windows.js +3 -3
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +47 -38
- package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +15 -7
- package/Libraries/Components/ScrollView/ScrollView.js +1 -1
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +16 -3
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +3 -1
- package/Libraries/Components/Slider/Slider.js +0 -2
- package/Libraries/Components/Slider/SliderNativeComponent.js +0 -1
- package/Libraries/Components/StatusBar/StatusBar.js +6 -1
- package/Libraries/Components/Switch/Switch.js +11 -1
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +114 -109
- package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +17 -9
- package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +13 -5
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +10 -0
- package/Libraries/Components/TextInput/TextInput.js +1 -8
- package/Libraries/Components/TextInput/TextInput.windows.js +4 -9
- package/Libraries/Components/TextInput/TextInputState.js +10 -2
- package/Libraries/Components/TextInput/TextInputState.windows.js +10 -3
- package/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js +1 -1
- package/Libraries/Components/Touchable/TouchableBounce.js +1 -0
- package/Libraries/Components/Touchable/TouchableHighlight.js +1 -0
- package/Libraries/Components/Touchable/TouchableHighlight.windows.js +6 -5
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -0
- package/Libraries/Components/Touchable/TouchableOpacity.js +7 -1
- package/Libraries/Components/Touchable/TouchableOpacity.windows.js +11 -5
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +2 -0
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +2 -0
- package/Libraries/Components/View/ReactNativeViewAttributes.js +1 -0
- package/Libraries/Components/View/ReactNativeViewAttributes.windows.js +1 -0
- package/Libraries/Components/View/View.windows.js +33 -1
- package/Libraries/Components/View/ViewNativeComponent.js +68 -8
- package/Libraries/Components/View/ViewPropTypes.js +36 -4
- package/Libraries/Components/View/ViewPropTypes.windows.js +36 -4
- package/Libraries/Core/Devtools/parseHermesStack.js +1 -1
- package/Libraries/Core/ExceptionsManager.js +1 -1
- package/Libraries/Core/RawEventEmitter.js +38 -0
- package/Libraries/Core/ReactNativeVersion.js +2 -2
- package/Libraries/Core/polyfillPromise.js +32 -0
- package/Libraries/Core/setUpReactDevTools.js +3 -2
- package/Libraries/EventEmitter/NativeEventEmitter.js +3 -3
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +2 -1
- package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +3 -3
- package/Libraries/Events/CustomEvent.js +32 -0
- package/Libraries/Events/EventPolyfill.js +239 -0
- package/Libraries/Image/Image.android.js +0 -6
- package/Libraries/Image/Image.ios.js +0 -6
- package/Libraries/Image/Image.windows.js +2 -8
- package/Libraries/Image/ImageViewNativeComponent.js +18 -3
- package/Libraries/Image/TextInlineImageNativeComponent.js +23 -15
- package/Libraries/Inspector/Inspector.js +2 -4
- package/Libraries/Interaction/BridgeSpyStallHandler.js +4 -3
- package/Libraries/Interaction/InteractionManager.js +1 -12
- package/Libraries/Interaction/TaskQueue.js +5 -4
- package/Libraries/LayoutAnimation/LayoutAnimation.js +13 -0
- package/Libraries/Linking/Linking.js +1 -1
- package/Libraries/Lists/FlatList.js +27 -6
- package/Libraries/Lists/VirtualizedList.js +71 -55
- package/Libraries/Lists/VirtualizedListContext.js +7 -3
- package/Libraries/Lists/VirtualizedSectionList.js +2 -2
- package/Libraries/Lists/__tests__/{FillRateHelper-test.windows.js → FillRateHelper-test.js} +2 -2
- package/Libraries/Lists/__tests__/{FlatList-test.windows.js → FlatList-test.js} +2 -2
- package/Libraries/Lists/__tests__/{SectionList-test.windows.js → SectionList-test.js} +14 -14
- package/Libraries/Lists/__tests__/{VirtualizeUtils-test.windows.js → VirtualizeUtils-test.js} +3 -3
- package/Libraries/Lists/__tests__/{VirtualizedList-test.windows.js → VirtualizedList-test.js} +91 -42
- package/Libraries/Lists/__tests__/{VirtualizedSectionList-test.windows.js → VirtualizedSectionList-test.js} +13 -13
- package/Libraries/LogBox/Data/LogBoxData.js +2 -2
- package/Libraries/LogBox/Data/LogBoxLog.js +1 -1
- package/Libraries/LogBox/Data/LogBoxSymbolication.js +1 -1
- package/Libraries/LogBox/Data/parseLogBoxLog.js +1 -1
- package/Libraries/LogBox/LogBox.js +2 -21
- package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +1 -0
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +2 -1
- package/Libraries/NativeComponent/BaseViewConfig.android.js +295 -0
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +333 -0
- package/Libraries/NativeComponent/BaseViewConfig.windows.js +334 -0
- package/Libraries/NativeComponent/NativeComponentRegistry.js +0 -2
- package/Libraries/NativeComponent/PlatformBaseViewConfig.js +24 -0
- package/Libraries/NativeComponent/StaticViewConfigValidator.js +7 -42
- package/Libraries/NativeComponent/ViewConfig.js +4 -4
- package/Libraries/NativeComponent/ViewConfigIgnore.js +54 -0
- package/Libraries/Network/FormData.js +7 -1
- package/Libraries/Pressability/Pressability.js +115 -46
- package/Libraries/Pressability/Pressability.windows.js +190 -74
- package/Libraries/Pressability/PressabilityDebug.js +5 -9
- package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +1 -0
- package/Libraries/ReactNative/AppContainer.js +1 -1
- package/Libraries/ReactNative/{DummyUIManager.js → BridgelessUIManager.js} +62 -40
- package/Libraries/ReactNative/PaperUIManager.windows.js +5 -5
- package/Libraries/ReactNative/ReactNativeFeatureFlags.js +39 -0
- package/Libraries/ReactNative/UIManager.js +2 -3
- package/Libraries/ReactNative/renderApplication.js +4 -0
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +8 -0
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +5908 -4906
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +2100 -1918
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +2567 -2352
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +5610 -4844
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +1710 -1556
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +1830 -1639
- package/Libraries/Renderer/shims/ReactNativeTypes.js +2 -1
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +2 -1
- package/Libraries/StyleSheet/EdgeInsetsPropType.js +4 -1
- package/Libraries/StyleSheet/StyleSheetTypes.js +59 -66
- package/Libraries/StyleSheet/normalizeColor.js +1 -1
- package/Libraries/StyleSheet/private/_StyleSheetTypesOverrides.js +15 -0
- package/Libraries/StyleSheet/private/_TransformStyle.js +53 -0
- package/Libraries/StyleSheet/processTransform.windows.js +272 -0
- package/Libraries/Text/Text.js +13 -7
- package/Libraries/Text/Text.windows.js +16 -7
- package/Libraries/Text/TextNativeComponent.js +2 -0
- package/Libraries/Text/TextProps.js +10 -0
- package/Libraries/Types/CoreEventTypes.js +13 -1
- package/Libraries/Types/CoreEventTypes.windows.js +26 -1
- package/Libraries/Utilities/Appearance.js +0 -8
- package/Libraries/Utilities/HMRClient.js +1 -1
- package/Libraries/Utilities/ReactNativeTestTools.js +1 -0
- package/Libraries/Utilities/codegenNativeComponent.js +17 -6
- package/Libraries/Utilities/stringifySafe.js +4 -1
- package/Libraries/Utilities/verifyComponentAttributeEquivalence.js +3 -3
- package/Libraries/WebSocket/WebSocket.js +1 -1
- package/Libraries/vendor/emitter/_EmitterSubscription.js +1 -1
- package/Libraries/vendor/emitter/_EventEmitter.js +1 -1
- package/Libraries/vendor/emitter/_EventSubscription.js +1 -1
- package/Microsoft.ReactNative/DynamicReader.cpp +3 -3
- package/Microsoft.ReactNative/Fabric/ComponentView.h +1 -0
- package/Microsoft.ReactNative/Fabric/ComponentViewRegistry.cpp +36 -2
- package/Microsoft.ReactNative/Fabric/ComponentViewRegistry.h +1 -0
- package/Microsoft.ReactNative/Fabric/DWriteHelpers.cpp +19 -0
- package/Microsoft.ReactNative/Fabric/DWriteHelpers.h +13 -0
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +65 -19
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +2 -0
- package/Microsoft.ReactNative/Fabric/ParagraphComponentView.cpp +36 -10
- package/Microsoft.ReactNative/Fabric/ScrollViewComponentView.cpp +2 -0
- package/Microsoft.ReactNative/Fabric/SliderComponentView.cpp +107 -0
- package/Microsoft.ReactNative/Fabric/SliderComponentView.h +51 -0
- package/Microsoft.ReactNative/Fabric/SwitchComponentView.cpp +109 -0
- package/Microsoft.ReactNative/Fabric/SwitchComponentView.h +52 -0
- package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputComponentDescriptor.h +197 -0
- package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputComponentView.cpp +308 -0
- package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputComponentView.h +52 -0
- package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputEventEmitter.cpp +31 -0
- package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputEventEmitter.h +33 -0
- package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputProps.cpp +81 -0
- package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputProps.h +132 -0
- package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputShadowNode.cpp +193 -0
- package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputShadowNode.h +85 -0
- package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputState.cpp +76 -0
- package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputState.h +99 -0
- package/Microsoft.ReactNative/Fabric/ViewComponentView.cpp +35 -3
- package/Microsoft.ReactNative/Fabric/ViewComponentView.h +1 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rncore/EventEmitters.h +5 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rncore/Props.h +5 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/slider/SliderMeasurementsManager.cpp +46 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/slider/SliderMeasurementsManager.h +30 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.cpp +2 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/conversions.h +1 -9
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/platform/cxx/react/renderer/graphics/Color.h +3 -1
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.cpp +119 -57
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.h +18 -1
- package/Microsoft.ReactNative/IViewManager.idl +3 -3
- package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +13 -107
- package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj.filters +2 -2
- package/Microsoft.ReactNative/Modules/AppStateModule.cpp +2 -0
- package/Microsoft.ReactNative/Modules/AppStateModule.h +2 -0
- package/Microsoft.ReactNative/Modules/CreateModules.cpp +3 -3
- package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +7 -5
- package/Microsoft.ReactNative/Modules/TimingModule.cpp +2 -2
- package/Microsoft.ReactNative/Modules/TimingModule.h +2 -2
- package/Microsoft.ReactNative/ReactHost/{ReactContext.cpp → MsoReactContext.cpp} +1 -1
- package/Microsoft.ReactNative/ReactHost/{ReactContext.h → MsoReactContext.h} +0 -0
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +14 -1
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +1 -1
- package/Microsoft.ReactNative/ReactHost/ReactNativeHeaders.h +1 -1
- package/Microsoft.ReactNative/ReactRootView.cpp +2 -1
- package/Microsoft.ReactNative/RedBox.cpp +3 -2
- package/Microsoft.ReactNative/Utils/ValueUtils.cpp +3 -2
- package/Microsoft.ReactNative/Views/ControlViewManager.cpp +32 -0
- package/Microsoft.ReactNative/Views/ControlViewManager.h +11 -0
- package/Microsoft.ReactNative/Views/DevMenu.cpp +2 -2
- package/Microsoft.ReactNative/Views/FrameworkElementTransferProperties.cpp +13 -2
- package/Microsoft.ReactNative/Views/FrameworkElementViewManager.cpp +149 -22
- package/Microsoft.ReactNative/Views/Image/ImageViewManager.cpp +1 -1
- package/Microsoft.ReactNative/Views/Image/Microsoft.UI.Composition.Effects_Impl.h +5 -11
- package/Microsoft.ReactNative/Views/Image/ReactImage.cpp +2 -1
- package/Microsoft.ReactNative/Views/SliderViewManager.cpp +12 -4
- package/Microsoft.ReactNative/Views/TextInputViewManager.cpp +1 -1
- package/Microsoft.ReactNative/Views/TextViewManager.cpp +2 -2
- package/Microsoft.ReactNative/Views/TouchEventHandler.cpp +163 -37
- package/Microsoft.ReactNative/Views/TouchEventHandler.h +11 -4
- package/Microsoft.ReactNative/Views/ViewPanel.cpp +3 -23
- package/Microsoft.ReactNative/Views/ViewPanel.h +2 -3
- package/Microsoft.ReactNative/Views/ViewViewManager.cpp +21 -0
- package/Microsoft.ReactNative/XamlUIService.cpp +1 -1
- package/Microsoft.ReactNative/XamlView.h +8 -3
- package/Microsoft.ReactNative.Cxx/CppWinRTIncludes.h +3 -5
- package/Microsoft.ReactNative.Cxx/DesktopWindowBridge.h +1 -1
- package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.cpp +11 -2
- package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.h +1 -0
- package/Microsoft.ReactNative.Cxx/JSI/NodeApiJsiRuntime.cpp +10 -1
- package/Microsoft.ReactNative.Cxx/JSValueReader.h +2 -2
- package/Microsoft.ReactNative.Cxx/JSValueWriter.h +5 -5
- package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +5 -1
- package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems.filters +2 -3
- package/Microsoft.ReactNative.Cxx/NativeModules.h +1 -1
- package/Microsoft.ReactNative.Cxx/ReactContext.h +3 -3
- package/Microsoft.ReactNative.Cxx/ReactNonAbiValue.h +3 -3
- package/Microsoft.ReactNative.Cxx/XamlUtils.h +44 -5
- package/Microsoft.ReactNative.Managed/Microsoft.ReactNative.Managed.csproj +0 -6
- package/Mso/activeObject/activeObject.h +2 -2
- package/Mso/compilerAdapters/cppMacros.h +3 -5
- package/Mso/errorCode/errorProvider.h +2 -2
- package/Mso/errorCode/maybe.h +4 -4
- package/Mso/functional/functor.h +6 -6
- package/Mso/functional/functorRef.h +2 -2
- package/Mso/future/details/executor.h +2 -2
- package/Mso/future/details/futureFuncInl.h +4 -4
- package/Mso/future/details/ifuture.h +3 -3
- package/Mso/future/details/maybeInvoker.h +6 -6
- package/Mso/future/details/promiseGroupInl.h +4 -4
- package/Mso/future/details/promiseInl.h +4 -4
- package/Mso/future/details/resultTraits.h +4 -4
- package/Mso/future/details/whenAllInl.h +1 -1
- package/Mso/future/future.h +13 -13
- package/Mso/guid/msoGuidDetails.h +1 -1
- package/Mso/memoryApi/memoryApi.h +13 -7
- package/Mso/motifCpp/gTestAdapter.h +1 -1
- package/Mso/motifCpp/testInfo.h +7 -9
- package/Mso/object/make.h +8 -8
- package/Mso/object/objectRefCount.h +3 -5
- package/Mso/object/objectWithWeakRef.h +10 -14
- package/Mso/object/queryCast.h +4 -4
- package/Mso/object/refCountedObject.h +4 -4
- package/Mso/object/unknownObject.h +7 -7
- package/Mso/platformAdapters/windowsFirst.h +1 -1
- package/Mso/smartPtr/cntPtr.h +8 -8
- package/Mso/src/dispatchQueue/uiScheduler_winrt.cpp +2 -2
- package/Mso/src/future/futureImpl.h +1 -1
- package/Mso/src/memoryApi/memoryApi.cpp +4 -4
- package/PropertySheets/CppAppConsumeCSharpModule.props +3 -0
- package/PropertySheets/External/Microsoft.ReactNative.WinAppSDK.CSharpApp.props +26 -0
- package/PropertySheets/External/Microsoft.ReactNative.WinAppSDK.Common.props +12 -0
- package/PropertySheets/Generated/PackageVersion.g.props +3 -3
- package/PropertySheets/React.Cpp.props +13 -0
- package/PropertySheets/WinUI.props +3 -6
- package/ReactCommon/ReactCommon.vcxproj +2 -4
- package/ReactCommon/ReactCommon.vcxproj.filters +4 -1
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/JSCRuntime.cpp +1480 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/decorator.h +753 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/jsi.h +1331 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +1431 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/CallbackWrapper.h +103 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModule.h +87 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +61 -0
- package/ReactCommon/Yoga.cpp +1 -1
- package/Scripts/{Microsoft.ReactNative.ProjectReunion.nuspec → Microsoft.ReactNative.WindowsAppSDK.nuspec} +7 -9
- package/Scripts/OfficeReact.Win32.nuspec +1 -3
- package/Scripts/Tfs/Layout-MSRN-Headers.ps1 +2 -1
- package/Scripts/copyRNLibraries.js +8 -8
- package/Scripts/just.js +1 -1
- package/Scripts/rnw-dependencies.ps1 +41 -10
- package/Scripts/run-desktop-integration-tests.js +6 -6
- package/Shared/AbiSafe.h +3 -3
- package/Shared/BaseScriptStoreImpl.cpp +1 -1
- package/Shared/CppRuntimeOptions.h +50 -0
- package/Shared/DevSupportManager.cpp +32 -36
- package/Shared/DevSupportManager.h +1 -2
- package/Shared/HermesRuntimeHolder.cpp +23 -14
- package/Shared/HermesRuntimeHolder.h +8 -2
- package/Shared/IDevSupportManager.h +1 -2
- package/Shared/InspectorPackagerConnection.cpp +7 -5
- package/Shared/InspectorPackagerConnection.h +2 -2
- package/Shared/JSI/ChakraApi.cpp +0 -1
- package/Shared/JSI/ChakraRuntime.cpp +1 -2
- package/Shared/JSI/RuntimeHolder.h +2 -0
- package/Shared/Modules/HttpModule.cpp +1 -1
- package/Shared/Modules/HttpModule.h +2 -2
- package/Shared/Modules/WebSocketModule.cpp +1 -1
- package/Shared/Modules/WebSocketModule.h +8 -5
- package/Shared/{IHttpResource.h → Networking/IHttpResource.h} +4 -4
- package/Shared/{IWebSocketResource.h → Networking/IWebSocketResource.h} +2 -2
- package/Shared/Networking/OriginPolicy.h +15 -0
- package/Shared/Networking/OriginPolicyHttpFilter.cpp +746 -0
- package/Shared/Networking/OriginPolicyHttpFilter.h +112 -0
- package/Shared/{WinRTHttpResource.cpp → Networking/WinRTHttpResource.cpp} +129 -99
- package/Shared/{WinRTHttpResource.h → Networking/WinRTHttpResource.h} +8 -12
- package/Shared/Networking/WinRTTypes.h +30 -0
- package/Shared/{WinRTWebSocketResource.cpp → Networking/WinRTWebSocketResource.cpp} +2 -2
- package/Shared/{WinRTWebSocketResource.h → Networking/WinRTWebSocketResource.h} +3 -3
- package/Shared/OInstance.cpp +5 -5
- package/Shared/RuntimeOptions.cpp +93 -15
- package/Shared/RuntimeOptions.h +22 -9
- package/Shared/Shared.vcxitems +122 -7
- package/Shared/Shared.vcxitems.filters +40 -21
- package/Shared/Threading/BatchingQueueThread.cpp +1 -1
- package/Shared/tracing/fbsystrace.h +2 -2
- package/codegen/NativeActionSheetManagerSpec.g.h +6 -0
- package/codegen/NativeAnimatedModuleSpec.g.h +43 -37
- package/codegen/NativeAnimatedTurboModuleSpec.g.h +43 -37
- package/codegen/NativePushNotificationManagerIOSSpec.g.h +2 -0
- package/codegen/react/components/rnwcore/ComponentDescriptors.h +0 -1
- package/codegen/react/components/rnwcore/EventEmitters.cpp +133 -0
- package/codegen/react/components/rnwcore/EventEmitters.h +0 -18
- package/codegen/react/components/rnwcore/Props.cpp +0 -13
- package/codegen/react/components/rnwcore/Props.h +0 -16
- package/codegen/react/components/rnwcore/ShadowNodes.cpp +0 -1
- package/codegen/react/components/rnwcore/ShadowNodes.h +0 -10
- package/include/Shared/cdebug.h +9 -9
- package/index.js +30 -25
- package/index.windows.js +30 -25
- package/jest/preprocessor.js +24 -107
- package/jest/preprocessor_DO_NOT_USE.js +122 -0
- package/metro.config.js +3 -70
- package/package.json +29 -28
- package/react-native.config.js +40 -6
- package/rntypes/index.d.ts +19 -7
- package/stubs/glog/logging.h +1 -1
- package/template/cpp-app/src/App.h +0 -4
- package/template/cs-app/src/App.xaml.cs +0 -5
- package/template/cs-app/src/MainPage.xaml.cs +1 -10
- package/template/cs-app-WinAppSDK/MyApp/App.xaml +16 -0
- package/template/cs-app-WinAppSDK/MyApp/App.xaml.cs +70 -0
- package/template/cs-app-WinAppSDK/MyApp/MainWindow.xaml +14 -0
- package/template/cs-app-WinAppSDK/MyApp/MainWindow.xaml.cs +38 -0
- package/template/cs-app-WinAppSDK/MyApp/Package.appxmanifest +48 -0
- package/template/cs-app-WinAppSDK/MyApp/Properties/PublishProfiles/win10-arm64.pubxml +19 -0
- package/template/cs-app-WinAppSDK/MyApp/Properties/PublishProfiles/win10-x64.pubxml +19 -0
- package/template/cs-app-WinAppSDK/MyApp/Properties/PublishProfiles/win10-x86.pubxml +19 -0
- package/template/cs-app-WinAppSDK/MyApp/Properties/launchSettings.json +10 -0
- package/template/cs-app-WinAppSDK/MyApp/app.manifest +15 -0
- package/template/cs-app-WinAppSDK/proj/ExperimentalFeatures.props +23 -0
- package/template/cs-app-WinAppSDK/proj/MyApp.csproj +49 -0
- package/template/cs-app-WinAppSDK/proj/MyApp.sln +43 -0
- package/template/cs-app-WinAppSDK/proj/NuGet.Config +17 -0
- package/template/metro.devMode.config.js +2 -51
- package/typings-index.js +5 -1
- package/typings-index.js.map +1 -1
- package/Libraries/Components/SegmentedControlIOS/RCTSegmentedControlNativeComponent.js +0 -44
- package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.android.js +0 -45
- package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.ios.js +0 -123
- package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.windows.js +0 -45
- package/Libraries/Components/View/ReactNativeViewViewConfig.js +0 -360
- package/Libraries/Components/View/ReactNativeViewViewConfig.windows.js +0 -390
- package/Libraries/Components/View/ReactNativeViewViewConfigAndroid.js +0 -83
- package/Libraries/ReactNative/UIManagerInjection.js +0 -15
- package/Libraries/Renderer/implementations/ReactFabric-dev.fb.js +0 -24527
- package/Libraries/Renderer/implementations/ReactFabric-prod.fb.js +0 -8309
- package/Libraries/Renderer/implementations/ReactFabric-profiling.fb.js +0 -8961
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.fb.js +0 -24948
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.fb.js +0 -8400
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.fb.js +0 -9049
- package/PropertySheets/CppEnablePackageReferences.props +0 -13
- package/Shared/cdebug.cpp +0 -6
- package/include/Shared/ViewManager.h +0 -34
|
@@ -0,0 +1,103 @@
|
|
|
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
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <jsi/jsi.h>
|
|
11
|
+
#include <LongLivedObject.h>
|
|
12
|
+
|
|
13
|
+
#include <memory>
|
|
14
|
+
|
|
15
|
+
namespace facebook {
|
|
16
|
+
namespace react {
|
|
17
|
+
|
|
18
|
+
// Helper for passing jsi::Function arg to other methods.
|
|
19
|
+
class CallbackWrapper : public LongLivedObject {
|
|
20
|
+
private:
|
|
21
|
+
CallbackWrapper(
|
|
22
|
+
jsi::Function &&callback,
|
|
23
|
+
jsi::Runtime &runtime,
|
|
24
|
+
std::shared_ptr<CallInvoker> jsInvoker)
|
|
25
|
+
: longLivedObjectCollection_(),
|
|
26
|
+
callback_(std::move(callback)),
|
|
27
|
+
runtime_(runtime),
|
|
28
|
+
jsInvoker_(std::move(jsInvoker)) {}
|
|
29
|
+
|
|
30
|
+
CallbackWrapper(
|
|
31
|
+
std::shared_ptr<LongLivedObjectCollection> longLivedObjectCollection,
|
|
32
|
+
jsi::Function &&callback,
|
|
33
|
+
jsi::Runtime &runtime,
|
|
34
|
+
std::shared_ptr<CallInvoker> jsInvoker)
|
|
35
|
+
: longLivedObjectCollection_(longLivedObjectCollection),
|
|
36
|
+
callback_(std::move(callback)),
|
|
37
|
+
runtime_(runtime),
|
|
38
|
+
jsInvoker_(std::move(jsInvoker)) {}
|
|
39
|
+
|
|
40
|
+
// Use a weak_ptr to avoid a retain cycle: LongLivedObjectCollection owns all
|
|
41
|
+
// CallbackWrappers. So, CallbackWrapper cannot own its
|
|
42
|
+
// LongLivedObjectCollection.
|
|
43
|
+
std::weak_ptr<LongLivedObjectCollection> longLivedObjectCollection_;
|
|
44
|
+
jsi::Function callback_;
|
|
45
|
+
jsi::Runtime &runtime_;
|
|
46
|
+
std::shared_ptr<CallInvoker> jsInvoker_;
|
|
47
|
+
|
|
48
|
+
public:
|
|
49
|
+
static std::weak_ptr<CallbackWrapper> createWeak(
|
|
50
|
+
jsi::Function &&callback,
|
|
51
|
+
jsi::Runtime &runtime,
|
|
52
|
+
std::shared_ptr<CallInvoker> jsInvoker) {
|
|
53
|
+
auto wrapper = std::shared_ptr<CallbackWrapper>(
|
|
54
|
+
new CallbackWrapper(std::move(callback), runtime, jsInvoker));
|
|
55
|
+
LongLivedObjectCollection::get().add(wrapper);
|
|
56
|
+
return wrapper;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
static std::weak_ptr<CallbackWrapper> createWeak(
|
|
60
|
+
std::shared_ptr<LongLivedObjectCollection> longLivedObjectCollection,
|
|
61
|
+
jsi::Function &&callback,
|
|
62
|
+
jsi::Runtime &runtime,
|
|
63
|
+
std::shared_ptr<CallInvoker> jsInvoker) {
|
|
64
|
+
auto wrapper = std::shared_ptr<CallbackWrapper>(new CallbackWrapper(
|
|
65
|
+
longLivedObjectCollection, std::move(callback), runtime, jsInvoker));
|
|
66
|
+
longLivedObjectCollection->add(wrapper);
|
|
67
|
+
return wrapper;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// Delete the enclosed jsi::Function
|
|
71
|
+
void destroy() {
|
|
72
|
+
allowRelease();
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
jsi::Function &callback() {
|
|
76
|
+
return callback_;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
jsi::Runtime &runtime() {
|
|
80
|
+
return runtime_;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
CallInvoker &jsInvoker() {
|
|
84
|
+
return *(jsInvoker_);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
std::shared_ptr<CallInvoker> jsInvokerPtr() {
|
|
88
|
+
return jsInvoker_;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
void allowRelease() override {
|
|
92
|
+
if (auto longLivedObjectCollection = longLivedObjectCollection_.lock()) {
|
|
93
|
+
if (longLivedObjectCollection != nullptr) {
|
|
94
|
+
longLivedObjectCollection->remove(this);
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
LongLivedObject::allowRelease();
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
} // namespace react
|
|
103
|
+
} // namespace facebook
|
package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModule.h
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
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
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <string>
|
|
11
|
+
#include <unordered_map>
|
|
12
|
+
|
|
13
|
+
#include <jsi/jsi.h>
|
|
14
|
+
|
|
15
|
+
#include <ReactCommon/CallInvoker.h>
|
|
16
|
+
|
|
17
|
+
namespace facebook {
|
|
18
|
+
namespace react {
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* For now, support the same set of return types as existing impl.
|
|
22
|
+
* This can be improved to support richer typed objects.
|
|
23
|
+
*/
|
|
24
|
+
enum TurboModuleMethodValueKind {
|
|
25
|
+
VoidKind,
|
|
26
|
+
BooleanKind,
|
|
27
|
+
NumberKind,
|
|
28
|
+
StringKind,
|
|
29
|
+
ObjectKind,
|
|
30
|
+
ArrayKind,
|
|
31
|
+
FunctionKind,
|
|
32
|
+
PromiseKind,
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Base HostObject class for every module to be exposed to JS
|
|
37
|
+
*/
|
|
38
|
+
class JSI_EXPORT TurboModule : public facebook::jsi::HostObject {
|
|
39
|
+
public:
|
|
40
|
+
TurboModule(const std::string &name, std::shared_ptr<CallInvoker> jsInvoker);
|
|
41
|
+
|
|
42
|
+
virtual facebook::jsi::Value get(
|
|
43
|
+
facebook::jsi::Runtime &runtime,
|
|
44
|
+
const facebook::jsi::PropNameID &propName) override {
|
|
45
|
+
std::string propNameUtf8 = propName.utf8(runtime);
|
|
46
|
+
auto p = methodMap_.find(propNameUtf8);
|
|
47
|
+
if (p == methodMap_.end()) {
|
|
48
|
+
// Method was not found, let JS decide what to do.
|
|
49
|
+
return jsi::Value::undefined();
|
|
50
|
+
}
|
|
51
|
+
MethodMetadata meta = p->second;
|
|
52
|
+
return jsi::Function::createFromHostFunction(
|
|
53
|
+
runtime,
|
|
54
|
+
propName,
|
|
55
|
+
static_cast<unsigned int>(meta.argCount),
|
|
56
|
+
[this, meta](
|
|
57
|
+
facebook::jsi::Runtime &rt,
|
|
58
|
+
const facebook::jsi::Value &,
|
|
59
|
+
const facebook::jsi::Value *args,
|
|
60
|
+
size_t count) { return meta.invoker(rt, *this, args, count); });
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
const std::string name_;
|
|
64
|
+
std::shared_ptr<CallInvoker> jsInvoker_;
|
|
65
|
+
|
|
66
|
+
protected:
|
|
67
|
+
struct MethodMetadata {
|
|
68
|
+
size_t argCount;
|
|
69
|
+
facebook::jsi::Value (*invoker)(
|
|
70
|
+
facebook::jsi::Runtime &rt,
|
|
71
|
+
TurboModule &turboModule,
|
|
72
|
+
const facebook::jsi::Value *args,
|
|
73
|
+
size_t count);
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
std::unordered_map<std::string, MethodMetadata> methodMap_;
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* An app/platform-specific provider function to get an instance of a module
|
|
81
|
+
* given a name.
|
|
82
|
+
*/
|
|
83
|
+
using TurboModuleProviderFunctionType =
|
|
84
|
+
std::function<std::shared_ptr<TurboModule>(const std::string &name)>;
|
|
85
|
+
|
|
86
|
+
} // namespace react
|
|
87
|
+
} // namespace facebook
|
|
@@ -0,0 +1,61 @@
|
|
|
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
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <cassert>
|
|
11
|
+
#include <string>
|
|
12
|
+
|
|
13
|
+
#include <jsi/jsi.h>
|
|
14
|
+
|
|
15
|
+
#include <ReactCommon/CallInvoker.h>
|
|
16
|
+
#include <CallbackWrapper.h>
|
|
17
|
+
#include <LongLivedObject.h>
|
|
18
|
+
|
|
19
|
+
namespace facebook {
|
|
20
|
+
namespace react {
|
|
21
|
+
|
|
22
|
+
jsi::Object deepCopyJSIObject(jsi::Runtime &rt, const jsi::Object &obj);
|
|
23
|
+
jsi::Array deepCopyJSIArray(jsi::Runtime &rt, const jsi::Array &arr);
|
|
24
|
+
|
|
25
|
+
struct Promise : public LongLivedObject {
|
|
26
|
+
Promise(jsi::Runtime &rt, jsi::Function resolve, jsi::Function reject);
|
|
27
|
+
|
|
28
|
+
void resolve(const jsi::Value &result);
|
|
29
|
+
void reject(const std::string &error);
|
|
30
|
+
|
|
31
|
+
jsi::Runtime &runtime_;
|
|
32
|
+
jsi::Function resolve_;
|
|
33
|
+
jsi::Function reject_;
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
using PromiseSetupFunctionType =
|
|
37
|
+
std::function<void(jsi::Runtime &rt, std::shared_ptr<Promise>)>;
|
|
38
|
+
jsi::Value createPromiseAsJSIValue(
|
|
39
|
+
jsi::Runtime &rt,
|
|
40
|
+
const PromiseSetupFunctionType func);
|
|
41
|
+
|
|
42
|
+
class RAIICallbackWrapperDestroyer {
|
|
43
|
+
public:
|
|
44
|
+
RAIICallbackWrapperDestroyer(std::weak_ptr<CallbackWrapper> callbackWrapper)
|
|
45
|
+
: callbackWrapper_(callbackWrapper) {}
|
|
46
|
+
|
|
47
|
+
~RAIICallbackWrapperDestroyer() {
|
|
48
|
+
auto strongWrapper = callbackWrapper_.lock();
|
|
49
|
+
if (!strongWrapper) {
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
strongWrapper->destroy();
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
private:
|
|
57
|
+
std::weak_ptr<CallbackWrapper> callbackWrapper_;
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
} // namespace react
|
|
61
|
+
} // namespace facebook
|
package/ReactCommon/Yoga.cpp
CHANGED
|
@@ -2229,7 +2229,7 @@ static float YGDistributeFreeSpaceSecondPass(
|
|
|
2229
2229
|
depth,
|
|
2230
2230
|
generationCount);
|
|
2231
2231
|
node->setLayoutHadOverflow(
|
|
2232
|
-
node->getLayout().hadOverflow()
|
|
2232
|
+
node->getLayout().hadOverflow() ||
|
|
2233
2233
|
currentRelativeChild->getLayout().hadOverflow());
|
|
2234
2234
|
}
|
|
2235
2235
|
return deltaFreeSpace;
|
|
@@ -1,18 +1,16 @@
|
|
|
1
1
|
<?xml version="1.0" encoding="utf-8"?>
|
|
2
2
|
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
|
|
3
3
|
<metadata>
|
|
4
|
-
<id
|
|
4
|
+
<id>$id$</id>
|
|
5
|
+
<version>$version$</version>
|
|
6
|
+
<description>React Native for Windows for Windows App SDK apps</description>
|
|
7
|
+
<authors>Microsoft</authors>
|
|
5
8
|
<projectUrl>https://github.com/microsoft/react-native-windows</projectUrl>
|
|
6
9
|
<requireLicenseAcceptance>true</requireLicenseAcceptance>
|
|
7
10
|
<license type="expression">MIT</license>
|
|
8
11
|
<copyright>© Microsoft Corporation. All rights reserved.</copyright>
|
|
9
|
-
<repository type="git"
|
|
10
|
-
|
|
11
|
-
commit="$CommitId$" />
|
|
12
|
-
<tags>react react-native react-native-windows microsoft c c++ cpp c# csharp reunion projectreunion</tags>
|
|
13
|
-
<version>$version$</version>
|
|
14
|
-
<authors>Microsoft</authors>
|
|
15
|
-
<description>React Native for Windows for Project Reunion apps</description>
|
|
12
|
+
<repository type="git" url="https://github.com/microsoft/react-native-windows.git" commit="$CommitId$" />
|
|
13
|
+
<tags>react react-native react-native-windows microsoft c c++ cpp c# csharp WindowsAppSDK</tags>
|
|
16
14
|
<dependencies>
|
|
17
15
|
<group targetFramework=".NETCoreApp3.0" />
|
|
18
16
|
<group targetFramework="UAP10.0" />
|
|
@@ -27,6 +25,6 @@
|
|
|
27
25
|
<file src="$nugetroot$\$baseplatform$\$baseconfiguration$\Microsoft.ReactNative\Microsoft.ReactNative.winmd" target="lib\uap10.0\Microsoft.ReactNative.winmd" />
|
|
28
26
|
<file src="$nugetroot$\$baseplatform$\$baseconfiguration$\Microsoft.ReactNative\Microsoft.ReactNative.winmd" target="lib\net46\Microsoft.ReactNative.winmd" />
|
|
29
27
|
<file src="$nugetroot$\$baseplatform$\$baseconfiguration$\Microsoft.ReactNative\Microsoft.ReactNative.dll" target="runtimes\win10-x64\native\Microsoft.ReactNative.dll" />
|
|
30
|
-
<file src="$nugetroot$\$baseplatform$\$baseconfiguration$\Microsoft.ReactNative.
|
|
28
|
+
<file src="$nugetroot$\$baseplatform$\$baseconfiguration$\Microsoft.ReactNative.WindowsAppSDK\Microsoft.ReactNative.WindowsAppSDK.dll" target="lib\net5.0\Microsoft.ReactNative.WindowsAppSDK.dll" />
|
|
31
29
|
</files>
|
|
32
30
|
</package>
|
|
@@ -49,17 +49,15 @@
|
|
|
49
49
|
<file src="$nugetroot$\inc\Shared\InstanceManager.h" target="inc"/>
|
|
50
50
|
<file src="$nugetroot$\inc\Shared\IReactRootView.h" target="inc"/>
|
|
51
51
|
<file src="$nugetroot$\inc\Shared\IRedBoxHandler.h" target="inc"/>
|
|
52
|
-
<file src="$nugetroot$\inc\Shared\IWebSocketResource.h" target="inc"/>
|
|
53
52
|
<file src="$nugetroot$\inc\Shared\JSBigAbiString.h" target="inc"/>
|
|
54
53
|
<file src="$nugetroot$\inc\Shared\LayoutAnimation.h" target="inc"/>
|
|
55
54
|
<file src="$nugetroot$\inc\Shared\Logging.h" target="inc"/>
|
|
56
55
|
<file src="$nugetroot$\inc\Shared\MemoryMappedBuffer.h" target="inc"/>
|
|
57
56
|
<file src="$nugetroot$\inc\Shared\Modules\I18nModule.h" target="inc"/>
|
|
58
57
|
<file src="$nugetroot$\inc\Shared\NativeModuleProvider.h" target="inc"/>
|
|
58
|
+
<file src="$nugetroot$\inc\Shared\Networking\IWebSocketResource.h" target="inc"/>
|
|
59
59
|
<file src="$nugetroot$\inc\Shared\RuntimeOptions.h" target="inc"/>
|
|
60
|
-
<file src="$nugetroot$\inc\ReactWin32\ShadowNode.h" target="inc"/>
|
|
61
60
|
<file src="$nugetroot$\inc\Shared\Tracing.h" target="inc"/>
|
|
62
|
-
<file src="$nugetroot$\inc\include\Shared\ViewManager.h" target="inc"/>
|
|
63
61
|
|
|
64
62
|
<!-- Test DLL -->
|
|
65
63
|
<file src="$nugetroot$\inc\Test\WebSocketServer.h" target="inc\Test" />
|
|
@@ -38,7 +38,8 @@ Copy-Item -Force -Path $ReactNativeRoot\ReactCommon\jsi\jsi\threadsafe.h -Destin
|
|
|
38
38
|
# Microsoft.ReactNative.CXX project TurboModule files
|
|
39
39
|
New-Item -ItemType Directory -Path $TargetRoot\Microsoft.ReactNative.Cxx\ReactCommon
|
|
40
40
|
Copy-Item -Force -Path $ReactNativeRoot\ReactCommon\callinvoker\ReactCommon\CallInvoker.h -Destination $TargetRoot\Microsoft.ReactNative.Cxx\ReactCommon\
|
|
41
|
-
Copy-Item -Force -Path $ReactNativeRoot\ReactCommon\react\
|
|
41
|
+
Copy-Item -Force -Path $ReactNativeRoot\ReactCommon\react\bridging\LongLivedObject.cpp -Destination $TargetRoot\Microsoft.ReactNative.Cxx\ReactCommon\
|
|
42
|
+
Copy-Item -Force -Path $ReactNativeRoot\ReactCommon\react\bridging\CallbackWrapper.h -Destination $TargetRoot\Microsoft.ReactNative.Cxx\ReactCommon\
|
|
42
43
|
Copy-Item -Force -Path $ReactNativeRoot\ReactCommon\react\nativemodule\core\ReactCommon\LongLivedObject.h -Destination $TargetRoot\Microsoft.ReactNative.Cxx\ReactCommon\
|
|
43
44
|
Copy-Item -Force -Path $ReactNativeRoot\ReactCommon\react\nativemodule\core\ReactCommon\TurboModule.cpp -Destination $TargetRoot\Microsoft.ReactNative.Cxx\ReactCommon\
|
|
44
45
|
Copy-Item -Force -Path $ReactNativeRoot\ReactCommon\react\nativemodule\core\ReactCommon\TurboModule.h -Destination $TargetRoot\Microsoft.ReactNative.Cxx\ReactCommon\
|
|
@@ -18,13 +18,13 @@ const rnTypesDir = path.dirname(
|
|
|
18
18
|
require.resolve('@types/react-native/package.json'),
|
|
19
19
|
);
|
|
20
20
|
|
|
21
|
-
exports.copyTask =
|
|
22
|
-
const reactNative = (...files) => files.map(
|
|
21
|
+
exports.copyTask = baseDir => {
|
|
22
|
+
const reactNative = (...files) => files.map(f => path.join(rnDir, f));
|
|
23
23
|
const reactNativeTypes = (...files) =>
|
|
24
|
-
files.map(
|
|
25
|
-
const reactCopies = (...files) => files.map(
|
|
26
|
-
const src = (...files) => files.map(
|
|
27
|
-
const base =
|
|
24
|
+
files.map(f => path.join(rnTypesDir, f));
|
|
25
|
+
const reactCopies = (...files) => files.map(f => path.join(rnCopiesDir, f));
|
|
26
|
+
const src = (...files) => files.map(f => path.join(baseDir, 'src', f));
|
|
27
|
+
const base = file => path.join(baseDir, file);
|
|
28
28
|
|
|
29
29
|
return series(
|
|
30
30
|
exports.cleanTask(baseDir),
|
|
@@ -65,8 +65,8 @@ exports.copyTask = (baseDir) => {
|
|
|
65
65
|
);
|
|
66
66
|
};
|
|
67
67
|
|
|
68
|
-
exports.cleanTask =
|
|
69
|
-
const base =
|
|
68
|
+
exports.cleanTask = baseDir => {
|
|
69
|
+
const base = file => path.join(baseDir, file);
|
|
70
70
|
|
|
71
71
|
return cleanTask({
|
|
72
72
|
paths: [
|
package/Scripts/just.js
CHANGED
|
@@ -72,6 +72,9 @@ $vsWorkloads = @('Microsoft.VisualStudio.Workload.ManagedDesktop',
|
|
|
72
72
|
'Microsoft.VisualStudio.Workload.NativeDesktop',
|
|
73
73
|
'Microsoft.VisualStudio.Workload.Universal');
|
|
74
74
|
|
|
75
|
+
# The minimum VS version to check for
|
|
76
|
+
$vsver = "16.5"
|
|
77
|
+
|
|
75
78
|
$v = [System.Environment]::OSVersion.Version;
|
|
76
79
|
if ($env:Agent_BuildDirectory) {
|
|
77
80
|
$drive = (Resolve-Path $env:Agent_BuildDirectory).Drive
|
|
@@ -88,17 +91,25 @@ function CheckVS {
|
|
|
88
91
|
if (!(Test-Path $vsWhere)) {
|
|
89
92
|
return $false;
|
|
90
93
|
}
|
|
91
|
-
$output = & $vsWhere -version 16.5 -requires $vsComponents -property productPath
|
|
92
94
|
|
|
93
|
-
|
|
95
|
+
[String[]]$output = & $vsWhere -version $vsver -requires $vsComponents -property productPath
|
|
96
|
+
|
|
97
|
+
if (($output.Count -eq 0) -or (!(Test-Path $output[0]))) {
|
|
98
|
+
Write-Debug "No Retail versions of Visual Studio found, trying pre-release..."
|
|
99
|
+
[String[]]$output = & $vsWhere -version $vsver -requires $vsComponents -property productPath -prerelease
|
|
100
|
+
}
|
|
101
|
+
if ($output.Count -gt 1) {
|
|
102
|
+
Write-Debug "More than one version of Visual Studio found, using the first one at $($output[0])"
|
|
103
|
+
}
|
|
104
|
+
return ($output.Count -ne 0) -and (Test-Path $output[0]);
|
|
94
105
|
}
|
|
95
106
|
|
|
96
107
|
function InstallVS {
|
|
97
108
|
$installerPath = "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer";
|
|
98
109
|
$vsWhere = "$installerPath\vswhere.exe"
|
|
99
110
|
if (Test-Path $vsWhere) {
|
|
100
|
-
$channelId = & $vsWhere -version
|
|
101
|
-
$productId = & $vsWhere -version
|
|
111
|
+
$channelId = & $vsWhere -version $vsver -property channelId
|
|
112
|
+
$productId = & $vsWhere -version $vsver -property productId
|
|
102
113
|
}
|
|
103
114
|
|
|
104
115
|
if (!(Test-Path $vsWhere) -or ($channelId -eq $null) -or ($productId -eq $null)) {
|
|
@@ -109,8 +120,8 @@ function InstallVS {
|
|
|
109
120
|
} else {
|
|
110
121
|
& choco install -y visualstudio2019community
|
|
111
122
|
}
|
|
112
|
-
$channelId = & $vsWhere -version
|
|
113
|
-
$productId = & $vsWhere -version
|
|
123
|
+
$channelId = & $vsWhere -version $vsver -property channelId
|
|
124
|
+
$productId = & $vsWhere -version $vsver -property productId
|
|
114
125
|
}
|
|
115
126
|
|
|
116
127
|
$vsInstaller = "$installerPath\vs_installer.exe"
|
|
@@ -170,8 +181,17 @@ function CheckCppWinRT_VSIX {
|
|
|
170
181
|
if (!(Test-Path $vsWhere)) {
|
|
171
182
|
return $false;
|
|
172
183
|
}
|
|
173
|
-
$vsPath = & $vsWhere -version
|
|
174
|
-
|
|
184
|
+
[String[]]$vsPath = & $vsWhere -version $vsver -property installationPath;
|
|
185
|
+
|
|
186
|
+
if (($vsPath.Count -eq 0) -or (!(Test-Path $vsPath[0]))) {
|
|
187
|
+
Write-Debug "No Retail versions of Visual Studio found, trying pre-release..."
|
|
188
|
+
[String[]]$vsPath = & $vsWhere -version $vsver -property installationPath -prerelease
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
if ($vsPath.Count -gt 1) {
|
|
192
|
+
Write-Debug "More than one version of Visual Studio found, using the first one at $($vsPath[0])"
|
|
193
|
+
}
|
|
194
|
+
$natvis = Get-ChildItem "$($vsPath[0])\Common7\IDE\Extensions\cppwinrt.natvis" -Recurse;
|
|
175
195
|
return $null -ne $natvis;
|
|
176
196
|
} catch { return $false };
|
|
177
197
|
}
|
|
@@ -185,8 +205,19 @@ function InstallCppWinRT_VSIX {
|
|
|
185
205
|
if (!(Test-Path $vsWhere)) {
|
|
186
206
|
return $false;
|
|
187
207
|
}
|
|
188
|
-
$productPath = & $vsWhere -version
|
|
189
|
-
|
|
208
|
+
[String[]]$productPath = & $vsWhere -version $vsver -property productPath
|
|
209
|
+
|
|
210
|
+
if (($productPath.Count -eq 0) -or (!(Test-Path $productPath[0]))) {
|
|
211
|
+
Write-Debug "No Retail versions of Visual Studio found, trying pre-release..."
|
|
212
|
+
[String[]]$productPath = & $vsWhere -version $vsver -property productPath -prerelease
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
if ($productPath.Count -gt 1) {
|
|
216
|
+
Write-Debug "More than one version of Visual Studio found, using the first one at $($productPath[0])"
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
|
|
220
|
+
$VSIXInstaller_exe = Join-Path (Split-Path $productPath[0]) "VSIXInstaller.exe"
|
|
190
221
|
$process = Start-Process $VSIXInstaller_exe -PassThru -Wait -ArgumentList "/a /q $env:TEMP\Microsoft.Windows.CppWinRT.vsix"
|
|
191
222
|
$process.WaitForExit();
|
|
192
223
|
}
|
|
@@ -65,18 +65,18 @@ function launchMetroServer() {
|
|
|
65
65
|
{cwd: __dirname},
|
|
66
66
|
);
|
|
67
67
|
|
|
68
|
-
serverEntries.metroServer.stdout.on('data',
|
|
68
|
+
serverEntries.metroServer.stdout.on('data', chunk => {
|
|
69
69
|
console.log(chunk.toString());
|
|
70
70
|
if (chunk.toString().indexOf('Metro Bundler ready') >= 0) {
|
|
71
71
|
resolve();
|
|
72
72
|
}
|
|
73
73
|
});
|
|
74
|
-
serverEntries.metroServer.on('error',
|
|
74
|
+
serverEntries.metroServer.on('error', err => {
|
|
75
75
|
console.error('Metro process failed!' + err.toString());
|
|
76
76
|
reject(err);
|
|
77
77
|
});
|
|
78
78
|
|
|
79
|
-
serverEntries.metroServer.on('exit',
|
|
79
|
+
serverEntries.metroServer.on('exit', code => {
|
|
80
80
|
if (code !== 0) {
|
|
81
81
|
const err = `Metro process failed with error code: ${code}`;
|
|
82
82
|
console.error(err);
|
|
@@ -97,17 +97,17 @@ function launchWebsocketServer() {
|
|
|
97
97
|
{cwd: __dirname},
|
|
98
98
|
);
|
|
99
99
|
|
|
100
|
-
serverEntries.websocketServer.stdout.on('data',
|
|
100
|
+
serverEntries.websocketServer.stdout.on('data', chunk => {
|
|
101
101
|
console.log(chunk.toString());
|
|
102
102
|
if (chunk.toString().indexOf('WebSocket integration test server') >= 0) {
|
|
103
103
|
resolve();
|
|
104
104
|
}
|
|
105
105
|
});
|
|
106
|
-
serverEntries.websocketServer.on('error',
|
|
106
|
+
serverEntries.websocketServer.on('error', err => {
|
|
107
107
|
reject(err);
|
|
108
108
|
});
|
|
109
109
|
|
|
110
|
-
serverEntries.websocketServer.on('exit',
|
|
110
|
+
serverEntries.websocketServer.on('exit', code => {
|
|
111
111
|
if (code !== 0) {
|
|
112
112
|
const err = `Websocket test server process failed with error code: ${code}`;
|
|
113
113
|
console.error(err);
|
package/Shared/AbiSafe.h
CHANGED
|
@@ -72,7 +72,7 @@ struct IAbiFunctor; // Intentionally not implemented to allow the specialization
|
|
|
72
72
|
|
|
73
73
|
template <class TResult, class... TArgs>
|
|
74
74
|
struct IAbiFunctor<TResult(TArgs...)> : IAbiObject {
|
|
75
|
-
virtual TResult Invoke(TArgs &&...
|
|
75
|
+
virtual TResult Invoke(TArgs &&...args) noexcept = 0;
|
|
76
76
|
};
|
|
77
77
|
|
|
78
78
|
// IAbiFunctorThrow is a representation of a function object (functors)
|
|
@@ -83,7 +83,7 @@ struct IAbiFunctorThrow; // Intentionally not implemented to allow the
|
|
|
83
83
|
|
|
84
84
|
template <class TResult, class... TArgs>
|
|
85
85
|
struct IAbiFunctorThrow<TResult(TArgs...)> : IAbiObject {
|
|
86
|
-
virtual TResult Invoke(TArgs &&...
|
|
86
|
+
virtual TResult Invoke(TArgs &&...args) = 0;
|
|
87
87
|
};
|
|
88
88
|
|
|
89
89
|
// A base class to implement ABI safe types.
|
|
@@ -107,7 +107,7 @@ struct AbiObject : TAbiInterface {
|
|
|
107
107
|
|
|
108
108
|
// A helper method to create new instance of ABI safe object and return AbiPtr.
|
|
109
109
|
template <class T, class TResult = T, class... TArgs>
|
|
110
|
-
AbiPtr<TResult> AbiMake(TArgs &&...
|
|
110
|
+
AbiPtr<TResult> AbiMake(TArgs &&...args) {
|
|
111
111
|
return AbiPtr<TResult>{new T{std::forward<TArgs>(args)...}};
|
|
112
112
|
}
|
|
113
113
|
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
|
|
4
|
+
#pragma once
|
|
5
|
+
|
|
6
|
+
#include <string>
|
|
7
|
+
|
|
8
|
+
namespace Microsoft::React {
|
|
9
|
+
|
|
10
|
+
/// <summary>
|
|
11
|
+
/// Sets a global boolean value identified by an arbitrary string.
|
|
12
|
+
/// </summary>
|
|
13
|
+
/// <param name="name">Global key</param>
|
|
14
|
+
void __cdecl SetRuntimeOptionBool(std::string &&name, bool value) noexcept;
|
|
15
|
+
|
|
16
|
+
/// <summary>
|
|
17
|
+
/// Sets a global signed integer value identified by an arbitrary string.
|
|
18
|
+
/// </summary>
|
|
19
|
+
/// <param name="name">Global boolean key</param>
|
|
20
|
+
void __cdecl SetRuntimeOptionInt(std::string &&name, std::int32_t value) noexcept;
|
|
21
|
+
|
|
22
|
+
/// <summary>
|
|
23
|
+
/// Sets a global string value identified by an arbitrary string.
|
|
24
|
+
/// </summary>
|
|
25
|
+
/// <param name="name">Global string key</param>
|
|
26
|
+
/// <param name="value">String value to store</param>
|
|
27
|
+
void __cdecl SetRuntimeOptionString(std::string &&name, std::string &&value) noexcept;
|
|
28
|
+
|
|
29
|
+
/// <summary>
|
|
30
|
+
/// Retrieves a global boolean value for the given key.
|
|
31
|
+
/// </summary>
|
|
32
|
+
/// <param name="name">Global boolean key</param>
|
|
33
|
+
/// <returns>Value stored for the given key, or false if the entry doesn't exist (default)</returns>
|
|
34
|
+
const bool __cdecl GetRuntimeOptionBool(const std::string &name) noexcept;
|
|
35
|
+
|
|
36
|
+
/// <summary>
|
|
37
|
+
/// Retrieves a global boolean value for the given key.
|
|
38
|
+
/// </summary>
|
|
39
|
+
/// <param name="name">Global key</param>
|
|
40
|
+
/// <returns>Value stored for the given key, or 0 if the entry doesn't exist (default)</returns>
|
|
41
|
+
const std::int32_t __cdecl GetRuntimeOptionInt(const std::string &name) noexcept;
|
|
42
|
+
|
|
43
|
+
/// <summary>
|
|
44
|
+
/// Retrieves a global string value for the given key.
|
|
45
|
+
/// </summary>
|
|
46
|
+
/// <param name="name">Global key</param>
|
|
47
|
+
/// <returns>Value stored for the given key, or an empty string if the entry doesn't exist (default)</returns>
|
|
48
|
+
const std::string __cdecl GetRuntimeOptionString(const std::string &name) noexcept;
|
|
49
|
+
|
|
50
|
+
} // namespace Microsoft::React
|