react-native-tvos 0.83.9-0 → 0.83.10-0
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/Libraries/ActionSheetIOS/React-RCTActionSheet.podspec +1 -1
- package/Libraries/Animated/components/AnimatedScrollView.js +1 -1
- package/Libraries/AppDelegate/React-RCTAppDelegate.podspec +1 -1
- package/Libraries/Blob/React-RCTBlob.podspec +1 -1
- package/Libraries/Components/Button.js +2 -2
- package/Libraries/Components/ScrollView/ScrollView.d.ts +1 -1
- package/Libraries/Components/ScrollView/ScrollView.js +1 -1
- package/Libraries/Components/TV/TVViewPropTypes.js +9 -0
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +1 -1
- package/Libraries/Components/TextInput/TextInput.flow.js +1 -1
- package/Libraries/Components/Touchable/Touchable.d.ts +1 -1
- package/Libraries/Components/View/View.js +7 -3
- package/Libraries/Components/View/ViewAccessibility.d.ts +1 -1
- package/Libraries/Components/View/ViewAccessibility.js +1 -1
- package/Libraries/Core/ReactNativeVersion.js +1 -1
- package/Libraries/Core/Timers/JSTimers.js +1 -1
- package/Libraries/Core/setUpNavigator.js +1 -1
- package/Libraries/EventEmitter/RCTNativeAppEventEmitter.d.ts +1 -1
- package/Libraries/FBLazyVector/FBLazyVector.podspec +1 -1
- package/Libraries/Image/ImageSource.d.ts +1 -1
- package/Libraries/Image/RCTImageLoader.mm +1 -1
- package/Libraries/Image/React-RCTImage.podspec +1 -1
- package/Libraries/Interaction/PanResponder.js +1 -1
- package/Libraries/LinkingIOS/React-RCTLinking.podspec +1 -1
- package/Libraries/NativeAnimation/React-RCTAnimation.podspec +1 -1
- package/Libraries/NativeComponent/TVViewConfig.js +1 -0
- package/Libraries/Network/React-RCTNetwork.podspec +1 -1
- package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +1 -1
- package/Libraries/Renderer/README.md +2 -2
- package/Libraries/Required/RCTRequired.podspec +1 -1
- package/Libraries/Settings/React-RCTSettings.podspec +1 -1
- package/Libraries/Text/React-RCTText.podspec +1 -1
- package/Libraries/TypeSafety/RCTTypeSafety.podspec +1 -1
- package/Libraries/Utilities/PolyfillFunctions.js +1 -1
- package/Libraries/Vibration/React-RCTVibration.podspec +1 -1
- package/README-core.md +6 -6
- package/README.md +13 -1
- package/React/Base/RCTVersion.m +1 -1
- package/React/CoreModules/React-CoreModules.podspec +1 -1
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +49 -17
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +12 -1
- package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +34 -5
- package/React/React-RCTFBReactNativeSpec.podspec +1 -1
- package/React/React-RCTFabric.podspec +1 -1
- package/React/Runtime/React-RCTRuntime.podspec +1 -1
- package/React/Tests/Mounting/RCTViewComponentViewTests.mm +145 -0
- package/React/Views/ScrollView/RCTScrollView.m +1 -1
- package/React-Core.podspec +1 -1
- package/React.podspec +1 -1
- package/ReactAndroid/build.gradle.kts +1 -1
- package/ReactAndroid/gradle.properties +1 -1
- package/ReactAndroid/hermes-engine/build.gradle.kts +6 -0
- package/ReactAndroid/publish.gradle +5 -5
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.kt +99 -9
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkHelper.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactAndroidHWInputDeviceHelper.java +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.kt +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +14 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +14 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.kt +46 -6
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextSelectionWatcher.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.kt +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +5 -0
- package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnectionWebSocket.cpp +29 -2
- package/ReactApple/Libraries/RCTFoundation/RCTDeprecation/RCTDeprecation.podspec +1 -1
- package/ReactApple/RCTSwiftUI/RCTSwiftUI.podspec +1 -1
- package/ReactApple/RCTSwiftUIWrapper/RCTSwiftUIWrapper.podspec +1 -1
- package/ReactCommon/React-Fabric.podspec +1 -1
- package/ReactCommon/React-FabricComponents.podspec +1 -1
- package/ReactCommon/React-FabricImage.podspec +1 -1
- package/ReactCommon/React-Mapbuffer.podspec +1 -1
- package/ReactCommon/ReactCommon.podspec +1 -1
- package/ReactCommon/callinvoker/React-callinvoker.podspec +1 -1
- package/ReactCommon/cxxreact/React-cxxreact.podspec +1 -1
- package/ReactCommon/cxxreact/ReactNativeVersion.h +2 -2
- package/ReactCommon/hermes/React-hermes.podspec +1 -1
- package/ReactCommon/hermes/executor/React-jsitracing.podspec +1 -1
- package/ReactCommon/jserrorhandler/React-jserrorhandler.podspec +1 -1
- package/ReactCommon/jsi/React-jsi.podspec +1 -1
- package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +1 -1
- package/ReactCommon/jsinspector-modern/InspectorInterfaces.cpp +7 -3
- package/ReactCommon/jsinspector-modern/React-jsinspector.podspec +1 -1
- package/ReactCommon/jsinspector-modern/TracingAgent.cpp +1 -5
- package/ReactCommon/jsinspector-modern/cdp/React-jsinspectorcdp.podspec +1 -1
- package/ReactCommon/jsinspector-modern/network/React-jsinspectornetwork.podspec +1 -1
- package/ReactCommon/jsinspector-modern/tracing/React-jsinspectortracing.podspec +1 -1
- package/ReactCommon/jsitooling/React-jsitooling.podspec +1 -1
- package/ReactCommon/logger/React-logger.podspec +1 -1
- package/ReactCommon/oscompat/React-oscompat.podspec +1 -1
- package/ReactCommon/react/debug/React-debug.podspec +1 -1
- package/ReactCommon/react/debug/redbox/JscSafeUrl.h +1 -1
- package/ReactCommon/react/featureflags/React-featureflags.podspec +1 -1
- package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +1 -1
- package/ReactCommon/react/nativemodule/core/platform/ios/React-NativeModulesApple.podspec +1 -1
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.mm +1 -1
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +1 -1
- package/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +1 -1
- package/ReactCommon/react/nativemodule/dom/React-domnativemodule.podspec +1 -1
- package/ReactCommon/react/nativemodule/featureflags/React-featureflagsnativemodule.podspec +1 -1
- package/ReactCommon/react/nativemodule/idlecallbacks/React-idlecallbacksnativemodule.podspec +1 -1
- package/ReactCommon/react/nativemodule/intersectionobserver/React-intersectionobservernativemodule.podspec +1 -1
- package/ReactCommon/react/nativemodule/microtasks/React-microtasksnativemodule.podspec +1 -1
- package/ReactCommon/react/nativemodule/mutationobserver/React-mutationobservernativemodule.podspec +1 -1
- package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +1 -1
- package/ReactCommon/react/nativemodule/webperformance/React-webperformancenativemodule.podspec +1 -1
- package/ReactCommon/react/networking/React-networking.podspec +1 -1
- package/ReactCommon/react/performance/cdpmetrics/React-performancecdpmetrics.podspec +1 -1
- package/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +1 -1
- package/ReactCommon/react/renderer/animated/internal/primitives.h +1 -1
- package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +7 -0
- package/ReactCommon/react/renderer/components/view/BaseViewProps.h +1 -0
- package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +18 -0
- package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.h +1 -0
- package/ReactCommon/react/renderer/consistency/React-rendererconsistency.podspec +1 -1
- package/ReactCommon/react/renderer/css/React-renderercss.podspec +1 -1
- package/ReactCommon/react/renderer/debug/React-rendererdebug.podspec +1 -1
- package/ReactCommon/react/renderer/graphics/React-graphics.podspec +1 -1
- package/ReactCommon/react/renderer/imagemanager/platform/ios/React-ImageManager.podspec +1 -1
- package/ReactCommon/react/renderer/mounting/internal/CullingContext.cpp +1 -1
- package/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec +1 -1
- package/ReactCommon/react/runtime/React-RuntimeCore.podspec +1 -1
- package/ReactCommon/react/runtime/React-RuntimeHermes.podspec +1 -1
- package/ReactCommon/react/runtime/platform/ios/React-RuntimeApple.podspec +1 -1
- package/ReactCommon/react/timing/React-timing.podspec +1 -1
- package/ReactCommon/react/utils/React-utils.podspec +1 -1
- package/ReactCommon/reactperflogger/React-perflogger.podspec +1 -1
- package/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +1 -1
- package/ReactCommon/yoga/Yoga.podspec +2 -2
- package/ReactCommon/yoga/yoga/algorithm/AbsoluteLayout.cpp +2 -0
- package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +11 -7
- package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.h +2 -0
- package/ReactCommon/yoga/yoga/node/Node.cpp +6 -1
- package/package.json +9 -9
- package/scripts/cocoapods/rncore.rb +26 -8
- package/scripts/cocoapods/rndependencies.rb +26 -5
- package/scripts/cocoapods/spm.rb +1 -1
- package/scripts/cocoapods/utils.rb +2 -2
- package/scripts/codegen/templates/ReactAppDependencyProvider.podspec.template +1 -1
- package/scripts/codegen/templates/ReactCodegen.podspec.template +1 -1
- package/scripts/ios-configure-glog.sh +1 -1
- package/sdks/hermes-engine/hermes-engine.podspec +6 -1
- package/sdks/hermes-engine/hermes-utils.rb +27 -5
- package/src/private/types/HostInstance.js +1 -1
- package/src/types/globals.d.ts +2 -2
- package/third-party-podspecs/RCT-Folly.podspec +1 -1
- package/third-party-podspecs/ReactNativeDependencies.podspec +1 -1
- package/third-party-podspecs/glog.podspec +1 -1
- package/types/public/ReactNativeTVTypes.d.ts +9 -0
- package/types/public/ReactNativeTypes.d.ts +2 -2
|
@@ -8,7 +8,7 @@ require "json"
|
|
|
8
8
|
package = JSON.parse(File.read(File.join(__dir__, "..", "..", "..", "..", "..", "..", "package.json")))
|
|
9
9
|
version = package['version']
|
|
10
10
|
|
|
11
|
-
source = { :git => 'https://github.com/
|
|
11
|
+
source = { :git => 'https://github.com/react/react-native.git' }
|
|
12
12
|
if version == '1000.0.0'
|
|
13
13
|
# This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
|
|
14
14
|
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|
package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.mm
CHANGED
|
@@ -477,7 +477,7 @@ void ObjCInteropTurboModule::setInvocationArg(
|
|
|
477
477
|
// Handle the special case where there is an argument and it must be nil
|
|
478
478
|
// Without this check, the JS side will receive an object.
|
|
479
479
|
// See: discussion at
|
|
480
|
-
// https://github.com/
|
|
480
|
+
// https://github.com/react/react-native/pull/49250#issuecomment-2668465893
|
|
481
481
|
if (arg == [NSNull null]) {
|
|
482
482
|
return;
|
|
483
483
|
}
|
|
@@ -695,7 +695,7 @@ void ObjCTurboModule::setInvocationArg(
|
|
|
695
695
|
SEL methodArgConversionSelector = getMethodArgConversionSelector(methodNameNSString, i);
|
|
696
696
|
|
|
697
697
|
// Message dispatch logic from old infra (link:
|
|
698
|
-
// https://github.com/
|
|
698
|
+
// https://github.com/react/react-native/commit/6783694158057662fd7b11fc123c339b2b21bfe6#diff-263fc157dfce55895cdc16495b55d190R350)
|
|
699
699
|
RCTManagedPointer *(*convert)(id, SEL, id) = (__typeof__(convert))objc_msgSend;
|
|
700
700
|
RCTManagedPointer *box = convert([RCTCxxConvert class], methodArgConversionSelector, objCArg);
|
|
701
701
|
|
|
@@ -8,7 +8,7 @@ require "json"
|
|
|
8
8
|
package = JSON.parse(File.read(File.join(__dir__, "..", "..", "..", "..", "package.json")))
|
|
9
9
|
version = package['version']
|
|
10
10
|
|
|
11
|
-
source = { :git => 'https://github.com/
|
|
11
|
+
source = { :git => 'https://github.com/react/react-native.git' }
|
|
12
12
|
if version == '1000.0.0'
|
|
13
13
|
# This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
|
|
14
14
|
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|
|
@@ -8,7 +8,7 @@ require "json"
|
|
|
8
8
|
package = JSON.parse(File.read(File.join(__dir__, "..", "..", "..", "..", "package.json")))
|
|
9
9
|
version = package['version']
|
|
10
10
|
|
|
11
|
-
source = { :git => 'https://github.com/
|
|
11
|
+
source = { :git => 'https://github.com/react/react-native.git' }
|
|
12
12
|
if version == '1000.0.0'
|
|
13
13
|
# This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
|
|
14
14
|
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|
|
@@ -8,7 +8,7 @@ require "json"
|
|
|
8
8
|
package = JSON.parse(File.read(File.join(__dir__, "..", "..", "..", "..", "package.json")))
|
|
9
9
|
version = package['version']
|
|
10
10
|
|
|
11
|
-
source = { :git => 'https://github.com/
|
|
11
|
+
source = { :git => 'https://github.com/react/react-native.git' }
|
|
12
12
|
if version == '1000.0.0'
|
|
13
13
|
# This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
|
|
14
14
|
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|
package/ReactCommon/react/nativemodule/idlecallbacks/React-idlecallbacksnativemodule.podspec
CHANGED
|
@@ -8,7 +8,7 @@ require "json"
|
|
|
8
8
|
package = JSON.parse(File.read(File.join(__dir__, "..", "..", "..", "..", "package.json")))
|
|
9
9
|
version = package['version']
|
|
10
10
|
|
|
11
|
-
source = { :git => 'https://github.com/
|
|
11
|
+
source = { :git => 'https://github.com/react/react-native.git' }
|
|
12
12
|
if version == '1000.0.0'
|
|
13
13
|
# This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
|
|
14
14
|
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|
|
@@ -8,7 +8,7 @@ require "json"
|
|
|
8
8
|
package = JSON.parse(File.read(File.join(__dir__, "..", "..", "..", "..", "package.json")))
|
|
9
9
|
version = package['version']
|
|
10
10
|
|
|
11
|
-
source = { :git => 'https://github.com/
|
|
11
|
+
source = { :git => 'https://github.com/react/react-native.git' }
|
|
12
12
|
if version == '1000.0.0'
|
|
13
13
|
# This is an unpublished version, use the latest commit hash of the react-native repo, which we're presumably in.
|
|
14
14
|
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|
|
@@ -8,7 +8,7 @@ require "json"
|
|
|
8
8
|
package = JSON.parse(File.read(File.join(__dir__, "..", "..", "..", "..", "package.json")))
|
|
9
9
|
version = package['version']
|
|
10
10
|
|
|
11
|
-
source = { :git => 'https://github.com/
|
|
11
|
+
source = { :git => 'https://github.com/react/react-native.git' }
|
|
12
12
|
if version == '1000.0.0'
|
|
13
13
|
# This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
|
|
14
14
|
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|
package/ReactCommon/react/nativemodule/mutationobserver/React-mutationobservernativemodule.podspec
CHANGED
|
@@ -8,7 +8,7 @@ require "json"
|
|
|
8
8
|
package = JSON.parse(File.read(File.join(__dir__, "..", "..", "..", "..", "package.json")))
|
|
9
9
|
version = package['version']
|
|
10
10
|
|
|
11
|
-
source = { :git => 'https://github.com/
|
|
11
|
+
source = { :git => 'https://github.com/react/react-native.git' }
|
|
12
12
|
if version == '1000.0.0'
|
|
13
13
|
# This is an unpublished version, use the latest commit hash of the react-native repo, which we're presumably in.
|
|
14
14
|
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|
|
@@ -8,7 +8,7 @@ require "json"
|
|
|
8
8
|
package = JSON.parse(File.read(File.join(__dir__, "..", "..", "..", "..", "package.json")))
|
|
9
9
|
version = package['version']
|
|
10
10
|
|
|
11
|
-
source = { :git => 'https://github.com/
|
|
11
|
+
source = { :git => 'https://github.com/react/react-native.git' }
|
|
12
12
|
if version == '1000.0.0'
|
|
13
13
|
# This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
|
|
14
14
|
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|
package/ReactCommon/react/nativemodule/webperformance/React-webperformancenativemodule.podspec
CHANGED
|
@@ -8,7 +8,7 @@ require "json"
|
|
|
8
8
|
package = JSON.parse(File.read(File.join(__dir__, "..", "..", "..", "..", "package.json")))
|
|
9
9
|
version = package['version']
|
|
10
10
|
|
|
11
|
-
source = { :git => 'https://github.com/
|
|
11
|
+
source = { :git => 'https://github.com/react/react-native.git' }
|
|
12
12
|
if version == '1000.0.0'
|
|
13
13
|
# This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
|
|
14
14
|
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|
|
@@ -8,7 +8,7 @@ require "json"
|
|
|
8
8
|
package = JSON.parse(File.read(File.join(__dir__, "..", "..", "..", "package.json")))
|
|
9
9
|
version = package['version']
|
|
10
10
|
|
|
11
|
-
source = { :git => 'https://github.com/
|
|
11
|
+
source = { :git => 'https://github.com/react/react-native.git' }
|
|
12
12
|
if version == '1000.0.0'
|
|
13
13
|
# This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
|
|
14
14
|
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|
|
@@ -8,7 +8,7 @@ require "json"
|
|
|
8
8
|
package = JSON.parse(File.read(File.join(__dir__, "..", "..", "..", "..", "package.json")))
|
|
9
9
|
version = package['version']
|
|
10
10
|
|
|
11
|
-
source = { :git => 'https://github.com/
|
|
11
|
+
source = { :git => 'https://github.com/react/react-native.git' }
|
|
12
12
|
if version == '1000.0.0'
|
|
13
13
|
# This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
|
|
14
14
|
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|
|
@@ -8,7 +8,7 @@ require "json"
|
|
|
8
8
|
package = JSON.parse(File.read(File.join(__dir__, "..", "..", "..", "..", "package.json")))
|
|
9
9
|
version = package['version']
|
|
10
10
|
|
|
11
|
-
source = { :git => 'https://github.com/
|
|
11
|
+
source = { :git => 'https://github.com/react/react-native.git' }
|
|
12
12
|
if version == '1000.0.0'
|
|
13
13
|
# This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
|
|
14
14
|
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|
|
@@ -11,6 +11,6 @@
|
|
|
11
11
|
namespace facebook::react::animated {
|
|
12
12
|
// Indicates that the animated node identifier is not defined.
|
|
13
13
|
// It is safe to use 0 because JavaScript starts assigning identifiers from 1.
|
|
14
|
-
// https://github.com/
|
|
14
|
+
// https://github.com/react/react-native/blob/main/packages/react-native/src/private/animated/NativeAnimatedHelper.js#L35
|
|
15
15
|
constexpr static Tag undefinedAnimatedNodeIdentifier = 0;
|
|
16
16
|
} // namespace facebook::react::animated
|
|
@@ -455,6 +455,12 @@ BaseViewProps::BaseViewProps(
|
|
|
455
455
|
"scrollSnapAlign",
|
|
456
456
|
sourceProps.scrollSnapAlign,
|
|
457
457
|
{}))
|
|
458
|
+
,scrollSnapOffset(ReactNativeFeatureFlags::enableCppPropsIteratorSetter() ? sourceProps.scrollSnapOffset : convertRawProp(
|
|
459
|
+
context,
|
|
460
|
+
rawProps,
|
|
461
|
+
"scrollSnapOffset",
|
|
462
|
+
sourceProps.scrollSnapOffset,
|
|
463
|
+
{}))
|
|
458
464
|
#endif
|
|
459
465
|
{}
|
|
460
466
|
|
|
@@ -528,6 +534,7 @@ void BaseViewProps::setProp(
|
|
|
528
534
|
RAW_SET_PROP_SWITCH_CASE_BASIC(trapFocusLeft);
|
|
529
535
|
RAW_SET_PROP_SWITCH_CASE_BASIC(trapFocusRight);
|
|
530
536
|
RAW_SET_PROP_SWITCH_CASE_BASIC(scrollSnapAlign);
|
|
537
|
+
RAW_SET_PROP_SWITCH_CASE_BASIC(scrollSnapOffset);
|
|
531
538
|
#endif
|
|
532
539
|
// events field
|
|
533
540
|
VIEW_EVENT_CASE(PointerEnter);
|
|
@@ -108,6 +108,15 @@ HostPlatformViewProps::HostPlatformViewProps(
|
|
|
108
108
|
"scrollSnapAlign",
|
|
109
109
|
sourceProps.scrollSnapAlign,
|
|
110
110
|
{})),
|
|
111
|
+
scrollSnapOffset(
|
|
112
|
+
ReactNativeFeatureFlags::enableCppPropsIteratorSetter()
|
|
113
|
+
? sourceProps.scrollSnapOffset
|
|
114
|
+
: convertRawProp(
|
|
115
|
+
context,
|
|
116
|
+
rawProps,
|
|
117
|
+
"scrollSnapOffset",
|
|
118
|
+
sourceProps.scrollSnapOffset,
|
|
119
|
+
{})),
|
|
111
120
|
needsOffscreenAlphaCompositing(
|
|
112
121
|
ReactNativeFeatureFlags::enableCppPropsIteratorSetter()
|
|
113
122
|
? sourceProps.needsOffscreenAlphaCompositing
|
|
@@ -211,6 +220,7 @@ void HostPlatformViewProps::setProp(
|
|
|
211
220
|
RAW_SET_PROP_SWITCH_CASE_BASIC(focusable);
|
|
212
221
|
RAW_SET_PROP_SWITCH_CASE_BASIC(hasTVPreferredFocus);
|
|
213
222
|
RAW_SET_PROP_SWITCH_CASE_BASIC(scrollSnapAlign);
|
|
223
|
+
RAW_SET_PROP_SWITCH_CASE_BASIC(scrollSnapOffset);
|
|
214
224
|
RAW_SET_PROP_SWITCH_CASE_BASIC(needsOffscreenAlphaCompositing);
|
|
215
225
|
RAW_SET_PROP_SWITCH_CASE_BASIC(renderToHardwareTextureAndroid);
|
|
216
226
|
RAW_SET_PROP_SWITCH_CASE_BASIC(screenReaderFocusable);
|
|
@@ -1123,6 +1133,14 @@ folly::dynamic HostPlatformViewProps::getDiffProps(
|
|
|
1123
1133
|
}
|
|
1124
1134
|
}
|
|
1125
1135
|
|
|
1136
|
+
if (scrollSnapOffset != oldProps->scrollSnapOffset) {
|
|
1137
|
+
if (scrollSnapOffset.has_value()) {
|
|
1138
|
+
result["scrollSnapOffset"] = scrollSnapOffset.value();
|
|
1139
|
+
} else {
|
|
1140
|
+
result["scrollSnapOffset"] = folly::dynamic(nullptr);
|
|
1141
|
+
}
|
|
1142
|
+
}
|
|
1143
|
+
|
|
1126
1144
|
return result;
|
|
1127
1145
|
}
|
|
1128
1146
|
|
|
@@ -48,6 +48,7 @@ class HostPlatformViewProps : public BaseViewProps {
|
|
|
48
48
|
bool trapFocusLeft{false};
|
|
49
49
|
bool trapFocusRight{false};
|
|
50
50
|
std::optional<std::string> scrollSnapAlign{};
|
|
51
|
+
std::optional<int> scrollSnapOffset{};
|
|
51
52
|
|
|
52
53
|
bool needsOffscreenAlphaCompositing{false};
|
|
53
54
|
bool renderToHardwareTextureAndroid{false};
|
|
@@ -8,7 +8,7 @@ require "json"
|
|
|
8
8
|
package = JSON.parse(File.read(File.join(__dir__, "..", "..", "..", "..", "package.json")))
|
|
9
9
|
version = package['version']
|
|
10
10
|
|
|
11
|
-
source = { :git => 'https://github.com/
|
|
11
|
+
source = { :git => 'https://github.com/react/react-native.git' }
|
|
12
12
|
if version == '1000.0.0'
|
|
13
13
|
# This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
|
|
14
14
|
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|
|
@@ -8,7 +8,7 @@ require "json"
|
|
|
8
8
|
package = JSON.parse(File.read(File.join(__dir__, "..", "..", "..", "..", "package.json")))
|
|
9
9
|
version = package['version']
|
|
10
10
|
|
|
11
|
-
source = { :git => 'https://github.com/
|
|
11
|
+
source = { :git => 'https://github.com/react/react-native.git' }
|
|
12
12
|
if version == '1000.0.0'
|
|
13
13
|
# This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
|
|
14
14
|
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|
|
@@ -8,7 +8,7 @@ require "json"
|
|
|
8
8
|
package = JSON.parse(File.read(File.join(__dir__, "..", "..", "..", "..", "package.json")))
|
|
9
9
|
version = package['version']
|
|
10
10
|
|
|
11
|
-
source = { :git => 'https://github.com/
|
|
11
|
+
source = { :git => 'https://github.com/react/react-native.git' }
|
|
12
12
|
if version == '1000.0.0'
|
|
13
13
|
# This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
|
|
14
14
|
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|
|
@@ -8,7 +8,7 @@ require "json"
|
|
|
8
8
|
package = JSON.parse(File.read(File.join(__dir__, "..", "..", "..", "..", "package.json")))
|
|
9
9
|
version = package['version']
|
|
10
10
|
|
|
11
|
-
source = { :git => 'https://github.com/
|
|
11
|
+
source = { :git => 'https://github.com/react/react-native.git' }
|
|
12
12
|
if version == '1000.0.0'
|
|
13
13
|
# This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
|
|
14
14
|
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|
|
@@ -8,7 +8,7 @@ require "json"
|
|
|
8
8
|
package = JSON.parse(File.read(File.join(__dir__, "..", "..", "..", "..", "..", "..", "package.json")))
|
|
9
9
|
version = package['version']
|
|
10
10
|
|
|
11
|
-
source = { :git => 'https://github.com/
|
|
11
|
+
source = { :git => 'https://github.com/react/react-native.git' }
|
|
12
12
|
if version == '1000.0.0'
|
|
13
13
|
# This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
|
|
14
14
|
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|
|
@@ -52,7 +52,7 @@ CullingContext CullingContext::adjustCullingContextIfNeeded(
|
|
|
52
52
|
// In RTL, content offset is flipped horizontally.
|
|
53
53
|
// We need to flip the culling context frame to match.
|
|
54
54
|
// See:
|
|
55
|
-
// https://github.com/
|
|
55
|
+
// https://github.com/react/react-native/blob/c2f39cfdd87c32b9a59efe8a788b8a03f02b0ea0/packages/react-native/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm#L579
|
|
56
56
|
auto stateData = scrollViewShadowNode->getStateData();
|
|
57
57
|
cullingContext.frame.origin.x =
|
|
58
58
|
stateData.contentBoundingRect.size.width -
|
|
@@ -8,7 +8,7 @@ require "json"
|
|
|
8
8
|
package = JSON.parse(File.read(File.join(__dir__, "..", "..", "..", "..", "package.json")))
|
|
9
9
|
version = package['version']
|
|
10
10
|
|
|
11
|
-
source = { :git => 'https://github.com/
|
|
11
|
+
source = { :git => 'https://github.com/react/react-native.git' }
|
|
12
12
|
if version == '1000.0.0'
|
|
13
13
|
# This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
|
|
14
14
|
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|
|
@@ -8,7 +8,7 @@ require "json"
|
|
|
8
8
|
package = JSON.parse(File.read(File.join(__dir__, "../../..", "package.json")))
|
|
9
9
|
version = package['version']
|
|
10
10
|
|
|
11
|
-
source = { :git => 'https://github.com/
|
|
11
|
+
source = { :git => 'https://github.com/react/react-native.git' }
|
|
12
12
|
if version == '1000.0.0'
|
|
13
13
|
# This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
|
|
14
14
|
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|
|
@@ -8,7 +8,7 @@ require "json"
|
|
|
8
8
|
package = JSON.parse(File.read(File.join(__dir__, "../../..", "package.json")))
|
|
9
9
|
version = package['version']
|
|
10
10
|
|
|
11
|
-
source = { :git => 'https://github.com/
|
|
11
|
+
source = { :git => 'https://github.com/react/react-native.git' }
|
|
12
12
|
if version == '1000.0.0'
|
|
13
13
|
# This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
|
|
14
14
|
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|
|
@@ -8,7 +8,7 @@ require "json"
|
|
|
8
8
|
package = JSON.parse(File.read(File.join(__dir__, "../../../../..", "package.json")))
|
|
9
9
|
version = package['version']
|
|
10
10
|
|
|
11
|
-
source = { :git => 'https://github.com/
|
|
11
|
+
source = { :git => 'https://github.com/react/react-native.git' }
|
|
12
12
|
if version == '1000.0.0'
|
|
13
13
|
# This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
|
|
14
14
|
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|
|
@@ -8,7 +8,7 @@ require "json"
|
|
|
8
8
|
package = JSON.parse(File.read(File.join(__dir__, "..", "..", "..", "package.json")))
|
|
9
9
|
version = package['version']
|
|
10
10
|
|
|
11
|
-
source = { :git => 'https://github.com/
|
|
11
|
+
source = { :git => 'https://github.com/react/react-native.git' }
|
|
12
12
|
if version == '1000.0.0'
|
|
13
13
|
# This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
|
|
14
14
|
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|
|
@@ -8,7 +8,7 @@ require "json"
|
|
|
8
8
|
package = JSON.parse(File.read(File.join(__dir__, "..", "..", "..", "package.json")))
|
|
9
9
|
version = package['version']
|
|
10
10
|
|
|
11
|
-
source = { :git => 'https://github.com/
|
|
11
|
+
source = { :git => 'https://github.com/react/react-native.git' }
|
|
12
12
|
if version == '1000.0.0'
|
|
13
13
|
# This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
|
|
14
14
|
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|
|
@@ -8,7 +8,7 @@ require "json"
|
|
|
8
8
|
package = JSON.parse(File.read(File.join(__dir__, "..", "..", "package.json")))
|
|
9
9
|
version = package['version']
|
|
10
10
|
|
|
11
|
-
source = { :git => 'https://github.com/
|
|
11
|
+
source = { :git => 'https://github.com/react/react-native.git' }
|
|
12
12
|
if version == '1000.0.0'
|
|
13
13
|
# This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
|
|
14
14
|
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|
|
@@ -8,7 +8,7 @@ require "json"
|
|
|
8
8
|
package = JSON.parse(File.read(File.join(__dir__, "..", "..", "package.json")))
|
|
9
9
|
version = package['version']
|
|
10
10
|
|
|
11
|
-
source = { :git => 'https://github.com/
|
|
11
|
+
source = { :git => 'https://github.com/react/react-native.git' }
|
|
12
12
|
if version == '1000.0.0'
|
|
13
13
|
# This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
|
|
14
14
|
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
package = JSON.parse(File.read(File.expand_path('../../package.json', __dir__)))
|
|
7
7
|
version = package['version']
|
|
8
8
|
|
|
9
|
-
source = { :git => ENV['INSTALL_YOGA_FROM_LOCATION'] || 'https://github.com/
|
|
9
|
+
source = { :git => ENV['INSTALL_YOGA_FROM_LOCATION'] || 'https://github.com/react/react-native.git' }
|
|
10
10
|
if version == '1000.0.0'
|
|
11
11
|
# This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
|
|
12
12
|
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|
|
@@ -61,6 +61,6 @@ Pod::Spec.new do |spec|
|
|
|
61
61
|
# Fabric must be able to access private headers (which should not be included in the umbrella header)
|
|
62
62
|
all_header_files = 'yoga/**/*.h'
|
|
63
63
|
all_header_files = File.join('ReactCommon/yoga', all_header_files) if ENV['INSTALL_YOGA_WITHOUT_PATH_OPTION']
|
|
64
|
-
spec.private_header_files = Dir.glob(all_header_files) - Dir.glob(public_header_files)
|
|
64
|
+
spec.private_header_files = Dir.glob(all_header_files).sort - Dir.glob(public_header_files).sort
|
|
65
65
|
spec.preserve_paths = [all_header_files]
|
|
66
66
|
end
|
|
@@ -553,6 +553,8 @@ bool layoutAbsoluteDescendants(
|
|
|
553
553
|
containingNodeAvailableInnerHeight) ||
|
|
554
554
|
hasNewLayout;
|
|
555
555
|
|
|
556
|
+
cleanupContentsNodesRecursively(
|
|
557
|
+
child, /* didPerformLayout */ hasNewLayout);
|
|
556
558
|
if (hasNewLayout) {
|
|
557
559
|
child->setHasNewLayout(hasNewLayout);
|
|
558
560
|
}
|
|
@@ -480,7 +480,9 @@ static void zeroOutLayoutRecursively(yoga::Node* const node) {
|
|
|
480
480
|
}
|
|
481
481
|
}
|
|
482
482
|
|
|
483
|
-
|
|
483
|
+
void cleanupContentsNodesRecursively(
|
|
484
|
+
yoga::Node* const node,
|
|
485
|
+
bool didPerformLayout) {
|
|
484
486
|
if (node->hasContentsChildren()) [[unlikely]] {
|
|
485
487
|
node->cloneContentsChildrenIfNeeded();
|
|
486
488
|
for (auto child : node->getChildren()) {
|
|
@@ -488,11 +490,13 @@ static void cleanupContentsNodesRecursively(yoga::Node* const node) {
|
|
|
488
490
|
child->getLayout() = {};
|
|
489
491
|
child->setLayoutDimension(0, Dimension::Width);
|
|
490
492
|
child->setLayoutDimension(0, Dimension::Height);
|
|
491
|
-
|
|
493
|
+
if (didPerformLayout) {
|
|
494
|
+
child->setHasNewLayout(true);
|
|
495
|
+
}
|
|
492
496
|
child->setDirty(false);
|
|
493
497
|
child->cloneChildrenIfNeeded();
|
|
494
498
|
|
|
495
|
-
cleanupContentsNodesRecursively(child);
|
|
499
|
+
cleanupContentsNodesRecursively(child, didPerformLayout);
|
|
496
500
|
}
|
|
497
501
|
}
|
|
498
502
|
}
|
|
@@ -1317,7 +1321,7 @@ static void calculateLayoutImpl(
|
|
|
1317
1321
|
|
|
1318
1322
|
// Clean and update all display: contents nodes with a direct path to the
|
|
1319
1323
|
// current node as they will not be traversed
|
|
1320
|
-
cleanupContentsNodesRecursively(node);
|
|
1324
|
+
cleanupContentsNodesRecursively(node, performLayout);
|
|
1321
1325
|
return;
|
|
1322
1326
|
}
|
|
1323
1327
|
|
|
@@ -1335,7 +1339,7 @@ static void calculateLayoutImpl(
|
|
|
1335
1339
|
|
|
1336
1340
|
// Clean and update all display: contents nodes with a direct path to the
|
|
1337
1341
|
// current node as they will not be traversed
|
|
1338
|
-
cleanupContentsNodesRecursively(node);
|
|
1342
|
+
cleanupContentsNodesRecursively(node, performLayout);
|
|
1339
1343
|
return;
|
|
1340
1344
|
}
|
|
1341
1345
|
|
|
@@ -1353,7 +1357,7 @@ static void calculateLayoutImpl(
|
|
|
1353
1357
|
ownerHeight)) {
|
|
1354
1358
|
// Clean and update all display: contents nodes with a direct path to the
|
|
1355
1359
|
// current node as they will not be traversed
|
|
1356
|
-
cleanupContentsNodesRecursively(node);
|
|
1360
|
+
cleanupContentsNodesRecursively(node, /* didPerformLayout */ false);
|
|
1357
1361
|
return;
|
|
1358
1362
|
}
|
|
1359
1363
|
|
|
@@ -1365,7 +1369,7 @@ static void calculateLayoutImpl(
|
|
|
1365
1369
|
|
|
1366
1370
|
// Clean and update all display: contents nodes with a direct path to the
|
|
1367
1371
|
// current node as they will not be traversed
|
|
1368
|
-
cleanupContentsNodesRecursively(node);
|
|
1372
|
+
cleanupContentsNodesRecursively(node, performLayout);
|
|
1369
1373
|
|
|
1370
1374
|
// STEP 1: CALCULATE VALUES FOR REMAINDER OF ALGORITHM
|
|
1371
1375
|
const FlexDirection mainAxis =
|
|
@@ -392,7 +392,12 @@ void Node::cloneChildrenIfNeeded() {
|
|
|
392
392
|
child = resolveRef(config_->cloneNode(child, this, i));
|
|
393
393
|
child->setOwner(this);
|
|
394
394
|
|
|
395
|
-
if (child->
|
|
395
|
+
if (child->style().display() == Display::Contents) [[unlikely]] {
|
|
396
|
+
// The contents node's children are treated as children of the
|
|
397
|
+
// contents node's parent for layout purposes, so they need
|
|
398
|
+
// to be cloned as well.
|
|
399
|
+
child->cloneChildrenIfNeeded();
|
|
400
|
+
} else if (child->hasContentsChildren()) [[unlikely]] {
|
|
396
401
|
child->cloneContentsChildrenIfNeeded();
|
|
397
402
|
}
|
|
398
403
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-tvos",
|
|
3
|
-
"version": "0.83.
|
|
3
|
+
"version": "0.83.10-0",
|
|
4
4
|
"description": "A framework for building native apps using React",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"app-framework",
|
|
23
23
|
"mobile-development"
|
|
24
24
|
],
|
|
25
|
-
"bugs": "https://github.com/
|
|
25
|
+
"bugs": "https://github.com/react/react-native/issues",
|
|
26
26
|
"engines": {
|
|
27
27
|
"node": ">= 20.19.4"
|
|
28
28
|
},
|
|
@@ -165,12 +165,12 @@
|
|
|
165
165
|
},
|
|
166
166
|
"dependencies": {
|
|
167
167
|
"@jest/create-cache-key-function": "^29.7.0",
|
|
168
|
-
"@react-native/assets-registry": "0.83.
|
|
169
|
-
"@react-native/codegen": "0.83.
|
|
170
|
-
"@react-native/community-cli-plugin": "0.83.
|
|
171
|
-
"@react-native/gradle-plugin": "0.83.
|
|
172
|
-
"@react-native/js-polyfills": "0.83.
|
|
173
|
-
"@react-native/normalize-colors": "0.83.
|
|
168
|
+
"@react-native/assets-registry": "0.83.10",
|
|
169
|
+
"@react-native/codegen": "0.83.10",
|
|
170
|
+
"@react-native/community-cli-plugin": "0.83.10",
|
|
171
|
+
"@react-native/gradle-plugin": "0.83.10",
|
|
172
|
+
"@react-native/js-polyfills": "0.83.10",
|
|
173
|
+
"@react-native/normalize-colors": "0.83.10",
|
|
174
174
|
"abort-controller": "^3.0.0",
|
|
175
175
|
"anser": "^1.4.9",
|
|
176
176
|
"ansi-regex": "^5.0.0",
|
|
@@ -198,7 +198,7 @@
|
|
|
198
198
|
"whatwg-fetch": "^3.0.0",
|
|
199
199
|
"ws": "^7.5.10",
|
|
200
200
|
"yargs": "^17.6.2",
|
|
201
|
-
"@react-native-tvos/virtualized-lists": "0.83.
|
|
201
|
+
"@react-native-tvos/virtualized-lists": "0.83.10-0"
|
|
202
202
|
},
|
|
203
203
|
"codegenConfig": {
|
|
204
204
|
"libraries": [
|
|
@@ -402,18 +402,36 @@ class ReactNativeCoreUtils
|
|
|
402
402
|
download_rncore_tarball(react_native_path, tarball_url, version, configuration, dsyms)
|
|
403
403
|
end
|
|
404
404
|
|
|
405
|
+
def self.shared_cache_dir()
|
|
406
|
+
return File.join(Dir.home, "Library", "Caches", "ReactNative")
|
|
407
|
+
end
|
|
408
|
+
|
|
405
409
|
def self.download_rncore_tarball(react_native_path, tarball_url, version, configuration, dsyms = false)
|
|
406
|
-
|
|
407
|
-
"
|
|
408
|
-
"
|
|
410
|
+
filename = configuration == nil ?
|
|
411
|
+
"reactnative-core-#{version}#{dsyms ? "-dSYM" : ""}.tar.gz" :
|
|
412
|
+
"reactnative-core-#{version}#{dsyms ? "-dSYM" : ""}-#{configuration}.tar.gz"
|
|
413
|
+
destination_path = "#{artifacts_dir()}/#{filename}"
|
|
414
|
+
|
|
415
|
+
if File.exist?(destination_path)
|
|
416
|
+
rncore_log("Tarball #{filename} already exists in Pods. Skipping download.")
|
|
417
|
+
return destination_path
|
|
418
|
+
end
|
|
409
419
|
|
|
410
|
-
|
|
420
|
+
`mkdir -p "#{artifacts_dir()}"`
|
|
421
|
+
|
|
422
|
+
cached_path = File.join(shared_cache_dir(), filename)
|
|
423
|
+
if File.exist?(cached_path)
|
|
424
|
+
rncore_log("Cache hit: copying #{filename} from shared cache (#{shared_cache_dir()})")
|
|
425
|
+
FileUtils.cp(cached_path, destination_path)
|
|
426
|
+
else
|
|
427
|
+
rncore_log("Cache miss: downloading #{filename} from #{tarball_url}")
|
|
411
428
|
# Download to a temporary file first so we don't cache incomplete downloads.
|
|
412
|
-
rncore_log("Downloading ReactNativeCore-prebuilt #{dsyms ? "dSYMs " : ""}#{configuration ? configuration.to_s : ""} tarball from #{tarball_url} to #{Pathname.new(destination_path).relative_path_from(Pathname.pwd).to_s}")
|
|
413
429
|
tmp_file = "#{artifacts_dir()}/reactnative-core.download"
|
|
414
|
-
`
|
|
415
|
-
|
|
416
|
-
|
|
430
|
+
`curl "#{tarball_url}" -Lo "#{tmp_file}" && mv "#{tmp_file}" "#{destination_path}"`
|
|
431
|
+
# Save to shared cache for future use
|
|
432
|
+
`mkdir -p "#{shared_cache_dir()}"`
|
|
433
|
+
FileUtils.cp(destination_path, cached_path)
|
|
434
|
+
rncore_log("Saved #{filename} to shared cache (#{shared_cache_dir()})")
|
|
417
435
|
end
|
|
418
436
|
|
|
419
437
|
return destination_path
|