diff --git a/examples/FabricExample/.eslintrc.js b/examples/FabricExample/.eslintrc.js
index dcf0be08..9dd57a79 100644
--- a/examples/FabricExample/.eslintrc.js
+++ b/examples/FabricExample/.eslintrc.js
@@ -1,6 +1,6 @@
module.exports = {
root: true,
- extends: '@react-native-community',
+ extends: '@react-native',
parser: '@typescript-eslint/parser',
plugins: ['@typescript-eslint'],
overrides: [
diff --git a/examples/FabricExample/.gitignore b/examples/FabricExample/.gitignore
index 2423126f..613b9bdc 100644
--- a/examples/FabricExample/.gitignore
+++ b/examples/FabricExample/.gitignore
@@ -62,3 +62,6 @@ buck-out/
# Ruby / CocoaPods
/ios/Pods/
/vendor/bundle/
+
+# testing
+/coverage
\ No newline at end of file
diff --git a/examples/FabricExample/Gemfile b/examples/FabricExample/Gemfile
index 5efda89f..6a7d5c7a 100644
--- a/examples/FabricExample/Gemfile
+++ b/examples/FabricExample/Gemfile
@@ -1,6 +1,7 @@
source 'https://rubygems.org'
# You may use http://rbenv.org/ or https://rvm.io/ to install and use this version
-ruby '2.7.5'
+ruby ">= 2.6.10"
-gem 'cocoapods', '~> 1.11', '>= 1.11.2'
+gem 'cocoapods', '~> 1.13'
+gem 'activesupport', '>= 6.1.7.3', '< 7.1.0'
diff --git a/examples/FabricExample/Gemfile.lock b/examples/FabricExample/Gemfile.lock
index be0b95a4..53cd1ea0 100644
--- a/examples/FabricExample/Gemfile.lock
+++ b/examples/FabricExample/Gemfile.lock
@@ -1,26 +1,29 @@
GEM
remote: https://rubygems.org/
specs:
- CFPropertyList (3.0.6)
+ CFPropertyList (3.0.7)
+ base64
+ nkf
rexml
activesupport (7.0.4.3)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 1.6, < 2)
minitest (>= 5.1)
tzinfo (~> 2.0)
- addressable (2.8.4)
- public_suffix (>= 2.0.2, < 6.0)
+ addressable (2.8.7)
+ public_suffix (>= 2.0.2, < 7.0)
algoliasearch (1.27.5)
httpclient (~> 2.8, >= 2.8.3)
json (>= 1.5.1)
atomos (0.1.3)
+ base64 (0.2.0)
claide (1.1.0)
- cocoapods (1.12.0)
+ cocoapods (1.15.2)
addressable (~> 2.8)
claide (>= 1.0.2, < 2.0)
- cocoapods-core (= 1.12.0)
+ cocoapods-core (= 1.15.2)
cocoapods-deintegrate (>= 1.0.3, < 2.0)
- cocoapods-downloader (>= 1.6.0, < 2.0)
+ cocoapods-downloader (>= 2.1, < 3.0)
cocoapods-plugins (>= 1.0.0, < 2.0)
cocoapods-search (>= 1.0.0, < 2.0)
cocoapods-trunk (>= 1.6.0, < 2.0)
@@ -32,8 +35,8 @@ GEM
molinillo (~> 0.8.0)
nap (~> 1.0)
ruby-macho (>= 2.3.0, < 3.0)
- xcodeproj (>= 1.21.0, < 2.0)
- cocoapods-core (1.12.0)
+ xcodeproj (>= 1.23.0, < 2.0)
+ cocoapods-core (1.15.2)
activesupport (>= 5.0, < 8)
addressable (~> 2.8)
algoliasearch (~> 1.0)
@@ -44,7 +47,7 @@ GEM
public_suffix (~> 4.0)
typhoeus (~> 1.0)
cocoapods-deintegrate (1.0.5)
- cocoapods-downloader (1.6.3)
+ cocoapods-downloader (2.1)
cocoapods-plugins (1.0.0)
nap
cocoapods-search (1.0.1)
@@ -57,27 +60,30 @@ GEM
escape (0.0.4)
ethon (0.16.0)
ffi (>= 1.15.0)
- ffi (1.15.5)
+ ffi (1.17.0)
fourflusher (2.3.1)
fuzzy_match (2.0.4)
gh_inspector (1.1.3)
httpclient (2.8.3)
i18n (1.12.0)
concurrent-ruby (~> 1.0)
- json (2.6.3)
+ json (2.7.2)
minitest (5.18.0)
molinillo (0.8.0)
nanaimo (0.3.0)
nap (1.1.0)
netrc (0.11.0)
+ nkf (0.2.0)
public_suffix (4.0.7)
- rexml (3.2.5)
+ rexml (3.2.9)
+ strscan
ruby-macho (2.5.1)
- typhoeus (1.4.0)
+ strscan (3.1.0)
+ typhoeus (1.4.1)
ethon (>= 0.9.0)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
- xcodeproj (1.22.0)
+ xcodeproj (1.24.0)
CFPropertyList (>= 2.3.3, < 4.0)
atomos (~> 0.1.3)
claide (>= 1.0.2, < 2.0)
@@ -89,7 +95,8 @@ PLATFORMS
ruby
DEPENDENCIES
- cocoapods (~> 1.11, >= 1.11.2)
+ activesupport (>= 6.1.7.3, < 7.1.0)
+ cocoapods (~> 1.13)
RUBY VERSION
ruby 2.7.5p203
diff --git a/examples/FabricExample/__tests__/App-test.tsx b/examples/FabricExample/__tests__/App-test.tsx
index 17847669..9eac6fbc 100644
--- a/examples/FabricExample/__tests__/App-test.tsx
+++ b/examples/FabricExample/__tests__/App-test.tsx
@@ -6,6 +6,9 @@ import 'react-native';
import React from 'react';
import App from '../App';
+// Note: import explicitly to use the types shipped with jest.
+import {it} from '@jest/globals';
+
// Note: test renderer must be required after react-native.
import renderer from 'react-test-renderer';
diff --git a/examples/FabricExample/_node-version b/examples/FabricExample/_node-version
deleted file mode 100644
index b6a7d89c..00000000
--- a/examples/FabricExample/_node-version
+++ /dev/null
@@ -1 +0,0 @@
-16
diff --git a/examples/FabricExample/babel.config.js b/examples/FabricExample/babel.config.js
index 51c969cf..bd1f13f2 100644
--- a/examples/FabricExample/babel.config.js
+++ b/examples/FabricExample/babel.config.js
@@ -2,7 +2,7 @@ const path = require('path');
const pak = require('../../package.json');
module.exports = {
- presets: ['module:metro-react-native-babel-preset'],
+ presets: ['module:@react-native/babel-preset'],
plugins: [
[
'module-resolver',
diff --git a/examples/FabricExample/ios/FabricExample.xcodeproj/project.pbxproj b/examples/FabricExample/ios/FabricExample.xcodeproj/project.pbxproj
index 8ef48fc2..26875e8c 100644
--- a/examples/FabricExample/ios/FabricExample.xcodeproj/project.pbxproj
+++ b/examples/FabricExample/ios/FabricExample.xcodeproj/project.pbxproj
@@ -437,7 +437,7 @@
"$(inherited)",
);
INFOPLIST_FILE = FabricExampleTests/Info.plist;
- IPHONEOS_DEPLOYMENT_TARGET = 12.4;
+ IPHONEOS_DEPLOYMENT_TARGET = 13.4;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
@@ -461,7 +461,7 @@
BUNDLE_LOADER = "$(TEST_HOST)";
COPY_PHASE_STRIP = NO;
INFOPLIST_FILE = FabricExampleTests/Info.plist;
- IPHONEOS_DEPLOYMENT_TARGET = 12.4;
+ IPHONEOS_DEPLOYMENT_TARGET = 13.4;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
@@ -535,7 +535,7 @@
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
- CLANG_CXX_LANGUAGE_STANDARD = "c++17";
+ CLANG_CXX_LANGUAGE_STANDARD = "c++20";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
@@ -580,7 +580,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 12.4;
+ IPHONEOS_DEPLOYMENT_TARGET = 13.4;
LD_RUNPATH_SEARCH_PATHS = (
/usr/lib/swift,
"$(inherited)",
@@ -592,18 +592,25 @@
);
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
+ OTHER_CFLAGS = (
+ "$(inherited)",
+ "-DRN_FABRIC_ENABLED",
+ );
OTHER_CPLUSPLUSFLAGS = (
"$(OTHER_CFLAGS)",
"-DFOLLY_NO_CONFIG",
"-DFOLLY_MOBILE=1",
"-DFOLLY_USE_LIBCPP=1",
+ "-DRN_FABRIC_ENABLED",
);
OTHER_LDFLAGS = (
"$(inherited)",
- " ",
+ "-Wl",
+ "-ld_classic",
);
REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
SDKROOT = iphoneos;
+ USE_HERMES = true;
};
name = Debug;
};
@@ -612,7 +619,7 @@
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
- CLANG_CXX_LANGUAGE_STANDARD = "c++17";
+ CLANG_CXX_LANGUAGE_STANDARD = "c++20";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
@@ -653,7 +660,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 12.4;
+ IPHONEOS_DEPLOYMENT_TARGET = 13.4;
LD_RUNPATH_SEARCH_PATHS = (
/usr/lib/swift,
"$(inherited)",
@@ -664,18 +671,25 @@
"\"$(inherited)\"",
);
MTL_ENABLE_DEBUG_INFO = NO;
+ OTHER_CFLAGS = (
+ "$(inherited)",
+ "-DRN_FABRIC_ENABLED",
+ );
OTHER_CPLUSPLUSFLAGS = (
"$(OTHER_CFLAGS)",
"-DFOLLY_NO_CONFIG",
"-DFOLLY_MOBILE=1",
"-DFOLLY_USE_LIBCPP=1",
+ "-DRN_FABRIC_ENABLED",
);
OTHER_LDFLAGS = (
"$(inherited)",
- " ",
+ "-Wl",
+ "-ld_classic",
);
REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
SDKROOT = iphoneos;
+ USE_HERMES = true;
VALIDATE_PRODUCT = YES;
};
name = Release;
diff --git a/examples/FabricExample/ios/FabricExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/examples/FabricExample/ios/FabricExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
new file mode 100644
index 00000000..18d98100
--- /dev/null
+++ b/examples/FabricExample/ios/FabricExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
@@ -0,0 +1,8 @@
+
+
+
+
+ IDEDidComputeMac32BitWarning
+
+
+
diff --git a/examples/FabricExample/ios/FabricExample/AppDelegate.h b/examples/FabricExample/ios/FabricExample/AppDelegate.h
index ef1de86a..5d280825 100644
--- a/examples/FabricExample/ios/FabricExample/AppDelegate.h
+++ b/examples/FabricExample/ios/FabricExample/AppDelegate.h
@@ -1,8 +1,6 @@
-#import
+#import
#import
-@interface AppDelegate : UIResponder
-
-@property (nonatomic, strong) UIWindow *window;
+@interface AppDelegate : RCTAppDelegate
@end
diff --git a/examples/FabricExample/ios/FabricExample/AppDelegate.mm b/examples/FabricExample/ios/FabricExample/AppDelegate.mm
index 42eee33f..a429e31e 100644
--- a/examples/FabricExample/ios/FabricExample/AppDelegate.mm
+++ b/examples/FabricExample/ios/FabricExample/AppDelegate.mm
@@ -1,88 +1,25 @@
#import "AppDelegate.h"
-#import
#import
-#import
-
-#import
-
-#if RCT_NEW_ARCH_ENABLED
-#import
-#import
-#import
-#import
-#import
-#import
-
-#import
-
-static NSString *const kRNConcurrentRoot = @"concurrentRoot";
-
-@interface AppDelegate () {
- RCTTurboModuleManager *_turboModuleManager;
- RCTSurfacePresenterBridgeAdapter *_bridgeAdapter;
- std::shared_ptr _reactNativeConfig;
- facebook::react::ContextContainer::Shared _contextContainer;
-}
-@end
-#endif
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
- RCTAppSetupPrepareApp(application, true);
+ self.moduleName = @"FabricExample";
+ // You can add your custom initial props in the dictionary below.
+ // They will be passed down to the ViewController used by React Native.
+ self.initialProps = @{};
- RCTBridge *bridge = [[RCTBridge alloc] initWithDelegate:self launchOptions:launchOptions];
-
-#if RCT_NEW_ARCH_ENABLED
- _contextContainer = std::make_shared();
- _reactNativeConfig = std::make_shared();
- _contextContainer->insert("ReactNativeConfig", _reactNativeConfig);
- _bridgeAdapter = [[RCTSurfacePresenterBridgeAdapter alloc] initWithBridge:bridge contextContainer:_contextContainer];
- bridge.surfacePresenter = _bridgeAdapter.surfacePresenter;
-#endif
-
- NSDictionary *initProps = [self prepareInitialProps];
- UIView *rootView = RCTAppSetupDefaultRootView(bridge, @"FabricExample", initProps, true);
-
- if (@available(iOS 13.0, *)) {
- rootView.backgroundColor = [UIColor systemBackgroundColor];
- } else {
- rootView.backgroundColor = [UIColor whiteColor];
- }
-
- self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
- UIViewController *rootViewController = [UIViewController new];
- rootViewController.view = rootView;
- self.window.rootViewController = rootViewController;
- [self.window makeKeyAndVisible];
- return YES;
-}
-
-/// This method controls whether the `concurrentRoot`feature of React18 is turned on or off.
-///
-/// @see: https://reactjs.org/blog/2022/03/29/react-v18.html
-/// @note: This requires to be rendering on Fabric (i.e. on the New Architecture).
-/// @return: `true` if the `concurrentRoot` feture is enabled. Otherwise, it returns `false`.
-- (BOOL)concurrentRootEnabled
-{
- // Switch this bool to turn on and off the concurrent root
- return true;
-}
-
-- (NSDictionary *)prepareInitialProps
-{
- NSMutableDictionary *initProps = [NSMutableDictionary new];
-
-#ifdef RCT_NEW_ARCH_ENABLED
- initProps[kRNConcurrentRoot] = @([self concurrentRootEnabled]);
-#endif
-
- return initProps;
+ return [super application:application didFinishLaunchingWithOptions:launchOptions];
}
- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge
+{
+ return [self getBundleURL];
+}
+
+- (NSURL *)getBundleURL
{
#if DEBUG
return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index"];
@@ -91,43 +28,4 @@ static NSString *const kRNConcurrentRoot = @"concurrentRoot";
#endif
}
-#if RCT_NEW_ARCH_ENABLED
-
-#pragma mark - RCTCxxBridgeDelegate
-
-- (std::unique_ptr)jsExecutorFactoryForBridge:(RCTBridge *)bridge
-{
- _turboModuleManager = [[RCTTurboModuleManager alloc] initWithBridge:bridge
- delegate:self
- jsInvoker:bridge.jsCallInvoker];
- return RCTAppSetupDefaultJsExecutorFactory(bridge, _turboModuleManager);
-}
-
-#pragma mark RCTTurboModuleManagerDelegate
-
-- (Class)getModuleClassFromName:(const char *)name
-{
- return RCTCoreModulesClassProvider(name);
-}
-
-- (std::shared_ptr)getTurboModule:(const std::string &)name
- jsInvoker:(std::shared_ptr)jsInvoker
-{
- return nullptr;
-}
-
-- (std::shared_ptr)getTurboModule:(const std::string &)name
- initParams:
- (const facebook::react::ObjCTurboModule::InitParams &)params
-{
- return nullptr;
-}
-
-- (id)getModuleInstanceFromClass:(Class)moduleClass
-{
- return RCTAppSetupDefaultModuleFromClass(moduleClass);
-}
-
-#endif
-
@end
diff --git a/examples/FabricExample/ios/FabricExample/Info.plist b/examples/FabricExample/ios/FabricExample/Info.plist
index 860ea180..b0cb3dac 100644
--- a/examples/FabricExample/ios/FabricExample/Info.plist
+++ b/examples/FabricExample/ios/FabricExample/Info.plist
@@ -26,17 +26,13 @@
NSAppTransportSecurity
- NSExceptionDomains
-
- localhost
-
- NSExceptionAllowsInsecureHTTPLoads
-
-
-
+ NSAllowsArbitraryLoads
+
+ NSAllowsLocalNetworking
+
NSLocationWhenInUseUsageDescription
-
+
UILaunchStoryboardName
LaunchScreen
UIRequiredDeviceCapabilities
diff --git a/examples/FabricExample/ios/Podfile b/examples/FabricExample/ios/Podfile
index d39c1645..eeaebf83 100644
--- a/examples/FabricExample/ios/Podfile
+++ b/examples/FabricExample/ios/Podfile
@@ -1,28 +1,25 @@
ENV['RCT_NEW_ARCH_ENABLED'] = "1"
-require_relative '../node_modules/react-native/scripts/react_native_pods'
-require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'
-platform :ios, '12.4'
+# Resolve react_native_pods.rb with node to allow for hoisting
+require Pod::Executable.execute_command('node', ['-p',
+ 'require.resolve(
+ "react-native/scripts/react_native_pods.rb",
+ {paths: [process.argv[1]]},
+ )', __dir__]).strip
+
+platform :ios, '13.4'
install! 'cocoapods', :deterministic_uuids => false
target 'FabricExample' do
config = use_native_modules!
- # Flags change depending on the env values.
- flags = get_default_flags()
-
use_react_native!(
:path => config[:reactNativePath],
- # Hermes is now enabled by default. Disable by setting this flag to false.
- # Upcoming versions of React Native may rely on get_default_flags(), but
- # we make it explicit here to aid in the React Native upgrade process.
- :hermes_enabled => true,
- :fabric_enabled => flags[:fabric_enabled],
# Enables Flipper.
#
# Note that if you have use_frameworks! enabled, Flipper will not work and
# you should disable the next line.
- :flipper_configuration => FlipperConfiguration.enabled,
+ # :flipper_configuration => FlipperConfiguration.enabled,
# An absolute path to your application root.
:app_path => "#{Pod::Config.instance.installation_root}/.."
)
@@ -35,10 +32,8 @@ target 'FabricExample' do
post_install do |installer|
react_native_post_install(
installer,
- # Set `mac_catalyst_enabled` to `true` in order to apply patches
- # necessary for Mac Catalyst builds
+ config[:reactNativePath],
:mac_catalyst_enabled => false
)
- __apply_Xcode_12_5_M1_post_install_workaround(installer)
end
end
diff --git a/examples/FabricExample/ios/Podfile.lock b/examples/FabricExample/ios/Podfile.lock
index cd35a33b..882f92aa 100644
--- a/examples/FabricExample/ios/Podfile.lock
+++ b/examples/FabricExample/ios/Podfile.lock
@@ -1,797 +1,1167 @@
PODS:
- - boost (1.76.0)
- - CocoaAsyncSocket (7.6.5)
+ - boost (1.83.0)
- DoubleConversion (1.1.6)
- - FBLazyVector (0.71.15)
- - FBReactNativeSpec (0.71.15):
- - RCT-Folly (= 2021.07.22.00)
- - RCTRequired (= 0.71.15)
- - RCTTypeSafety (= 0.71.15)
- - React-Core (= 0.71.15)
- - React-jsi (= 0.71.15)
- - ReactCommon/turbomodule/core (= 0.71.15)
- - Flipper (0.125.0):
- - Flipper-Folly (~> 2.6)
- - Flipper-RSocket (~> 1.4)
- - Flipper-Boost-iOSX (1.76.0.1.11)
- - Flipper-DoubleConversion (3.2.0.1)
- - Flipper-Fmt (7.1.7)
- - Flipper-Folly (2.6.10):
- - Flipper-Boost-iOSX
- - Flipper-DoubleConversion
- - Flipper-Fmt (= 7.1.7)
- - Flipper-Glog
- - libevent (~> 2.1.12)
- - OpenSSL-Universal (= 1.1.1100)
- - Flipper-Glog (0.5.0.5)
- - Flipper-PeerTalk (0.0.4)
- - Flipper-RSocket (1.4.3):
- - Flipper-Folly (~> 2.6)
- - FlipperKit (0.125.0):
- - FlipperKit/Core (= 0.125.0)
- - FlipperKit/Core (0.125.0):
- - Flipper (~> 0.125.0)
- - FlipperKit/CppBridge
- - FlipperKit/FBCxxFollyDynamicConvert
- - FlipperKit/FBDefines
- - FlipperKit/FKPortForwarding
- - SocketRocket (~> 0.6.0)
- - FlipperKit/CppBridge (0.125.0):
- - Flipper (~> 0.125.0)
- - FlipperKit/FBCxxFollyDynamicConvert (0.125.0):
- - Flipper-Folly (~> 2.6)
- - FlipperKit/FBDefines (0.125.0)
- - FlipperKit/FKPortForwarding (0.125.0):
- - CocoaAsyncSocket (~> 7.6)
- - Flipper-PeerTalk (~> 0.0.4)
- - FlipperKit/FlipperKitHighlightOverlay (0.125.0)
- - FlipperKit/FlipperKitLayoutHelpers (0.125.0):
- - FlipperKit/Core
- - FlipperKit/FlipperKitHighlightOverlay
- - FlipperKit/FlipperKitLayoutTextSearchable
- - FlipperKit/FlipperKitLayoutIOSDescriptors (0.125.0):
- - FlipperKit/Core
- - FlipperKit/FlipperKitHighlightOverlay
- - FlipperKit/FlipperKitLayoutHelpers
- - YogaKit (~> 1.18)
- - FlipperKit/FlipperKitLayoutPlugin (0.125.0):
- - FlipperKit/Core
- - FlipperKit/FlipperKitHighlightOverlay
- - FlipperKit/FlipperKitLayoutHelpers
- - FlipperKit/FlipperKitLayoutIOSDescriptors
- - FlipperKit/FlipperKitLayoutTextSearchable
- - YogaKit (~> 1.18)
- - FlipperKit/FlipperKitLayoutTextSearchable (0.125.0)
- - FlipperKit/FlipperKitNetworkPlugin (0.125.0):
- - FlipperKit/Core
- - FlipperKit/FlipperKitReactPlugin (0.125.0):
- - FlipperKit/Core
- - FlipperKit/FlipperKitUserDefaultsPlugin (0.125.0):
- - FlipperKit/Core
- - FlipperKit/SKIOSNetworkPlugin (0.125.0):
- - FlipperKit/Core
- - FlipperKit/FlipperKitNetworkPlugin
+ - FBLazyVector (0.73.2)
- fmt (6.2.1)
- glog (0.3.5)
- - hermes-engine (0.71.15):
- - hermes-engine/Pre-built (= 0.71.15)
- - hermes-engine/Pre-built (0.71.15)
+ - hermes-engine (0.73.2):
+ - hermes-engine/Pre-built (= 0.73.2)
+ - hermes-engine/Pre-built (0.73.2)
- libevent (2.1.12)
- - OpenSSL-Universal (1.1.1100)
- - PromisesObjC (2.2.0)
- - PromisesSwift (2.2.0):
- - PromisesObjC (= 2.2.0)
- - RCT-Folly (2021.07.22.00):
+ - RCT-Folly (2022.05.16.00):
- boost
- DoubleConversion
- fmt (~> 6.2.1)
- glog
- - RCT-Folly/Default (= 2021.07.22.00)
- - RCT-Folly/Default (2021.07.22.00):
+ - RCT-Folly/Default (= 2022.05.16.00)
+ - RCT-Folly/Default (2022.05.16.00):
- boost
- DoubleConversion
- fmt (~> 6.2.1)
- glog
- - RCT-Folly/Fabric (2021.07.22.00):
+ - RCT-Folly/Fabric (2022.05.16.00):
- boost
- DoubleConversion
- fmt (~> 6.2.1)
- glog
- - RCT-Folly/Futures (2021.07.22.00):
+ - RCT-Folly/Futures (2022.05.16.00):
- boost
- DoubleConversion
- fmt (~> 6.2.1)
- glog
- libevent
- - RCTRequired (0.71.15)
- - RCTTypeSafety (0.71.15):
- - FBLazyVector (= 0.71.15)
- - RCTRequired (= 0.71.15)
- - React-Core (= 0.71.15)
- - React (0.71.15):
- - React-Core (= 0.71.15)
- - React-Core/DevSupport (= 0.71.15)
- - React-Core/RCTWebSocket (= 0.71.15)
- - React-RCTActionSheet (= 0.71.15)
- - React-RCTAnimation (= 0.71.15)
- - React-RCTBlob (= 0.71.15)
- - React-RCTImage (= 0.71.15)
- - React-RCTLinking (= 0.71.15)
- - React-RCTNetwork (= 0.71.15)
- - React-RCTSettings (= 0.71.15)
- - React-RCTText (= 0.71.15)
- - React-RCTVibration (= 0.71.15)
- - React-callinvoker (0.71.15)
- - React-Codegen (0.71.15):
- - FBReactNativeSpec
+ - RCTRequired (0.73.2)
+ - RCTTypeSafety (0.73.2):
+ - FBLazyVector (= 0.73.2)
+ - RCTRequired (= 0.73.2)
+ - React-Core (= 0.73.2)
+ - React (0.73.2):
+ - React-Core (= 0.73.2)
+ - React-Core/DevSupport (= 0.73.2)
+ - React-Core/RCTWebSocket (= 0.73.2)
+ - React-RCTActionSheet (= 0.73.2)
+ - React-RCTAnimation (= 0.73.2)
+ - React-RCTBlob (= 0.73.2)
+ - React-RCTImage (= 0.73.2)
+ - React-RCTLinking (= 0.73.2)
+ - React-RCTNetwork (= 0.73.2)
+ - React-RCTSettings (= 0.73.2)
+ - React-RCTText (= 0.73.2)
+ - React-RCTVibration (= 0.73.2)
+ - React-callinvoker (0.73.2)
+ - React-Codegen (0.73.2):
+ - DoubleConversion
+ - glog
- hermes-engine
- RCT-Folly
- RCTRequired
- RCTTypeSafety
- React-Core
+ - React-debug
+ - React-Fabric
+ - React-FabricImage
- React-graphics
- React-jsi
- React-jsiexecutor
- - React-rncore
+ - React-NativeModulesApple
+ - React-rendererdebug
+ - React-utils
- ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
- - React-Core (0.71.15):
+ - React-Core (0.73.2):
- glog
- hermes-engine
- - RCT-Folly (= 2021.07.22.00)
- - React-Core/Default (= 0.71.15)
- - React-cxxreact (= 0.71.15)
+ - RCT-Folly (= 2022.05.16.00)
+ - React-Core/Default (= 0.73.2)
+ - React-cxxreact
- React-hermes
- - React-jsi (= 0.71.15)
- - React-jsiexecutor (= 0.71.15)
- - React-perflogger (= 0.71.15)
- - Yoga
- - React-Core/CoreModulesHeaders (0.71.15):
- - glog
- - hermes-engine
- - RCT-Folly (= 2021.07.22.00)
- - React-Core/Default
- - React-cxxreact (= 0.71.15)
- - React-hermes
- - React-jsi (= 0.71.15)
- - React-jsiexecutor (= 0.71.15)
- - React-perflogger (= 0.71.15)
- - Yoga
- - React-Core/Default (0.71.15):
- - glog
- - hermes-engine
- - RCT-Folly (= 2021.07.22.00)
- - React-cxxreact (= 0.71.15)
- - React-hermes
- - React-jsi (= 0.71.15)
- - React-jsiexecutor (= 0.71.15)
- - React-perflogger (= 0.71.15)
- - Yoga
- - React-Core/DevSupport (0.71.15):
- - glog
- - hermes-engine
- - RCT-Folly (= 2021.07.22.00)
- - React-Core/Default (= 0.71.15)
- - React-Core/RCTWebSocket (= 0.71.15)
- - React-cxxreact (= 0.71.15)
- - React-hermes
- - React-jsi (= 0.71.15)
- - React-jsiexecutor (= 0.71.15)
- - React-jsinspector (= 0.71.15)
- - React-perflogger (= 0.71.15)
- - Yoga
- - React-Core/RCTActionSheetHeaders (0.71.15):
- - glog
- - hermes-engine
- - RCT-Folly (= 2021.07.22.00)
- - React-Core/Default
- - React-cxxreact (= 0.71.15)
- - React-hermes
- - React-jsi (= 0.71.15)
- - React-jsiexecutor (= 0.71.15)
- - React-perflogger (= 0.71.15)
- - Yoga
- - React-Core/RCTAnimationHeaders (0.71.15):
- - glog
- - hermes-engine
- - RCT-Folly (= 2021.07.22.00)
- - React-Core/Default
- - React-cxxreact (= 0.71.15)
- - React-hermes
- - React-jsi (= 0.71.15)
- - React-jsiexecutor (= 0.71.15)
- - React-perflogger (= 0.71.15)
- - Yoga
- - React-Core/RCTBlobHeaders (0.71.15):
- - glog
- - hermes-engine
- - RCT-Folly (= 2021.07.22.00)
- - React-Core/Default
- - React-cxxreact (= 0.71.15)
- - React-hermes
- - React-jsi (= 0.71.15)
- - React-jsiexecutor (= 0.71.15)
- - React-perflogger (= 0.71.15)
- - Yoga
- - React-Core/RCTImageHeaders (0.71.15):
- - glog
- - hermes-engine
- - RCT-Folly (= 2021.07.22.00)
- - React-Core/Default
- - React-cxxreact (= 0.71.15)
- - React-hermes
- - React-jsi (= 0.71.15)
- - React-jsiexecutor (= 0.71.15)
- - React-perflogger (= 0.71.15)
- - Yoga
- - React-Core/RCTLinkingHeaders (0.71.15):
- - glog
- - hermes-engine
- - RCT-Folly (= 2021.07.22.00)
- - React-Core/Default
- - React-cxxreact (= 0.71.15)
- - React-hermes
- - React-jsi (= 0.71.15)
- - React-jsiexecutor (= 0.71.15)
- - React-perflogger (= 0.71.15)
- - Yoga
- - React-Core/RCTNetworkHeaders (0.71.15):
- - glog
- - hermes-engine
- - RCT-Folly (= 2021.07.22.00)
- - React-Core/Default
- - React-cxxreact (= 0.71.15)
- - React-hermes
- - React-jsi (= 0.71.15)
- - React-jsiexecutor (= 0.71.15)
- - React-perflogger (= 0.71.15)
- - Yoga
- - React-Core/RCTSettingsHeaders (0.71.15):
- - glog
- - hermes-engine
- - RCT-Folly (= 2021.07.22.00)
- - React-Core/Default
- - React-cxxreact (= 0.71.15)
- - React-hermes
- - React-jsi (= 0.71.15)
- - React-jsiexecutor (= 0.71.15)
- - React-perflogger (= 0.71.15)
- - Yoga
- - React-Core/RCTTextHeaders (0.71.15):
- - glog
- - hermes-engine
- - RCT-Folly (= 2021.07.22.00)
- - React-Core/Default
- - React-cxxreact (= 0.71.15)
- - React-hermes
- - React-jsi (= 0.71.15)
- - React-jsiexecutor (= 0.71.15)
- - React-perflogger (= 0.71.15)
- - Yoga
- - React-Core/RCTVibrationHeaders (0.71.15):
- - glog
- - hermes-engine
- - RCT-Folly (= 2021.07.22.00)
- - React-Core/Default
- - React-cxxreact (= 0.71.15)
- - React-hermes
- - React-jsi (= 0.71.15)
- - React-jsiexecutor (= 0.71.15)
- - React-perflogger (= 0.71.15)
- - Yoga
- - React-Core/RCTWebSocket (0.71.15):
- - glog
- - hermes-engine
- - RCT-Folly (= 2021.07.22.00)
- - React-Core/Default (= 0.71.15)
- - React-cxxreact (= 0.71.15)
- - React-hermes
- - React-jsi (= 0.71.15)
- - React-jsiexecutor (= 0.71.15)
- - React-perflogger (= 0.71.15)
- - Yoga
- - React-CoreModules (0.71.15):
- - RCT-Folly (= 2021.07.22.00)
- - RCTTypeSafety (= 0.71.15)
- - React-Codegen (= 0.71.15)
- - React-Core/CoreModulesHeaders (= 0.71.15)
- - React-jsi (= 0.71.15)
- - React-RCTBlob
- - React-RCTImage (= 0.71.15)
- - ReactCommon/turbomodule/core (= 0.71.15)
- - React-cxxreact (0.71.15):
- - boost (= 1.76.0)
- - DoubleConversion
- - glog
- - hermes-engine
- - RCT-Folly (= 2021.07.22.00)
- - React-callinvoker (= 0.71.15)
- - React-jsi (= 0.71.15)
- - React-jsinspector (= 0.71.15)
- - React-logger (= 0.71.15)
- - React-perflogger (= 0.71.15)
- - React-runtimeexecutor (= 0.71.15)
- - React-Fabric (0.71.15):
- - RCT-Folly/Fabric (= 2021.07.22.00)
- - RCTRequired (= 0.71.15)
- - RCTTypeSafety (= 0.71.15)
- - React-Fabric/animations (= 0.71.15)
- - React-Fabric/attributedstring (= 0.71.15)
- - React-Fabric/butter (= 0.71.15)
- - React-Fabric/componentregistry (= 0.71.15)
- - React-Fabric/componentregistrynative (= 0.71.15)
- - React-Fabric/components (= 0.71.15)
- - React-Fabric/config (= 0.71.15)
- - React-Fabric/core (= 0.71.15)
- - React-Fabric/debug_core (= 0.71.15)
- - React-Fabric/debug_renderer (= 0.71.15)
- - React-Fabric/imagemanager (= 0.71.15)
- - React-Fabric/leakchecker (= 0.71.15)
- - React-Fabric/mapbuffer (= 0.71.15)
- - React-Fabric/mounting (= 0.71.15)
- - React-Fabric/runtimescheduler (= 0.71.15)
- - React-Fabric/scheduler (= 0.71.15)
- - React-Fabric/telemetry (= 0.71.15)
- - React-Fabric/templateprocessor (= 0.71.15)
- - React-Fabric/textlayoutmanager (= 0.71.15)
- - React-Fabric/uimanager (= 0.71.15)
- - React-Fabric/utils (= 0.71.15)
- - React-graphics (= 0.71.15)
- - React-jsi (= 0.71.15)
- - React-jsiexecutor (= 0.71.15)
- - ReactCommon/turbomodule/core (= 0.71.15)
- - React-Fabric/animations (0.71.15):
- - RCT-Folly/Fabric (= 2021.07.22.00)
- - RCTRequired (= 0.71.15)
- - RCTTypeSafety (= 0.71.15)
- - React-graphics (= 0.71.15)
- - React-jsi (= 0.71.15)
- - React-jsiexecutor (= 0.71.15)
- - ReactCommon/turbomodule/core (= 0.71.15)
- - React-Fabric/attributedstring (0.71.15):
- - RCT-Folly/Fabric (= 2021.07.22.00)
- - RCTRequired (= 0.71.15)
- - RCTTypeSafety (= 0.71.15)
- - React-graphics (= 0.71.15)
- - React-jsi (= 0.71.15)
- - React-jsiexecutor (= 0.71.15)
- - ReactCommon/turbomodule/core (= 0.71.15)
- - React-Fabric/butter (0.71.15):
- - RCT-Folly/Fabric (= 2021.07.22.00)
- - RCTRequired (= 0.71.15)
- - RCTTypeSafety (= 0.71.15)
- - React-graphics (= 0.71.15)
- - React-jsi (= 0.71.15)
- - React-jsiexecutor (= 0.71.15)
- - ReactCommon/turbomodule/core (= 0.71.15)
- - React-Fabric/componentregistry (0.71.15):
- - RCT-Folly/Fabric (= 2021.07.22.00)
- - RCTRequired (= 0.71.15)
- - RCTTypeSafety (= 0.71.15)
- - React-graphics (= 0.71.15)
- - React-jsi (= 0.71.15)
- - React-jsiexecutor (= 0.71.15)
- - ReactCommon/turbomodule/core (= 0.71.15)
- - React-Fabric/componentregistrynative (0.71.15):
- - RCT-Folly/Fabric (= 2021.07.22.00)
- - RCTRequired (= 0.71.15)
- - RCTTypeSafety (= 0.71.15)
- - React-graphics (= 0.71.15)
- - React-jsi (= 0.71.15)
- - React-jsiexecutor (= 0.71.15)
- - ReactCommon/turbomodule/core (= 0.71.15)
- - React-Fabric/components (0.71.15):
- - RCT-Folly/Fabric (= 2021.07.22.00)
- - RCTRequired (= 0.71.15)
- - RCTTypeSafety (= 0.71.15)
- - React-Fabric/components/activityindicator (= 0.71.15)
- - React-Fabric/components/image (= 0.71.15)
- - React-Fabric/components/inputaccessory (= 0.71.15)
- - React-Fabric/components/legacyviewmanagerinterop (= 0.71.15)
- - React-Fabric/components/modal (= 0.71.15)
- - React-Fabric/components/root (= 0.71.15)
- - React-Fabric/components/safeareaview (= 0.71.15)
- - React-Fabric/components/scrollview (= 0.71.15)
- - React-Fabric/components/slider (= 0.71.15)
- - React-Fabric/components/text (= 0.71.15)
- - React-Fabric/components/textinput (= 0.71.15)
- - React-Fabric/components/unimplementedview (= 0.71.15)
- - React-Fabric/components/view (= 0.71.15)
- - React-graphics (= 0.71.15)
- - React-jsi (= 0.71.15)
- - React-jsiexecutor (= 0.71.15)
- - ReactCommon/turbomodule/core (= 0.71.15)
- - React-Fabric/components/activityindicator (0.71.15):
- - RCT-Folly/Fabric (= 2021.07.22.00)
- - RCTRequired (= 0.71.15)
- - RCTTypeSafety (= 0.71.15)
- - React-graphics (= 0.71.15)
- - React-jsi (= 0.71.15)
- - React-jsiexecutor (= 0.71.15)
- - ReactCommon/turbomodule/core (= 0.71.15)
- - React-Fabric/components/image (0.71.15):
- - RCT-Folly/Fabric (= 2021.07.22.00)
- - RCTRequired (= 0.71.15)
- - RCTTypeSafety (= 0.71.15)
- - React-graphics (= 0.71.15)
- - React-jsi (= 0.71.15)
- - React-jsiexecutor (= 0.71.15)
- - ReactCommon/turbomodule/core (= 0.71.15)
- - React-Fabric/components/inputaccessory (0.71.15):
- - RCT-Folly/Fabric (= 2021.07.22.00)
- - RCTRequired (= 0.71.15)
- - RCTTypeSafety (= 0.71.15)
- - React-graphics (= 0.71.15)
- - React-jsi (= 0.71.15)
- - React-jsiexecutor (= 0.71.15)
- - ReactCommon/turbomodule/core (= 0.71.15)
- - React-Fabric/components/legacyviewmanagerinterop (0.71.15):
- - RCT-Folly/Fabric (= 2021.07.22.00)
- - RCTRequired (= 0.71.15)
- - RCTTypeSafety (= 0.71.15)
- - React-graphics (= 0.71.15)
- - React-jsi (= 0.71.15)
- - React-jsiexecutor (= 0.71.15)
- - ReactCommon/turbomodule/core (= 0.71.15)
- - React-Fabric/components/modal (0.71.15):
- - RCT-Folly/Fabric (= 2021.07.22.00)
- - RCTRequired (= 0.71.15)
- - RCTTypeSafety (= 0.71.15)
- - React-graphics (= 0.71.15)
- - React-jsi (= 0.71.15)
- - React-jsiexecutor (= 0.71.15)
- - ReactCommon/turbomodule/core (= 0.71.15)
- - React-Fabric/components/root (0.71.15):
- - RCT-Folly/Fabric (= 2021.07.22.00)
- - RCTRequired (= 0.71.15)
- - RCTTypeSafety (= 0.71.15)
- - React-graphics (= 0.71.15)
- - React-jsi (= 0.71.15)
- - React-jsiexecutor (= 0.71.15)
- - ReactCommon/turbomodule/core (= 0.71.15)
- - React-Fabric/components/safeareaview (0.71.15):
- - RCT-Folly/Fabric (= 2021.07.22.00)
- - RCTRequired (= 0.71.15)
- - RCTTypeSafety (= 0.71.15)
- - React-graphics (= 0.71.15)
- - React-jsi (= 0.71.15)
- - React-jsiexecutor (= 0.71.15)
- - ReactCommon/turbomodule/core (= 0.71.15)
- - React-Fabric/components/scrollview (0.71.15):
- - RCT-Folly/Fabric (= 2021.07.22.00)
- - RCTRequired (= 0.71.15)
- - RCTTypeSafety (= 0.71.15)
- - React-graphics (= 0.71.15)
- - React-jsi (= 0.71.15)
- - React-jsiexecutor (= 0.71.15)
- - ReactCommon/turbomodule/core (= 0.71.15)
- - React-Fabric/components/slider (0.71.15):
- - RCT-Folly/Fabric (= 2021.07.22.00)
- - RCTRequired (= 0.71.15)
- - RCTTypeSafety (= 0.71.15)
- - React-graphics (= 0.71.15)
- - React-jsi (= 0.71.15)
- - React-jsiexecutor (= 0.71.15)
- - ReactCommon/turbomodule/core (= 0.71.15)
- - React-Fabric/components/text (0.71.15):
- - RCT-Folly/Fabric (= 2021.07.22.00)
- - RCTRequired (= 0.71.15)
- - RCTTypeSafety (= 0.71.15)
- - React-graphics (= 0.71.15)
- - React-jsi (= 0.71.15)
- - React-jsiexecutor (= 0.71.15)
- - ReactCommon/turbomodule/core (= 0.71.15)
- - React-Fabric/components/textinput (0.71.15):
- - RCT-Folly/Fabric (= 2021.07.22.00)
- - RCTRequired (= 0.71.15)
- - RCTTypeSafety (= 0.71.15)
- - React-graphics (= 0.71.15)
- - React-jsi (= 0.71.15)
- - React-jsiexecutor (= 0.71.15)
- - ReactCommon/turbomodule/core (= 0.71.15)
- - React-Fabric/components/unimplementedview (0.71.15):
- - RCT-Folly/Fabric (= 2021.07.22.00)
- - RCTRequired (= 0.71.15)
- - RCTTypeSafety (= 0.71.15)
- - React-graphics (= 0.71.15)
- - React-jsi (= 0.71.15)
- - React-jsiexecutor (= 0.71.15)
- - ReactCommon/turbomodule/core (= 0.71.15)
- - React-Fabric/components/view (0.71.15):
- - RCT-Folly/Fabric (= 2021.07.22.00)
- - RCTRequired (= 0.71.15)
- - RCTTypeSafety (= 0.71.15)
- - React-graphics (= 0.71.15)
- - React-jsi (= 0.71.15)
- - React-jsiexecutor (= 0.71.15)
- - ReactCommon/turbomodule/core (= 0.71.15)
- - Yoga
- - React-Fabric/config (0.71.15):
- - RCT-Folly/Fabric (= 2021.07.22.00)
- - RCTRequired (= 0.71.15)
- - RCTTypeSafety (= 0.71.15)
- - React-graphics (= 0.71.15)
- - React-jsi (= 0.71.15)
- - React-jsiexecutor (= 0.71.15)
- - ReactCommon/turbomodule/core (= 0.71.15)
- - React-Fabric/core (0.71.15):
- - RCT-Folly/Fabric (= 2021.07.22.00)
- - RCTRequired (= 0.71.15)
- - RCTTypeSafety (= 0.71.15)
- - React-graphics (= 0.71.15)
- - React-jsi (= 0.71.15)
- - React-jsiexecutor (= 0.71.15)
- - ReactCommon/turbomodule/core (= 0.71.15)
- - React-Fabric/debug_core (0.71.15):
- - RCT-Folly/Fabric (= 2021.07.22.00)
- - RCTRequired (= 0.71.15)
- - RCTTypeSafety (= 0.71.15)
- - React-graphics (= 0.71.15)
- - React-jsi (= 0.71.15)
- - React-jsiexecutor (= 0.71.15)
- - ReactCommon/turbomodule/core (= 0.71.15)
- - React-Fabric/debug_renderer (0.71.15):
- - RCT-Folly/Fabric (= 2021.07.22.00)
- - RCTRequired (= 0.71.15)
- - RCTTypeSafety (= 0.71.15)
- - React-graphics (= 0.71.15)
- - React-jsi (= 0.71.15)
- - React-jsiexecutor (= 0.71.15)
- - ReactCommon/turbomodule/core (= 0.71.15)
- - React-Fabric/imagemanager (0.71.15):
- - RCT-Folly/Fabric (= 2021.07.22.00)
- - RCTRequired (= 0.71.15)
- - RCTTypeSafety (= 0.71.15)
- - React-graphics (= 0.71.15)
- - React-jsi (= 0.71.15)
- - React-jsiexecutor (= 0.71.15)
- - React-RCTImage (= 0.71.15)
- - ReactCommon/turbomodule/core (= 0.71.15)
- - React-Fabric/leakchecker (0.71.15):
- - RCT-Folly/Fabric (= 2021.07.22.00)
- - RCTRequired (= 0.71.15)
- - RCTTypeSafety (= 0.71.15)
- - React-graphics (= 0.71.15)
- - React-jsi (= 0.71.15)
- - React-jsiexecutor (= 0.71.15)
- - ReactCommon/turbomodule/core (= 0.71.15)
- - React-Fabric/mapbuffer (0.71.15):
- - RCT-Folly/Fabric (= 2021.07.22.00)
- - RCTRequired (= 0.71.15)
- - RCTTypeSafety (= 0.71.15)
- - React-graphics (= 0.71.15)
- - React-jsi (= 0.71.15)
- - React-jsiexecutor (= 0.71.15)
- - ReactCommon/turbomodule/core (= 0.71.15)
- - React-Fabric/mounting (0.71.15):
- - RCT-Folly/Fabric (= 2021.07.22.00)
- - RCTRequired (= 0.71.15)
- - RCTTypeSafety (= 0.71.15)
- - React-graphics (= 0.71.15)
- - React-jsi (= 0.71.15)
- - React-jsiexecutor (= 0.71.15)
- - ReactCommon/turbomodule/core (= 0.71.15)
- - React-Fabric/runtimescheduler (0.71.15):
- - RCT-Folly/Fabric (= 2021.07.22.00)
- - RCTRequired (= 0.71.15)
- - RCTTypeSafety (= 0.71.15)
- - React-graphics (= 0.71.15)
- - React-jsi (= 0.71.15)
- - React-jsiexecutor (= 0.71.15)
- - ReactCommon/turbomodule/core (= 0.71.15)
- - React-Fabric/scheduler (0.71.15):
- - RCT-Folly/Fabric (= 2021.07.22.00)
- - RCTRequired (= 0.71.15)
- - RCTTypeSafety (= 0.71.15)
- - React-graphics (= 0.71.15)
- - React-jsi (= 0.71.15)
- - React-jsiexecutor (= 0.71.15)
- - ReactCommon/turbomodule/core (= 0.71.15)
- - React-Fabric/telemetry (0.71.15):
- - RCT-Folly/Fabric (= 2021.07.22.00)
- - RCTRequired (= 0.71.15)
- - RCTTypeSafety (= 0.71.15)
- - React-graphics (= 0.71.15)
- - React-jsi (= 0.71.15)
- - React-jsiexecutor (= 0.71.15)
- - ReactCommon/turbomodule/core (= 0.71.15)
- - React-Fabric/templateprocessor (0.71.15):
- - RCT-Folly/Fabric (= 2021.07.22.00)
- - RCTRequired (= 0.71.15)
- - RCTTypeSafety (= 0.71.15)
- - React-graphics (= 0.71.15)
- - React-jsi (= 0.71.15)
- - React-jsiexecutor (= 0.71.15)
- - ReactCommon/turbomodule/core (= 0.71.15)
- - React-Fabric/textlayoutmanager (0.71.15):
- - RCT-Folly/Fabric (= 2021.07.22.00)
- - RCTRequired (= 0.71.15)
- - RCTTypeSafety (= 0.71.15)
- - React-Fabric/uimanager
- - React-graphics (= 0.71.15)
- - React-jsi (= 0.71.15)
- - React-jsiexecutor (= 0.71.15)
- - ReactCommon/turbomodule/core (= 0.71.15)
- - React-Fabric/uimanager (0.71.15):
- - RCT-Folly/Fabric (= 2021.07.22.00)
- - RCTRequired (= 0.71.15)
- - RCTTypeSafety (= 0.71.15)
- - React-graphics (= 0.71.15)
- - React-jsi (= 0.71.15)
- - React-jsiexecutor (= 0.71.15)
- - ReactCommon/turbomodule/core (= 0.71.15)
- - React-Fabric/utils (0.71.15):
- - RCT-Folly/Fabric (= 2021.07.22.00)
- - RCTRequired (= 0.71.15)
- - RCTTypeSafety (= 0.71.15)
- - React-graphics (= 0.71.15)
- - React-jsi (= 0.71.15)
- - React-jsiexecutor (= 0.71.15)
- - ReactCommon/turbomodule/core (= 0.71.15)
- - React-graphics (0.71.15):
- - RCT-Folly/Fabric (= 2021.07.22.00)
- - React-Core/Default (= 0.71.15)
- - React-hermes (0.71.15):
- - DoubleConversion
- - glog
- - hermes-engine
- - RCT-Folly (= 2021.07.22.00)
- - RCT-Folly/Futures (= 2021.07.22.00)
- - React-cxxreact (= 0.71.15)
- React-jsi
- - React-jsiexecutor (= 0.71.15)
- - React-jsinspector (= 0.71.15)
- - React-perflogger (= 0.71.15)
- - React-jsi (0.71.15):
- - boost (= 1.76.0)
- - DoubleConversion
+ - React-jsiexecutor
+ - React-perflogger
+ - React-runtimescheduler
+ - React-utils
+ - SocketRocket (= 0.6.1)
+ - Yoga
+ - React-Core/CoreModulesHeaders (0.73.2):
- glog
- hermes-engine
- - RCT-Folly (= 2021.07.22.00)
- - React-jsiexecutor (0.71.15):
- - DoubleConversion
+ - RCT-Folly (= 2022.05.16.00)
+ - React-Core/Default
+ - React-cxxreact
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-perflogger
+ - React-runtimescheduler
+ - React-utils
+ - SocketRocket (= 0.6.1)
+ - Yoga
+ - React-Core/Default (0.73.2):
- glog
- hermes-engine
- - RCT-Folly (= 2021.07.22.00)
- - React-cxxreact (= 0.71.15)
- - React-jsi (= 0.71.15)
- - React-perflogger (= 0.71.15)
- - React-jsinspector (0.71.15)
- - React-logger (0.71.15):
+ - RCT-Folly (= 2022.05.16.00)
+ - React-cxxreact
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-perflogger
+ - React-runtimescheduler
+ - React-utils
+ - SocketRocket (= 0.6.1)
+ - Yoga
+ - React-Core/DevSupport (0.73.2):
- glog
- - react-native-video (6.0.0-beta.4):
+ - hermes-engine
+ - RCT-Folly (= 2022.05.16.00)
+ - React-Core/Default (= 0.73.2)
+ - React-Core/RCTWebSocket (= 0.73.2)
+ - React-cxxreact
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-jsinspector (= 0.73.2)
+ - React-perflogger
+ - React-runtimescheduler
+ - React-utils
+ - SocketRocket (= 0.6.1)
+ - Yoga
+ - React-Core/RCTActionSheetHeaders (0.73.2):
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2022.05.16.00)
+ - React-Core/Default
+ - React-cxxreact
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-perflogger
+ - React-runtimescheduler
+ - React-utils
+ - SocketRocket (= 0.6.1)
+ - Yoga
+ - React-Core/RCTAnimationHeaders (0.73.2):
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2022.05.16.00)
+ - React-Core/Default
+ - React-cxxreact
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-perflogger
+ - React-runtimescheduler
+ - React-utils
+ - SocketRocket (= 0.6.1)
+ - Yoga
+ - React-Core/RCTBlobHeaders (0.73.2):
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2022.05.16.00)
+ - React-Core/Default
+ - React-cxxreact
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-perflogger
+ - React-runtimescheduler
+ - React-utils
+ - SocketRocket (= 0.6.1)
+ - Yoga
+ - React-Core/RCTImageHeaders (0.73.2):
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2022.05.16.00)
+ - React-Core/Default
+ - React-cxxreact
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-perflogger
+ - React-runtimescheduler
+ - React-utils
+ - SocketRocket (= 0.6.1)
+ - Yoga
+ - React-Core/RCTLinkingHeaders (0.73.2):
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2022.05.16.00)
+ - React-Core/Default
+ - React-cxxreact
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-perflogger
+ - React-runtimescheduler
+ - React-utils
+ - SocketRocket (= 0.6.1)
+ - Yoga
+ - React-Core/RCTNetworkHeaders (0.73.2):
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2022.05.16.00)
+ - React-Core/Default
+ - React-cxxreact
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-perflogger
+ - React-runtimescheduler
+ - React-utils
+ - SocketRocket (= 0.6.1)
+ - Yoga
+ - React-Core/RCTSettingsHeaders (0.73.2):
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2022.05.16.00)
+ - React-Core/Default
+ - React-cxxreact
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-perflogger
+ - React-runtimescheduler
+ - React-utils
+ - SocketRocket (= 0.6.1)
+ - Yoga
+ - React-Core/RCTTextHeaders (0.73.2):
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2022.05.16.00)
+ - React-Core/Default
+ - React-cxxreact
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-perflogger
+ - React-runtimescheduler
+ - React-utils
+ - SocketRocket (= 0.6.1)
+ - Yoga
+ - React-Core/RCTVibrationHeaders (0.73.2):
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2022.05.16.00)
+ - React-Core/Default
+ - React-cxxreact
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-perflogger
+ - React-runtimescheduler
+ - React-utils
+ - SocketRocket (= 0.6.1)
+ - Yoga
+ - React-Core/RCTWebSocket (0.73.2):
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2022.05.16.00)
+ - React-Core/Default (= 0.73.2)
+ - React-cxxreact
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-perflogger
+ - React-runtimescheduler
+ - React-utils
+ - SocketRocket (= 0.6.1)
+ - Yoga
+ - React-CoreModules (0.73.2):
+ - RCT-Folly (= 2022.05.16.00)
+ - RCTTypeSafety (= 0.73.2)
+ - React-Codegen
+ - React-Core/CoreModulesHeaders (= 0.73.2)
+ - React-jsi (= 0.73.2)
+ - React-NativeModulesApple
+ - React-RCTBlob
+ - React-RCTImage (= 0.73.2)
+ - ReactCommon
+ - SocketRocket (= 0.6.1)
+ - React-cxxreact (0.73.2):
+ - boost (= 1.83.0)
+ - DoubleConversion
+ - fmt (~> 6.2.1)
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2022.05.16.00)
+ - React-callinvoker (= 0.73.2)
+ - React-debug (= 0.73.2)
+ - React-jsi (= 0.73.2)
+ - React-jsinspector (= 0.73.2)
+ - React-logger (= 0.73.2)
+ - React-perflogger (= 0.73.2)
+ - React-runtimeexecutor (= 0.73.2)
+ - React-debug (0.73.2)
+ - React-Fabric (0.73.2):
+ - DoubleConversion
+ - fmt (~> 6.2.1)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2022.05.16.00)
+ - RCTRequired
+ - RCTTypeSafety
- React-Core
- - react-native-video/Video (= 6.0.0-beta.4)
- - react-native-video/Video (6.0.0-beta.4):
- - PromisesSwift
+ - React-cxxreact
+ - React-debug
+ - React-Fabric/animations (= 0.73.2)
+ - React-Fabric/attributedstring (= 0.73.2)
+ - React-Fabric/componentregistry (= 0.73.2)
+ - React-Fabric/componentregistrynative (= 0.73.2)
+ - React-Fabric/components (= 0.73.2)
+ - React-Fabric/core (= 0.73.2)
+ - React-Fabric/imagemanager (= 0.73.2)
+ - React-Fabric/leakchecker (= 0.73.2)
+ - React-Fabric/mounting (= 0.73.2)
+ - React-Fabric/scheduler (= 0.73.2)
+ - React-Fabric/telemetry (= 0.73.2)
+ - React-Fabric/templateprocessor (= 0.73.2)
+ - React-Fabric/textlayoutmanager (= 0.73.2)
+ - React-Fabric/uimanager (= 0.73.2)
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - React-Fabric/animations (0.73.2):
+ - DoubleConversion
+ - fmt (~> 6.2.1)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2022.05.16.00)
+ - RCTRequired
+ - RCTTypeSafety
- React-Core
- - React-perflogger (0.71.15)
- - React-RCTActionSheet (0.71.15):
- - React-Core/RCTActionSheetHeaders (= 0.71.15)
- - React-RCTAnimation (0.71.15):
- - RCT-Folly (= 2021.07.22.00)
- - RCTTypeSafety (= 0.71.15)
- - React-Codegen (= 0.71.15)
- - React-Core/RCTAnimationHeaders (= 0.71.15)
- - React-jsi (= 0.71.15)
- - ReactCommon/turbomodule/core (= 0.71.15)
- - React-RCTAppDelegate (0.71.15):
+ - React-cxxreact
+ - React-debug
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - React-Fabric/attributedstring (0.73.2):
+ - DoubleConversion
+ - fmt (~> 6.2.1)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2022.05.16.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - React-Fabric/componentregistry (0.73.2):
+ - DoubleConversion
+ - fmt (~> 6.2.1)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2022.05.16.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - React-Fabric/componentregistrynative (0.73.2):
+ - DoubleConversion
+ - fmt (~> 6.2.1)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2022.05.16.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - React-Fabric/components (0.73.2):
+ - DoubleConversion
+ - fmt (~> 6.2.1)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2022.05.16.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-Fabric/components/inputaccessory (= 0.73.2)
+ - React-Fabric/components/legacyviewmanagerinterop (= 0.73.2)
+ - React-Fabric/components/modal (= 0.73.2)
+ - React-Fabric/components/rncore (= 0.73.2)
+ - React-Fabric/components/root (= 0.73.2)
+ - React-Fabric/components/safeareaview (= 0.73.2)
+ - React-Fabric/components/scrollview (= 0.73.2)
+ - React-Fabric/components/text (= 0.73.2)
+ - React-Fabric/components/textinput (= 0.73.2)
+ - React-Fabric/components/unimplementedview (= 0.73.2)
+ - React-Fabric/components/view (= 0.73.2)
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - React-Fabric/components/inputaccessory (0.73.2):
+ - DoubleConversion
+ - fmt (~> 6.2.1)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2022.05.16.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - React-Fabric/components/legacyviewmanagerinterop (0.73.2):
+ - DoubleConversion
+ - fmt (~> 6.2.1)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2022.05.16.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - React-Fabric/components/modal (0.73.2):
+ - DoubleConversion
+ - fmt (~> 6.2.1)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2022.05.16.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - React-Fabric/components/rncore (0.73.2):
+ - DoubleConversion
+ - fmt (~> 6.2.1)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2022.05.16.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - React-Fabric/components/root (0.73.2):
+ - DoubleConversion
+ - fmt (~> 6.2.1)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2022.05.16.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - React-Fabric/components/safeareaview (0.73.2):
+ - DoubleConversion
+ - fmt (~> 6.2.1)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2022.05.16.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - React-Fabric/components/scrollview (0.73.2):
+ - DoubleConversion
+ - fmt (~> 6.2.1)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2022.05.16.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - React-Fabric/components/text (0.73.2):
+ - DoubleConversion
+ - fmt (~> 6.2.1)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2022.05.16.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - React-Fabric/components/textinput (0.73.2):
+ - DoubleConversion
+ - fmt (~> 6.2.1)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2022.05.16.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - React-Fabric/components/unimplementedview (0.73.2):
+ - DoubleConversion
+ - fmt (~> 6.2.1)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2022.05.16.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - React-Fabric/components/view (0.73.2):
+ - DoubleConversion
+ - fmt (~> 6.2.1)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2022.05.16.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - Yoga
+ - React-Fabric/core (0.73.2):
+ - DoubleConversion
+ - fmt (~> 6.2.1)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2022.05.16.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - React-Fabric/imagemanager (0.73.2):
+ - DoubleConversion
+ - fmt (~> 6.2.1)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2022.05.16.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - React-Fabric/leakchecker (0.73.2):
+ - DoubleConversion
+ - fmt (~> 6.2.1)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2022.05.16.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - React-Fabric/mounting (0.73.2):
+ - DoubleConversion
+ - fmt (~> 6.2.1)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2022.05.16.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - React-Fabric/scheduler (0.73.2):
+ - DoubleConversion
+ - fmt (~> 6.2.1)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2022.05.16.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - React-Fabric/telemetry (0.73.2):
+ - DoubleConversion
+ - fmt (~> 6.2.1)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2022.05.16.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - React-Fabric/templateprocessor (0.73.2):
+ - DoubleConversion
+ - fmt (~> 6.2.1)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2022.05.16.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - React-Fabric/textlayoutmanager (0.73.2):
+ - DoubleConversion
+ - fmt (~> 6.2.1)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2022.05.16.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-Fabric/uimanager
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - React-Fabric/uimanager (0.73.2):
+ - DoubleConversion
+ - fmt (~> 6.2.1)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2022.05.16.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - React-FabricImage (0.73.2):
+ - DoubleConversion
+ - fmt (~> 6.2.1)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2022.05.16.00)
+ - RCTRequired (= 0.73.2)
+ - RCTTypeSafety (= 0.73.2)
+ - React-Fabric
+ - React-graphics
+ - React-ImageManager
+ - React-jsi
+ - React-jsiexecutor (= 0.73.2)
+ - React-logger
+ - React-rendererdebug
+ - React-utils
+ - ReactCommon
+ - Yoga
+ - React-graphics (0.73.2):
+ - glog
+ - RCT-Folly/Fabric (= 2022.05.16.00)
+ - React-Core/Default (= 0.73.2)
+ - React-utils
+ - React-hermes (0.73.2):
+ - DoubleConversion
+ - fmt (~> 6.2.1)
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2022.05.16.00)
+ - RCT-Folly/Futures (= 2022.05.16.00)
+ - React-cxxreact (= 0.73.2)
+ - React-jsi
+ - React-jsiexecutor (= 0.73.2)
+ - React-jsinspector (= 0.73.2)
+ - React-perflogger (= 0.73.2)
+ - React-ImageManager (0.73.2):
+ - glog
+ - RCT-Folly/Fabric
+ - React-Core/Default
+ - React-debug
+ - React-Fabric
+ - React-graphics
+ - React-rendererdebug
+ - React-utils
+ - React-jserrorhandler (0.73.2):
+ - RCT-Folly/Fabric (= 2022.05.16.00)
+ - React-debug
+ - React-jsi
+ - React-Mapbuffer
+ - React-jsi (0.73.2):
+ - boost (= 1.83.0)
+ - DoubleConversion
+ - fmt (~> 6.2.1)
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2022.05.16.00)
+ - React-jsiexecutor (0.73.2):
+ - DoubleConversion
+ - fmt (~> 6.2.1)
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2022.05.16.00)
+ - React-cxxreact (= 0.73.2)
+ - React-jsi (= 0.73.2)
+ - React-perflogger (= 0.73.2)
+ - React-jsinspector (0.73.2)
+ - React-jsitracing (0.73.2):
+ - React-jsi
+ - React-logger (0.73.2):
+ - glog
+ - React-Mapbuffer (0.73.2):
+ - glog
+ - React-debug
+ - react-native-video (6.3.0):
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2022.05.16.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Codegen
+ - React-Core
+ - React-debug
+ - React-Fabric
+ - React-graphics
+ - React-ImageManager
+ - react-native-video/Video (= 6.3.0)
+ - React-NativeModulesApple
+ - React-RCTFabric
+ - React-rendererdebug
+ - React-utils
+ - ReactCommon/turbomodule/bridging
+ - ReactCommon/turbomodule/core
+ - Yoga
+ - react-native-video/Video (6.3.0):
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2022.05.16.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Codegen
+ - React-Core
+ - React-debug
+ - React-Fabric
+ - React-graphics
+ - React-ImageManager
+ - React-NativeModulesApple
+ - React-RCTFabric
+ - React-rendererdebug
+ - React-utils
+ - ReactCommon/turbomodule/bridging
+ - ReactCommon/turbomodule/core
+ - Yoga
+ - React-nativeconfig (0.73.2)
+ - React-NativeModulesApple (0.73.2):
+ - glog
+ - hermes-engine
+ - React-callinvoker
+ - React-Core
+ - React-cxxreact
+ - React-jsi
+ - React-runtimeexecutor
+ - ReactCommon/turbomodule/bridging
+ - ReactCommon/turbomodule/core
+ - React-perflogger (0.73.2)
+ - React-RCTActionSheet (0.73.2):
+ - React-Core/RCTActionSheetHeaders (= 0.73.2)
+ - React-RCTAnimation (0.73.2):
+ - RCT-Folly (= 2022.05.16.00)
+ - RCTTypeSafety
+ - React-Codegen
+ - React-Core/RCTAnimationHeaders
+ - React-jsi
+ - React-NativeModulesApple
+ - ReactCommon
+ - React-RCTAppDelegate (0.73.2):
- RCT-Folly
- RCTRequired
- RCTTypeSafety
- React-Core
+ - React-CoreModules
+ - React-debug
+ - React-Fabric
- React-graphics
+ - React-hermes
+ - React-nativeconfig
+ - React-NativeModulesApple
- React-RCTFabric
+ - React-RCTImage
+ - React-RCTNetwork
+ - React-rendererdebug
+ - React-RuntimeApple
+ - React-RuntimeCore
+ - React-RuntimeHermes
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon
+ - React-RCTBlob (0.73.2):
+ - hermes-engine
+ - RCT-Folly (= 2022.05.16.00)
+ - React-Codegen
+ - React-Core/RCTBlobHeaders
+ - React-Core/RCTWebSocket
+ - React-jsi
+ - React-NativeModulesApple
+ - React-RCTNetwork
+ - ReactCommon
+ - React-RCTFabric (0.73.2):
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2022.05.16.00)
+ - React-Core
+ - React-debug
+ - React-Fabric
+ - React-FabricImage
+ - React-graphics
+ - React-ImageManager
+ - React-jsi
+ - React-nativeconfig
+ - React-RCTImage
+ - React-RCTText
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - Yoga
+ - React-RCTImage (0.73.2):
+ - RCT-Folly (= 2022.05.16.00)
+ - RCTTypeSafety
+ - React-Codegen
+ - React-Core/RCTImageHeaders
+ - React-jsi
+ - React-NativeModulesApple
+ - React-RCTNetwork
+ - ReactCommon
+ - React-RCTLinking (0.73.2):
+ - React-Codegen
+ - React-Core/RCTLinkingHeaders (= 0.73.2)
+ - React-jsi (= 0.73.2)
+ - React-NativeModulesApple
+ - ReactCommon
+ - ReactCommon/turbomodule/core (= 0.73.2)
+ - React-RCTNetwork (0.73.2):
+ - RCT-Folly (= 2022.05.16.00)
+ - RCTTypeSafety
+ - React-Codegen
+ - React-Core/RCTNetworkHeaders
+ - React-jsi
+ - React-NativeModulesApple
+ - ReactCommon
+ - React-RCTSettings (0.73.2):
+ - RCT-Folly (= 2022.05.16.00)
+ - RCTTypeSafety
+ - React-Codegen
+ - React-Core/RCTSettingsHeaders
+ - React-jsi
+ - React-NativeModulesApple
+ - ReactCommon
+ - React-RCTText (0.73.2):
+ - React-Core/RCTTextHeaders (= 0.73.2)
+ - Yoga
+ - React-RCTVibration (0.73.2):
+ - RCT-Folly (= 2022.05.16.00)
+ - React-Codegen
+ - React-Core/RCTVibrationHeaders
+ - React-jsi
+ - React-NativeModulesApple
+ - ReactCommon
+ - React-rendererdebug (0.73.2):
+ - DoubleConversion
+ - fmt (~> 6.2.1)
+ - RCT-Folly (= 2022.05.16.00)
+ - React-debug
+ - React-rncore (0.73.2)
+ - React-RuntimeApple (0.73.2):
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2022.05.16.00)
+ - React-callinvoker
+ - React-Core/Default
+ - React-CoreModules
+ - React-cxxreact
+ - React-jserrorhandler
+ - React-jsi
+ - React-jsiexecutor
+ - React-Mapbuffer
+ - React-NativeModulesApple
+ - React-RCTFabric
+ - React-RuntimeCore
+ - React-runtimeexecutor
+ - React-RuntimeHermes
+ - React-utils
+ - React-RuntimeCore (0.73.2):
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2022.05.16.00)
+ - React-cxxreact
+ - React-jserrorhandler
+ - React-jsi
+ - React-jsiexecutor
+ - React-runtimeexecutor
+ - React-runtimescheduler
+ - React-runtimeexecutor (0.73.2):
+ - React-jsi (= 0.73.2)
+ - React-RuntimeHermes (0.73.2):
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2022.05.16.00)
+ - React-jsi
+ - React-jsitracing
+ - React-nativeconfig
+ - React-utils
+ - React-runtimescheduler (0.73.2):
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2022.05.16.00)
+ - React-callinvoker
+ - React-cxxreact
+ - React-debug
+ - React-jsi
+ - React-rendererdebug
+ - React-runtimeexecutor
+ - React-utils
+ - React-utils (0.73.2):
+ - glog
+ - RCT-Folly (= 2022.05.16.00)
+ - React-debug
+ - ReactCommon (0.73.2):
+ - React-logger (= 0.73.2)
+ - ReactCommon/turbomodule (= 0.73.2)
+ - ReactCommon/turbomodule (0.73.2):
+ - DoubleConversion
+ - fmt (~> 6.2.1)
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2022.05.16.00)
+ - React-callinvoker (= 0.73.2)
+ - React-cxxreact (= 0.73.2)
+ - React-jsi (= 0.73.2)
+ - React-logger (= 0.73.2)
+ - React-perflogger (= 0.73.2)
+ - ReactCommon/turbomodule/bridging (= 0.73.2)
+ - ReactCommon/turbomodule/core (= 0.73.2)
+ - ReactCommon/turbomodule/bridging (0.73.2):
+ - DoubleConversion
+ - fmt (~> 6.2.1)
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2022.05.16.00)
+ - React-callinvoker (= 0.73.2)
+ - React-cxxreact (= 0.73.2)
+ - React-jsi (= 0.73.2)
+ - React-logger (= 0.73.2)
+ - React-perflogger (= 0.73.2)
+ - ReactCommon/turbomodule/core (0.73.2):
+ - DoubleConversion
+ - fmt (~> 6.2.1)
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2022.05.16.00)
+ - React-callinvoker (= 0.73.2)
+ - React-cxxreact (= 0.73.2)
+ - React-jsi (= 0.73.2)
+ - React-logger (= 0.73.2)
+ - React-perflogger (= 0.73.2)
+ - RNCPicker (2.7.5):
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2022.05.16.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Codegen
+ - React-Core
+ - React-debug
+ - React-Fabric
+ - React-graphics
+ - React-ImageManager
+ - React-NativeModulesApple
+ - React-RCTFabric
+ - React-rendererdebug
+ - React-utils
+ - ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
- - React-RCTBlob (0.71.15):
- - hermes-engine
- - RCT-Folly (= 2021.07.22.00)
- - React-Codegen (= 0.71.15)
- - React-Core/RCTBlobHeaders (= 0.71.15)
- - React-Core/RCTWebSocket (= 0.71.15)
- - React-jsi (= 0.71.15)
- - React-RCTNetwork (= 0.71.15)
- - ReactCommon/turbomodule/core (= 0.71.15)
- - React-RCTFabric (0.71.15):
- - RCT-Folly/Fabric (= 2021.07.22.00)
- - React-Core (= 0.71.15)
- - React-Fabric (= 0.71.15)
- - React-RCTImage (= 0.71.15)
- - React-RCTImage (0.71.15):
- - RCT-Folly (= 2021.07.22.00)
- - RCTTypeSafety (= 0.71.15)
- - React-Codegen (= 0.71.15)
- - React-Core/RCTImageHeaders (= 0.71.15)
- - React-jsi (= 0.71.15)
- - React-RCTNetwork (= 0.71.15)
- - ReactCommon/turbomodule/core (= 0.71.15)
- - React-RCTLinking (0.71.15):
- - React-Codegen (= 0.71.15)
- - React-Core/RCTLinkingHeaders (= 0.71.15)
- - React-jsi (= 0.71.15)
- - ReactCommon/turbomodule/core (= 0.71.15)
- - React-RCTNetwork (0.71.15):
- - RCT-Folly (= 2021.07.22.00)
- - RCTTypeSafety (= 0.71.15)
- - React-Codegen (= 0.71.15)
- - React-Core/RCTNetworkHeaders (= 0.71.15)
- - React-jsi (= 0.71.15)
- - ReactCommon/turbomodule/core (= 0.71.15)
- - React-RCTSettings (0.71.15):
- - RCT-Folly (= 2021.07.22.00)
- - RCTTypeSafety (= 0.71.15)
- - React-Codegen (= 0.71.15)
- - React-Core/RCTSettingsHeaders (= 0.71.15)
- - React-jsi (= 0.71.15)
- - ReactCommon/turbomodule/core (= 0.71.15)
- - React-RCTText (0.71.15):
- - React-Core/RCTTextHeaders (= 0.71.15)
- - React-RCTVibration (0.71.15):
- - RCT-Folly (= 2021.07.22.00)
- - React-Codegen (= 0.71.15)
- - React-Core/RCTVibrationHeaders (= 0.71.15)
- - React-jsi (= 0.71.15)
- - ReactCommon/turbomodule/core (= 0.71.15)
- - React-rncore (0.71.15)
- - React-runtimeexecutor (0.71.15):
- - React-jsi (= 0.71.15)
- - ReactCommon/turbomodule/bridging (0.71.15):
- - DoubleConversion
- - glog
- - hermes-engine
- - RCT-Folly (= 2021.07.22.00)
- - React-callinvoker (= 0.71.15)
- - React-Core (= 0.71.15)
- - React-cxxreact (= 0.71.15)
- - React-jsi (= 0.71.15)
- - React-logger (= 0.71.15)
- - React-perflogger (= 0.71.15)
- - ReactCommon/turbomodule/core (0.71.15):
- - DoubleConversion
- - glog
- - hermes-engine
- - RCT-Folly (= 2021.07.22.00)
- - React-callinvoker (= 0.71.15)
- - React-Core (= 0.71.15)
- - React-cxxreact (= 0.71.15)
- - React-jsi (= 0.71.15)
- - React-logger (= 0.71.15)
- - React-perflogger (= 0.71.15)
- - SocketRocket (0.6.0)
+ - Yoga
+ - SocketRocket (0.6.1)
- Yoga (1.14.0)
- - YogaKit (1.18.1):
- - Yoga (~> 1.14)
DEPENDENCIES:
- boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`)
- DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`)
- FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`)
- - FBReactNativeSpec (from `../node_modules/react-native/React/FBReactNativeSpec`)
- - Flipper (= 0.125.0)
- - Flipper-Boost-iOSX (= 1.76.0.1.11)
- - Flipper-DoubleConversion (= 3.2.0.1)
- - Flipper-Fmt (= 7.1.7)
- - Flipper-Folly (= 2.6.10)
- - Flipper-Glog (= 0.5.0.5)
- - Flipper-PeerTalk (= 0.0.4)
- - Flipper-RSocket (= 1.4.3)
- - FlipperKit (= 0.125.0)
- - FlipperKit/Core (= 0.125.0)
- - FlipperKit/CppBridge (= 0.125.0)
- - FlipperKit/FBCxxFollyDynamicConvert (= 0.125.0)
- - FlipperKit/FBDefines (= 0.125.0)
- - FlipperKit/FKPortForwarding (= 0.125.0)
- - FlipperKit/FlipperKitHighlightOverlay (= 0.125.0)
- - FlipperKit/FlipperKitLayoutPlugin (= 0.125.0)
- - FlipperKit/FlipperKitLayoutTextSearchable (= 0.125.0)
- - FlipperKit/FlipperKitNetworkPlugin (= 0.125.0)
- - FlipperKit/FlipperKitReactPlugin (= 0.125.0)
- - FlipperKit/FlipperKitUserDefaultsPlugin (= 0.125.0)
- - FlipperKit/SKIOSNetworkPlugin (= 0.125.0)
- glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`)
- hermes-engine (from `../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec`)
- libevent (~> 2.1.12)
- - OpenSSL-Universal (= 1.1.1100)
- RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`)
- RCT-Folly/Fabric (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`)
- RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`)
@@ -800,18 +1170,25 @@ DEPENDENCIES:
- React-callinvoker (from `../node_modules/react-native/ReactCommon/callinvoker`)
- React-Codegen (from `build/generated/ios`)
- React-Core (from `../node_modules/react-native/`)
- - React-Core/DevSupport (from `../node_modules/react-native/`)
- React-Core/RCTWebSocket (from `../node_modules/react-native/`)
- React-CoreModules (from `../node_modules/react-native/React/CoreModules`)
- React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`)
+ - React-debug (from `../node_modules/react-native/ReactCommon/react/debug`)
- React-Fabric (from `../node_modules/react-native/ReactCommon`)
+ - React-FabricImage (from `../node_modules/react-native/ReactCommon`)
- React-graphics (from `../node_modules/react-native/ReactCommon/react/renderer/graphics`)
- React-hermes (from `../node_modules/react-native/ReactCommon/hermes`)
+ - React-ImageManager (from `../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios`)
+ - React-jserrorhandler (from `../node_modules/react-native/ReactCommon/jserrorhandler`)
- React-jsi (from `../node_modules/react-native/ReactCommon/jsi`)
- React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`)
- - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector`)
+ - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector-modern`)
+ - React-jsitracing (from `../node_modules/react-native/ReactCommon/hermes/executor/`)
- React-logger (from `../node_modules/react-native/ReactCommon/logger`)
+ - React-Mapbuffer (from `../node_modules/react-native/ReactCommon`)
- react-native-video (from `../../..`)
+ - React-nativeconfig (from `../node_modules/react-native/ReactCommon`)
+ - React-NativeModulesApple (from `../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`)
- React-perflogger (from `../node_modules/react-native/ReactCommon/reactperflogger`)
- React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`)
- React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`)
@@ -824,30 +1201,23 @@ DEPENDENCIES:
- React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`)
- React-RCTText (from `../node_modules/react-native/Libraries/Text`)
- React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`)
+ - React-rendererdebug (from `../node_modules/react-native/ReactCommon/react/renderer/debug`)
- React-rncore (from `../node_modules/react-native/ReactCommon`)
+ - React-RuntimeApple (from `../node_modules/react-native/ReactCommon/react/runtime/platform/ios`)
+ - React-RuntimeCore (from `../node_modules/react-native/ReactCommon/react/runtime`)
- React-runtimeexecutor (from `../node_modules/react-native/ReactCommon/runtimeexecutor`)
+ - React-RuntimeHermes (from `../node_modules/react-native/ReactCommon/react/runtime`)
+ - React-runtimescheduler (from `../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler`)
+ - React-utils (from `../node_modules/react-native/ReactCommon/react/utils`)
- ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`)
+ - "RNCPicker (from `../node_modules/@react-native-picker/picker`)"
- Yoga (from `../node_modules/react-native/ReactCommon/yoga`)
SPEC REPOS:
trunk:
- - CocoaAsyncSocket
- - Flipper
- - Flipper-Boost-iOSX
- - Flipper-DoubleConversion
- - Flipper-Fmt
- - Flipper-Folly
- - Flipper-Glog
- - Flipper-PeerTalk
- - Flipper-RSocket
- - FlipperKit
- fmt
- libevent
- - OpenSSL-Universal
- - PromisesObjC
- - PromisesSwift
- SocketRocket
- - YogaKit
EXTERNAL SOURCES:
boost:
@@ -856,12 +1226,11 @@ EXTERNAL SOURCES:
:podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec"
FBLazyVector:
:path: "../node_modules/react-native/Libraries/FBLazyVector"
- FBReactNativeSpec:
- :path: "../node_modules/react-native/React/FBReactNativeSpec"
glog:
:podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec"
hermes-engine:
:podspec: "../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec"
+ :tag: hermes-2023-11-17-RNv0.73.0-21043a3fc062be445e56a2c10ecd8be028dd9cc5
RCT-Folly:
:podspec: "../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec"
RCTRequired:
@@ -880,22 +1249,38 @@ EXTERNAL SOURCES:
:path: "../node_modules/react-native/React/CoreModules"
React-cxxreact:
:path: "../node_modules/react-native/ReactCommon/cxxreact"
+ React-debug:
+ :path: "../node_modules/react-native/ReactCommon/react/debug"
React-Fabric:
:path: "../node_modules/react-native/ReactCommon"
+ React-FabricImage:
+ :path: "../node_modules/react-native/ReactCommon"
React-graphics:
:path: "../node_modules/react-native/ReactCommon/react/renderer/graphics"
React-hermes:
:path: "../node_modules/react-native/ReactCommon/hermes"
+ React-ImageManager:
+ :path: "../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios"
+ React-jserrorhandler:
+ :path: "../node_modules/react-native/ReactCommon/jserrorhandler"
React-jsi:
:path: "../node_modules/react-native/ReactCommon/jsi"
React-jsiexecutor:
:path: "../node_modules/react-native/ReactCommon/jsiexecutor"
React-jsinspector:
- :path: "../node_modules/react-native/ReactCommon/jsinspector"
+ :path: "../node_modules/react-native/ReactCommon/jsinspector-modern"
+ React-jsitracing:
+ :path: "../node_modules/react-native/ReactCommon/hermes/executor/"
React-logger:
:path: "../node_modules/react-native/ReactCommon/logger"
+ React-Mapbuffer:
+ :path: "../node_modules/react-native/ReactCommon"
react-native-video:
:path: "../../.."
+ React-nativeconfig:
+ :path: "../node_modules/react-native/ReactCommon"
+ React-NativeModulesApple:
+ :path: "../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios"
React-perflogger:
:path: "../node_modules/react-native/ReactCommon/reactperflogger"
React-RCTActionSheet:
@@ -920,73 +1305,87 @@ EXTERNAL SOURCES:
:path: "../node_modules/react-native/Libraries/Text"
React-RCTVibration:
:path: "../node_modules/react-native/Libraries/Vibration"
+ React-rendererdebug:
+ :path: "../node_modules/react-native/ReactCommon/react/renderer/debug"
React-rncore:
:path: "../node_modules/react-native/ReactCommon"
+ React-RuntimeApple:
+ :path: "../node_modules/react-native/ReactCommon/react/runtime/platform/ios"
+ React-RuntimeCore:
+ :path: "../node_modules/react-native/ReactCommon/react/runtime"
React-runtimeexecutor:
:path: "../node_modules/react-native/ReactCommon/runtimeexecutor"
+ React-RuntimeHermes:
+ :path: "../node_modules/react-native/ReactCommon/react/runtime"
+ React-runtimescheduler:
+ :path: "../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler"
+ React-utils:
+ :path: "../node_modules/react-native/ReactCommon/react/utils"
ReactCommon:
:path: "../node_modules/react-native/ReactCommon"
+ RNCPicker:
+ :path: "../node_modules/@react-native-picker/picker"
Yoga:
:path: "../node_modules/react-native/ReactCommon/yoga"
SPEC CHECKSUMS:
- boost: 7dcd2de282d72e344012f7d6564d024930a6a440
- CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99
- DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54
- FBLazyVector: d06bbe89e3a89ee90c4deab1c84bf306ffa5ed37
- FBReactNativeSpec: 6fecc43741c2aed59c2bc6ba2c2f486014e03521
- Flipper: 26fc4b7382499f1281eb8cb921e5c3ad6de91fe0
- Flipper-Boost-iOSX: fd1e2b8cbef7e662a122412d7ac5f5bea715403c
- Flipper-DoubleConversion: 2dc99b02f658daf147069aad9dbd29d8feb06d30
- Flipper-Fmt: 60cbdd92fc254826e61d669a5d87ef7015396a9b
- Flipper-Folly: 584845625005ff068a6ebf41f857f468decd26b3
- Flipper-Glog: 70c50ce58ddaf67dc35180db05f191692570f446
- Flipper-PeerTalk: 116d8f857dc6ef55c7a5a75ea3ceaafe878aadc9
- Flipper-RSocket: d9d9ade67cbecf6ac10730304bf5607266dd2541
- FlipperKit: cbdee19bdd4e7f05472a66ce290f1b729ba3cb86
+ boost: d3f49c53809116a5d38da093a8aa78bf551aed09
+ DoubleConversion: fea03f2699887d960129cc54bba7e52542b6f953
+ FBLazyVector: fbc4957d9aa695250b55d879c1d86f79d7e69ab4
fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9
- glog: 04b94705f318337d7ead9e6d17c019bd9b1f6b1b
- hermes-engine: 04437e4291ede4af0c76c25e7efd0eacb8fd25e5
+ glog: c5d68082e772fa1c511173d6b30a9de2c05a69a2
+ hermes-engine: b361c9ef5ef3cda53f66e195599b47e1f84ffa35
libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913
- OpenSSL-Universal: ebc357f1e6bc71fa463ccb2fe676756aff50e88c
- PromisesObjC: 09985d6d70fbe7878040aa746d78236e6946d2ef
- PromisesSwift: cf9eb58666a43bbe007302226e510b16c1e10959
- RCT-Folly: 424b8c9a7a0b9ab2886ffe9c3b041ef628fd4fb1
- RCTRequired: 4ce9da4fa2f8a134f62c70e4ab9d971b9d640f41
- RCTTypeSafety: decfec2884f0c523f799600d2b6105cdc15e13db
- React: ca22a0b3f199b6acac95416ef7eb96cc84a55103
- React-callinvoker: 366d4449bc2901e89da3f30c6d203c491d060350
- React-Codegen: 6fe71a7e025aa51e73b66ebb092d59a2a7701bae
- React-Core: 169395096d2c22872e22cd74e3694a4b041cce76
- React-CoreModules: 8c2a970d9fd778e6016b9297f2c2dddbe78b04ec
- React-cxxreact: e61b3e92887bb8fc241326b83d667953ff732923
- React-Fabric: f4ddd27dc414581018db9cbdd362c80e77b08eca
- React-graphics: 516c3bb35198e4a2531fd52ab6cfc681dad71874
- React-hermes: 476b93736605b457d1bc390336656c94460205b7
- React-jsi: 9fe8766963aa3aea90bbd477ea63255eb847d404
- React-jsiexecutor: e0cde8d57cee18097b3d2b1bf6404ad25dd8d33b
- React-jsinspector: 4ade58a6a355d97a53f847543b14f4cb5033cb70
- React-logger: 56699550750c013096a11dce3bc996e7dd583835
- react-native-video: 6078b448c21630b0a2937436527ad54fd2a1fdd8
- React-perflogger: 0cc42978a483a47f3696171dac2e7033936fc82d
- React-RCTActionSheet: ea922b476d24f6d40b8e02ac3228412bd3637468
- React-RCTAnimation: 7be2c148398eaa5beac950b2b5ec7102389ec3ad
- React-RCTAppDelegate: dc57448e65541509565b59518e8a81e30ae69bd7
- React-RCTBlob: c1e1e53b334f36b3311c3206036c99f4e5406cdf
- React-RCTFabric: 42e8e9067f73fdb2e9d12f0b09003cd49d3da139
- React-RCTImage: 4a2cd71dd8c1954cfab50e244b269d47bdcc76da
- React-RCTLinking: c8ff9fe7f5741afc05894c7da4a0d2bd1458f247
- React-RCTNetwork: 93c329744baa8c04057a5a29b790618e0c2a6a68
- React-RCTSettings: bcd09cd3ee26967bdfbc8af174404b8ffabfbc3c
- React-RCTText: c525eb78cfe9489f130fa69004ff081a5ae33e06
- React-RCTVibration: a97783e3645ddf852e34da2e015656e309f3a083
- React-rncore: 0fc98082b749bad91dbb7a4bca9cb53386477c81
- React-runtimeexecutor: 8f2ddd9db7874ec7de84f5c55d73aeaaf82908e2
- ReactCommon: 309d965cb51f058d07dea65bc04dcf462911f0a4
- SocketRocket: fccef3f9c5cedea1353a9ef6ada904fde10d6608
- Yoga: 68c9c592c3e80ec37ff28db20eedb13d84aae5df
- YogaKit: f782866e155069a2cca2517aafea43200b01fd5a
+ RCT-Folly: 7169b2b1c44399c76a47b5deaaba715eeeb476c0
+ RCTRequired: 9b1e7e262745fb671e33c51c1078d093bd30e322
+ RCTTypeSafety: a759e3b086eccf3e2cbf2493d22f28e082f958e6
+ React: 805f5dd55bbdb92c36b4914c64aaae4c97d358dc
+ React-callinvoker: 6a697867607c990c2c2c085296ee32cfb5e47c01
+ React-Codegen: f3cb992539e5c21675f087e536d64b1f2a448655
+ React-Core: 49f66fecc7695464e9b7bc7dc7cd9473d2c60584
+ React-CoreModules: 710e7c557a1a8180bd1645f5b4bf79f4bd3f5417
+ React-cxxreact: 345857b5e4be000c0527df78be3b41a0677a20ce
+ React-debug: f1637bce73342b2f6eee4982508fdfb088667a87
+ React-Fabric: 4dfcff8f14d8e5a7a60b11b7862dad2a9d99c65b
+ React-FabricImage: 4a9e9510b7f28bbde6a743b18c0cb941a142e938
+ React-graphics: dd5af9d8b1b45171fd6933e19fed522f373bcb10
+ React-hermes: a52d183a5cf8ccb7020ce3df4275b89d01e6b53e
+ React-ImageManager: c5b7db131eff71443d7f3a8d686fd841d18befd3
+ React-jserrorhandler: 97a6a12e2344c3c4fdd7ba1edefb005215c732f8
+ React-jsi: a182068133f80918cd0eec77875abaf943a0b6be
+ React-jsiexecutor: dacd00ce8a18fc00a0ae6c25e3015a6437e5d2e8
+ React-jsinspector: 03644c063fc3621c9a4e8bf263a8150909129618
+ React-jsitracing: 7c77101b38fcc8fa7f198de7e1d834350a85af90
+ React-logger: 66b168e2b2bee57bd8ce9e69f739d805732a5570
+ React-Mapbuffer: 9ee041e1d7be96da6d76a251f92e72b711c651d6
+ react-native-video: 382353af62f6cbf8002a6de8d6633769edd2af07
+ React-nativeconfig: d753fbbc8cecc8ae413d615599ac378bbf6999bb
+ React-NativeModulesApple: 964f4eeab1b4325e8b6a799cf4444c3fd4eb0a9c
+ React-perflogger: 29efe63b7ef5fbaaa50ef6eaa92482f98a24b97e
+ React-RCTActionSheet: 69134c62aefd362027b20da01cd5d14ffd39db3f
+ React-RCTAnimation: 3b5a57087c7a5e727855b803d643ac1d445488f5
+ React-RCTAppDelegate: cb1a9a8447ddad006f934988016390f4df472e74
+ React-RCTBlob: 26ea660f2be1e6de62f2d2ad9a9c7b9bfabb786f
+ React-RCTFabric: bb6dbbff2f80b9489f8b2f1d2554aa040aa2e3cd
+ React-RCTImage: 27b27f4663df9e776d0549ed2f3536213e793f1b
+ React-RCTLinking: 962880ce9d0e2ea83fd182953538fc4ed757d4da
+ React-RCTNetwork: 73a756b44d4ad584bae13a5f1484e3ce12accac8
+ React-RCTSettings: 6d7f8d807f05de3d01cfb182d14e5f400716faac
+ React-RCTText: 73006e95ca359595c2510c1c0114027c85a6ddd3
+ React-RCTVibration: 599f427f9cbdd9c4bf38959ca020e8fef0717211
+ React-rendererdebug: f2946e0a1c3b906e71555a7c4a39aa6a6c0e639b
+ React-rncore: 6e3139cf51cea08068f008da426821d1deaa24b9
+ React-RuntimeApple: 08c29690996ed935e35054965bcfb70ebea67318
+ React-RuntimeCore: 5b73f40b46d78a825cf71714e1e5044d389702d6
+ React-runtimeexecutor: 2d1f64f58193f00a3ad71d3f89c2bfbfe11cf5a5
+ React-RuntimeHermes: 01dcb5a4e9073496f6f981a8648843771e3f6516
+ React-runtimescheduler: df8945a656356ff10f58f65a70820478bfcf33ad
+ React-utils: f5bc61e7ea3325c0732ae2d755f4441940163b85
+ ReactCommon: 45b5d4f784e869c44a6f5a8fad5b114ca8f78c53
+ RNCPicker: 6ce7e81292cec4ddf1a5eeaeec00c31206e9e134
+ SocketRocket: f32cd54efbe0f095c4d7594881e52619cfe80b17
+ Yoga: e64aa65de36c0832d04e8c7bd614396c77a80047
-PODFILE CHECKSUM: 780eb8fa466e7a1ad2e9200598bc65585b637433
+PODFILE CHECKSUM: cf04724bfafa2ca6f6877a9a65072610a4b6ed7c
-COCOAPODS: 1.12.0
+COCOAPODS: 1.15.2
diff --git a/examples/FabricExample/jest.config.js b/examples/FabricExample/jest.config.js
new file mode 100644
index 00000000..8130fead
--- /dev/null
+++ b/examples/FabricExample/jest.config.js
@@ -0,0 +1,3 @@
+module.exports = {
+ preset: 'react-native',
+};
\ No newline at end of file
diff --git a/examples/FabricExample/metro.config.js b/examples/FabricExample/metro.config.js
index 46475fb3..b5f681a8 100644
--- a/examples/FabricExample/metro.config.js
+++ b/examples/FabricExample/metro.config.js
@@ -2,6 +2,7 @@ const path = require('path');
const escape = require('escape-string-regexp');
const exclusionList = require('metro-config/src/defaults/exclusionList');
const pak = require('../../package.json');
+const {getDefaultConfig, mergeConfig} = require('@react-native/metro-config');
const root = path.resolve(__dirname, '../../');
@@ -9,7 +10,7 @@ const modules = Object.keys({
...pak.peerDependencies,
});
-module.exports = {
+const config = {
projectRoot: __dirname,
watchFolders: [root],
@@ -37,4 +38,6 @@ module.exports = {
},
}),
},
-};
+}
+
+module.exports = mergeConfig(getDefaultConfig(__dirname), config);
diff --git a/examples/FabricExample/package.json b/examples/FabricExample/package.json
index bbb234ad..2fdbd92d 100644
--- a/examples/FabricExample/package.json
+++ b/examples/FabricExample/package.json
@@ -11,27 +11,33 @@
"pod-install": "bundle exec npx pod-install --project-directory=ios --verbose"
},
"dependencies": {
+ "@react-native-picker/picker": "2.7.5",
"react": "18.1.0",
- "react-native": "^0.71.6"
+ "react-native": "0.73.2"
},
"devDependencies": {
"@babel/core": "^7.12.9",
"@babel/runtime": "^7.12.5",
"@react-native-community/eslint-config": "^2.0.0",
+ "@react-native/babel-preset": "0.73.19",
+ "@react-native/eslint-config": "0.73.2",
+ "@react-native/metro-config": "0.73.3",
+ "@react-native/typescript-config": "0.73.1",
"@tsconfig/react-native": "^2.0.2",
"@types/jest": "^26.0.23",
- "@types/react": "^18.0.21",
+ "@types/react": "^18.2.6",
"@types/react-native": "^0.70.6",
"@types/react-test-renderer": "^18.0.0",
"@typescript-eslint/eslint-plugin": "^5.37.0",
"@typescript-eslint/parser": "^5.37.0",
- "babel-jest": "^26.6.3",
+ "babel-jest": "^29.6.3",
"babel-plugin-module-resolver": "^5.0.0",
"eslint": "^7.32.0",
- "jest": "^26.6.3",
+ "jest": "^29.6.3",
"metro-react-native-babel-preset": "0.72.3",
+ "prettier": "2.8.8",
"react-test-renderer": "18.1.0",
- "typescript": "^4.8.3"
+ "typescript": "5.0.4"
},
"jest": {
"preset": "react-native",
@@ -43,5 +49,8 @@
"json",
"node"
]
+ },
+ "engines": {
+ "node": ">=18"
}
}
diff --git a/examples/FabricExample/src/MultiValueControl.tsx b/examples/FabricExample/src/MultiValueControl.tsx
new file mode 100644
index 00000000..bf58f3a9
--- /dev/null
+++ b/examples/FabricExample/src/MultiValueControl.tsx
@@ -0,0 +1,75 @@
+import React, {FunctionComponent} from 'react';
+
+import {
+ StyleSheet,
+ Text,
+ TextStyle,
+ TouchableOpacity,
+ View,
+} from 'react-native';
+import {ResizeMode} from 'react-native-video';
+
+export type MultiValueControlPropType = number | string | ResizeMode;
+
+/*
+ * MultiValueControl displays a list clickable text view
+ */
+
+interface MultiValueControlType {
+ // a list a string or number to be displayed
+ values: Array;
+ // The selected value in values
+ selected?: T;
+ // callback to press onPress
+ onPress: (arg: MultiValueControlPropType) => void;
+}
+
+const MultiValueControl: FunctionComponent<
+ MultiValueControlType
+> = ({values, selected, onPress}) => {
+ const selectedStyle: TextStyle = StyleSheet.flatten([
+ styles.option,
+ {fontWeight: 'bold'},
+ ]);
+
+ const unselectedStyle: TextStyle = StyleSheet.flatten([
+ styles.option,
+ {fontWeight: 'normal'},
+ ]);
+
+ return (
+
+ {values.map((value: MultiValueControlPropType) => {
+ const _style = value === selected ? selectedStyle : unselectedStyle;
+ return (
+ {
+ onPress?.(value);
+ }}>
+ {value}
+
+ );
+ })}
+
+ );
+};
+
+const styles = StyleSheet.create({
+ option: {
+ alignSelf: 'center',
+ fontSize: 11,
+ color: 'white',
+ paddingLeft: 2,
+ paddingRight: 2,
+ lineHeight: 12,
+ },
+ container: {
+ flex: 1,
+ flexDirection: 'row',
+ alignItems: 'center',
+ justifyContent: 'center',
+ },
+});
+
+export default MultiValueControl;
diff --git a/examples/FabricExample/src/ToggleControl.tsx b/examples/FabricExample/src/ToggleControl.tsx
new file mode 100644
index 00000000..fd5f83a5
--- /dev/null
+++ b/examples/FabricExample/src/ToggleControl.tsx
@@ -0,0 +1,73 @@
+import React from 'react';
+
+import {
+ StyleSheet,
+ Text,
+ TextStyle,
+ TouchableOpacity,
+ View,
+} from 'react-native';
+
+/*
+ * ToggleControl displays a 2 states clickable text
+ */
+
+interface ToggleControlType {
+ // boolean indicating if text is selected state
+ isSelected?: boolean;
+ // value of text when selected
+ selectedText?: string;
+ // value of text when NOT selected
+ unselectedText?: string;
+ // default text if no only one text field is needed
+ text?: string;
+ // callback called when pressing the component
+ onPress: () => void;
+}
+
+const ToggleControl = ({
+ isSelected,
+ selectedText,
+ unselectedText,
+ text,
+ onPress,
+}: ToggleControlType) => {
+ const selectedStyle: TextStyle = StyleSheet.flatten([
+ styles.controlOption,
+ {fontWeight: 'bold'},
+ ]);
+
+ const unselectedStyle: TextStyle = StyleSheet.flatten([
+ styles.controlOption,
+ {fontWeight: 'normal'},
+ ]);
+
+ const style = isSelected ? selectedStyle : unselectedStyle;
+ const _text = text ? text : isSelected ? selectedText : unselectedText;
+ return (
+
+
+ {_text}
+
+
+ );
+};
+
+const styles = StyleSheet.create({
+ controlOption: {
+ alignSelf: 'center',
+ fontSize: 11,
+ color: 'white',
+ paddingLeft: 2,
+ paddingRight: 2,
+ lineHeight: 12,
+ },
+ resizeModeControl: {
+ flex: 1,
+ flexDirection: 'row',
+ alignItems: 'center',
+ justifyContent: 'center',
+ },
+});
+
+export default ToggleControl;
diff --git a/examples/FabricExample/src/VideoPlayer.tsx b/examples/FabricExample/src/VideoPlayer.tsx
index 34a4776b..ba12f403 100644
--- a/examples/FabricExample/src/VideoPlayer.tsx
+++ b/examples/FabricExample/src/VideoPlayer.tsx
@@ -1,557 +1,831 @@
'use strict';
-import React, {Component, createRef} from 'react';
+
+import React, {Component} from 'react';
import {
- Alert,
- GestureResponderEvent,
- Platform,
- StyleSheet,
Text,
TouchableOpacity,
View,
+ ActivityIndicator,
+ ToastAndroid,
+ Platform,
+ Alert,
} from 'react-native';
-import Video, {FilterType, VideoRef, ResizeMode, IgnoreSilentSwitchType, MixWithOthersType} from 'react-native-video';
+import Video, {
+ AudioTrack,
+ OnAudioTracksData,
+ OnLoadData,
+ OnProgressData,
+ OnTextTracksData,
+ OnVideoAspectRatioData,
+ TextTrack,
+ VideoDecoderProperties,
+ OnBufferData,
+ OnAudioFocusChangedData,
+ OnVideoErrorData,
+ VideoRef,
+ ResizeMode,
+ SelectedTrack,
+ DRMType,
+ OnTextTrackDataChangedData,
+ TextTrackType,
+ ISO639_1,
+ OnSeekData,
+ OnPlaybackStateChangedData,
+ OnPlaybackRateChangeData,
+ OnVideoTracksData,
+ VideoTrack,
+ SelectedVideoTrackType,
+ SelectedVideoTrack,
+ BufferingStrategyType,
+ ReactVideoSource,
+ Drm,
+ TextTracks,
+} from 'react-native-video';
+import ToggleControl from './ToggleControl';
+import MultiValueControl, {
+ MultiValueControlPropType,
+} from './MultiValueControl';
+import styles from './styles';
+import AudioTrackSelector from './components/AudioTracksSelector';
+import TextTrackSelector from './components/TextTracksSelector';
+import VideoTrackSelector from './components/VideoTracksSelector';
+import Seeker from './components/Seeker';
-const filterTypes = [
- FilterType.NONE,
- FilterType.INVERT,
- FilterType.MONOCHROME,
- FilterType.POSTERIZE,
- FilterType.FALSE,
- FilterType.MAXIMUMCOMPONENT,
- FilterType.MINIMUMCOMPONENT,
- FilterType.CHROME,
- FilterType.FADE,
- FilterType.INSTANT,
- FilterType.MONO,
- FilterType.NOIR,
- FilterType.PROCESS,
- FilterType.TONAL,
- FilterType.TRANSFER,
- FilterType.SEPIA,
-];
+type AdditionnalSourceInfo = {
+ textTracks: TextTracks;
+ adTagUrl: string;
+ description: string;
+ drm: Drm;
+ noView: boolean;
+};
-type SkinType = 'custom' | 'native' | 'embed'
+type SampleVideoSource = ReactVideoSource | AdditionnalSourceInfo;
-type State = {
- rate: number,
- volume: number,
- muted: boolean,
- resizeMode: ResizeMode,
- duration: number,
- currentTime: number,
- controls: boolean,
- paused: boolean,
- skin: SkinType,
- ignoreSilentSwitch: IgnoreSilentSwitchType,
- mixWithOthers: MixWithOthersType,
- isBuffering: boolean,
- filter: FilterType,
- filterEnabled: boolean,
+interface StateType {
+ rate: number;
+ volume: number;
+ muted: boolean;
+ resizeMode: ResizeMode;
+ duration: number;
+ currentTime: number;
+ videoWidth: number;
+ videoHeight: number;
+ paused: boolean;
+ fullscreen: true;
+ decoration: true;
+ isLoading: boolean;
+ audioTracks: Array;
+ textTracks: Array;
+ videoTracks: Array;
+ selectedAudioTrack: SelectedTrack | undefined;
+ selectedTextTrack: SelectedTrack | undefined;
+ selectedVideoTrack: SelectedVideoTrack;
+ srcListId: number;
+ loop: boolean;
+ showRNVControls: boolean;
+ useCache: boolean;
+ poster?: string;
+ showNotificationControls: boolean;
+ isSeeking: boolean;
}
-class VideoPlayer extends Component<{}, State> {
- controlRef: React.RefObject;
- videoRef: React.RefObject;
- constructor(props: any) {
- super(props);
- this.onLoad = this.onLoad.bind(this);
- this.onProgress = this.onProgress.bind(this);
- this.onBuffer = this.onBuffer.bind(this);
- this.onTouchControl = this.onTouchControl.bind(this);
- this.controlRef = createRef();
- this.videoRef = createRef();
- }
- state: State = {
+class VideoPlayer extends Component {
+ state: StateType = {
rate: 1,
volume: 1,
muted: false,
resizeMode: ResizeMode.CONTAIN,
duration: 0.0,
currentTime: 0.0,
- controls: false,
- paused: true,
- skin: 'custom',
- ignoreSilentSwitch: IgnoreSilentSwitchType.IGNORE,
- mixWithOthers: MixWithOthersType.DUCK,
- isBuffering: false,
- filter: FilterType.NONE,
- filterEnabled: true,
+ videoWidth: 0,
+ videoHeight: 0,
+ paused: false,
+ fullscreen: true,
+ decoration: true,
+ isLoading: false,
+ audioTracks: [],
+ textTracks: [],
+ videoTracks: [],
+ selectedAudioTrack: undefined,
+ selectedTextTrack: undefined,
+ selectedVideoTrack: {
+ type: SelectedVideoTrackType.AUTO,
+ },
+ srcListId: 0,
+ loop: false,
+ showRNVControls: false,
+ useCache: false,
+ poster: undefined,
+ showNotificationControls: false,
+ isSeeking: false,
};
- onLoad(data: any) {
- console.log('On load fired!');
- console.log(data.duration);
- this.setState({duration: data.duration});
- }
+ // internal usage change to index if you want to select tracks by index instead of lang
+ textTracksSelectionBy = 'index';
- onProgress(data: any) {
+ srcAllPlatformList = [
+ {
+ description: 'local file landscape',
+ uri: require('./broadchurch.mp4'),
+ },
+ {
+ description: 'local file landscape cropped',
+ uri: require('./broadchurch.mp4'),
+ cropStart: 3000,
+ cropEnd: 10000,
+ },
+ {
+ description: 'local file portrait',
+ uri: require('./portrait.mp4'),
+ metadata: {
+ title: 'Test Title',
+ subtitle: 'Test Subtitle',
+ artist: 'Test Artist',
+ description: 'Test Description',
+ imageUri:
+ 'https://pbs.twimg.com/profile_images/1498641868397191170/6qW2XkuI_400x400.png',
+ },
+ },
+ {
+ description: '(hls|live) red bull tv',
+ textTracksAllowChunklessPreparation: false,
+ uri: 'https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_928.m3u8',
+ metadata: {
+ title: 'Custom Title',
+ subtitle: 'Custom Subtitle',
+ artist: 'Custom Artist',
+ description: 'Custom Description',
+ imageUri:
+ 'https://pbs.twimg.com/profile_images/1498641868397191170/6qW2XkuI_400x400.png',
+ },
+ },
+ {
+ description: 'invalid URL',
+ uri: 'mmt://www.youtube.com',
+ type: 'mpd',
+ },
+ {description: '(no url) Stopped playback', uri: undefined},
+ {
+ description: '(no view) no View',
+ noView: true,
+ },
+ {
+ description: 'Another live sample',
+ uri: 'https://live.forstreet.cl/live/livestream.m3u8',
+ },
+ {
+ description: 'another bunny (can be saved)',
+ uri: 'https://rawgit.com/mediaelement/mediaelement-files/master/big_buck_bunny.mp4',
+ headers: {referer: 'www.github.com', 'User-Agent': 'react.native.video'},
+ },
+ {
+ description: 'sintel with subtitles',
+ uri: 'https://bitmovin-a.akamaihd.net/content/sintel/hls/playlist.m3u8',
+ },
+ {
+ description: 'sintel starts at 20sec',
+ uri: 'https://bitmovin-a.akamaihd.net/content/sintel/hls/playlist.m3u8',
+ startPosition: 50000,
+ },
+ {
+ description: 'BigBugBunny sideLoaded subtitles',
+ // sideloaded subtitles wont work for streaming like HLS on ios
+ // mp4
+ uri: 'https://d23dyxeqlo5psv.cloudfront.net/big_buck_bunny.mp4',
+ textTracks: [
+ {
+ title: 'test',
+ language: 'en' as ISO639_1,
+ type: TextTrackType.VTT,
+ uri: 'https://bitdash-a.akamaihd.net/content/sintel/subtitles/subtitles_en.vtt',
+ },
+ ],
+ },
+ ];
+
+ srcIosList = [];
+
+ srcAndroidList = [
+ {
+ description: 'Another live sample',
+ uri: 'https://live.forstreet.cl/live/livestream.m3u8',
+ },
+ {
+ description: 'asset file',
+ uri: 'asset:///broadchurch.mp4',
+ },
+ {
+ description: '(dash) sintel subtitles',
+ uri: 'https://bitmovin-a.akamaihd.net/content/sintel/sintel.mpd',
+ },
+ {
+ description: '(mp4) big buck bunny',
+ uri: 'http://d23dyxeqlo5psv.cloudfront.net/big_buck_bunny.mp4',
+ },
+ {
+ description: '(mp4|subtitles) demo with sintel Subtitles',
+ uri: 'http://www.youtube.com/api/manifest/dash/id/bf5bb2419360daf1/source/youtube?as=fmp4_audio_clear,fmp4_sd_hd_clear&sparams=ip,ipbits,expire,source,id,as&ip=0.0.0.0&ipbits=0&expire=19000000000&signature=51AF5F39AB0CEC3E5497CD9C900EBFEAECCCB5C7.8506521BFC350652163895D4C26DEE124209AA9E&key=ik0',
+ type: 'mpd',
+ },
+ {
+ description: '(mp4) big buck bunny With Ads',
+ adTagUrl:
+ 'https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/vmap_ad_samples&sz=640x480&cust_params=sample_ar%3Dpremidpostoptimizedpodbumper&ciu_szs=300x250&gdfp_req=1&ad_rule=1&output=vmap&unviewed_position_start=1&env=vp&impl=s&cmsid=496&vid=short_onecue&correlator=',
+ uri: 'http://d23dyxeqlo5psv.cloudfront.net/big_buck_bunny.mp4',
+ },
+ {
+ description: 'WV: Secure SD & HD (cbcs,MP4,H264)',
+ uri: 'https://storage.googleapis.com/wvmedia/cbcs/h264/tears/tears_aes_cbcs.mpd',
+ drm: {
+ type: DRMType.WIDEVINE,
+ licenseServer:
+ 'https://proxy.uat.widevine.com/proxy?provider=widevine_test',
+ },
+ },
+ {
+ description: 'Secure UHD (cenc)',
+ uri: 'https://storage.googleapis.com/wvmedia/cenc/h264/tears/tears_uhd.mpd',
+ drm: {
+ type: DRMType.WIDEVINE,
+ licenseServer:
+ 'https://proxy.uat.widevine.com/proxy?provider=widevine_test',
+ },
+ },
+ {
+ description: 'rtsp big bug bunny',
+ uri: 'rtsp://rtspstream:3cfa3c36a9c00f4aa38f3cd35816b287@zephyr.rtsp.stream/movie',
+ type: 'rtsp',
+ },
+ ];
+
+ // poster which can be displayed
+ samplePoster =
+ 'https://upload.wikimedia.org/wikipedia/commons/1/18/React_Native_Logo.png';
+
+ srcList: SampleVideoSource[] = this.srcAllPlatformList.concat(
+ Platform.OS === 'android' ? this.srcAndroidList : this.srcIosList,
+ );
+
+ video?: VideoRef;
+
+ popupInfo = () => {
+ VideoDecoderProperties.getWidevineLevel().then((widevineLevel: number) => {
+ VideoDecoderProperties.isHEVCSupported().then((hevc: string) => {
+ VideoDecoderProperties.isCodecSupported('video/avc', 1920, 1080).then(
+ (avc: string) => {
+ this.toast(
+ true,
+ 'Widevine level: ' +
+ widevineLevel +
+ '\n hevc: ' +
+ hevc +
+ '\n avc: ' +
+ avc,
+ );
+ },
+ );
+ });
+ });
+ };
+
+ onLoad = (data: OnLoadData) => {
+ this.setState({duration: data.duration, loading: false});
+ this.onAudioTracks(data);
+ this.onTextTracks(data);
+ this.onVideoTracks(data);
+ };
+
+ onProgress = (data: OnProgressData) => {
this.setState({currentTime: data.currentTime});
- }
+ };
- onBuffer({isBuffering}: {isBuffering: boolean}) {
- this.setState({isBuffering});
- }
+ onSeek = (data: OnSeekData) => {
+ this.setState({isSeeking: false});
+ this.setState({currentTime: data.currentTime});
+ };
- onTouchControl(e: GestureResponderEvent) {
- if (!this.controlRef.current || !this.videoRef.current) return;
- const videoCommands = this.videoRef.current;
- const touchX = e.nativeEvent.pageX;
- const duration = this.state.duration;
+ onVideoLoadStart = () => {
+ console.log('onVideoLoadStart');
+ this.setState({isLoading: true});
+ };
- this.controlRef.current.measureInWindow((x, y, width, height) => {
- const relativeX = touchX - x;
- const nextTime = (relativeX / width) * duration;
- videoCommands.seek(nextTime);
+ onAudioTracks = (data: OnAudioTracksData) => {
+ const selectedTrack = data.audioTracks?.find((x: AudioTrack) => {
+ return x.selected;
});
- }
-
- getCurrentTimePercentage() {
- if (this.state.currentTime > 0 && this.state.duration !== 0) {
- return this.state.currentTime / this.state.duration;
+ if (selectedTrack?.index) {
+ this.setState({
+ audioTracks: data.audioTracks,
+ selectedAudioTrack: {
+ type: SelectedVideoTrackType.INDEX,
+ value: selectedTrack?.index,
+ },
+ });
} else {
- return 0;
+ this.setState({
+ audioTracks: data.audioTracks,
+ });
}
+ };
+
+ onVideoTracks = (data: OnVideoTracksData) => {
+ console.log('onVideoTracks', data.videoTracks);
+ this.setState({
+ videoTracks: data.videoTracks,
+ });
+ };
+
+ onTextTracks = (data: OnTextTracksData) => {
+ const selectedTrack = data.textTracks?.find((x: TextTrack) => {
+ return x?.selected;
+ });
+
+ if (selectedTrack?.language) {
+ this.setState({
+ textTracks: data.textTracks,
+ selectedTextTrack:
+ this.textTracksSelectionBy === 'index'
+ ? {
+ type: 'index',
+ value: selectedTrack?.index,
+ }
+ : {
+ type: 'language',
+ value: selectedTrack?.language,
+ },
+ });
+ } else {
+ this.setState({
+ textTracks: data.textTracks,
+ });
+ }
+ };
+
+ onTextTrackDataChanged = (data: OnTextTrackDataChangedData) => {
+ console.log(`Subtitles: ${JSON.stringify(data, null, 2)}`);
+ };
+
+ onAspectRatio = (data: OnVideoAspectRatioData) => {
+ console.log('onAspectRadio called ' + JSON.stringify(data));
+ this.setState({
+ videoWidth: data.width,
+ videoHeight: data.height,
+ });
+ };
+
+ onVideoBuffer = (param: OnBufferData) => {
+ console.log('onVideoBuffer');
+ this.setState({isLoading: param.isBuffering});
+ };
+
+ onReadyForDisplay = () => {
+ console.log('onReadyForDisplay');
+ this.setState({isLoading: false});
+ };
+
+ onAudioBecomingNoisy = () => {
+ this.setState({paused: true});
+ };
+
+ onAudioFocusChanged = (event: OnAudioFocusChangedData) => {
+ this.setState({paused: !event.hasAudioFocus});
+ };
+
+ toast = (visible: boolean, message: string) => {
+ if (visible) {
+ if (Platform.OS === 'android') {
+ ToastAndroid.showWithGravityAndOffset(
+ message,
+ ToastAndroid.LONG,
+ ToastAndroid.BOTTOM,
+ 25,
+ 50,
+ );
+ } else {
+ Alert.alert(message, message);
+ }
+ }
+ };
+
+ onError = (err: OnVideoErrorData) => {
+ console.log(JSON.stringify(err));
+ this.toast(true, 'error: ' + JSON.stringify(err));
+ };
+
+ onEnd = () => {
+ if (!this.state.loop) {
+ this.channelUp();
+ }
+ };
+
+ onPlaybackRateChange = (data: OnPlaybackRateChangeData) => {
+ console.log('onPlaybackRateChange', data);
+ };
+
+ onPlaybackStateChanged = (data: OnPlaybackStateChangedData) => {
+ console.log('onPlaybackStateChanged', data);
+ };
+
+ toggleFullscreen() {
+ this.setState({fullscreen: !this.state.fullscreen});
+ }
+ toggleControls() {
+ this.setState({showRNVControls: !this.state.showRNVControls});
}
- setFilter(step: number) {
- let index = filterTypes.indexOf(this.state.filter) + step;
-
- if (index === filterTypes.length) {
- index = 0;
- } else if (index === -1) {
- index = filterTypes.length - 1;
- }
+ toggleDecoration() {
+ this.setState({decoration: !this.state.decoration});
+ this.video?.setFullScreen(!this.state.decoration);
+ }
+ toggleShowNotificationControls() {
this.setState({
- filter: filterTypes[index],
+ showNotificationControls: !this.state.showNotificationControls,
});
}
- renderSkinControl(skin: 'custom' | 'native' | 'embed') {
- const isSelected = this.state.skin == skin;
- const selectControls = skin == 'native' || skin == 'embed';
- return (
- {
- this.setState({
- controls: selectControls,
- skin: skin,
- });
- }}>
-
- {skin}
-
-
+ goToChannel(channel: number) {
+ this.setState({
+ srcListId: channel,
+ duration: 0.0,
+ currentTime: 0.0,
+ videoWidth: 0,
+ videoHeight: 0,
+ isLoading: false,
+ audioTracks: [],
+ textTracks: [],
+ selectedAudioTrack: undefined,
+ selectedTextTrack: undefined,
+ selectedVideoTrack: {
+ type: SelectedVideoTrackType.AUTO,
+ },
+ });
+ }
+
+ channelUp() {
+ console.log('channel up');
+ this.goToChannel((this.state.srcListId + 1) % this.srcList.length);
+ }
+
+ channelDown() {
+ console.log('channel down');
+ this.goToChannel(
+ (this.state.srcListId + this.srcList.length - 1) % this.srcList.length,
);
}
- renderRateControl(rate: number) {
- const isSelected = this.state.rate == rate;
+ videoSeek(position: number) {
+ this.setState({isSeeking: true});
+ this.video?.seek(position);
+ }
+ renderSeekBar() {
return (
- {
- this.setState({rate: rate});
- }}>
-
- {rate}x
-
-
+ this.videoSeek(prop)}
+ isUISeeking={this.state.isSeeking}
+ />
);
}
- renderResizeModeControl(resizeMode: ResizeMode) {
- const isSelected = this.state.resizeMode == resizeMode;
-
- return (
- {
- this.setState({resizeMode: resizeMode});
- }}>
-
- {resizeMode}
-
-
- );
+ IndicatorLoadingView() {
+ if (this.state.isLoading) {
+ return (
+
+ );
+ } else {
+ return ;
+ }
}
- renderVolumeControl(volume: number) {
- const isSelected = this.state.volume == volume;
-
+ renderTopControl() {
return (
- {
- this.setState({volume: volume});
- }}>
-
- {volume * 100}%
+
+
+ {(this.srcList[this.state.srcListId] as AdditionnalSourceInfo)
+ ?.description || 'local file'}
-
- );
- }
-
- renderIgnoreSilentSwitchControl(ignoreSilentSwitch: IgnoreSilentSwitchType) {
- const isSelected = this.state.ignoreSilentSwitch == ignoreSilentSwitch;
-
- return (
- {
- this.setState({ignoreSilentSwitch: ignoreSilentSwitch});
- }}>
-
- {ignoreSilentSwitch}
-
-
- );
- }
-
- renderMixWithOthersControl(mixWithOthers: MixWithOthersType) {
- const isSelected = this.state.mixWithOthers == mixWithOthers;
-
- return (
- {
- this.setState({mixWithOthers: mixWithOthers});
- }}>
-
- {mixWithOthers}
-
-
- );
- }
-
- renderCustomSkin() {
- const flexCompleted = this.getCurrentTimePercentage() * 100;
- const flexRemaining = (1 - this.getCurrentTimePercentage()) * 100;
-
- return (
-
- {
- this.setState({paused: !this.state.paused});
- }}>
-
-
-
-
-
- {this.renderSkinControl('custom')}
- {this.renderSkinControl('native')}
- {this.renderSkinControl('embed')}
-
- {this.state.filterEnabled ? (
-
- {
- this.setFilter(-1);
- }}>
- Previous Filter
-
- {
- this.setFilter(1);
- }}>
- Next Filter
-
-
- ) : null}
-
-
-
- {this.renderRateControl(0.5)}
- {this.renderRateControl(1.0)}
- {this.renderRateControl(2.0)}
-
-
-
- {this.renderVolumeControl(0.5)}
- {this.renderVolumeControl(1)}
- {this.renderVolumeControl(1.5)}
-
-
-
- {this.renderResizeModeControl(ResizeMode.COVER)}
- {this.renderResizeModeControl(ResizeMode.CONTAIN)}
- {this.renderResizeModeControl(ResizeMode.STRETCH)}
-
-
-
- {Platform.OS === 'ios' ? (
- <>
-
- {this.renderIgnoreSilentSwitchControl(IgnoreSilentSwitchType.IGNORE)}
- {this.renderIgnoreSilentSwitchControl(IgnoreSilentSwitchType.OBEY)}
-
-
- {this.renderMixWithOthersControl(MixWithOthersType.MIX)}
- {this.renderMixWithOthersControl(MixWithOthersType.DUCK)}
-
- >
- ) : null}
-
-
-
-
-
-
-
-
+
+ {
+ this.toggleControls();
+ }}>
+
+ {this.state.showRNVControls ? 'Hide controls' : 'Show controls'}
+
);
}
- renderNativeSkin() {
- const videoStyle =
- this.state.skin == 'embed'
- ? styles.nativeVideoControls
- : styles.fullScreen;
+ onRateSelected = (value: MultiValueControlPropType) => {
+ this.setState({rate: value});
+ };
+ onVolumeSelected = (value: MultiValueControlPropType) => {
+ this.setState({volume: value});
+ };
+ onResizeModeSelected = (value: MultiValueControlPropType) => {
+ this.setState({resizeMode: value});
+ };
+
+ onSelectedAudioTrackChange = (itemValue: string) => {
+ console.log('on audio value change ' + itemValue);
+ if (itemValue === 'none') {
+ this.setState({
+ selectedAudioTrack: SelectedVideoTrackType.DISABLED,
+ });
+ } else {
+ this.setState({
+ selectedAudioTrack: {
+ type: SelectedVideoTrackType.INDEX,
+ value: itemValue,
+ },
+ });
+ }
+ };
+
+ onSelectedTextTrackChange = (itemValue: string) => {
+ console.log('on value change ' + itemValue);
+ this.setState({
+ selectedTextTrack: {
+ type: this.textTracksSelectionBy === 'index' ? 'index' : 'language',
+ value: itemValue,
+ },
+ });
+ };
+
+ onSelectedVideoTrackChange = (itemValue: string) => {
+ console.log('on value change ' + itemValue);
+ if (itemValue === undefined || itemValue === 'auto') {
+ this.setState({
+ selectedVideoTrack: {
+ type: SelectedVideoTrackType.AUTO,
+ },
+ });
+ } else {
+ this.setState({
+ selectedVideoTrack: {
+ type: SelectedVideoTrackType.INDEX,
+ value: itemValue,
+ },
+ });
+ }
+ };
+
+ renderOverlay() {
return (
-
-
-
-
+ {
- this.setFilter(1);
- }}>
- Next Filter
-
+ this.setState({loop: !this.state.loop});
+ }}
+ selectedText="loop enable"
+ unselectedText="loop disable"
+ />
+ {
+ this.toggleFullscreen();
+ }}
+ text="fullscreen"
+ />
+ {
+ this.toggleDecoration();
+ }}
+ text="decoration"
+ />
+ {
+ this.setState({
+ poster: this.state.poster ? undefined : this.samplePoster,
+ });
+ }}
+ selectedText="poster"
+ unselectedText="no poster"
+ />
+ {
+ this.toggleShowNotificationControls();
+ }}
+ selectedText="hide notification controls"
+ unselectedText="show notification controls"
+ />
+
+
+ {/* shall be replaced by slider */}
+
+ {/* shall be replaced by slider */}
+
+
+ {
+ this.setState({muted: !this.state.muted});
+ }}
+ text="muted"
+ />
+ {Platform.OS === 'ios' ? (
+ {
+ this.video
+ ?.save({})
+ ?.then(response => {
+ console.log('Downloaded URI', response);
+ })
+ .catch(error => {
+ console.log('error during save ', error);
+ });
+ }}
+ text="save"
+ />
+ ) : null}
+
+ {this.renderSeekBar()}
+
+
+
+
- ) : null}
-
-
-
- {this.renderRateControl(0.5)}
- {this.renderRateControl(1.0)}
- {this.renderRateControl(2.0)}
+ >
+ ) : null}
+ >
+ );
+ }
-
- {this.renderVolumeControl(0.5)}
- {this.renderVolumeControl(1)}
- {this.renderVolumeControl(1.5)}
-
+ renderVideoView() {
+ const viewStyle = this.state.fullscreen
+ ? styles.fullScreen
+ : styles.halfScreen;
-
- {this.renderResizeModeControl(ResizeMode.COVER)}
- {this.renderResizeModeControl(ResizeMode.CONTAIN)}
- {this.renderResizeModeControl(ResizeMode.STRETCH)}
-
-
-
- {Platform.OS === 'ios' ? (
- <>
-
- {this.renderIgnoreSilentSwitchControl(IgnoreSilentSwitchType.IGNORE)}
- {this.renderIgnoreSilentSwitchControl(IgnoreSilentSwitchType.OBEY)}
-
-
- {this.renderMixWithOthersControl(MixWithOthersType.MIX)}
- {this.renderMixWithOthersControl(MixWithOthersType.DUCK)}
-
- >
- ) : null}
-
-
-
+ const currentSrc = this.srcList[this.state.srcListId];
+ const additionnal = currentSrc as AdditionnalSourceInfo;
+
+ return (
+
+
);
}
render() {
- return this.state.controls
- ? this.renderNativeSkin()
- : this.renderCustomSkin();
+ return (
+
+ {(this.srcList[this.state.srcListId] as AdditionnalSourceInfo)?.noView
+ ? null
+ : this.renderVideoView()}
+ {this.renderOverlay()}
+
+ );
}
}
-
-const styles = StyleSheet.create({
- container: {
- flex: 1,
- justifyContent: 'center',
- alignItems: 'center',
- backgroundColor: 'black',
- },
- fullScreen: {
- position: 'absolute',
- top: 0,
- left: 0,
- bottom: 0,
- right: 0,
- },
- controls: {
- backgroundColor: 'transparent',
- borderRadius: 5,
- position: 'absolute',
- bottom: 44,
- left: 4,
- right: 4,
- },
- progress: {
- flex: 1,
- flexDirection: 'row',
- borderRadius: 3,
- overflow: 'hidden',
- },
- innerProgressCompleted: {
- height: 20,
- backgroundColor: '#cccccc',
- },
- innerProgressRemaining: {
- height: 20,
- backgroundColor: '#2C2C2C',
- },
- generalControls: {
- flex: 1,
- flexDirection: 'row',
- overflow: 'hidden',
- paddingBottom: 10,
- },
- skinControl: {
- flex: 1,
- flexDirection: 'row',
- justifyContent: 'center',
- },
- rateControl: {
- flex: 1,
- flexDirection: 'row',
- justifyContent: 'center',
- },
- volumeControl: {
- flex: 1,
- flexDirection: 'row',
- justifyContent: 'center',
- },
- resizeModeControl: {
- flex: 1,
- flexDirection: 'row',
- alignItems: 'center',
- justifyContent: 'center',
- },
- ignoreSilentSwitchControl: {
- flex: 1,
- flexDirection: 'row',
- alignItems: 'center',
- justifyContent: 'center',
- },
- mixWithOthersControl: {
- flex: 1,
- flexDirection: 'row',
- alignItems: 'center',
- justifyContent: 'center',
- },
- controlOption: {
- alignSelf: 'center',
- fontSize: 11,
- color: 'white',
- paddingLeft: 2,
- paddingRight: 2,
- lineHeight: 12,
- },
- nativeVideoControls: {
- top: 184,
- height: 300,
- },
- trackingControls: {
- flex: 1,
- flexDirection: 'row',
- alignItems: 'center',
- justifyContent: 'center',
- },
-});
export default VideoPlayer;
diff --git a/examples/FabricExample/src/components/AudioTracksSelector.tsx b/examples/FabricExample/src/components/AudioTracksSelector.tsx
new file mode 100644
index 00000000..41c5e748
--- /dev/null
+++ b/examples/FabricExample/src/components/AudioTracksSelector.tsx
@@ -0,0 +1,53 @@
+import {Picker} from '@react-native-picker/picker';
+import {Text} from 'react-native';
+import {AudioTrack, SelectedTrack} from 'react-native-video';
+import styles from '../styles';
+import React from 'react';
+
+export interface AudioTrackSelectorType {
+ audioTracks: Array;
+ selectedAudioTrack: SelectedTrack | undefined;
+ onValueChange: (arg0: string) => void;
+}
+
+const AudioTrackSelector = ({
+ audioTracks,
+ selectedAudioTrack,
+ onValueChange,
+}: AudioTrackSelectorType) => {
+ return (
+ <>
+ AudioTrack
+ {
+ if (itemValue !== 'empty') {
+ console.log('on audio value change ' + itemValue);
+ onValueChange(`${itemValue}`);
+ }
+ }}>
+ {audioTracks?.length <= 0 ? (
+
+ ) : (
+
+ )}
+ {audioTracks.map(track => {
+ if (!track) {
+ return;
+ }
+ return (
+
+ );
+ })}
+
+ >
+ );
+};
+
+export default AudioTrackSelector;
diff --git a/examples/FabricExample/src/components/Seeker.tsx b/examples/FabricExample/src/components/Seeker.tsx
new file mode 100644
index 00000000..a74122b0
--- /dev/null
+++ b/examples/FabricExample/src/components/Seeker.tsx
@@ -0,0 +1,154 @@
+import React, {useCallback, useEffect, useState} from 'react';
+import {PanResponder, View} from 'react-native';
+import styles from '../styles';
+
+interface SeekerProps {
+ currentTime: number;
+ duration: number;
+ isLoading: boolean;
+ isUISeeking: boolean;
+ videoSeek: (arg0: number) => void;
+}
+
+const Seeker = ({
+ currentTime,
+ duration,
+ isLoading,
+ isUISeeking,
+ videoSeek,
+}: SeekerProps) => {
+ const [seeking, setSeeking] = useState(false);
+ const [seekerPosition, setSeekerPosition] = useState(0);
+ const [seekerWidth, setSeekerWidth] = useState(0);
+
+ /**
+ * Set the position of the seekbar's components
+ * (both fill and handle) according to the
+ * position supplied.
+ *
+ * @param {float} position position in px of seeker handle}
+ */
+ const updateSeekerPosition = useCallback(
+ (position = 0) => {
+ if (position <= 0) {
+ position = 0;
+ } else if (position >= seekerWidth) {
+ position = seekerWidth;
+ }
+ setSeekerPosition(position);
+ },
+ [seekerWidth],
+ );
+
+ /**
+ * Return the time that the video should be at
+ * based on where the seeker handle is.
+ *
+ * @return {float} time in ms based on seekerPosition.
+ */
+ const calculateTimeFromSeekerPosition = () => {
+ const percent = seekerPosition / seekerWidth;
+ return duration * percent;
+ };
+
+ /**
+ * Get our seekbar responder going
+ */
+
+ const seekPanResponder = PanResponder.create({
+ // Ask to be the responder.
+ onStartShouldSetPanResponder: (_evt, _gestureState) => true,
+ onMoveShouldSetPanResponder: (_evt, _gestureState) => true,
+
+ /**
+ * When we start the pan tell the machine that we're
+ * seeking. This stops it from updating the seekbar
+ * position in the onProgress listener.
+ */
+ onPanResponderGrant: (evt, _gestureState) => {
+ const position = evt.nativeEvent.locationX;
+ updateSeekerPosition(position);
+ setSeeking(true);
+ },
+
+ /**
+ * When panning, update the seekbar position, duh.
+ */
+ onPanResponderMove: (evt, _gestureState) => {
+ const position = evt.nativeEvent.locationX;
+ updateSeekerPosition(position);
+ },
+
+ /**
+ * On release we update the time and seek to it in the video.
+ * If you seek to the end of the video we fire the
+ * onEnd callback
+ */
+ onPanResponderRelease: (_evt, _gestureState) => {
+ const time = calculateTimeFromSeekerPosition();
+ if (time >= duration && !isLoading) {
+ // FIXME ...
+ // state.paused = true;
+ // this.onEnd();
+ } else {
+ videoSeek(time);
+ setSeeking(false);
+ }
+ },
+ });
+
+ useEffect(() => {
+ if (!isLoading && !seeking && !isUISeeking) {
+ const percent = currentTime / duration;
+ const position = seekerWidth * percent;
+ updateSeekerPosition(position);
+ }
+ }, [
+ currentTime,
+ duration,
+ isLoading,
+ seekerWidth,
+ seeking,
+ isUISeeking,
+ updateSeekerPosition,
+ ]);
+
+ if (!seekPanResponder) {
+ return null;
+ }
+ const seekerStyle = [
+ styles.seekbarFill,
+ {
+ width: seekerPosition > 0 ? seekerPosition : 0,
+ backgroundColor: '#FFF',
+ },
+ ];
+
+ const seekerPositionStyle = [
+ styles.seekbarHandle,
+ {
+ left: seekerPosition > 0 ? seekerPosition : 0,
+ },
+ ];
+
+ const seekerPointerStyle = [styles.seekbarCircle, {backgroundColor: '#FFF'}];
+
+ return (
+
+ setSeekerWidth(event.nativeEvent.layout.width)}
+ pointerEvents={'none'}>
+
+
+
+
+
+
+ );
+};
+
+export default Seeker;
diff --git a/examples/FabricExample/src/components/TextTracksSelector.tsx b/examples/FabricExample/src/components/TextTracksSelector.tsx
new file mode 100644
index 00000000..84faac3d
--- /dev/null
+++ b/examples/FabricExample/src/components/TextTracksSelector.tsx
@@ -0,0 +1,64 @@
+import {Picker} from '@react-native-picker/picker';
+import {Text} from 'react-native';
+import {TextTrack, SelectedTrack} from 'react-native-video';
+import styles from '../styles';
+import React from 'react';
+
+export interface TextTrackSelectorType {
+ textTracks: Array;
+ selectedTextTrack: SelectedTrack | undefined;
+ onValueChange: (arg0: string) => void;
+ textTracksSelectionBy: string;
+}
+
+const TextTrackSelector = ({
+ textTracks,
+ selectedTextTrack,
+ onValueChange,
+ textTracksSelectionBy,
+}: TextTrackSelectorType) => {
+ return (
+ <>
+ TextTrack
+ {
+ if (itemValue !== 'empty') {
+ onValueChange(itemValue);
+ }
+ }}>
+ {textTracks?.length <= 0 ? (
+
+ ) : (
+
+ )}
+ {textTracks.map(track => {
+ if (!track) {
+ return;
+ }
+ if (textTracksSelectionBy === 'index') {
+ return (
+
+ );
+ } else {
+ return (
+
+ );
+ }
+ })}
+
+ >
+ );
+};
+
+export default TextTrackSelector;
diff --git a/examples/FabricExample/src/components/VideoTracksSelector.tsx b/examples/FabricExample/src/components/VideoTracksSelector.tsx
new file mode 100644
index 00000000..568953c8
--- /dev/null
+++ b/examples/FabricExample/src/components/VideoTracksSelector.tsx
@@ -0,0 +1,64 @@
+import {Picker} from '@react-native-picker/picker';
+import {Text} from 'react-native';
+import {
+ SelectedVideoTrack,
+ SelectedVideoTrackType,
+ VideoTrack,
+} from 'react-native-video';
+import styles from '../styles';
+import React from 'react';
+
+export interface VideoTrackSelectorType {
+ videoTracks: Array;
+ selectedVideoTrack: SelectedVideoTrack | undefined;
+ onValueChange: (arg0: string) => void;
+}
+
+const VideoTrackSelector = ({
+ videoTracks,
+ selectedVideoTrack,
+ onValueChange,
+}: VideoTrackSelectorType) => {
+ return (
+ <>
+ VideoTrack
+ {
+ if (itemValue !== 'empty') {
+ onValueChange(itemValue);
+ }
+ }}>
+
+ {videoTracks?.length <= 0 || videoTracks?.length <= 0 ? (
+
+ ) : (
+
+ )}
+ {videoTracks?.map(track => {
+ if (!track) {
+ return;
+ }
+ return (
+
+ );
+ })}
+
+ >
+ );
+};
+
+export default VideoTrackSelector;
diff --git a/examples/FabricExample/src/portrait.mp4 b/examples/FabricExample/src/portrait.mp4
new file mode 100644
index 00000000..0e4414c6
Binary files /dev/null and b/examples/FabricExample/src/portrait.mp4 differ
diff --git a/examples/FabricExample/src/styles.tsx b/examples/FabricExample/src/styles.tsx
new file mode 100644
index 00000000..0dd72390
--- /dev/null
+++ b/examples/FabricExample/src/styles.tsx
@@ -0,0 +1,167 @@
+import {StyleSheet} from 'react-native';
+
+const styles = StyleSheet.create({
+ container: {
+ flex: 1,
+ justifyContent: 'center',
+ alignItems: 'center',
+ backgroundColor: 'black',
+ },
+ halfScreen: {
+ position: 'absolute',
+ top: 50,
+ left: 50,
+ bottom: 100,
+ right: 100,
+ },
+ fullScreen: {
+ position: 'absolute',
+ top: 0,
+ left: 0,
+ bottom: 0,
+ right: 0,
+ },
+ bottomControls: {
+ backgroundColor: 'transparent',
+ borderRadius: 5,
+ position: 'absolute',
+ bottom: 20,
+ left: 20,
+ right: 20,
+ },
+ leftControls: {
+ backgroundColor: 'transparent',
+ borderRadius: 5,
+ position: 'absolute',
+ top: 20,
+ bottom: 20,
+ left: 20,
+ },
+ rightControls: {
+ backgroundColor: 'transparent',
+ borderRadius: 5,
+ position: 'absolute',
+ top: 20,
+ bottom: 20,
+ right: 20,
+ },
+ topControls: {
+ backgroundColor: 'transparent',
+ borderRadius: 4,
+ position: 'absolute',
+ top: 20,
+ left: 20,
+ right: 20,
+ flex: 1,
+ flexDirection: 'row',
+ overflow: 'hidden',
+ paddingBottom: 10,
+ },
+ generalControls: {
+ flex: 1,
+ flexDirection: 'row',
+ borderRadius: 4,
+ overflow: 'hidden',
+ paddingBottom: 10,
+ },
+ rateControl: {
+ flex: 1,
+ flexDirection: 'row',
+ justifyContent: 'center',
+ },
+ volumeControl: {
+ flex: 1,
+ flexDirection: 'row',
+ justifyContent: 'center',
+ },
+ resizeModeControl: {
+ flex: 1,
+ flexDirection: 'row',
+ alignItems: 'center',
+ justifyContent: 'center',
+ },
+ leftRightControlOption: {
+ alignSelf: 'center',
+ fontSize: 11,
+ color: 'white',
+ padding: 10,
+ lineHeight: 12,
+ },
+ controlOption: {
+ alignSelf: 'center',
+ fontSize: 11,
+ color: 'white',
+ paddingLeft: 2,
+ paddingRight: 2,
+ lineHeight: 12,
+ },
+ pickerContainer: {
+ width: 100,
+ alignSelf: 'center',
+ color: 'white',
+ borderWidth: 1,
+ borderColor: 'red',
+ },
+ IndicatorStyle: {
+ flex: 1,
+ justifyContent: 'center',
+ },
+ seekbarContainer: {
+ flex: 1,
+ flexDirection: 'row',
+ borderRadius: 4,
+ height: 30,
+ },
+ seekbarTrack: {
+ backgroundColor: '#333',
+ height: 1,
+ position: 'relative',
+ top: 14,
+ width: '100%',
+ },
+ seekbarFill: {
+ backgroundColor: '#FFF',
+ height: 1,
+ width: '100%',
+ },
+ seekbarHandle: {
+ position: 'absolute',
+ marginLeft: -7,
+ height: 28,
+ width: 28,
+ },
+ seekbarCircle: {
+ borderRadius: 12,
+ position: 'relative',
+ top: 8,
+ left: 8,
+ height: 12,
+ width: 12,
+ },
+ picker: {
+ flex: 1,
+ color: 'white',
+ flexDirection: 'row',
+ justifyContent: 'center',
+ width: 100,
+ height: 40,
+ },
+ pickerItem: {
+ color: 'white',
+ width: 100,
+ height: 40,
+ },
+ emptyPickerItem: {
+ color: 'white',
+ marginTop: 20,
+ marginLeft: 20,
+ flex: 1,
+ width: 100,
+ height: 40,
+ },
+ topControlsContainer: {
+ paddingTop: 30,
+ },
+});
+
+export default styles;
diff --git a/examples/FabricExample/tsconfig.json b/examples/FabricExample/tsconfig.json
index 4ab8fc69..a47cb9d4 100644
--- a/examples/FabricExample/tsconfig.json
+++ b/examples/FabricExample/tsconfig.json
@@ -1,6 +1,6 @@
// prettier-ignore
{
- "extends": "@tsconfig/react-native/tsconfig.json", /* Recommended React Native TSConfig base */
+ "extends": "@react-native/typescript-config/tsconfig.json",
"compilerOptions": {
/* Visit https://aka.ms/tsconfig.json to read more about this file */
"paths": {