From 498a3fd4e252b2c7711b31680da2317a908e347d Mon Sep 17 00:00:00 2001 From: RN SDK Release User Date: Mon, 11 Mar 2024 12:19:08 +0000 Subject: [PATCH] v11.0.0 release --- .gitignore | 10 +- CHANGELOG.md | 8 + SampleApp/.gitignore | 7 +- SampleApp/ios/Podfile | 1 + SampleApp/ios/Podfile.lock | 280 ++++++++---------- .../ios/SampleApp.xcodeproj/project.pbxproj | 12 +- SampleApp/yalc.lock | 2 +- android/build.gradle | 61 +++- android/gradle.properties | 2 +- android/gradle/wrapper/gradle-wrapper.jar | Bin 61624 -> 63375 bytes .../gradle/wrapper/gradle-wrapper.properties | 3 +- android/gradlew | 16 +- android/publish.gradle | 8 +- android/src/main/AndroidManifest.xml | 4 +- ios/PluginMetadata.m | 2 +- ios/Podfile | 2 +- onfido-react-native-sdk.podspec | 2 +- package.json | 4 +- scripts/update-integration-versions.sh | 4 +- yarn.lock | 205 +++++++------ 20 files changed, 315 insertions(+), 318 deletions(-) diff --git a/.gitignore b/.gitignore index 6df3fcb..224fe30 100644 --- a/.gitignore +++ b/.gitignore @@ -2,12 +2,13 @@ package-lock.json # OSX -# .DS_Store +# Android and XCode +build/ + # Xcode # -build/ *.pbxuser !default.pbxuser *.mode1v3 @@ -29,7 +30,6 @@ project.xcworkspace # Android/IntelliJ # -build/ .idea .gradle local.properties @@ -50,9 +50,9 @@ android/bin/ # node_modules/ SampleApp/.yalc/ +SampleApp/.yalc.lock TestApp/.yalc/ - -*.keystore +TestApp/.yalc.lock # Built application files # diff --git a/CHANGELOG.md b/CHANGELOG.md index 398e154..7b64461 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## [11.0.0] - 2024-03-06 + +### Changed: + +- Updated underlying Onfido native SDK version: + - iOS 29.8.x (up from 29.7.x) + - Android 20.0.x (up from 19.6.x) + ## [10.7.0] - 2024-02-01 ### Changed: diff --git a/SampleApp/.gitignore b/SampleApp/.gitignore index b08647d..76fefba 100644 --- a/SampleApp/.gitignore +++ b/SampleApp/.gitignore @@ -2,9 +2,11 @@ # .DS_Store +# Android and Xcode +build/ + # Xcode # -build/ *.pbxuser !default.pbxuser *.mode1v3 @@ -24,7 +26,6 @@ ios/.xcode.env.local # Android/IntelliJ # -build/ .idea .gradle local.properties @@ -35,6 +36,8 @@ local.properties node_modules/ npm-debug.log yarn-error.log +.yalc/ +yalc.lock # BUCK # diff --git a/SampleApp/ios/Podfile b/SampleApp/ios/Podfile index 4e147ae..34dbda7 100644 --- a/SampleApp/ios/Podfile +++ b/SampleApp/ios/Podfile @@ -37,6 +37,7 @@ target 'SampleApp' do use_react_native!( :path => config[:reactNativePath], # to enable hermes on iOS, change `false` to `true` and then install pods + :hermes_enabled => false, #:hermes_enabled => flags[:hermes_enabled], #:fabric_enabled => flags[:fabric_enabled], diff --git a/SampleApp/ios/Podfile.lock b/SampleApp/ios/Podfile.lock index 298dd8b..fad4c94 100644 --- a/SampleApp/ios/Podfile.lock +++ b/SampleApp/ios/Podfile.lock @@ -11,13 +11,9 @@ PODS: - ReactCommon/turbomodule/core (= 0.72.6) - fmt (6.2.1) - glog (0.3.5) - - hermes-engine (0.72.6): - - hermes-engine/Pre-built (= 0.72.6) - - hermes-engine/Pre-built (0.72.6) - - libevent (2.1.12) - - Onfido (29.7.0) - - onfido-react-native-sdk (10.6.0): - - Onfido (~> 29.7.0) + - Onfido (29.8.0) + - onfido-react-native-sdk (11.0.0): + - Onfido (~> 29.8.0) - React - RCT-Folly (2021.07.22.00): - boost @@ -30,12 +26,6 @@ PODS: - DoubleConversion - fmt (~> 6.2.1) - glog - - RCT-Folly/Futures (2021.07.22.00): - - boost - - DoubleConversion - - fmt (~> 6.2.1) - - glog - - libevent - RCTRequired (0.72.6) - RCTTypeSafety (0.72.6): - FBLazyVector (= 0.72.6) @@ -59,11 +49,11 @@ PODS: - DoubleConversion - FBReactNativeSpec - glog - - hermes-engine - RCT-Folly - RCTRequired - RCTTypeSafety - React-Core + - React-jsc - React-jsi - React-jsiexecutor - React-NativeModulesApple @@ -72,11 +62,10 @@ PODS: - ReactCommon/turbomodule/core - React-Core (0.72.6): - glog - - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-Core/Default (= 0.72.6) - React-cxxreact - - React-hermes + - React-jsc - React-jsi - React-jsiexecutor - React-perflogger @@ -86,11 +75,10 @@ PODS: - Yoga - React-Core/CoreModulesHeaders (0.72.6): - glog - - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-Core/Default - React-cxxreact - - React-hermes + - React-jsc - React-jsi - React-jsiexecutor - React-perflogger @@ -100,10 +88,9 @@ PODS: - Yoga - React-Core/Default (0.72.6): - glog - - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-cxxreact - - React-hermes + - React-jsc - React-jsi - React-jsiexecutor - React-perflogger @@ -113,12 +100,11 @@ PODS: - Yoga - React-Core/DevSupport (0.72.6): - glog - - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-Core/Default (= 0.72.6) - React-Core/RCTWebSocket (= 0.72.6) - React-cxxreact - - React-hermes + - React-jsc - React-jsi - React-jsiexecutor - React-jsinspector (= 0.72.6) @@ -129,11 +115,10 @@ PODS: - Yoga - React-Core/RCTActionSheetHeaders (0.72.6): - glog - - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-Core/Default - React-cxxreact - - React-hermes + - React-jsc - React-jsi - React-jsiexecutor - React-perflogger @@ -143,11 +128,10 @@ PODS: - Yoga - React-Core/RCTAnimationHeaders (0.72.6): - glog - - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-Core/Default - React-cxxreact - - React-hermes + - React-jsc - React-jsi - React-jsiexecutor - React-perflogger @@ -157,11 +141,10 @@ PODS: - Yoga - React-Core/RCTBlobHeaders (0.72.6): - glog - - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-Core/Default - React-cxxreact - - React-hermes + - React-jsc - React-jsi - React-jsiexecutor - React-perflogger @@ -171,11 +154,10 @@ PODS: - Yoga - React-Core/RCTImageHeaders (0.72.6): - glog - - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-Core/Default - React-cxxreact - - React-hermes + - React-jsc - React-jsi - React-jsiexecutor - React-perflogger @@ -185,11 +167,10 @@ PODS: - Yoga - React-Core/RCTLinkingHeaders (0.72.6): - glog - - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-Core/Default - React-cxxreact - - React-hermes + - React-jsc - React-jsi - React-jsiexecutor - React-perflogger @@ -199,11 +180,10 @@ PODS: - Yoga - React-Core/RCTNetworkHeaders (0.72.6): - glog - - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-Core/Default - React-cxxreact - - React-hermes + - React-jsc - React-jsi - React-jsiexecutor - React-perflogger @@ -213,11 +193,10 @@ PODS: - Yoga - React-Core/RCTSettingsHeaders (0.72.6): - glog - - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-Core/Default - React-cxxreact - - React-hermes + - React-jsc - React-jsi - React-jsiexecutor - React-perflogger @@ -227,11 +206,10 @@ PODS: - Yoga - React-Core/RCTTextHeaders (0.72.6): - glog - - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-Core/Default - React-cxxreact - - React-hermes + - React-jsc - React-jsi - React-jsiexecutor - React-perflogger @@ -241,11 +219,10 @@ PODS: - Yoga - React-Core/RCTVibrationHeaders (0.72.6): - glog - - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-Core/Default - React-cxxreact - - React-hermes + - React-jsc - React-jsi - React-jsiexecutor - React-perflogger @@ -255,11 +232,10 @@ PODS: - Yoga - React-Core/RCTWebSocket (0.72.6): - glog - - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-Core/Default (= 0.72.6) - React-cxxreact - - React-hermes + - React-jsc - React-jsi - React-jsiexecutor - React-perflogger @@ -281,7 +257,6 @@ PODS: - boost (= 1.76.0) - DoubleConversion - glog - - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-callinvoker (= 0.72.6) - React-debug (= 0.72.6) @@ -291,27 +266,19 @@ PODS: - React-perflogger (= 0.72.6) - React-runtimeexecutor (= 0.72.6) - React-debug (0.72.6) - - React-hermes (0.72.6): - - DoubleConversion - - glog - - hermes-engine - - RCT-Folly (= 2021.07.22.00) - - RCT-Folly/Futures (= 2021.07.22.00) - - React-cxxreact (= 0.72.6) - - React-jsi - - React-jsiexecutor (= 0.72.6) - - React-jsinspector (= 0.72.6) - - React-perflogger (= 0.72.6) + - React-jsc (0.72.6): + - React-jsc/Fabric (= 0.72.6) + - React-jsi (= 0.72.6) + - React-jsc/Fabric (0.72.6): + - React-jsi (= 0.72.6) - React-jsi (0.72.6): - boost (= 1.76.0) - DoubleConversion - glog - - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-jsiexecutor (0.72.6): - DoubleConversion - glog - - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-cxxreact (= 0.72.6) - React-jsi (= 0.72.6) @@ -320,7 +287,6 @@ PODS: - React-logger (0.72.6): - glog - React-NativeModulesApple (0.72.6): - - hermes-engine - React-callinvoker - React-Core - React-cxxreact @@ -344,14 +310,13 @@ PODS: - RCTTypeSafety - React-Core - React-CoreModules - - React-hermes + - React-jsc - React-NativeModulesApple - React-RCTImage - React-RCTNetwork - React-runtimescheduler - ReactCommon/turbomodule/core - React-RCTBlob (0.72.6): - - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-Codegen (= 0.72.6) - React-Core/RCTBlobHeaders (= 0.72.6) @@ -399,7 +364,6 @@ PODS: - React-jsi (= 0.72.6) - React-runtimescheduler (0.72.6): - glog - - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-callinvoker - React-debug @@ -412,7 +376,6 @@ PODS: - ReactCommon/turbomodule/bridging (0.72.6): - DoubleConversion - glog - - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-callinvoker (= 0.72.6) - React-cxxreact (= 0.72.6) @@ -422,7 +385,6 @@ PODS: - ReactCommon/turbomodule/core (0.72.6): - DoubleConversion - glog - - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-callinvoker (= 0.72.6) - React-cxxreact (= 0.72.6) @@ -433,185 +395,177 @@ PODS: - Yoga (1.14.0) 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`) - - 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) + - 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`) + - glog (from `../../node_modules/react-native/third-party-podspecs/glog.podspec`) - "onfido-react-native-sdk (from `../node_modules/@onfido/react-native-sdk`)" - - RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) - - RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`) - - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`) - - React (from `../node_modules/react-native/`) - - React-callinvoker (from `../node_modules/react-native/ReactCommon/callinvoker`) + - RCT-Folly (from `../../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) + - RCTRequired (from `../../node_modules/react-native/Libraries/RCTRequired`) + - RCTTypeSafety (from `../../node_modules/react-native/Libraries/TypeSafety`) + - React (from `../../node_modules/react-native/`) + - React-callinvoker (from `../../node_modules/react-native/ReactCommon/callinvoker`) - React-Codegen (from `build/generated/ios`) - - React-Core (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-hermes (from `../node_modules/react-native/ReactCommon/hermes`) - - 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-logger (from `../node_modules/react-native/ReactCommon/logger`) - - 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`) - - React-RCTAppDelegate (from `../node_modules/react-native/Libraries/AppDelegate`) - - React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`) - - React-RCTImage (from `../node_modules/react-native/Libraries/Image`) - - React-RCTLinking (from `../node_modules/react-native/Libraries/LinkingIOS`) - - React-RCTNetwork (from `../node_modules/react-native/Libraries/Network`) - - 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-rncore (from `../node_modules/react-native/ReactCommon`) - - React-runtimeexecutor (from `../node_modules/react-native/ReactCommon/runtimeexecutor`) - - 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`) - - Yoga (from `../node_modules/react-native/ReactCommon/yoga`) + - React-Core (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-jsc (from `../../node_modules/react-native/ReactCommon/jsc`) + - 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-logger (from `../../node_modules/react-native/ReactCommon/logger`) + - 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`) + - React-RCTAppDelegate (from `../../node_modules/react-native/Libraries/AppDelegate`) + - React-RCTBlob (from `../../node_modules/react-native/Libraries/Blob`) + - React-RCTImage (from `../../node_modules/react-native/Libraries/Image`) + - React-RCTLinking (from `../../node_modules/react-native/Libraries/LinkingIOS`) + - React-RCTNetwork (from `../../node_modules/react-native/Libraries/Network`) + - 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-rncore (from `../../node_modules/react-native/ReactCommon`) + - React-runtimeexecutor (from `../../node_modules/react-native/ReactCommon/runtimeexecutor`) + - 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`) + - Yoga (from `../../node_modules/react-native/ReactCommon/yoga`) SPEC REPOS: trunk: - fmt - - libevent - Onfido - SocketRocket EXTERNAL SOURCES: boost: - :podspec: "../node_modules/react-native/third-party-podspecs/boost.podspec" + :podspec: "../../node_modules/react-native/third-party-podspecs/boost.podspec" DoubleConversion: - :podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec" + :podspec: "../../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec" FBLazyVector: - :path: "../node_modules/react-native/Libraries/FBLazyVector" + :path: "../../node_modules/react-native/Libraries/FBLazyVector" FBReactNativeSpec: - :path: "../node_modules/react-native/React/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-08-07-RNv0.72.4-813b2def12bc9df02654b3e3653ae4a68d0572e0 + :podspec: "../../node_modules/react-native/third-party-podspecs/glog.podspec" onfido-react-native-sdk: :path: "../node_modules/@onfido/react-native-sdk" RCT-Folly: - :podspec: "../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec" + :podspec: "../../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec" RCTRequired: - :path: "../node_modules/react-native/Libraries/RCTRequired" + :path: "../../node_modules/react-native/Libraries/RCTRequired" RCTTypeSafety: - :path: "../node_modules/react-native/Libraries/TypeSafety" + :path: "../../node_modules/react-native/Libraries/TypeSafety" React: - :path: "../node_modules/react-native/" + :path: "../../node_modules/react-native/" React-callinvoker: - :path: "../node_modules/react-native/ReactCommon/callinvoker" + :path: "../../node_modules/react-native/ReactCommon/callinvoker" React-Codegen: :path: build/generated/ios React-Core: - :path: "../node_modules/react-native/" + :path: "../../node_modules/react-native/" React-CoreModules: - :path: "../node_modules/react-native/React/CoreModules" + :path: "../../node_modules/react-native/React/CoreModules" React-cxxreact: - :path: "../node_modules/react-native/ReactCommon/cxxreact" + :path: "../../node_modules/react-native/ReactCommon/cxxreact" React-debug: - :path: "../node_modules/react-native/ReactCommon/react/debug" - React-hermes: - :path: "../node_modules/react-native/ReactCommon/hermes" + :path: "../../node_modules/react-native/ReactCommon/react/debug" + React-jsc: + :path: "../../node_modules/react-native/ReactCommon/jsc" React-jsi: - :path: "../node_modules/react-native/ReactCommon/jsi" + :path: "../../node_modules/react-native/ReactCommon/jsi" React-jsiexecutor: - :path: "../node_modules/react-native/ReactCommon/jsiexecutor" + :path: "../../node_modules/react-native/ReactCommon/jsiexecutor" React-jsinspector: - :path: "../node_modules/react-native/ReactCommon/jsinspector" + :path: "../../node_modules/react-native/ReactCommon/jsinspector" React-logger: - :path: "../node_modules/react-native/ReactCommon/logger" + :path: "../../node_modules/react-native/ReactCommon/logger" React-NativeModulesApple: - :path: "../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios" + :path: "../../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios" React-perflogger: - :path: "../node_modules/react-native/ReactCommon/reactperflogger" + :path: "../../node_modules/react-native/ReactCommon/reactperflogger" React-RCTActionSheet: - :path: "../node_modules/react-native/Libraries/ActionSheetIOS" + :path: "../../node_modules/react-native/Libraries/ActionSheetIOS" React-RCTAnimation: - :path: "../node_modules/react-native/Libraries/NativeAnimation" + :path: "../../node_modules/react-native/Libraries/NativeAnimation" React-RCTAppDelegate: - :path: "../node_modules/react-native/Libraries/AppDelegate" + :path: "../../node_modules/react-native/Libraries/AppDelegate" React-RCTBlob: - :path: "../node_modules/react-native/Libraries/Blob" + :path: "../../node_modules/react-native/Libraries/Blob" React-RCTImage: - :path: "../node_modules/react-native/Libraries/Image" + :path: "../../node_modules/react-native/Libraries/Image" React-RCTLinking: - :path: "../node_modules/react-native/Libraries/LinkingIOS" + :path: "../../node_modules/react-native/Libraries/LinkingIOS" React-RCTNetwork: - :path: "../node_modules/react-native/Libraries/Network" + :path: "../../node_modules/react-native/Libraries/Network" React-RCTSettings: - :path: "../node_modules/react-native/Libraries/Settings" + :path: "../../node_modules/react-native/Libraries/Settings" React-RCTText: - :path: "../node_modules/react-native/Libraries/Text" + :path: "../../node_modules/react-native/Libraries/Text" React-RCTVibration: - :path: "../node_modules/react-native/Libraries/Vibration" + :path: "../../node_modules/react-native/Libraries/Vibration" React-rncore: - :path: "../node_modules/react-native/ReactCommon" + :path: "../../node_modules/react-native/ReactCommon" React-runtimeexecutor: - :path: "../node_modules/react-native/ReactCommon/runtimeexecutor" + :path: "../../node_modules/react-native/ReactCommon/runtimeexecutor" React-runtimescheduler: - :path: "../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler" + :path: "../../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler" React-utils: - :path: "../node_modules/react-native/ReactCommon/react/utils" + :path: "../../node_modules/react-native/ReactCommon/react/utils" ReactCommon: - :path: "../node_modules/react-native/ReactCommon" + :path: "../../node_modules/react-native/ReactCommon" Yoga: - :path: "../node_modules/react-native/ReactCommon/yoga" + :path: "../../node_modules/react-native/ReactCommon/yoga" SPEC CHECKSUMS: boost: 57d2868c099736d80fcd648bf211b4431e51a558 DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54 FBLazyVector: 748c0ef74f2bf4b36cfcccf37916806940a64c32 - FBReactNativeSpec: 966f29e4e697de53a3b366355e8f57375c856ad9 + FBReactNativeSpec: d98ad0b6f336fe624d28b837e8da42df4dcc4d38 fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9 glog: 04b94705f318337d7ead9e6d17c019bd9b1f6b1b - hermes-engine: 8057e75cfc1437b178ac86c8654b24e7fead7f60 - libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 - Onfido: f51a30838087a71bfeb6a96b063aae9b42b7c93f - onfido-react-native-sdk: 12972f9ccb1f41013e0c1aff6f02d9a6c669c38e + Onfido: 645e2bc29038242ce08fe82b82924a1e3e269465 + onfido-react-native-sdk: dc158664664b3d7e2056c99c57373fc4403d4d15 RCT-Folly: 424b8c9a7a0b9ab2886ffe9c3b041ef628fd4fb1 RCTRequired: 28469809442eb4eb5528462705f7d852948c8a74 RCTTypeSafety: e9c6c409fca2cc584e5b086862d562540cb38d29 React: 769f469909b18edfe934f0539fffb319c4c61043 React-callinvoker: e48ce12c83706401251921896576710d81e54763 - React-Codegen: a136b8094d39fd071994eaa935366e6be2239cb1 - React-Core: e548a186fb01c3a78a9aeeffa212d625ca9511bf + React-Codegen: 658f30a9ed3a87c53f19cce1c2f0ff09f9831aab + React-Core: 8f6b8b114bf59d10d084e5b46414760cc9bfac9e React-CoreModules: d226b22d06ea1bc4e49d3c073b2c6cbb42265405 - React-cxxreact: 44a3560510ead6633b6e02f9fbbdd1772fb40f92 + React-cxxreact: 3a3b543136233b9b92f26267d3127fc39a0a720a React-debug: 238501490155574ae9f3f8dd1c74330eba30133e - React-hermes: 46e66dc854124d7645c20bfec0a6be9542826ecd - React-jsi: fbdaf4166bae60524b591b18c851b530c8cdb90c - React-jsiexecutor: 3bf18ff7cb03cd8dfdce08fbbc0d15058c1d71ae + React-jsc: f7d32213d6f7bb8a9f0c4e0e0a0fe2bb10288173 + React-jsi: 494e5ae5cd0c649dde893f80e248cf36989dd331 + React-jsiexecutor: faca9c368233f59ed24601aca0185870466a96e9 React-jsinspector: 194e32c6aab382d88713ad3dd0025c5f5c4ee072 React-logger: cebf22b6cf43434e471dc561e5911b40ac01d289 - React-NativeModulesApple: 02e35e9a51e10c6422f04f5e4076a7c02243fff2 + React-NativeModulesApple: 63505fb94b71e2469cab35bdaf36cca813cb5bfd React-perflogger: e3596db7e753f51766bceadc061936ef1472edc3 React-RCTActionSheet: 17ab132c748b4471012abbcdcf5befe860660485 React-RCTAnimation: c8bbaab62be5817d2a31c36d5f2571e3f7dcf099 - React-RCTAppDelegate: af1c7dace233deba4b933cd1d6491fe4e3584ad1 - React-RCTBlob: 1bcf3a0341eb8d6950009b1ddb8aefaf46996b8c + React-RCTAppDelegate: 600e7dfd1ca0a80e24af2d4d25ed1c705bb12505 + React-RCTBlob: 86ab788db3fcc1af0d186a6625e7d0956ffeea5b React-RCTImage: 670a3486b532292649b1aef3ffddd0b495a5cee4 React-RCTLinking: bd7ab853144aed463903237e615fd91d11b4f659 React-RCTNetwork: be86a621f3e4724758f23ad1fdce32474ab3d829 React-RCTSettings: 4f3a29a6d23ffa639db9701bc29af43f30781058 React-RCTText: adde32164a243103aaba0b1dc7b0a2599733873e React-RCTVibration: 6bd85328388ac2e82ae0ca11afe48ad5555b483a - React-rncore: fda7b1ae5918fa7baa259105298a5487875a57c8 + React-rncore: 41f88543e6d0484502f18d7a8e630c63775bca0c React-runtimeexecutor: 57d85d942862b08f6d15441a0badff2542fd233c - React-runtimescheduler: f23e337008403341177fc52ee4ca94e442c17ede + React-runtimescheduler: 13b0c5e9354ccfc3dc9a391231e55debeb688523 React-utils: fa59c9a3375fb6f4aeb66714fd3f7f76b43a9f16 - ReactCommon: dd03c17275c200496f346af93a7b94c53f3093a4 + ReactCommon: 5f73972d2abd8a85e44f27317bf77418a74d3340 SocketRocket: f32cd54efbe0f095c4d7594881e52619cfe80b17 Yoga: b76f1acfda8212aa16b7e26bcce3983230c82603 -PODFILE CHECKSUM: fbd3539e4d51f7787fdfcb0fe50d56703ccd7ce8 +PODFILE CHECKSUM: 34e43c2f9a501c0757c5d6e25aa69db7e48221bb -COCOAPODS: 1.14.3 +COCOAPODS: 1.15.0 diff --git a/SampleApp/ios/SampleApp.xcodeproj/project.pbxproj b/SampleApp/ios/SampleApp.xcodeproj/project.pbxproj index 814450a..7870081 100644 --- a/SampleApp/ios/SampleApp.xcodeproj/project.pbxproj +++ b/SampleApp/ios/SampleApp.xcodeproj/project.pbxproj @@ -380,12 +380,10 @@ inputPaths = ( "${PODS_ROOT}/Target Support Files/Pods-SampleApp-SampleAppTests/Pods-SampleApp-SampleAppTests-frameworks.sh", "${PODS_XCFRAMEWORKS_BUILD_DIR}/Onfido/Onfido.framework/Onfido", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/hermes-engine/Pre-built/hermes.framework/hermes", ); name = "[CP] Embed Pods Frameworks"; outputPaths = ( "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Onfido.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermes.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -400,12 +398,10 @@ inputPaths = ( "${PODS_ROOT}/Target Support Files/Pods-SampleApp/Pods-SampleApp-frameworks.sh", "${PODS_XCFRAMEWORKS_BUILD_DIR}/Onfido/Onfido.framework/Onfido", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/hermes-engine/Pre-built/hermes.framework/hermes", ); name = "[CP] Embed Pods Frameworks"; outputPaths = ( "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Onfido.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermes.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -826,7 +822,7 @@ COPY_PHASE_STRIP = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; - "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = i386; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = ""; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; @@ -853,7 +849,7 @@ "-Wl", "-ld_classic", ); - REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; + REACT_NATIVE_PATH = "${PODS_ROOT}/../../../node_modules/react-native"; SDKROOT = iphoneos; }; name = Debug; @@ -889,7 +885,7 @@ COPY_PHASE_STRIP = YES; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; - "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = i386; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = ""; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_NO_COMMON_BLOCKS = YES; GCC_PREPROCESSOR_DEFINITIONS = ( @@ -911,7 +907,7 @@ "-Wl", "-ld_classic", ); - REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; + REACT_NATIVE_PATH = "${PODS_ROOT}/../../../node_modules/react-native"; SDKROOT = iphoneos; VALIDATE_PRODUCT = YES; }; diff --git a/SampleApp/yalc.lock b/SampleApp/yalc.lock index dd666ec..523aa2f 100644 --- a/SampleApp/yalc.lock +++ b/SampleApp/yalc.lock @@ -2,7 +2,7 @@ "version": "v1", "packages": { "@onfido/react-native-sdk": { - "signature": "a506e197f0abca111d10752ac49ff404", + "signature": "a1833a667b1c123996db959dd023ace3", "file": true } } diff --git a/android/build.gradle b/android/build.gradle index dc08d0c..0ba8093 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -13,7 +13,7 @@ def DEFAULT_COMPILE_SDK_VERSION = 33 def DEFAULT_MIN_SDK_VERSION = 21 def DEFAULT_TARGET_SDK_VERSION = 31 -def NATIVE_ANDROID_SDK_VERSION = "19.6.+" +def NATIVE_ANDROID_SDK_VERSION = "20.0.+" def safeExtGet(prop, fallback) { rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback @@ -48,22 +48,33 @@ buildscript { repositories { mavenCentral() google() - jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:7.4.2' + classpath 'com.android.tools.build:gradle:8.2.2' + // Following line is added for future conversion of our Java code to Kotlin, uncomment when needed + // also decide about Kotlin version (and potential version compatibility with customers) + // classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.7" } } } +def isNewArchitectureEnabled() { + return rootProject.hasProperty("newArchEnabled") && rootProject.getProperty("newArchEnabled") == "true" +} + apply plugin: 'com.android.library' +// apply plugin: "kotlin-android" // uncomment when we start converting our Java code to Kotlin apply plugin: 'maven-publish' apply plugin: 'jacoco' +if (isNewArchitectureEnabled()) { // currently we don't use the new architecture, but this ensures future compatibility + apply plugin: "com.facebook.react" +} apply from: 'publish.gradle' android { - compileSdkVersion safeExtGet('compileSdkVersion', DEFAULT_COMPILE_SDK_VERSION) + namespace "com.onfido.reactnative.sdk" + compileSdk safeExtGet('compileSdkVersion', DEFAULT_COMPILE_SDK_VERSION) defaultConfig { minSdkVersion safeExtGet('minSdkVersion', DEFAULT_MIN_SDK_VERSION) targetSdkVersion safeExtGet('targetSdkVersion', DEFAULT_TARGET_SDK_VERSION) @@ -75,11 +86,6 @@ android { lintOptions { abortOnError false } - - buildFeatures { - buildConfig = false - } - compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 @@ -99,12 +105,16 @@ repositories { url "$rootDir/../node_modules/jsc-android/dist" } google() - jcenter() } dependencies { //noinspection GradleDynamicVersion - implementation 'com.facebook.react:react-native:+' // From node_modules + // replaces the previous react-native dependency with a wildcard version regex + implementation("com.facebook.react:react-android:0.72.10") + // Following documentation is taken from a sample project created by create-react-native-library + // For > 0.71, this will be replaced by `com.facebook.react:react-android:$version` by react gradle plugin + // implementation 'com.facebook.react:react-native:+' // From node_modules + implementation "com.onfido.sdk.capture:onfido-capture-sdk:$NATIVE_ANDROID_SDK_VERSION" implementation "com.onfido.sdk:onfido-workflow:$NATIVE_ANDROID_SDK_VERSION" implementation "com.squareup.okhttp3:logging-interceptor:3.14.9" @@ -116,22 +126,43 @@ dependencies { testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.10.1' testCompileOnly 'junit:junit:4.13.2' testRuntimeOnly 'org.junit.vintage:junit-vintage-engine:5.10.1' - testImplementation 'org.mockito:mockito-core:2.+' + testImplementation 'org.mockito:mockito-core:2.28.2' testImplementation group: 'org.powermock', name: 'powermock-api-mockito2', version: '2.0.9' testImplementation group: 'org.powermock', name: 'powermock-module-junit4', version: '2.0.9' } +// Required for our tests to pass after upgrading to Gradle 8 +// Before Gradle 8.0, Gradle workers on JDK9+ automatically opened JDK modules java.base/java.util +// and java.base/java.lang by passing --add-opens CLI arguments. +// This enabled code executed in a Gradle worker to perform deep reflection on JDK internals +// without warning or failing. Workers no longer use these implicit arguments. +// See https://docs.gradle.org/current/userguide/upgrading_version_7.html#remove_implicit_add_opens_for_gradle_workers +// and https://docs.gradle.org/current/userguide/upgrading_version_7.html#remove_test_add_opens +// TODO: check if we can remove usage of reflection APIs in tests +// From gradle docs: +// These errors can be resolved by updating the violating code or dependency. Updates may include: +// - code-quality tools +// - annotation processors +// - any Gradle plugins which use the worker API +tasks.withType(Test).configureEach { + jvmArgs( + ["--add-opens=java.base/java.lang=ALL-UNNAMED", + "--add-opens=java.base/java.util=ALL-UNNAMED"] + ) +} + afterEvaluate { project -> - android.libraryVariants.all { variant -> + android.libraryVariants.configureEach { variant -> def name = variant.name.capitalize() def javaCompileTask = variant.javaCompileProvider.get() task "jar${name}"(type: Jar, dependsOn: javaCompileTask) { - from javaCompileTask.destinationDir + from javaCompileTask.destinationDirectory } } - task codeCoverageReport(type: JacocoReport, dependsOn: 'testDebugUnitTest') { + tasks.register('codeCoverageReport', JacocoReport) { + dependsOn 'testDebugUnitTest' group = "Reporting" description = "Generate Jacoco coverage reports after running tests." reports { diff --git a/android/gradle.properties b/android/gradle.properties index a6d5dc5..f85a369 100644 --- a/android/gradle.properties +++ b/android/gradle.properties @@ -1,2 +1,2 @@ android.useAndroidX=true -org.gradle.jvmargs=-Xmx3076M \ No newline at end of file +org.gradle.jvmargs=-Xmx3076M diff --git a/android/gradle/wrapper/gradle-wrapper.jar b/android/gradle/wrapper/gradle-wrapper.jar index afba109285af78dbd2a1d187e33ac4f87c76e392..033e24c4cdf41af1ab109bc7f253b2b887023340 100644 GIT binary patch delta 26705 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 delta 24872 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 HzpnldrMqp; diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties index ec7c722..62f495d 100644 --- a/android/gradle/wrapper/gradle-wrapper.properties +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.3-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip networkTimeout=10000 +validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/android/gradlew b/android/gradlew index 65dcd68..fcb6fca 100755 --- a/android/gradlew +++ b/android/gradlew @@ -85,9 +85,6 @@ done APP_BASE_NAME=${0##*/} APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' - # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum @@ -133,10 +130,13 @@ location of your Java installation." fi else JAVACMD=java - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + if ! command -v java >/dev/null 2>&1 + then + die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the location of your Java installation." + fi fi # Increase the maximum file descriptors if we can. @@ -144,7 +144,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then case $MAX_FD in #( max*) # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 + # shellcheck disable=SC3045 MAX_FD=$( ulimit -H -n ) || warn "Could not query maximum file descriptor limit" esac @@ -152,7 +152,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then '' | soft) :;; #( *) # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 + # shellcheck disable=SC3045 ulimit -n "$MAX_FD" || warn "Could not set maximum file descriptor limit to $MAX_FD" esac @@ -197,6 +197,10 @@ if "$cygwin" || "$msys" ; then done fi + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + # Collect all arguments for the java command; # * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of # shell script including quotes and variable substitutions, so put them in diff --git a/android/publish.gradle b/android/publish.gradle index 216d52d..33fb0ca 100644 --- a/android/publish.gradle +++ b/android/publish.gradle @@ -1,11 +1,13 @@ +import groovy.json.JsonSlurper + afterEvaluate { - task sourceJar(type: Jar) { + tasks.register('sourceJar', Jar) { from android.sourceSets.main.java.srcDirs archiveClassifier = "sources" } publishing { - def packageJson = new groovy.json.JsonSlurper().parseText(file('../package.json').text) + def packageJson = new JsonSlurper().parseText(file('../package.json').text) publications { mavenJava(MavenPublication) { @@ -14,7 +16,7 @@ afterEvaluate { groupId = 'com.onfido.reactnative.sdk' version = packageJson.version - from components.release + from components.findByName('release') artifact sourceJar diff --git a/android/src/main/AndroidManifest.xml b/android/src/main/AndroidManifest.xml index 903b090..8527696 100644 --- a/android/src/main/AndroidManifest.xml +++ b/android/src/main/AndroidManifest.xml @@ -1,5 +1,5 @@ + package="com.onfido.reactnative.sdk"> + android:value="11.0.0" /> diff --git a/ios/PluginMetadata.m b/ios/PluginMetadata.m index 3f9109e..580bcab 100644 --- a/ios/PluginMetadata.m +++ b/ios/PluginMetadata.m @@ -7,7 +7,7 @@ - (instancetype)init self = [super init]; if (self) { _pluginPlatform = @"react-native"; - _pluginVersion = @"10.7.0"; + _pluginVersion = @"11.0.0"; } return self; } diff --git a/ios/Podfile b/ios/Podfile index 38b66d9..d566b4c 100644 --- a/ios/Podfile +++ b/ios/Podfile @@ -27,7 +27,7 @@ flipper_config = ENV['NO_FLIPPER'] == "1" ? FlipperConfiguration.disabled : Flip # end target 'OnfidoSdk' do - pod 'Onfido', '~> 29.7.0' + pod 'Onfido', '~> 29.8.0' config = use_native_modules! use_react_native!( diff --git a/onfido-react-native-sdk.podspec b/onfido-react-native-sdk.podspec index 8fa16c4..7c4177c 100644 --- a/onfido-react-native-sdk.podspec +++ b/onfido-react-native-sdk.podspec @@ -20,5 +20,5 @@ Pod::Spec.new do |s| s.requires_arc = true s.dependency "React" - s.dependency "Onfido", "~> 29.7.0" + s.dependency "Onfido", "~> 29.8.0" end diff --git a/package.json b/package.json index 2744bca..dca1f9c 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@onfido/react-native-sdk", "title": "React Native Onfido Sdk", - "version": "10.7.0", + "version": "11.0.0", "description": "Onfido React Native SDK", "main": "index.ts", "scripts": { @@ -79,7 +79,7 @@ "jest": "^29.2.1", "metro-react-native-babel-preset": "^0.77.0", "react": "18.2.0", - "react-native": "0.72.6", + "react-native": "0.72.10", "typescript": "^4.6.4" }, "dependencies": { diff --git a/scripts/update-integration-versions.sh b/scripts/update-integration-versions.sh index 1b9f304..8755a3f 100755 --- a/scripts/update-integration-versions.sh +++ b/scripts/update-integration-versions.sh @@ -6,12 +6,12 @@ IOS_PLUGIN_FILE=${PROJ_DIR}/ios/PluginMetadata.m update_manifest() { - sed -i '' -e "s/android:value=\"[0-9]*\.[0-9]*\.[0-9]*\"/android:value=\"$2\"/g" $1 + sed -i -e "s/android:value=\"[0-9]*\.[0-9]*\.[0-9]*\"/android:value=\"$2\"/g" $1 } update_plugin_file() { - sed -i '' -e "s/_pluginVersion = @\"[0-9]*\.[0-9]*\.[0-9]*\"/_pluginVersion = @\"$2\"/g" $1 + sed -i -e "s/_pluginVersion = @\"[0-9]*\.[0-9]*\.[0-9]*\"/_pluginVersion = @\"$2\"/g" $1 } update_manifest ${MANIFEST_FILE} $PACKAGE_VERSION diff --git a/yarn.lock b/yarn.lock index 867ad71..47f2101 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1902,44 +1902,44 @@ resolved "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz#323d72dd25103d0c4fbdce89dadf574a787b1f9b" integrity sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ== -"@react-native-community/cli-clean@11.3.7": - version "11.3.7" - resolved "https://registry.npmjs.org/@react-native-community/cli-clean/-/cli-clean-11.3.7.tgz" - integrity sha512-twtsv54ohcRyWVzPXL3F9VHGb4Qhn3slqqRs3wEuRzjR7cTmV2TIO2b1VhaqF4HlCgNd+cGuirvLtK2JJyaxMg== +"@react-native-community/cli-clean@11.3.10": + version "11.3.10" + resolved "https://registry.npmjs.org/@react-native-community/cli-clean/-/cli-clean-11.3.10.tgz#70d14dd998ce8ad532266b36a0e5cafe22d300ac" + integrity sha512-g6QjW+DSqoWRHzmIQW3AH22k1AnynWuOdy2YPwYEGgPddTeXZtJphIpEVwDOiC0L4mZv2VmiX33/cGNUwO0cIA== dependencies: - "@react-native-community/cli-tools" "11.3.7" + "@react-native-community/cli-tools" "11.3.10" chalk "^4.1.2" execa "^5.0.0" prompts "^2.4.0" -"@react-native-community/cli-config@11.3.7": - version "11.3.7" - resolved "https://registry.npmjs.org/@react-native-community/cli-config/-/cli-config-11.3.7.tgz" - integrity sha512-FDBLku9xskS+bx0YFJFLCmUJhEZ4/MMSC9qPYOGBollWYdgE7k/TWI0IeYFmMALAnbCdKQAYP5N29N55Tad8lg== +"@react-native-community/cli-config@11.3.10": + version "11.3.10" + resolved "https://registry.npmjs.org/@react-native-community/cli-config/-/cli-config-11.3.10.tgz#753510a80a98b136fec852e1ea5fa655c13dbd17" + integrity sha512-YYu14nm1JYLS6mDRBz78+zDdSFudLBFpPkhkOoj4LuBhNForQBIqFFHzQbd9/gcguJxfW3vlYSnudfaUI7oGLg== dependencies: - "@react-native-community/cli-tools" "11.3.7" + "@react-native-community/cli-tools" "11.3.10" chalk "^4.1.2" cosmiconfig "^5.1.0" deepmerge "^4.3.0" glob "^7.1.3" joi "^17.2.1" -"@react-native-community/cli-debugger-ui@11.3.7": - version "11.3.7" - resolved "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-11.3.7.tgz" - integrity sha512-aVmKuPKHZENR8SrflkMurZqeyLwbKieHdOvaZCh1Nn/0UC5CxWcyST2DB2XQboZwsvr3/WXKJkSUO+SZ1J9qTQ== +"@react-native-community/cli-debugger-ui@11.3.10": + version "11.3.10" + resolved "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-11.3.10.tgz#b16ebf770ba3cc76bf46580f101d00dacf919824" + integrity sha512-kyitGV3RsjlXIioq9lsuawha2GUBPCTAyXV6EBlm3qlyF3dMniB3twEvz+fIOid/e1ZeucH3Tzy5G3qcP8yWoA== dependencies: serve-static "^1.13.1" -"@react-native-community/cli-doctor@11.3.7": - version "11.3.7" - resolved "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-11.3.7.tgz" - integrity sha512-YEHUqWISOHnsl5+NM14KHelKh68Sr5/HeEZvvNdIcvcKtZic3FU7Xd1WcbNdo3gCq5JvzGFfufx02Tabh5zmrg== +"@react-native-community/cli-doctor@11.3.10": + version "11.3.10" + resolved "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-11.3.10.tgz#161b8fd1b485cd52f7a19b2025696070b9d2b6a1" + integrity sha512-DpMsfCWKZ15L9nFK/SyDvpl5v6MjV+arMHMC1i8kR+DOmf2xWmp/pgMywKk0/u50yGB9GwxBHt3i/S/IMK5Ylg== dependencies: - "@react-native-community/cli-config" "11.3.7" - "@react-native-community/cli-platform-android" "11.3.7" - "@react-native-community/cli-platform-ios" "11.3.7" - "@react-native-community/cli-tools" "11.3.7" + "@react-native-community/cli-config" "11.3.10" + "@react-native-community/cli-platform-android" "11.3.10" + "@react-native-community/cli-platform-ios" "11.3.10" + "@react-native-community/cli-tools" "11.3.10" chalk "^4.1.2" command-exists "^1.2.8" envinfo "^7.7.2" @@ -1955,23 +1955,23 @@ wcwidth "^1.0.1" yaml "^2.2.1" -"@react-native-community/cli-hermes@11.3.7": - version "11.3.7" - resolved "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-11.3.7.tgz" - integrity sha512-chkKd8n/xeZkinRvtH6QcYA8rjNOKU3S3Lw/3Psxgx+hAYV0Gyk95qJHTalx7iu+PwjOOqqvCkJo5jCkYLkoqw== +"@react-native-community/cli-hermes@11.3.10": + version "11.3.10" + resolved "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-11.3.10.tgz#f3d4f069ca472b1d8b4e8132cf9c44097a58ca19" + integrity sha512-vqINuzAlcHS9ImNwJtT43N7kfBQ7ro9A8O1Gpc5TQ0A8V36yGG8eoCHeauayklVVgMZpZL6f6mcoLLr9IOgBZQ== dependencies: - "@react-native-community/cli-platform-android" "11.3.7" - "@react-native-community/cli-tools" "11.3.7" + "@react-native-community/cli-platform-android" "11.3.10" + "@react-native-community/cli-tools" "11.3.10" chalk "^4.1.2" hermes-profile-transformer "^0.0.6" ip "^1.1.5" -"@react-native-community/cli-platform-android@11.3.7": - version "11.3.7" - resolved "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-11.3.7.tgz" - integrity sha512-WGtXI/Rm178UQb8bu1TAeFC/RJvYGnbHpULXvE20GkmeJ1HIrMjkagyk6kkY3Ej25JAP2R878gv+TJ/XiRhaEg== +"@react-native-community/cli-platform-android@11.3.10": + version "11.3.10" + resolved "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-11.3.10.tgz#756dd73ad78bf2f20c678683dfc48cb764b1b590" + integrity sha512-RGu9KuDIXnrcNkacSHj5ETTQtp/D/835L6veE2jMigO21p//gnKAjw3AVLCysGr8YXYfThF8OSOALrwNc94puQ== dependencies: - "@react-native-community/cli-tools" "11.3.7" + "@react-native-community/cli-tools" "11.3.10" chalk "^4.1.2" execa "^5.0.0" glob "^7.1.3" @@ -1993,25 +1993,25 @@ slash "^3.0.0" xmldoc "^1.1.2" -"@react-native-community/cli-platform-ios@11.3.7": - version "11.3.7" - resolved "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-11.3.7.tgz" - integrity sha512-Z/8rseBput49EldX7MogvN6zJlWzZ/4M97s2P+zjS09ZoBU7I0eOKLi0N9wx+95FNBvGQQ/0P62bB9UaFQH2jw== +"@react-native-community/cli-platform-ios@11.3.10": + version "11.3.10" + resolved "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-11.3.10.tgz#f8a9bca1181802f12ed15714d5a496e60096cbed" + integrity sha512-JjduMrBM567/j4Hvjsff77dGSLMA0+p9rr0nShlgnKPcc+0J4TDy0hgWpUceM7OG00AdDjpetAPupz0kkAh4cQ== dependencies: - "@react-native-community/cli-tools" "11.3.7" + "@react-native-community/cli-tools" "11.3.10" chalk "^4.1.2" execa "^5.0.0" fast-xml-parser "^4.0.12" glob "^7.1.3" ora "^5.4.1" -"@react-native-community/cli-plugin-metro@11.3.7": - version "11.3.7" - resolved "https://registry.npmjs.org/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-11.3.7.tgz" - integrity sha512-0WhgoBVGF1f9jXcuagQmtxpwpfP+2LbLZH4qMyo6OtYLWLG13n2uRep+8tdGzfNzl1bIuUTeE9yZSAdnf9LfYQ== +"@react-native-community/cli-plugin-metro@11.3.10": + version "11.3.10" + resolved "https://registry.npmjs.org/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-11.3.10.tgz#6ed67dda2518d3dabae20f3b38f66a0a9bd8e962" + integrity sha512-ZYAc5Hc+QVqJgj1XFbpKnIPbSJ9xKcBnfQrRhR+jFyt2DWx85u4bbzY1GSVc/USs0UbSUXv4dqPbnmOJz52EYQ== dependencies: - "@react-native-community/cli-server-api" "11.3.7" - "@react-native-community/cli-tools" "11.3.7" + "@react-native-community/cli-server-api" "11.3.10" + "@react-native-community/cli-tools" "11.3.10" chalk "^4.1.2" execa "^5.0.0" metro "0.76.8" @@ -2022,13 +2022,13 @@ metro-runtime "0.76.8" readline "^1.3.0" -"@react-native-community/cli-server-api@11.3.7": - version "11.3.7" - resolved "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-11.3.7.tgz" - integrity sha512-yoFyGdvR3HxCnU6i9vFqKmmSqFzCbnFSnJ29a+5dppgPRetN+d//O8ard/YHqHzToFnXutAFf2neONn23qcJAg== +"@react-native-community/cli-server-api@11.3.10": + version "11.3.10" + resolved "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-11.3.10.tgz#2c4940d921711f2c78f0b61f126e8dbbbef6277c" + integrity sha512-WEwHWIpqx3gA6Da+lrmq8+z78E1XbxxjBlvHAXevhjJj42N4SO417eZiiUVrFzEFVVJSUee9n9aRa0kUR+0/2w== dependencies: - "@react-native-community/cli-debugger-ui" "11.3.7" - "@react-native-community/cli-tools" "11.3.7" + "@react-native-community/cli-debugger-ui" "11.3.10" + "@react-native-community/cli-tools" "11.3.10" compression "^1.7.1" connect "^3.6.5" errorhandler "^1.5.1" @@ -2037,10 +2037,10 @@ serve-static "^1.13.1" ws "^7.5.1" -"@react-native-community/cli-tools@11.3.7": - version "11.3.7" - resolved "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-11.3.7.tgz" - integrity sha512-peyhP4TV6Ps1hk+MBHTFaIR1eI3u+OfGBvr5r0wPwo3FAJvldRinMgcB/TcCcOBXVORu7ba1XYjkubPeYcqAyA== +"@react-native-community/cli-tools@11.3.10": + version "11.3.10" + resolved "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-11.3.10.tgz#d7bbe3fd8b338004f996f03f53a5373d9caab91c" + integrity sha512-4kCuCwVcGagSrNg9vxMNVhynwpByuC/J5UnKGEet3HuqmoDhQW15m18fJXiehA8J+u9WBvHduefy9nZxO0C06Q== dependencies: appdirsjs "^1.2.4" chalk "^4.1.2" @@ -2066,27 +2066,27 @@ semver "^6.3.0" shell-quote "^1.7.3" -"@react-native-community/cli-types@11.3.7": - version "11.3.7" - resolved "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-11.3.7.tgz" - integrity sha512-OhSr/TiDQkXjL5YOs8+hvGSB+HltLn5ZI0+A3DCiMsjUgTTsYh+Z63OtyMpNjrdCEFcg0MpfdU2uxstCS6Dc5g== +"@react-native-community/cli-types@11.3.10": + version "11.3.10" + resolved "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-11.3.10.tgz#cb02186cd247108bcea5ff93c4c97bb3c8dd8f22" + integrity sha512-0FHK/JE7bTn0x1y8Lk5m3RISDHIBQqWLltO2Mf7YQ6cAeKs8iNOJOeKaHJEY+ohjsOyCziw+XSC4cY57dQrwNA== dependencies: joi "^17.2.1" -"@react-native-community/cli@11.3.7": - version "11.3.7" - resolved "https://registry.npmjs.org/@react-native-community/cli/-/cli-11.3.7.tgz" - integrity sha512-Ou8eDlF+yh2rzXeCTpMPYJ2fuqsusNOhmpYPYNQJQ2h6PvaF30kPomflgRILems+EBBuggRtcT+I+1YH4o/q6w== - dependencies: - "@react-native-community/cli-clean" "11.3.7" - "@react-native-community/cli-config" "11.3.7" - "@react-native-community/cli-debugger-ui" "11.3.7" - "@react-native-community/cli-doctor" "11.3.7" - "@react-native-community/cli-hermes" "11.3.7" - "@react-native-community/cli-plugin-metro" "11.3.7" - "@react-native-community/cli-server-api" "11.3.7" - "@react-native-community/cli-tools" "11.3.7" - "@react-native-community/cli-types" "11.3.7" +"@react-native-community/cli@11.3.10": + version "11.3.10" + resolved "https://registry.npmjs.org/@react-native-community/cli/-/cli-11.3.10.tgz#ea88d20982cfc9ed7a5170d04aeedd2abf092348" + integrity sha512-bIx0t5s9ewH1PlcEcuQUD+UnVrCjPGAfjhVR5Gew565X60nE+GTIHRn70nMv9G4he/amBF+Z+vf5t8SNZEWMwg== + dependencies: + "@react-native-community/cli-clean" "11.3.10" + "@react-native-community/cli-config" "11.3.10" + "@react-native-community/cli-debugger-ui" "11.3.10" + "@react-native-community/cli-doctor" "11.3.10" + "@react-native-community/cli-hermes" "11.3.10" + "@react-native-community/cli-plugin-metro" "11.3.10" + "@react-native-community/cli-server-api" "11.3.10" + "@react-native-community/cli-tools" "11.3.10" + "@react-native-community/cli-types" "11.3.10" chalk "^4.1.2" commander "^9.4.1" execa "^5.0.0" @@ -2166,14 +2166,17 @@ jscodeshift "^0.14.0" nullthrows "^1.1.1" -"@react-native/codegen@^0.72.7": - version "0.72.7" - resolved "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.72.7.tgz" - integrity sha512-O7xNcGeXGbY+VoqBGNlZ3O05gxfATlwE1Q1qQf5E38dK+tXn5BY4u0jaQ9DPjfE8pBba8g/BYI1N44lynidMtg== +"@react-native/codegen@^0.72.8": + version "0.72.8" + resolved "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.72.8.tgz#0593f628e1310f430450a9479fbb4be35e7b63d6" + integrity sha512-jQCcBlXV7B7ap5VlHhwIPieYz89yiRgwd2FPUBu+unz+kcJ6pAiB2U8RdLDmyIs8fiWd+Vq1xxaWs4TR329/ng== dependencies: "@babel/parser" "^7.20.0" flow-parser "^0.206.0" + glob "^7.1.1" + invariant "^2.2.4" jscodeshift "^0.14.0" + mkdirp "^0.5.1" nullthrows "^1.1.1" "@react-native/gradle-plugin@^0.72.11": @@ -2212,7 +2215,7 @@ metro-config "^0.80.0" metro-runtime "^0.80.0" -"@react-native/normalize-colors@*", "@react-native/normalize-colors@^0.72.0": +"@react-native/normalize-colors@<0.73.0", "@react-native/normalize-colors@^0.72.0": version "0.72.0" resolved "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.72.0.tgz" integrity sha512-285lfdqSXaqKuBbbtP9qL2tDrfxdOFtIMvkKadtleRQkdOxx+uzGvFr82KHmc/sSiMtfXGp7JnFYWVh4sFl7Yw== @@ -3134,14 +3137,14 @@ depd@2.0.0: resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== -deprecated-react-native-prop-types@4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-4.1.0.tgz" - integrity sha512-WfepZHmRbbdTvhcolb8aOKEvQdcmTMn5tKLbqbXmkBvjFjRVWAYqsXk/DBsV8TZxws8SdGHLuHaJrHSQUPRdfw== +deprecated-react-native-prop-types@^4.2.3: + version "4.2.3" + resolved "https://registry.npmjs.org/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-4.2.3.tgz#0ef845c1a80ef1636bd09060e4cdf70f9727e5ad" + integrity sha512-2rLTiMKidIFFYpIVM69UnQKngLqQfL6I11Ch8wGSBftS18FUXda+o2we2950X+1dmbgps28niI3qwyH4eX3Z1g== dependencies: - "@react-native/normalize-colors" "*" - invariant "*" - prop-types "*" + "@react-native/normalize-colors" "<0.73.0" + invariant "^2.2.4" + prop-types "^15.8.1" destroy@1.2.0: version "1.2.0" @@ -3450,7 +3453,7 @@ glob-parent@~5.1.2: dependencies: is-glob "^4.0.1" -glob@^7.1.3, glob@^7.1.4, glob@^7.2.0: +glob@^7.1.1, glob@^7.1.3, glob@^7.1.4, glob@^7.2.0: version "7.2.3" resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== @@ -3609,7 +3612,7 @@ inherits@2, inherits@2.0.4, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== -invariant@*, invariant@^2.2.0, invariant@^2.2.4: +invariant@^2.2.0, invariant@^2.2.4: version "2.2.4" resolved "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== @@ -5078,13 +5081,6 @@ on-finished@2.4.1: dependencies: ee-first "1.1.1" -on-finished@2.4.1: - version "2.4.1" - resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz" - integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== - dependencies: - ee-first "1.1.1" - on-finished@~2.3.0: version "2.3.0" resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz" @@ -5309,9 +5305,9 @@ prompts@^2.0.1, prompts@^2.4.0: kleur "^3.0.3" sisteransi "^1.0.5" -prop-types@*: +prop-types@^15.8.1: version "15.8.1" - resolved "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz" + resolved "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== dependencies: loose-envify "^1.4.0" @@ -5366,25 +5362,26 @@ react-is@^18.0.0: resolved "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== -react-native@0.72.6: - version "0.72.6" - resolved "https://registry.npmjs.org/react-native/-/react-native-0.72.6.tgz" - integrity sha512-RafPY2gM7mcrFySS8TL8x+TIO3q7oAlHpzEmC7Im6pmXni6n1AuufGaVh0Narbr1daxstw7yW7T9BKW5dpVc2A== +react-native@0.72.10: + version "0.72.10" + resolved "https://registry.npmjs.org/react-native/-/react-native-0.72.10.tgz#4a796d1b14ab78dcc6520292ff4e66fded0ce3f3" + integrity sha512-AjVA1+hCm2VMk3KE9Ve5IeDR3aneEhhQJmBAM9xP3i2WqqS3GksxCz8+JdB83bV6x9mBLv5qPMP71vCged3USw== dependencies: "@jest/create-cache-key-function" "^29.2.1" - "@react-native-community/cli" "11.3.7" - "@react-native-community/cli-platform-android" "11.3.7" - "@react-native-community/cli-platform-ios" "11.3.7" + "@react-native-community/cli" "11.3.10" + "@react-native-community/cli-platform-android" "11.3.10" + "@react-native-community/cli-platform-ios" "11.3.10" "@react-native/assets-registry" "^0.72.0" - "@react-native/codegen" "^0.72.7" + "@react-native/codegen" "^0.72.8" "@react-native/gradle-plugin" "^0.72.11" "@react-native/js-polyfills" "^0.72.1" "@react-native/normalize-colors" "^0.72.0" "@react-native/virtualized-lists" "^0.72.8" abort-controller "^3.0.0" anser "^1.4.9" + ansi-regex "^5.0.0" base64-js "^1.1.2" - deprecated-react-native-prop-types "4.1.0" + deprecated-react-native-prop-types "^4.2.3" event-target-shim "^5.0.1" flow-enums-runtime "^0.0.5" invariant "^2.2.4"