From 20af1204986df4c3762702d304bae2c8714c03e2 Mon Sep 17 00:00:00 2001 From: bl00dymarie Date: Tue, 16 Jan 2024 15:57:23 +0100 Subject: [PATCH 1/9] Update RN to 0.68.3 for iOS build --- Gemfile.lock | 96 -- ios/Podfile | 23 +- ios/drip.xcodeproj/project.pbxproj | 464 +++----- ios/drip/AppDelegate.h | 3 +- ios/drip/AppDelegate.m | 100 -- ios/drip/AppDelegate.mm | 108 ++ .../AppIcon.appiconset/Contents.json | 71 +- ios/drip/Info.plist | 2 +- ios/drip/main.m | 3 +- ios/dripTests/dripTests.m | 27 +- package.json | 4 +- yarn.lock | 1041 ++++++++++------- 12 files changed, 990 insertions(+), 952 deletions(-) delete mode 100644 Gemfile.lock delete mode 100644 ios/drip/AppDelegate.m create mode 100644 ios/drip/AppDelegate.mm diff --git a/Gemfile.lock b/Gemfile.lock deleted file mode 100644 index b354433..0000000 --- a/Gemfile.lock +++ /dev/null @@ -1,96 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - CFPropertyList (3.0.5) - rexml - activesupport (6.1.5) - concurrent-ruby (~> 1.0, >= 1.0.2) - i18n (>= 1.6, < 2) - minitest (>= 5.1) - tzinfo (~> 2.0) - zeitwerk (~> 2.3) - addressable (2.8.0) - public_suffix (>= 2.0.2, < 5.0) - algoliasearch (1.27.5) - httpclient (~> 2.8, >= 2.8.3) - json (>= 1.5.1) - atomos (0.1.3) - claide (1.1.0) - cocoapods (1.11.3) - addressable (~> 2.8) - claide (>= 1.0.2, < 2.0) - cocoapods-core (= 1.11.3) - cocoapods-deintegrate (>= 1.0.3, < 2.0) - cocoapods-downloader (>= 1.4.0, < 2.0) - cocoapods-plugins (>= 1.0.0, < 2.0) - cocoapods-search (>= 1.0.0, < 2.0) - cocoapods-trunk (>= 1.4.0, < 2.0) - cocoapods-try (>= 1.1.0, < 2.0) - colored2 (~> 3.1) - escape (~> 0.0.4) - fourflusher (>= 2.3.0, < 3.0) - gh_inspector (~> 1.0) - molinillo (~> 0.8.0) - nap (~> 1.0) - ruby-macho (>= 1.0, < 3.0) - xcodeproj (>= 1.21.0, < 2.0) - cocoapods-core (1.11.3) - activesupport (>= 5.0, < 7) - addressable (~> 2.8) - algoliasearch (~> 1.0) - concurrent-ruby (~> 1.1) - fuzzy_match (~> 2.0.4) - nap (~> 1.0) - netrc (~> 0.11) - public_suffix (~> 4.0) - typhoeus (~> 1.0) - cocoapods-deintegrate (1.0.5) - cocoapods-downloader (1.5.1) - cocoapods-plugins (1.0.0) - nap - cocoapods-search (1.0.1) - cocoapods-trunk (1.6.0) - nap (>= 0.8, < 2.0) - netrc (~> 0.11) - cocoapods-try (1.2.0) - colored2 (3.1.2) - concurrent-ruby (1.1.9) - escape (0.0.4) - ethon (0.15.0) - ffi (>= 1.15.0) - ffi (1.15.5) - fourflusher (2.3.1) - fuzzy_match (2.0.4) - gh_inspector (1.1.3) - httpclient (2.8.3) - i18n (1.10.0) - concurrent-ruby (~> 1.0) - json (2.6.1) - minitest (5.15.0) - molinillo (0.8.0) - nanaimo (0.3.0) - nap (1.1.0) - netrc (0.11.0) - public_suffix (4.0.6) - rexml (3.2.5) - ruby-macho (2.5.1) - typhoeus (1.4.0) - ethon (>= 0.9.0) - tzinfo (2.0.4) - concurrent-ruby (~> 1.0) - xcodeproj (1.21.0) - CFPropertyList (>= 2.3.3, < 4.0) - atomos (~> 0.1.3) - claide (>= 1.0.2, < 2.0) - colored2 (~> 3.1) - nanaimo (~> 0.3.0) - rexml (~> 3.2.4) - zeitwerk (2.5.4) -PLATFORMS - ruby -DEPENDENCIES - cocoapods (~> 1.11, >= 1.11.2) -RUBY VERSION - ruby 2.7.4p191 -BUNDLED WITH - 2.2.27 \ No newline at end of file diff --git a/ios/Podfile b/ios/Podfile index 90d8699..380bd49 100644 --- a/ios/Podfile +++ b/ios/Podfile @@ -1,24 +1,37 @@ 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.0' +platform :ios, '11.0' +install! 'cocoapods', :deterministic_uuids => false target 'drip' do config = use_native_modules! + # Flags change depending on the env values. + flags = get_default_flags() + 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], + # An absolute path to your application root. + :app_path => "#{Pod::Config.instance.installation_root}/.." ) target 'dripTests' do inherit! :complete # Pods for testing end - + + # Enables Flipper. + # + # Note that if you have use_frameworks! enabled, Flipper will not work and + # you should disable the next line. + use_flipper!() + post_install do |installer| react_native_post_install(installer) - sed -i.bo 's/ node->getLayout()\.hadOverflow() |$/\0|/' ./node_modules/react-native/ReactCommon/yoga/yoga/Yoga.cpp - end + __apply_Xcode_12_5_M1_post_install_workaround(installer) + end end diff --git a/ios/drip.xcodeproj/project.pbxproj b/ios/drip.xcodeproj/project.pbxproj index 0cdae81..2281700 100644 --- a/ios/drip.xcodeproj/project.pbxproj +++ b/ios/drip.xcodeproj/project.pbxproj @@ -3,12 +3,13 @@ archiveVersion = 1; classes = { }; - objectVersion = 46; + objectVersion = 54; objects = { /* Begin PBXBuildFile section */ 00E356F31AD99517003FC87E /* dripTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* dripTests.m */; }; - 13B07FBC1A68108700A75B9A /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; }; + 0C80B921A6F3F58F76C31292 /* libPods-drip.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5DCACB8F33CDC322A6C60F78 /* libPods-drip.a */; }; + 13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.mm */; }; 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; 13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; 540918B325AB726000086AE1 /* OpenSans-Light.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 540918A325AB725F00086AE1 /* OpenSans-Light.ttf */; }; @@ -30,7 +31,7 @@ 5472A45A25BB7807005E81DE /* drip-icon-font.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 5472A44925BB7806005E81DE /* drip-icon-font.ttf */; }; 5472A45B25BB7807005E81DE /* drip-icon-font.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 5472A44925BB7806005E81DE /* drip-icon-font.ttf */; }; 5472A45E25BB7C43005E81DE /* Entypo.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 5472A45C25BB7C42005E81DE /* Entypo.ttf */; }; - 5488D8D728ABF478008DD66D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 5488D8D628ABF478008DD66D /* LaunchScreen.storyboard */; }; + 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; }; 54DFE73A25D94D6E0025C3FC /* swipe.png in Resources */ = {isa = PBXBuildFile; fileRef = 54DFE73925D94D6E0025C3FC /* swipe.png */; }; 54DFE73B25D94D6E0025C3FC /* swipe.png in Resources */ = {isa = PBXBuildFile; fileRef = 54DFE73925D94D6E0025C3FC /* swipe.png */; }; 54DFE73D25D94DED0025C3FC /* cycle-icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 54DFE73C25D94DED0025C3FC /* cycle-icon.png */; }; @@ -39,7 +40,7 @@ 62F2A4645AC84CDC9506FF27 /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 9AEBF0735214455AAEDF56D5 /* libc++.tbd */; }; BD7041F2826E4A2CBE6CB87D /* RealmJSTests.xctest in Frameworks */ = {isa = PBXBuildFile; fileRef = F79F72C5390646E0A06AAE68 /* RealmJSTests.xctest */; }; BEF6784666BF8E0791A27E51 /* libPods-drip-dripTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 30AC577EFD5F39ABAA1E303C /* libPods-drip-dripTests.a */; }; - D6B2ED16118E4B66DE895C51 /* libPods-drip.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E839B5AA685AB9D035B507A0 /* libPods-drip.a */; }; + D6B2ED16118E4B66DE895C51 /* libPods-drip.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 19F6CBCC0A4E27FBF8BF4A61 /* libPods-drip-dripTests.a */; }; D91133DCE120440893E2FD2E /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = CD8C8B91E0A747B3883A0D56 /* libz.tbd */; }; /* End PBXBuildFile section */ @@ -60,7 +61,7 @@ 00E356F21AD99517003FC87E /* dripTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = dripTests.m; sourceTree = ""; }; 13B07F961A680F5B00A75B9A /* drip.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = drip.app; sourceTree = BUILT_PRODUCTS_DIR; }; 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = drip/AppDelegate.h; sourceTree = ""; }; - 13B07FB01A68108700A75B9A /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = drip/AppDelegate.m; sourceTree = ""; }; + 13B07FB01A68108700A75B9A /* AppDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AppDelegate.mm; path = drip/AppDelegate.mm; sourceTree = ""; }; 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = drip/Images.xcassets; sourceTree = ""; }; 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = drip/Info.plist; sourceTree = ""; }; 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = drip/main.m; sourceTree = ""; }; @@ -87,23 +88,26 @@ 5472A44825BB7806005E81DE /* OpenSans-LightItalic.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = "OpenSans-LightItalic.ttf"; path = "../assets/fonts/OpenSans-LightItalic.ttf"; sourceTree = ""; }; 5472A44925BB7806005E81DE /* drip-icon-font.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = "drip-icon-font.ttf"; path = "../assets/fonts/drip-icon-font.ttf"; sourceTree = ""; }; 5472A45C25BB7C42005E81DE /* Entypo.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = Entypo.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Entypo.ttf"; sourceTree = ""; }; - 5488D8D628ABF478008DD66D /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = drip/LaunchScreen.storyboard; sourceTree = ""; }; + 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = drip/LaunchScreen.storyboard; sourceTree = ""; }; 548C3D3A2898FB0600013449 /* drip-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "drip-Bridging-Header.h"; sourceTree = ""; }; 54DFE73925D94D6E0025C3FC /* swipe.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = swipe.png; path = ../assets/swipe.png; sourceTree = ""; }; 54DFE73C25D94DED0025C3FC /* cycle-icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "cycle-icon.png"; path = "../assets/cycle-icon.png"; sourceTree = ""; }; - 54E1D49823E7588F003FA37B /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; + ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; 5C649EDC281151BC005FED46 /* dripRelease.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; name = dripRelease.entitlements; path = drip/dripRelease.entitlements; sourceTree = ""; }; 7A5827160B914D2B99C47381 /* libRealmReact.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRealmReact.a; sourceTree = ""; }; 84CCEBD3B2C44758853BC941 /* libRNFS.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNFS.a; sourceTree = ""; }; 90224CB4571D41C4969E9722 /* libGCDWebServers.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libGCDWebServers.a; sourceTree = ""; }; 9AEBF0735214455AAEDF56D5 /* libc++.tbd */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libc++.tbd"; path = "usr/lib/libc++.tbd"; sourceTree = SDKROOT; }; - 9C2B39F53B3E9590D7F199B8 /* Pods-drip.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-drip.debug.xcconfig"; path = "Target Support Files/Pods-drip/Pods-drip.debug.xcconfig"; sourceTree = ""; }; + 3B4392A12AC88292D35C810B /* Pods-drip.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-drip.debug.xcconfig"; path = "Target Support Files/Pods-drip/Pods-drip.debug.xcconfig"; sourceTree = ""; }; + 5709B34CF0A7D63546082F79 /* Pods-drip.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-drip.release.xcconfig"; path = "Target Support Files/Pods-drip/Pods-drip.release.xcconfig"; sourceTree = ""; }; A8B59389C2FC4F19BD30ABC3 /* libRNShare.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNShare.a; sourceTree = ""; }; AB636AA0286D45CE9B23B2C3 /* libRCTRestart.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRCTRestart.a; sourceTree = ""; }; CD8C8B91E0A747B3883A0D56 /* libz.tbd */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; }; D211D71BE5A8436A978770A9 /* libRNDocumentPicker.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNDocumentPicker.a; sourceTree = ""; }; - DCE7F65AA04F4A0851ED5A7A /* Pods-drip-dripTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-drip-dripTests.release.xcconfig"; path = "Target Support Files/Pods-drip-dripTests/Pods-drip-dripTests.release.xcconfig"; sourceTree = ""; }; - E839B5AA685AB9D035B507A0 /* libPods-drip.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-drip.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 89C6BE57DB24E9ADA2F236DE /* Pods-drip-dripTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-drip-dripTests.release.xcconfig"; path = "Target Support Files/Pods-drip-dripTests/Pods-drip-dripTests.release.xcconfig"; sourceTree = ""; }; + 5B7EB9410499542E8C5724F5 /* Pods-drip-dripTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-drip-dripTests.debug.xcconfig"; path = "Target Support Files/Pods-drip-dripTests/Pods-drip-dripTests.debug.xcconfig"; sourceTree = ""; }; + 19F6CBCC0A4E27FBF8BF4A61 /* libPods-drip-dripTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-drip-dripTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 5DCACB8F33CDC322A6C60F78 /* libPods-drip.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-drip.a"; sourceTree = BUILT_PRODUCTS_DIR; }; F5039D0A572B4BBCB7995891 /* libRNVectorIcons.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNVectorIcons.a; sourceTree = ""; }; F710D85E391D4094816E1B62 /* libRealmJS.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRealmJS.a; sourceTree = ""; }; F79F72C5390646E0A06AAE68 /* RealmJSTests.xctest */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = wrapper.cfbundle; path = RealmJSTests.xctest; sourceTree = ""; }; @@ -114,7 +118,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - BEF6784666BF8E0791A27E51 /* libPods-drip-dripTests.a in Frameworks */, + 7699B88040F8A987B510C191 /* libPods-drip-dripTests.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -126,7 +130,7 @@ 62F2A4645AC84CDC9506FF27 /* libc++.tbd in Frameworks */, D91133DCE120440893E2FD2E /* libz.tbd in Frameworks */, BD7041F2826E4A2CBE6CB87D /* RealmJSTests.xctest in Frameworks */, - D6B2ED16118E4B66DE895C51 /* libPods-drip.a in Frameworks */, + 0C80B921A6F3F58F76C31292 /* libPods-drip.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -176,9 +180,10 @@ 5C649EDC281151BC005FED46 /* dripRelease.entitlements */, 008F07F21AC5B25A0029DE68 /* main.jsbundle */, 13B07FAF1A68108700A75B9A /* AppDelegate.h */, - 13B07FB01A68108700A75B9A /* AppDelegate.m */, + 13B07FB01A68108700A75B9A /* AppDelegate.mm */, 13B07FB51A68108700A75B9A /* Images.xcassets */, 13B07FB61A68108700A75B9A /* Info.plist */, + 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */, 13B07FB71A68108700A75B9A /* main.m */, 548C3D3A2898FB0600013449 /* drip-Bridging-Header.h */, ); @@ -188,12 +193,12 @@ 2D16E6871FA4F8E400B85C8A /* Frameworks */ = { isa = PBXGroup; children = ( - 54E1D49823E7588F003FA37B /* JavaScriptCore.framework */, + ED297162215061F000B7C4FE /* JavaScriptCore.framework */, 2D16E6891FA4F8E400B85C8A /* libReact.a */, 9AEBF0735214455AAEDF56D5 /* libc++.tbd */, CD8C8B91E0A747B3883A0D56 /* libz.tbd */, - E839B5AA685AB9D035B507A0 /* libPods-drip.a */, - 30AC577EFD5F39ABAA1E303C /* libPods-drip-dripTests.a */, + 5DCACB8F33CDC322A6C60F78 /* libPods-drip.a */, + 19F6CBCC0A4E27FBF8BF4A61 /* libPods-drip-dripTests.a */, ); name = Frameworks; sourceTree = ""; @@ -250,7 +255,7 @@ 83CBBA001A601CBA00E9B192 /* Products */, 2D16E6871FA4F8E400B85C8A /* Frameworks */, 42C7F9942202468200F22656 /* Recovered References */, - 6817ABC38854EEB6D3EE933A /* Pods */, + BBD78D7AC51CEA395F1C20DB /* Pods */, 006C39A0B9774387BC5ACA43 /* Resources */, ); indentWidth = 2; @@ -267,6 +272,17 @@ name = Products; sourceTree = ""; }; + BBD78D7AC51CEA395F1C20DB /* Pods */ = { + isa = PBXGroup; + children = ( + 3B4392A12AC88292D35C810B /* Pods-drip.debug.xcconfig */, + 5709B34CF0A7D63546082F79 /* Pods-drip.release.xcconfig */, + 5B7EB9410499542E8C5724F5 /* Pods-drip-dripTests.debug.xcconfig */, + 89C6BE57DB24E9ADA2F236DE /* Pods-drip-dripTests.release.xcconfig */, + ); + path = Pods; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -274,11 +290,12 @@ isa = PBXNativeTarget; buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "dripTests" */; buildPhases = ( - 2A9B7798E8EEE99B4DEAF7E6 /* [CP] Check Pods Manifest.lock */, + A55EABD7B0C7F3A422A6CC61 /* [CP] Check Pods Manifest.lock */, 00E356EA1AD99517003FC87E /* Sources */, 00E356EB1AD99517003FC87E /* Frameworks */, 00E356EC1AD99517003FC87E /* Resources */, - 8063380E2F43D4EC65ED92DA /* [CP] Copy Pods Resources */, + C59DA0FBD6956966B86A3779 /* [CP] Embed Pods Frameworks */, + F6A41C54EA430FDDC6A6ED99 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -294,19 +311,21 @@ isa = PBXNativeTarget; buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "drip" */; buildPhases = ( - EE2CE9848EDAD5D292FA4857 /* [CP] Check Pods Manifest.lock */, + C38B50BA6285516D6DCD4F65 /* [CP] Check Pods Manifest.lock */, + FD10A7F022414F080027D42C /* Start Packager */, 13B07F871A680F5B00A75B9A /* Sources */, 13B07F8C1A680F5B00A75B9A /* Frameworks */, 13B07F8E1A680F5B00A75B9A /* Resources */, 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, - F20A2E535E077DDC51A469BB /* [CP] Copy Pods Resources */, + 00EEFC60759A1932668264C0 /* [CP] Embed Pods Frameworks */, + E235C05ADACE081382539298 /* [CP] Copy Pods Resources */, ); buildRules = ( ); dependencies = ( ); name = drip; - productName = "Hello World"; + productName = drip; productReference = 13B07F961A680F5B00A75B9A /* drip.app */; productType = "com.apple.product-type.application"; }; @@ -316,7 +335,7 @@ 83CBB9F71A601CBA00E9B192 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1340; + LastUpgradeCheck = 1210; ORGANIZATIONNAME = ""; TargetAttributes = { 00E356ED1AD99517003FC87E = { @@ -325,12 +344,12 @@ }; 13B07F861A680F5B00A75B9A = { DevelopmentTeam = 6AD72X6W26; - LastSwiftMigration = 1340; + LastSwiftMigration = 1120; }; }; }; buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "drip" */; - compatibilityVersion = "Xcode 3.2"; + compatibilityVersion = "Xcode 12.0"; developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( @@ -375,7 +394,7 @@ 5472A44C25BB7807005E81DE /* OpenSans-Light.ttf in Resources */, 5472A45425BB7807005E81DE /* Menu.ttf in Resources */, 5472A45A25BB7807005E81DE /* drip-icon-font.ttf in Resources */, - 5488D8D728ABF478008DD66D /* LaunchScreen.storyboard in Resources */, + 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */, 5472A45825BB7807005E81DE /* OpenSans-LightItalic.ttf in Resources */, 5472A45625BB7807005E81DE /* OpenSans-SemiBold.ttf in Resources */, 5472A45025BB7807005E81DE /* Jost-400-Book.otf in Resources */, @@ -403,9 +422,26 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh\n"; + shellScript = "set -e\n\nexport NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh\n"; }; - 2A9B7798E8EEE99B4DEAF7E6 /* [CP] Check Pods Manifest.lock */ = { + 00EEFC60759A1932668264C0 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-drip/Pods-drip-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-drip/Pods-drip-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-drip/Pods-drip-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + A55EABD7B0C7F3A422A6CC61 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -427,57 +463,7 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 8063380E2F43D4EC65ED92DA /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-drip-dripTests/Pods-drip-dripTests-resources.sh", - "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/AntDesign.ttf", - "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Entypo.ttf", - "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/EvilIcons.ttf", - "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Feather.ttf", - "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/FontAwesome.ttf", - "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Brands.ttf", - "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Regular.ttf", - "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Solid.ttf", - "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Fontisto.ttf", - "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Foundation.ttf", - "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Ionicons.ttf", - "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/MaterialCommunityIcons.ttf", - "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/MaterialIcons.ttf", - "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Octicons.ttf", - "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/SimpleLineIcons.ttf", - "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Zocial.ttf", - "${PODS_CONFIGURATION_BUILD_DIR}/React-Core/AccessibilityResources.bundle", - ); - name = "[CP] Copy Pods Resources"; - outputPaths = ( - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AntDesign.ttf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Entypo.ttf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/EvilIcons.ttf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Feather.ttf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FontAwesome.ttf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FontAwesome5_Brands.ttf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FontAwesome5_Regular.ttf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FontAwesome5_Solid.ttf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Fontisto.ttf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Foundation.ttf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Ionicons.ttf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/MaterialCommunityIcons.ttf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/MaterialIcons.ttf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Octicons.ttf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/SimpleLineIcons.ttf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Zocial.ttf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AccessibilityResources.bundle", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-drip-dripTests/Pods-drip-dripTests-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; - EE2CE9848EDAD5D292FA4857 /* [CP] Check Pods Manifest.lock */ = { + C38B50BA6285516D6DCD4F65 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -499,56 +485,76 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - F20A2E535E077DDC51A469BB /* [CP] Copy Pods Resources */ = { + C59DA0FBD6956966B86A3779 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); - inputPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-drip/Pods-drip-resources.sh", - "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/AntDesign.ttf", - "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Entypo.ttf", - "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/EvilIcons.ttf", - "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Feather.ttf", - "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/FontAwesome.ttf", - "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Brands.ttf", - "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Regular.ttf", - "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Solid.ttf", - "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Fontisto.ttf", - "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Foundation.ttf", - "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Ionicons.ttf", - "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/MaterialCommunityIcons.ttf", - "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/MaterialIcons.ttf", - "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Octicons.ttf", - "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/SimpleLineIcons.ttf", - "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Zocial.ttf", - "${PODS_CONFIGURATION_BUILD_DIR}/React-Core/AccessibilityResources.bundle", + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-drip-dripTests/Pods-drip-dripTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-drip-dripTests/Pods-drip-dripTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-drip-dripTests/Pods-drip-dripTests-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + E235C05ADACE081382539298 /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-drip/Pods-drip-resources-${CONFIGURATION}-input-files.xcfilelist", ); name = "[CP] Copy Pods Resources"; - outputPaths = ( - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AntDesign.ttf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Entypo.ttf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/EvilIcons.ttf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Feather.ttf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FontAwesome.ttf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FontAwesome5_Brands.ttf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FontAwesome5_Regular.ttf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FontAwesome5_Solid.ttf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Fontisto.ttf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Foundation.ttf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Ionicons.ttf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/MaterialCommunityIcons.ttf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/MaterialIcons.ttf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Octicons.ttf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/SimpleLineIcons.ttf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Zocial.ttf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AccessibilityResources.bundle", + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-drip/Pods-drip-resources-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-drip/Pods-drip-resources.sh\"\n"; showEnvVarsInLog = 0; }; + F6A41C54EA430FDDC6A6ED99 /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-drip-dripTests/Pods-drip-dripTests-resources-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Copy Pods Resources"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-drip-dripTests/Pods-drip-dripTests-resources-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-drip-dripTests/Pods-drip-dripTests-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + FD10A7F022414F080027D42C /* Start Packager */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + name = "Start Packager"; + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "export RCT_METRO_PORT=\"${RCT_METRO_PORT:=8081}\"\necho \"export RCT_METRO_PORT=${RCT_METRO_PORT}\" > \"${SRCROOT}/../node_modules/react-native/scripts/.packager.env\"\nif [ -z \"${RCT_NO_LAUNCH_PACKAGER+xxx}\" ] ; then\n if nc -w 5 -z localhost ${RCT_METRO_PORT} ; then\n if ! curl -s \"http://localhost:${RCT_METRO_PORT}/status\" | grep -q \"packager-status:running\" ; then\n echo \"Port ${RCT_METRO_PORT} already in use, packager is either not running or not running correctly\"\n exit 2\n fi\n else\n open \"$SRCROOT/../node_modules/react-native/scripts/launchPackager.command\" || echo \"Can't start packager automatically\"\n fi\nfi\n"; + showEnvVarsInLog = 0; + }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -564,7 +570,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 13B07FBC1A68108700A75B9A /* AppDelegate.m in Sources */, + 13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */, 13B07FC11A68108700A75B9A /* main.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -582,36 +588,19 @@ /* Begin XCBuildConfiguration section */ 00E356F61AD99517003FC87E /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 3BFD860D9B7CFC35432CDE5C /* Pods-drip-dripTests.debug.xcconfig */; + baseConfigurationReference = 5B7EB9410499542E8C5724F5 /* Pods-drip-dripTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; - ENABLE_BITCODE = "$(inherited)"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(SRCROOT)/../node_modules/react-native-svg/ios/**", - ); GCC_PREPROCESSOR_DEFINITIONS = ( "DEBUG=1", "$(inherited)", ); - HEADER_SEARCH_PATHS = ( - "$(inherited)", - "$(SRCROOT)/../node_modules/realm/src/**", - "$(SRCROOT)/../node_modules/react-native-share/ios", - "$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager", - "$(SRCROOT)/../node_modules/react-native-document-picker/ios/RNDocumentPicker", - "$(SRCROOT)/../node_modules/react-native-fs/**", - "$(SRCROOT)/../node_modules/react-native-restart/ios/RCTRestart/**", - "$(SRCROOT)/../node_modules/realm/src/**", - ); INFOPLIST_FILE = dripTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ( - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", ); OTHER_LDFLAGS = ( "-ObjC", @@ -626,33 +615,16 @@ }; 00E356F71AD99517003FC87E /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = DCE7F65AA04F4A0851ED5A7A /* Pods-drip-dripTests.release.xcconfig */; + baseConfigurationReference = 89C6BE57DB24E9ADA2F236DE /* Pods-drip-dripTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; COPY_PHASE_STRIP = NO; - ENABLE_BITCODE = "$(inherited)"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(SRCROOT)/../node_modules/react-native-svg/ios/**", - ); - HEADER_SEARCH_PATHS = ( - "$(inherited)", - "$(SRCROOT)/../node_modules/realm/src/**", - "$(SRCROOT)/../node_modules/react-native-share/ios", - "$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager", - "$(SRCROOT)/../node_modules/react-native-document-picker/ios/RNDocumentPicker", - "$(SRCROOT)/../node_modules/react-native-fs/**", - "$(SRCROOT)/../node_modules/react-native-restart/ios/RCTRestart/**", - "$(SRCROOT)/../node_modules/realm/src/**", - ); INFOPLIST_FILE = dripTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ( - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", ); OTHER_LDFLAGS = ( "-ObjC", @@ -667,77 +639,24 @@ }; 13B07F941A680F5B00A75B9A /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 9C2B39F53B3E9590D7F199B8 /* Pods-drip.debug.xcconfig */; + baseConfigurationReference = 3B4392A12AC88292D35C810B /* Pods-drip.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = 1; - DEAD_CODE_STRIPPING = NO; - DEVELOPMENT_TEAM = 6AD72X6W26; - ENABLE_BITCODE = "$(inherited)"; - EXCLUDED_ARCHS = ""; - "EXCLUDED_ARCHS[sdk=*]" = ""; - FRAMEWORK_SEARCH_PATHS = "$(inherited)"; - GCC_PREPROCESSOR_DEFINITIONS = ( - "COCOAPODS=1", - "$(inherited)", - ); - HEADER_SEARCH_PATHS = ( - "$(inherited)", - "$(SRCROOT)/../node_modules/realm/src/**", - "$(SRCROOT)/../node_modules/react-native-share/ios", - "$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager", - "$(SRCROOT)/../node_modules/react-native-document-picker/ios/RNDocumentPicker", - "$(SRCROOT)/../node_modules/react-native-fs/**", - "$(SRCROOT)/../node_modules/react-native-restart/ios/RCTRestart/**", - "$(SRCROOT)/../node_modules/@react-native-community/push-notification-ios/ios", - "$(SRCROOT)/../node_modules/realm/src/**", - ); + ENABLE_BITCODE = NO; INFOPLIST_FILE = drip/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ( - "\"${PODS_CONFIGURATION_BUILD_DIR}/DoubleConversion\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FBReactNativeSpec\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/Folly\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/GCDWebServer\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/RCTTypeSafety\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/RNFS\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/RNShare\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/RNVectorIcons\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/React-Core\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/React-CoreModules\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTActionSheet\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTAnimation\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTBlob\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTImage\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTLinking\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTNetwork\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTSettings\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTText\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTVibration\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/React-cxxreact\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/React-jsi\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/React-jsiexecutor\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/React-jsinspector\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/RealmJS\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/Yoga\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/glog\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/react-native-document-picker\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/react-native-restart\"", - "\"${PODS_ROOT}/../../node_modules/realm/vendor/realm-ios\"", + LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", + "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.2312.11; OTHER_LDFLAGS = ( + "$(inherited)", "-ObjC", "-lc++", - "$(inherited)", ); - PRODUCT_BUNDLE_IDENTIFIER = org.heartofcode.drip.cycle.tracking; + PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = drip; - SWIFT_OBJC_BRIDGING_HEADER = "drip-Bridging-Header.h"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 5.0; VERSIONING_SYSTEM = "apple-generic"; @@ -746,76 +665,23 @@ }; 13B07F951A680F5B00A75B9A /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 2C52A2D4C769AF39D11D7017 /* Pods-drip.release.xcconfig */; + baseConfigurationReference = 5709B34CF0A7D63546082F79 /* Pods-drip.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; - CODE_SIGN_ENTITLEMENTS = drip/dripRelease.entitlements; CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = 6AD72X6W26; - ENABLE_BITCODE = "$(inherited)"; - EXCLUDED_ARCHS = ""; - FRAMEWORK_SEARCH_PATHS = "$(inherited)"; - GCC_PREPROCESSOR_DEFINITIONS = ( - "COCOAPODS=1", - "$(inherited)", - ); - HEADER_SEARCH_PATHS = ( - "$(inherited)", - "$(SRCROOT)/../node_modules/realm/src/**", - "$(SRCROOT)/../node_modules/react-native-share/ios", - "$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager", - "$(SRCROOT)/../node_modules/react-native-document-picker/ios/RNDocumentPicker", - "$(SRCROOT)/../node_modules/react-native-fs/**", - "$(SRCROOT)/../node_modules/react-native-restart/ios/RCTRestart/**", - "$(SRCROOT)/../node_modules/@react-native-community/push-notification-ios/ios", - "$(SRCROOT)/../node_modules/realm/src/**", - ); INFOPLIST_FILE = drip/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ( - "\"${PODS_CONFIGURATION_BUILD_DIR}/DoubleConversion\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FBReactNativeSpec\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/Folly\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/GCDWebServer\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/RCTTypeSafety\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/RNFS\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/RNShare\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/RNVectorIcons\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/React-Core\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/React-CoreModules\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTActionSheet\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTAnimation\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTBlob\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTImage\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTLinking\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTNetwork\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTSettings\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTText\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTVibration\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/React-cxxreact\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/React-jsi\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/React-jsiexecutor\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/React-jsinspector\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/RealmJS\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/Yoga\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/glog\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/react-native-document-picker\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/react-native-restart\"", - "\"${PODS_ROOT}/../../node_modules/realm/vendor/realm-ios\"", + LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", + "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.2312.11; OTHER_LDFLAGS = ( + "$(inherited)", "-ObjC", "-lc++", - "$(inherited)", ); - PRODUCT_BUNDLE_IDENTIFIER = org.heartofcode.drip.cycle.tracking; + PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = drip; - SWIFT_OBJC_BRIDGING_HEADER = "drip-Bridging-Header.h"; SWIFT_VERSION = 5.0; VERSIONING_SYSTEM = "apple-generic"; }; @@ -826,7 +692,7 @@ buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LANGUAGE_STANDARD = "c++17"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; @@ -852,7 +718,6 @@ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = NO; - ENABLE_BITCODE = "$(inherited)"; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = ""; @@ -871,16 +736,25 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + LD_RUNPATH_SEARCH_PATHS = ( + /usr/lib/swift, + "$(inherited)", + ); LIBRARY_SEARCH_PATHS = ( - "$(SDKROOT)/usr/lib/swift", - "\"$(inherited)\"", + "\"$(SDKROOT)/usr/lib/swift\"", "\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"", + "\"$(inherited)\"", ); MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; + OTHER_CPLUSPLUSFLAGS = ( + "$(OTHER_CFLAGS)", + "-DFOLLY_NO_CONFIG", + "-DFOLLY_MOBILE=1", + "-DFOLLY_USE_LIBCPP=1", + ); SDKROOT = iphoneos; - VALIDATE_WORKSPACE = YES; }; name = Debug; }; @@ -889,7 +763,7 @@ buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LANGUAGE_STANDARD = "c++17"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; @@ -915,7 +789,6 @@ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = YES; - ENABLE_BITCODE = "$(inherited)"; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = ""; @@ -927,16 +800,25 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + LD_RUNPATH_SEARCH_PATHS = ( + /usr/lib/swift, + "$(inherited)", + ); LIBRARY_SEARCH_PATHS = ( - "$(SDKROOT)/usr/lib/swift", - "\"$(inherited)\"", + "\"$(SDKROOT)/usr/lib/swift\"", "\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"", + "\"$(inherited)\"", ); MTL_ENABLE_DEBUG_INFO = NO; + OTHER_CPLUSPLUSFLAGS = ( + "$(OTHER_CFLAGS)", + "-DFOLLY_NO_CONFIG", + "-DFOLLY_MOBILE=1", + "-DFOLLY_USE_LIBCPP=1", + ); SDKROOT = iphoneos; VALIDATE_PRODUCT = YES; - VALIDATE_WORKSPACE = YES; }; name = Release; }; diff --git a/ios/drip/AppDelegate.h b/ios/drip/AppDelegate.h index ec32148..ad5007b 100644 --- a/ios/drip/AppDelegate.h +++ b/ios/drip/AppDelegate.h @@ -1,7 +1,8 @@ +#import #import #import -@interface AppDelegate : UIResponder +@interface AppDelegate : UIResponder @property (nonatomic, strong) UIWindow *window; diff --git a/ios/drip/AppDelegate.m b/ios/drip/AppDelegate.m deleted file mode 100644 index c8dffba..0000000 --- a/ios/drip/AppDelegate.m +++ /dev/null @@ -1,100 +0,0 @@ -#import - -#import -#import -#import -#import -#import - -// #ifdef FB_SONARKIT_ENABLED -// #import -// #import -// #import -// #import -// #import -// #import -// static void InitializeFlipper(UIApplication *application) { -// FlipperClient *client = [FlipperClient sharedClient]; -// SKDescriptorMapper *layoutDescriptorMapper = [[SKDescriptorMapper alloc] initWithDefaults]; -// [client addPlugin:[[FlipperKitLayoutPlugin alloc] initWithRootNode:application withDescriptorMapper:layoutDescriptorMapper]]; -// [client addPlugin:[[FKUserDefaultsPlugin alloc] initWithSuiteName:nil]]; -// [client addPlugin:[FlipperKitReactPlugin new]]; -// [client addPlugin:[[FlipperKitNetworkPlugin alloc] initWithNetworkAdapter:[SKIOSNetworkAdapter new]]]; -// [client start]; -// } -// #endif - -@implementation AppDelegate - -- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions -{ -// #ifdef FB_SONARKIT_ENABLED -// InitializeFlipper(application); -// #endif - - - RCTBridge *bridge = [[RCTBridge alloc] initWithDelegate:self launchOptions:launchOptions]; - RCTRootView *rootView = [[RCTRootView alloc] initWithBridge:bridge - moduleName:@"drip" - initialProperties:nil]; - - 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]; - - // Define UNUserNotificationCenter - UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter]; - center.delegate = self; - - return YES; -} - -//Called when a notification is delivered to a foreground app. --(void)userNotificationCenter:(UNUserNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(UNNotificationPresentationOptions options))completionHandler -{ - completionHandler(UNNotificationPresentationOptionSound | UNNotificationPresentationOptionAlert | UNNotificationPresentationOptionBadge); -} - -// Required for the register event. -- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken -{ - [RNCPushNotificationIOS didRegisterForRemoteNotificationsWithDeviceToken:deviceToken]; -} -// Required for the notification event. You must call the completion handler after handling the remote notification. -- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo -fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler -{ - [RNCPushNotificationIOS didReceiveRemoteNotification:userInfo fetchCompletionHandler:completionHandler]; -} -// Required for the registrationError event. -- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error -{ - [RNCPushNotificationIOS didFailToRegisterForRemoteNotificationsWithError:error]; -} -// Required for localNotification event -- (void)userNotificationCenter:(UNUserNotificationCenter *)center -didReceiveNotificationResponse:(UNNotificationResponse *)response - withCompletionHandler:(void (^)(void))completionHandler -{ - [RNCPushNotificationIOS didReceiveNotificationResponse:response]; -} - - -- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge -{ -#if DEBUG - return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil]; -#else - return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; -#endif -} - -@end diff --git a/ios/drip/AppDelegate.mm b/ios/drip/AppDelegate.mm new file mode 100644 index 0000000..ddb7cd6 --- /dev/null +++ b/ios/drip/AppDelegate.mm @@ -0,0 +1,108 @@ +#import "AppDelegate.h" + +#import +#import +#import + +#import + +#if RCT_NEW_ARCH_ENABLED +#import +#import +#import +#import +#import +#import + +#import + +@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); + + 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 + + UIView *rootView = RCTAppSetupDefaultRootView(bridge, @"drip", nil); + + 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; +} + +- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge +{ +#if DEBUG + return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index"]; +#else + return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; +#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/ios/drip/Images.xcassets/AppIcon.appiconset/Contents.json b/ios/drip/Images.xcassets/AppIcon.appiconset/Contents.json index 6a1c494..ddd7fca 100644 --- a/ios/drip/Images.xcassets/AppIcon.appiconset/Contents.json +++ b/ios/drip/Images.xcassets/AppIcon.appiconset/Contents.json @@ -1,62 +1,53 @@ { - "images" : [ + "images": [ { - "filename" : "40.png", - "idiom" : "iphone", - "scale" : "2x", - "size" : "20x20" + "idiom": "iphone", + "scale": "2x", + "size": "20x20" }, { - "filename" : "60.png", - "idiom" : "iphone", - "scale" : "3x", - "size" : "20x20" + "idiom": "iphone", + "scale": "3x", + "size": "20x20" }, { - "filename" : "58.png", - "idiom" : "iphone", - "scale" : "2x", - "size" : "29x29" + "idiom": "iphone", + "scale": "2x", + "size": "29x29" }, { - "filename" : "87.png", - "idiom" : "iphone", - "scale" : "3x", - "size" : "29x29" + "idiom": "iphone", + "scale": "3x", + "size": "29x29" }, { - "filename" : "80.png", - "idiom" : "iphone", - "scale" : "2x", - "size" : "40x40" + "idiom": "iphone", + "scale": "2x", + "size": "40x40" }, { - "filename" : "120.png", - "idiom" : "iphone", - "scale" : "3x", - "size" : "40x40" + "idiom": "iphone", + "scale": "3x", + "size": "40x40" }, { - "filename" : "120-1.png", - "idiom" : "iphone", - "scale" : "2x", - "size" : "60x60" + "idiom": "iphone", + "scale": "2x", + "size": "60x60" }, { - "filename" : "180.png", - "idiom" : "iphone", - "scale" : "3x", - "size" : "60x60" + "idiom": "iphone", + "scale": "3x", + "size": "60x60" }, { - "filename" : "appstore.png", - "idiom" : "ios-marketing", - "scale" : "1x", - "size" : "1024x1024" + "idiom": "ios-marketing", + "scale": "1x", + "size": "1024x1024" } ], - "info" : { - "author" : "xcode", - "version" : 1 + "info": { + "author": "xcode", + "version": 1 } } diff --git a/ios/drip/Info.plist b/ios/drip/Info.plist index 8eeb07b..8dc3cc0 100644 --- a/ios/drip/Info.plist +++ b/ios/drip/Info.plist @@ -17,7 +17,7 @@ CFBundlePackageType APPL CFBundleShortVersionString - $(MARKETING_VERSION) + drip. menstrual cycle & fertility tracking CFBundleSignature ???? CFBundleVersion diff --git a/ios/drip/main.m b/ios/drip/main.m index b1df44b..d645c72 100644 --- a/ios/drip/main.m +++ b/ios/drip/main.m @@ -2,7 +2,8 @@ #import "AppDelegate.h" -int main(int argc, char * argv[]) { +int main(int argc, char *argv[]) +{ @autoreleasepool { return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); } diff --git a/ios/dripTests/dripTests.m b/ios/dripTests/dripTests.m index 0dd4e1e..65e3c17 100644 --- a/ios/dripTests/dripTests.m +++ b/ios/dripTests/dripTests.m @@ -13,7 +13,7 @@ @implementation dripTests -- (BOOL)findSubviewInView:(UIView *)view matching:(BOOL(^)(UIView *view))test +- (BOOL)findSubviewInView:(UIView *)view matching:(BOOL (^)(UIView *view))test { if (test(view)) { return YES; @@ -34,23 +34,25 @@ __block NSString *redboxError = nil; #ifdef DEBUG - RCTSetLogFunction(^(RCTLogLevel level, RCTLogSource source, NSString *fileName, NSNumber *lineNumber, NSString *message) { - if (level >= RCTLogLevelError) { - redboxError = message; - } - }); + RCTSetLogFunction( + ^(RCTLogLevel level, RCTLogSource source, NSString *fileName, NSNumber *lineNumber, NSString *message) { + if (level >= RCTLogLevelError) { + redboxError = message; + } + }); #endif while ([date timeIntervalSinceNow] > 0 && !foundElement && !redboxError) { [[NSRunLoop mainRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]]; [[NSRunLoop mainRunLoop] runMode:NSRunLoopCommonModes beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]]; - foundElement = [self findSubviewInView:vc.view matching:^BOOL(UIView *view) { - if ([view.accessibilityLabel isEqualToString:TEXT_TO_LOOK_FOR]) { - return YES; - } - return NO; - }]; + foundElement = [self findSubviewInView:vc.view + matching:^BOOL(UIView *view) { + if ([view.accessibilityLabel isEqualToString:TEXT_TO_LOOK_FOR]) { + return YES; + } + return NO; + }]; } #ifdef DEBUG @@ -61,5 +63,4 @@ XCTAssertTrue(foundElement, @"Couldn't find element with text '%@' in %d seconds", TEXT_TO_LOOK_FOR, TIMEOUT_SECONDS); } - @end diff --git a/package.json b/package.json index 0afa863..6230c5b 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,7 @@ "prop-types": "^15.8.1", "react": "17.0.2", "react-i18next": "^12.0.0", - "react-native": "0.67.4", + "react-native": "0.68.3", "react-native-calendars": "^1.1287.0", "react-native-document-picker": "^8.1.1", "react-native-fs": "^2.20.0", @@ -74,7 +74,7 @@ "jest": "^29.1.2", "jest-watch-typeahead": "^2.2.0", "jetifier": "^2.0.0", - "metro-react-native-babel-preset": "^0.66.2", + "metro-react-native-babel-preset": "^0.67.0", "prettier": "2.4.0", "pretty-quick": "^3.1.1", "react-native-version": "^3.1.0", diff --git a/yarn.lock b/yarn.lock index de1e28e..020c7b5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -30,12 +30,25 @@ "@babel/highlight" "^7.22.13" chalk "^2.4.2" +"@babel/code-frame@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.23.5.tgz#9009b69a8c602293476ad598ff53e4562e15c244" + integrity sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA== + dependencies: + "@babel/highlight" "^7.23.4" + chalk "^2.4.2" + "@babel/compat-data@^7.20.5", "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.22.9": version "7.23.2" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.2.tgz#6a12ced93455827037bfb5ed8492820d60fc32cc" integrity sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ== -"@babel/core@^7.1.6", "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.14.0", "@babel/core@^7.20.2": +"@babel/compat-data@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.5.tgz#ffb878728bb6bdcb6f4510aa51b1be9afb8cfd98" + integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw== + +"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.14.0", "@babel/core@^7.20.2": version "7.23.2" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.2.tgz#ed10df0d580fff67c5f3ee70fd22e2e4c90a9f94" integrity sha512-n7s51eWdaWZ3vGT2tD4T7J6eJs3QoBXydv7vkUM06Bf1cbVD2Kc2UrkzhiQwobfV7NwOnQXYL7UBJ5VPU+RGoQ== @@ -56,6 +69,27 @@ json5 "^2.2.3" semver "^6.3.1" +"@babel/core@^7.13.16": + version "7.23.7" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.7.tgz#4d8016e06a14b5f92530a13ed0561730b5c6483f" + integrity sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.23.5" + "@babel/generator" "^7.23.6" + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helpers" "^7.23.7" + "@babel/parser" "^7.23.6" + "@babel/template" "^7.22.15" + "@babel/traverse" "^7.23.7" + "@babel/types" "^7.23.6" + convert-source-map "^2.0.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.3" + semver "^6.3.1" + "@babel/eslint-parser@^7.19.1": version "7.22.15" resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.22.15.tgz#263f059c476e29ca4972481a17b8b660cb025a34" @@ -75,6 +109,16 @@ "@jridgewell/trace-mapping" "^0.3.17" jsesc "^2.5.1" +"@babel/generator@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.6.tgz#9e1fca4811c77a10580d17d26b57b036133f3c2e" + integrity sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw== + dependencies: + "@babel/types" "^7.23.6" + "@jridgewell/gen-mapping" "^0.3.2" + "@jridgewell/trace-mapping" "^0.3.17" + jsesc "^2.5.1" + "@babel/helper-annotate-as-pure@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz#e7f06737b197d580a01edf75d97e2c8be99d3882" @@ -100,6 +144,17 @@ lru-cache "^5.1.1" semver "^6.3.1" +"@babel/helper-compilation-targets@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz#4d79069b16cbcf1461289eccfbbd81501ae39991" + integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== + dependencies: + "@babel/compat-data" "^7.23.5" + "@babel/helper-validator-option" "^7.23.5" + browserslist "^4.22.2" + lru-cache "^5.1.1" + semver "^6.3.1" + "@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.22.15": version "7.22.15" resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz#97a61b385e57fe458496fad19f8e63b63c867de4" @@ -115,6 +170,21 @@ "@babel/helper-split-export-declaration" "^7.22.6" semver "^6.3.1" +"@babel/helper-create-class-features-plugin@^7.23.6": + version "7.23.7" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.7.tgz#b2e6826e0e20d337143655198b79d58fdc9bd43d" + integrity sha512-xCoqR/8+BoNnXOY7RVSgv6X+o7pmT5q1d+gGcRlXYkI+9B31glE4jeejhKVpA04O1AtzOt7OSQ6VYKP5FcRl9g== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-member-expression-to-functions" "^7.23.0" + "@babel/helper-optimise-call-expression" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.20" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + semver "^6.3.1" + "@babel/helper-create-regexp-features-plugin@^7.22.5": version "7.22.15" resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz#5ee90093914ea09639b01c711db0d6775e558be1" @@ -155,7 +225,7 @@ dependencies: "@babel/types" "^7.22.5" -"@babel/helper-member-expression-to-functions@^7.22.15": +"@babel/helper-member-expression-to-functions@^7.22.15", "@babel/helper-member-expression-to-functions@^7.23.0": version "7.23.0" resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz#9263e88cc5e41d39ec18c9a3e0eced59a3e7d366" integrity sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA== @@ -180,6 +250,17 @@ "@babel/helper-split-export-declaration" "^7.22.6" "@babel/helper-validator-identifier" "^7.22.20" +"@babel/helper-module-transforms@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz#d7d12c3c5d30af5b3c0fcab2a6d5217773e2d0f1" + integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-simple-access" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/helper-validator-identifier" "^7.22.20" + "@babel/helper-optimise-call-expression@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz#f21531a9ccbff644fdd156b4077c16ff0c3f609e" @@ -201,7 +282,7 @@ "@babel/helper-environment-visitor" "^7.22.20" "@babel/helper-wrap-function" "^7.22.20" -"@babel/helper-replace-supers@^7.22.5", "@babel/helper-replace-supers@^7.22.9": +"@babel/helper-replace-supers@^7.22.20", "@babel/helper-replace-supers@^7.22.5", "@babel/helper-replace-supers@^7.22.9": version "7.22.20" resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz#e37d367123ca98fe455a9887734ed2e16eb7a793" integrity sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw== @@ -236,6 +317,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz#533f36457a25814cf1df6488523ad547d784a99f" integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw== +"@babel/helper-string-parser@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz#9478c707febcbbe1ddb38a3d91a2e054ae622d83" + integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ== + "@babel/helper-validator-identifier@^7.22.20": version "7.22.20" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" @@ -246,6 +332,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz#694c30dfa1d09a6534cdfcafbe56789d36aba040" integrity sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA== +"@babel/helper-validator-option@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307" + integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== + "@babel/helper-wrap-function@^7.22.20": version "7.22.20" resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz#15352b0b9bfb10fc9c76f79f6342c00e3411a569" @@ -264,6 +355,15 @@ "@babel/traverse" "^7.23.2" "@babel/types" "^7.23.0" +"@babel/helpers@^7.23.7": + version "7.23.8" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.8.tgz#fc6b2d65b16847fd50adddbd4232c76378959e34" + integrity sha512-KDqYz4PiOWvDFrdHLPhKtCThtIcKVy6avWD2oG4GEvyQ+XDZwHD4YQd+H2vNMnq2rkdxsDkU82T+Vk8U/WXHRQ== + dependencies: + "@babel/template" "^7.22.15" + "@babel/traverse" "^7.23.7" + "@babel/types" "^7.23.6" + "@babel/highlight@^7.10.4", "@babel/highlight@^7.22.13": version "7.22.20" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.20.tgz#4ca92b71d80554b01427815e06f2df965b9c1f54" @@ -273,12 +373,26 @@ chalk "^2.4.2" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.1.6", "@babel/parser@^7.14.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.22.15", "@babel/parser@^7.23.0": +"@babel/highlight@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.23.4.tgz#edaadf4d8232e1a961432db785091207ead0621b" + integrity sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A== + dependencies: + "@babel/helper-validator-identifier" "^7.22.20" + chalk "^2.4.2" + js-tokens "^4.0.0" + +"@babel/parser@^7.1.0", "@babel/parser@^7.14.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.22.15", "@babel/parser@^7.23.0": version "7.23.0" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.0.tgz#da950e622420bf96ca0d0f2909cdddac3acd8719" integrity sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw== -"@babel/plugin-proposal-class-properties@^7.0.0", "@babel/plugin-proposal-class-properties@^7.1.0": +"@babel/parser@^7.13.16", "@babel/parser@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.6.tgz#ba1c9e512bda72a47e285ae42aff9d2a635a9e3b" + integrity sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ== + +"@babel/plugin-proposal-class-properties@^7.0.0", "@babel/plugin-proposal-class-properties@^7.13.0": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== @@ -294,7 +408,7 @@ "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-export-default-from" "^7.22.5" -"@babel/plugin-proposal-nullish-coalescing-operator@^7.0.0", "@babel/plugin-proposal-nullish-coalescing-operator@^7.1.0": +"@babel/plugin-proposal-nullish-coalescing-operator@^7.0.0", "@babel/plugin-proposal-nullish-coalescing-operator@^7.13.8": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz#fdd940a99a740e577d6c753ab6fbb43fdb9467e1" integrity sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA== @@ -321,7 +435,7 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" -"@babel/plugin-proposal-optional-chaining@^7.0.0", "@babel/plugin-proposal-optional-chaining@^7.1.0": +"@babel/plugin-proposal-optional-chaining@^7.0.0", "@babel/plugin-proposal-optional-chaining@^7.13.12": version "7.21.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz#886f5c8978deb7d30f678b2e24346b287234d3ea" integrity sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA== @@ -372,6 +486,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.22.5" +"@babel/plugin-syntax-flow@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.23.3.tgz#084564e0f3cc21ea6c70c44cff984a1c0509729a" + integrity sha512-YZiAIpkJAwQXBJLIQbRFayR5c+gJ35Vcz3bg954k7cd73zqjvhacJuL9RbrzPz8qPmZdgqP6EUKwy0PCNhaaPA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-import-meta@^7.8.3": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" @@ -393,6 +514,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.22.5" +"@babel/plugin-syntax-jsx@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz#8f2e4f8a9b5f9aa16067e142c1ac9cd9f810f473" + integrity sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" @@ -449,6 +577,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.22.5" +"@babel/plugin-syntax-typescript@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz#24f460c85dbbc983cd2b9c4994178bcc01df958f" + integrity sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-transform-arrow-functions@^7.0.0": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz#e5ba566d0c58a5b2ba2a8b795450641950b71958" @@ -517,7 +652,7 @@ "@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.5" "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-flow-strip-types@^7.0.0", "@babel/plugin-transform-flow-strip-types@^7.22.5": +"@babel/plugin-transform-flow-strip-types@^7.0.0": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.22.5.tgz#0bb17110c7bf5b35a60754b2f00c58302381dee2" integrity sha512-tujNbZdxdG0/54g/oua8ISToaXTFBf8EnSb5PgQSciIXWOWKX3S4+JR7ZE9ol8FZwf9kxitzkGQ+QWeov/mCiA== @@ -525,6 +660,14 @@ "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-flow" "^7.22.5" +"@babel/plugin-transform-flow-strip-types@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.23.3.tgz#cfa7ca159cc3306fab526fc67091556b51af26ff" + integrity sha512-26/pQTf9nQSNVJCrLB1IkHUKyPxR+lMrH2QDPG89+Znu9rAMbtrybdbWeE9bb7gzjmE5iXHEY+e0HUwM6Co93Q== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-flow" "^7.23.3" + "@babel/plugin-transform-for-of@^7.0.0": version "7.22.15" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.15.tgz#f64b4ccc3a4f131a996388fae7680b472b306b29" @@ -555,7 +698,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-modules-commonjs@^7.0.0", "@babel/plugin-transform-modules-commonjs@^7.1.0", "@babel/plugin-transform-modules-commonjs@^7.23.0": +"@babel/plugin-transform-modules-commonjs@^7.0.0": version "7.23.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.0.tgz#b3dba4757133b2762c00f4f94590cf6d52602481" integrity sha512-32Xzss14/UVc7k9g775yMIvkVK8xwKE0DPdP5JTapr3+Z9w4tzeOuLNY6BXDQR6BdnzIlXnCGAzsk/ICHBLVWQ== @@ -564,6 +707,15 @@ "@babel/helper-plugin-utils" "^7.22.5" "@babel/helper-simple-access" "^7.22.5" +"@babel/plugin-transform-modules-commonjs@^7.13.8", "@babel/plugin-transform-modules-commonjs@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz#661ae831b9577e52be57dd8356b734f9700b53b4" + integrity sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA== + dependencies: + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-simple-access" "^7.22.5" + "@babel/plugin-transform-object-assign@^7.0.0": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.22.5.tgz#290c1b9555dcea48bb2c29ad94237777600d04f9" @@ -689,7 +841,17 @@ dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-typescript@^7.22.15", "@babel/plugin-transform-typescript@^7.5.0": +"@babel/plugin-transform-typescript@^7.23.3": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.6.tgz#aa36a94e5da8d94339ae3a4e22d40ed287feb34c" + integrity sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-create-class-features-plugin" "^7.23.6" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-typescript" "^7.23.3" + +"@babel/plugin-transform-typescript@^7.5.0": version "7.22.15" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.15.tgz#15adef906451d86349eb4b8764865c960eb54127" integrity sha512-1uirS0TnijxvQLnlv5wQBwOX3E1wCFX7ITv+9pBV2wKEk4K+M5tqDaoNXnTH8tjEIYHLO98MwiTWO04Ggz4XuA== @@ -707,14 +869,14 @@ "@babel/helper-create-regexp-features-plugin" "^7.22.5" "@babel/helper-plugin-utils" "^7.22.5" -"@babel/preset-flow@^7.0.0": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.22.15.tgz#30318deb9b3ebd9f5738e96da03a531e0cd3165d" - integrity sha512-dB5aIMqpkgbTfN5vDdTRPzjqtWiZcRESNR88QYnoPR+bmdYoluOzMX9tQerTv0XzSgZYctPfO1oc0N5zdog1ew== +"@babel/preset-flow@^7.13.13": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.23.3.tgz#8084e08b9ccec287bd077ab288b286fab96ffab1" + integrity sha512-7yn6hl8RIv+KNk6iIrGZ+D06VhVY35wLVf23Cz/mMu1zOr7u4MMP4j0nZ9tLf8+4ZFpnib8cFYgB/oYg9hfswA== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/helper-validator-option" "^7.22.15" - "@babel/plugin-transform-flow-strip-types" "^7.22.5" + "@babel/plugin-transform-flow-strip-types" "^7.23.3" "@babel/preset-react@^7.18.6": version "7.22.15" @@ -728,26 +890,26 @@ "@babel/plugin-transform-react-jsx-development" "^7.22.5" "@babel/plugin-transform-react-pure-annotations" "^7.22.5" -"@babel/preset-typescript@^7.1.0": - version "7.23.2" - resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.23.2.tgz#c8de488130b7081f7e1482936ad3de5b018beef4" - integrity sha512-u4UJc1XsS1GhIGteM8rnGiIvf9rJpiVgMEeCnwlLA7WJPC+jcXWJAGxYmeqs5hOZD8BbAfnV5ezBOxQbb4OUxA== +"@babel/preset-typescript@^7.13.0": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.23.3.tgz#14534b34ed5b6d435aa05f1ae1c5e7adcc01d913" + integrity sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/helper-validator-option" "^7.22.15" - "@babel/plugin-syntax-jsx" "^7.22.5" - "@babel/plugin-transform-modules-commonjs" "^7.23.0" - "@babel/plugin-transform-typescript" "^7.22.15" + "@babel/plugin-syntax-jsx" "^7.23.3" + "@babel/plugin-transform-modules-commonjs" "^7.23.3" + "@babel/plugin-transform-typescript" "^7.23.3" -"@babel/register@^7.0.0": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.22.15.tgz#c2c294a361d59f5fa7bcc8b97ef7319c32ecaec7" - integrity sha512-V3Q3EqoQdn65RCgTLwauZaTfd1ShhwPmbBv+1dkZV/HpCGMKVyn6oFcRlI7RaKqiDQjX2Qd3AuoEguBgdjIKlg== +"@babel/register@^7.13.16": + version "7.23.7" + resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.23.7.tgz#485a5e7951939d21304cae4af1719fdb887bc038" + integrity sha512-EjJeB6+kvpk+Y5DAkEAmbOBEFkh9OASx0huoEkqYTFxAZHzOAX2Oh5uwAUuL2rUddqfM0SA+KPXV2TbzoZ2kvQ== dependencies: clone-deep "^4.0.1" find-cache-dir "^2.0.0" make-dir "^2.1.0" - pirates "^4.0.5" + pirates "^4.0.6" source-map-support "^0.5.16" "@babel/regjsgen@^0.8.0": @@ -787,6 +949,22 @@ debug "^4.1.0" globals "^11.1.0" +"@babel/traverse@^7.23.7": + version "7.23.7" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.7.tgz#9a7bf285c928cb99b5ead19c3b1ce5b310c9c305" + integrity sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg== + dependencies: + "@babel/code-frame" "^7.23.5" + "@babel/generator" "^7.23.6" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/parser" "^7.23.6" + "@babel/types" "^7.23.6" + debug "^4.3.1" + globals "^11.1.0" + "@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.3.3": version "7.23.0" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.0.tgz#8c1f020c9df0e737e4e247c0619f58c68458aaeb" @@ -796,19 +974,20 @@ "@babel/helper-validator-identifier" "^7.22.20" to-fast-properties "^2.0.0" +"@babel/types@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.6.tgz#be33fdb151e1f5a56877d704492c240fc71c7ccd" + integrity sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg== + dependencies: + "@babel/helper-string-parser" "^7.23.4" + "@babel/helper-validator-identifier" "^7.22.20" + to-fast-properties "^2.0.0" + "@bcoe/v8-coverage@^0.2.3": version "0.2.3" resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@cnakazawa/watch@^1.0.3": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" - integrity sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ== - dependencies: - exec-sh "^0.3.2" - minimist "^1.2.0" - "@eslint/eslintrc@^0.4.3": version "0.4.3" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" @@ -1157,14 +1336,14 @@ invariant "^2.2.4" prop-types "^15.7.2" -"@react-native-community/cli-debugger-ui@^6.0.0-rc.0": - version "6.0.0" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-6.0.0.tgz#ef9eb1268d85c1bd3caf2c4d36dc350bb080f254" - integrity sha512-onf6vtvqSzOr6bNEWhPzgcJP2UQhA0VY6c8tXwNczIONC/ahnN93LPBB/uXDbn9d/kLMvE7oUJiqRadZWHk6aA== +"@react-native-community/cli-debugger-ui@^7.0.3": + version "7.0.3" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-7.0.3.tgz#3eeeacc5a43513cbcae56e5e965d77726361bcb4" + integrity sha512-G4SA6jFI0j22o+j+kYP8/7sxzbCDqSp2QiHA/X5E0lsGEd2o9qN2zbIjiFr8b8k+VVAYSUONhoC0+uKuINvmkA== dependencies: serve-static "^1.13.1" -"@react-native-community/cli-hermes@^6.3.0": +"@react-native-community/cli-hermes@^6.3.1": version "6.3.1" resolved "https://registry.yarnpkg.com/@react-native-community/cli-hermes/-/cli-hermes-6.3.1.tgz#a4c3b4b07a1775f7012baf6d5a0b059da2ffac00" integrity sha512-+tMJsEsVX0WyylnoFE7uPoMu1aTAChaA62Y32dwWgAa1Fx6YrpPkC9d6wvYSBe9md/4mTtRher+ooBcuov6JHw== @@ -1175,7 +1354,7 @@ hermes-profile-transformer "^0.0.6" ip "^1.1.5" -"@react-native-community/cli-platform-android@^6.0.0", "@react-native-community/cli-platform-android@^6.3.1": +"@react-native-community/cli-platform-android@^6.3.1": version "6.3.1" resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-android/-/cli-platform-android-6.3.1.tgz#8d35c809ddaf3b6c5d4ef9ff9c814a25a55259aa" integrity sha512-n5A64RI1ty4ScZCel/3JYY9Anl857dPsUZ86Dwc1GxrbflSB5/+hcCMg5DCNcnJRa4Hdv95SAR5pMmtAjOXApA== @@ -1191,52 +1370,69 @@ slash "^3.0.0" xmldoc "^1.1.2" -"@react-native-community/cli-platform-ios@^6.0.0": - version "6.2.1" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-6.2.1.tgz#852a7dc520071ac55fead3c78daa6a0060dde72f" - integrity sha512-5vwLRfTbIVUsO86AUPmR5vkp+7t4gTH2+SwRo0DKqBGBQ3hraA3dlWu0nzh99eQKQhCiFLB1WJPAi3zY03lK4w== +"@react-native-community/cli-platform-android@^7.0.1": + version "7.0.1" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-android/-/cli-platform-android-7.0.1.tgz#d165897edf401f9bceff1f361ef446528133cb52" + integrity sha512-nOr0aMkxAymCnbtsQwXBlyoRN2Y+IzC7Qz5T+/zyWwEbTY8SKQI8uV+8+qttUvzSvuXa2PeXsTWluuliOS8KCw== dependencies: - "@react-native-community/cli-tools" "^6.2.1" + "@react-native-community/cli-tools" "^7.0.1" chalk "^4.1.2" + execa "^1.0.0" + fs-extra "^8.1.0" + glob "^7.1.3" + jetifier "^1.6.2" + lodash "^4.17.15" + logkitty "^0.7.1" + slash "^3.0.0" + xmldoc "^1.1.2" + +"@react-native-community/cli-platform-ios@^7.0.1": + version "7.0.1" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-7.0.1.tgz#1c27af85229246b7a528e97f093e38859896cc93" + integrity sha512-PLRIbzrCzSedmpjuFtQqcqUD45G8q7sEciI1lf5zUbVMXqjIBwJWS7iz8235PyWwj8J4MNHohLC+oyRueFtbGg== + dependencies: + "@react-native-community/cli-tools" "^7.0.1" + chalk "^4.1.2" + execa "^1.0.0" glob "^7.1.3" js-yaml "^3.13.1" lodash "^4.17.15" - ora "^3.4.0" + ora "^5.4.1" plist "^3.0.2" - xcode "^2.0.0" + xcode "^3.0.0" -"@react-native-community/cli-plugin-metro@^6.4.0": - version "6.4.0" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-6.4.0.tgz#70b7908d6b548481f37ed58167f9460d325ae21c" - integrity sha512-lcrNODvHd3ZVhiEshXAjyBoqP44rjhkytkOSUpnZHAcmMLiguxDmvhWeWqbwu3XqSX/f0gVKmfj81t+opI1bSw== +"@react-native-community/cli-plugin-metro@^7.0.4": + version "7.0.4" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-7.0.4.tgz#cd3010f6b9f955df2630ceea9fc8816a12843dde" + integrity sha512-DEV9WwJ6mB8zWFvNe/Z/eGmtmQmsZcu9VIqjxT7e9xZr2csB9ZlOZiweAMFO5cuVWZZgfL+NYIaQiFi0E0DFXw== dependencies: - "@react-native-community/cli-server-api" "^6.4.0" - "@react-native-community/cli-tools" "^6.2.0" + "@react-native-community/cli-server-api" "^7.0.4" + "@react-native-community/cli-tools" "^6.2.1" chalk "^4.1.2" - metro "^0.66.1" - metro-config "^0.66.1" - metro-core "^0.66.1" - metro-react-native-babel-transformer "^0.66.1" - metro-resolver "^0.66.1" - metro-runtime "^0.66.1" + metro "^0.67.0" + metro-config "^0.67.0" + metro-core "^0.67.0" + metro-react-native-babel-transformer "^0.67.0" + metro-resolver "^0.67.0" + metro-runtime "^0.67.0" readline "^1.3.0" -"@react-native-community/cli-server-api@^6.4.0": - version "6.4.3" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-server-api/-/cli-server-api-6.4.3.tgz#b52444454f40bfb54a84ab52bf42e9f8002917f5" - integrity sha512-Ywy2x+PhIUZXgE74YiCYXylSVnuEBcq5cNfYLR3AwOvrILjh03smXfCca8s2V2LWUlzmWN6+L85FJGsT92MUJA== +"@react-native-community/cli-server-api@^7.0.4": + version "7.0.4" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-server-api/-/cli-server-api-7.0.4.tgz#b71e3413d4188b1bb3110267674ff31ce434b163" + integrity sha512-NzwLKgshx1aFJad5b972rFowEx8ueHRFFXQFnBbvEuE3KsivDOTIwO0zn7cAO1zpxlFRxUFfcI1Pe4Aymi3xZw== dependencies: - "@react-native-community/cli-debugger-ui" "^6.0.0-rc.0" - "@react-native-community/cli-tools" "^6.2.0" + "@react-native-community/cli-debugger-ui" "^7.0.3" + "@react-native-community/cli-tools" "^6.2.1" compression "^1.7.1" connect "^3.6.5" errorhandler "^1.5.0" nocache "^2.1.0" pretty-format "^26.6.2" serve-static "^1.13.1" - ws "^1.1.0" + ws "^7.5.1" -"@react-native-community/cli-tools@^6.2.0", "@react-native-community/cli-tools@^6.2.1": +"@react-native-community/cli-tools@^6.2.1": version "6.2.1" resolved "https://registry.yarnpkg.com/@react-native-community/cli-tools/-/cli-tools-6.2.1.tgz#6f7ada6559846b49fb9fcfed522399b232976ada" integrity sha512-7RbOkZLT/3YG8CAYYM70ajRKIOgVxK/b4t9KNsPq+2uen99MGezfeglC8s1cs3vBNVVxCo0a2JbXg18bUd8eqA== @@ -1250,6 +1446,21 @@ semver "^6.3.0" shell-quote "^1.7.3" +"@react-native-community/cli-tools@^7.0.1": + version "7.0.1" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-tools/-/cli-tools-7.0.1.tgz#73790d6ca2825e42a70a770c1b403a6777e690d6" + integrity sha512-0xra4hKNA5PR2zYVXsDMNiXMGaDNoNRYMY6eTP2aVIxQbqIcVMDWSyCA8wMWX5iOpMWg0cZGaQ6a77f3Rlb34g== + dependencies: + appdirsjs "^1.2.4" + chalk "^4.1.2" + lodash "^4.17.15" + mime "^2.4.1" + node-fetch "^2.6.0" + open "^6.2.0" + ora "^5.4.1" + semver "^6.3.0" + shell-quote "^1.7.3" + "@react-native-community/cli-types@^6.0.0": version "6.0.0" resolved "https://registry.yarnpkg.com/@react-native-community/cli-types/-/cli-types-6.0.0.tgz#90269fbdc7229d5e3b8f2f3e029a94083551040d" @@ -1257,16 +1468,16 @@ dependencies: ora "^3.4.0" -"@react-native-community/cli@^6.0.0": - version "6.4.0" - resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-6.4.0.tgz#0b61a4b5f11293b0b79a0e78f80777387a9529a9" - integrity sha512-UNvYnWaALa4mJEaWdLY3fVK+csZzx/Ja/FGvXISPJ9W9lrKvGtyXkidViUCPbPtMsJUi7teA4uIShHn0mbGmnQ== +"@react-native-community/cli@^7.0.3": + version "7.0.4" + resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-7.0.4.tgz#cb4898bf9e3340ea812fa2bf194abd2429832752" + integrity sha512-W9nACtHWaLJZIP48cQmhQOnl5/7maoWE1Aji67MrLeIoB+ScNTJxaHfV4fMcklD6B6XEhaKokPACRZWm36zAog== dependencies: - "@react-native-community/cli-debugger-ui" "^6.0.0-rc.0" - "@react-native-community/cli-hermes" "^6.3.0" - "@react-native-community/cli-plugin-metro" "^6.4.0" - "@react-native-community/cli-server-api" "^6.4.0" - "@react-native-community/cli-tools" "^6.2.0" + "@react-native-community/cli-debugger-ui" "^7.0.3" + "@react-native-community/cli-hermes" "^6.3.1" + "@react-native-community/cli-plugin-metro" "^7.0.4" + "@react-native-community/cli-server-api" "^7.0.4" + "@react-native-community/cli-tools" "^6.2.1" "@react-native-community/cli-types" "^6.0.0" appdirsjs "^1.2.4" chalk "^4.1.2" @@ -1313,6 +1524,11 @@ resolved "https://registry.yarnpkg.com/@react-native/assets/-/assets-1.0.0.tgz#c6f9bf63d274bafc8e970628de24986b30a55c8e" integrity sha512-KrwSpS1tKI70wuKl68DwJZYEvXktDHdZMG0k2AXD/rJVSlB23/X2CB2cutVR0HwNMJIal9HOUOBB2rVfa6UGtQ== +"@react-native/normalize-color@*": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@react-native/normalize-color/-/normalize-color-2.1.0.tgz#939b87a9849e81687d3640c5efa2a486ac266f91" + integrity sha512-Z1jQI2NpdFJCVgpY+8Dq/Bt3d+YUi1928Q+/CZm/oh66fzM0RUl54vvuXlPJKybH4pdCZey1eDTPaLHkMPNgWA== + "@react-native/normalize-color@2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@react-native/normalize-color/-/normalize-color-2.0.0.tgz#da955909432474a9a0fe1cbffc66576a0447f567" @@ -1611,14 +1827,6 @@ ansi-styles@^5.0.0: resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== -anymatch@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" - integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== - dependencies: - micromatch "^3.1.4" - normalize-path "^2.1.1" - anymatch@^3.0.3: version "3.1.3" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" @@ -2015,7 +2223,7 @@ bindings@^1.5.0: dependencies: file-uri-to-path "1.0.0" -bl@^4.0.3: +bl@^4.0.3, bl@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== @@ -2091,6 +2299,16 @@ browserslist@^4.21.9, browserslist@^4.22.1: node-releases "^2.0.13" update-browserslist-db "^1.0.13" +browserslist@^4.22.2: + version "4.22.2" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.2.tgz#704c4943072bd81ea18997f3bd2180e89c77874b" + integrity sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A== + dependencies: + caniuse-lite "^1.0.30001565" + electron-to-chromium "^1.4.601" + node-releases "^2.0.14" + update-browserslist-db "^1.0.13" + bser@2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" @@ -2186,12 +2404,10 @@ caniuse-lite@^1.0.30001541: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001559.tgz#95a982440d3d314c471db68d02664fb7536c5a30" integrity sha512-cPiMKZgqgkg5LY3/ntGeLFUpi6tzddBNS58A4tnTgQw1zON7u2sZMU7SzOeVH4tj20++9ggL+V6FDOFMTaFFYA== -capture-exit@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" - integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== - dependencies: - rsvp "^4.8.4" +caniuse-lite@^1.0.30001565: + version "1.0.30001576" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001576.tgz#893be772cf8ee6056d6c1e2d07df365b9ec0a5c4" + integrity sha512-ff5BdakGe2P3SQsMsiqmt1Lc8221NR1VzHj5jXN5vBny9A6fpze94HiVV/n7XRosOlsShJcvMv5mdnpjOGCEgg== caseless@~0.11.0: version "0.11.0" @@ -2220,7 +2436,7 @@ chalk@^3.0.0: ansi-styles "^4.1.0" supports-color "^7.1.0" -chalk@^4.0.0, chalk@^4.1.2: +chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== @@ -2285,11 +2501,23 @@ cli-cursor@^2.1.0: dependencies: restore-cursor "^2.0.0" +cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== + dependencies: + restore-cursor "^3.1.0" + cli-spinners@^2.0.0: version "2.9.1" resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.9.1.tgz#9c0b9dad69a6d47cbb4333c14319b060ed395a35" integrity sha512-jHgecW0pxkonBJdrKsqxgRX9AcG+u/5k0Q7WPDfi8AogLAdwxEkyYYNWwZ5GvVFoFx2uiY1eNcSK00fh+1+FyQ== +cli-spinners@^2.5.0: + version "2.9.2" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.9.2.tgz#1773a8f4b9c4d6ac31563df53b3fc1d79462fe41" + integrity sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg== + cliui@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" @@ -2378,11 +2606,6 @@ colorette@^1.0.7: resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.4.0.tgz#5190fbb87276259a86ad700bff2c6d6faa3fca40" integrity sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g== -colors@^1.1.2: - version "1.4.0" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" - integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== - combined-stream@^1.0.6, combined-stream@~1.0.6: version "1.0.8" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" @@ -2596,7 +2819,7 @@ debug@2.6.9, debug@^2.2.0, debug@^2.3.3: dependencies: ms "2.0.0" -debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: +debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1: version "4.3.4" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== @@ -2712,6 +2935,15 @@ depd@2.0.0: resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== +deprecated-react-native-prop-types@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-2.3.0.tgz#c10c6ee75ff2b6de94bb127f142b814e6e08d9ab" + integrity sha512-pWD0voFtNYxrVqvBMYf5gq3NA2GCpfodS1yNynTPc93AYA/KEMGeWDqqeUB6R2Z9ZofVhks2aeJXiuQqKNpesA== + dependencies: + "@react-native/normalize-color" "*" + invariant "*" + prop-types "*" + destroy@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" @@ -2784,6 +3016,11 @@ electron-to-chromium@^1.4.535: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.571.tgz#8aa71539eb82db98740c3ec861256cc34e0356fd" integrity sha512-Sc+VtKwKCDj3f/kLBjdyjMpNzoZsU6WuL/wFb6EH8USmHEcebxRXcRrVpOpayxd52tuey4RUDpUsw5OS5LhJqg== +electron-to-chromium@^1.4.601: + version "1.4.630" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.630.tgz#1d9f4169653784997bec98975e11a2c05214ce39" + integrity sha512-osHqhtjojpCsACVnuD11xO5g9xaCyw7Qqn/C2KParkMv42i8jrJJgx3g7mkHfpxwhy9MnOJr8+pKOdZ7qzgizg== + emittery@^0.13.1: version "0.13.1" resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.13.1.tgz#c04b8c3457490e0847ae51fced3af52d338e3dad" @@ -3102,11 +3339,6 @@ event-target-shim@^5.0.0, event-target-shim@^5.0.1: resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== -exec-sh@^0.3.2: - version "0.3.6" - resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.6.tgz#ff264f9e325519a60cb5e273692943483cca63bc" - integrity sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w== - execa@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" @@ -3444,7 +3676,7 @@ fs.realpath@^1.0.0: resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== -fsevents@^2.1.2, fsevents@^2.3.2: +fsevents@^2.3.2: version "2.3.3" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== @@ -3694,15 +3926,22 @@ hasown@^2.0.0: dependencies: function-bind "^1.1.2" -hermes-engine@~0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/hermes-engine/-/hermes-engine-0.9.0.tgz#84d9cfe84e8f6b1b2020d6e71b350cec84ed982f" - integrity sha512-r7U+Y4P2Qg/igFVZN+DpT7JFfXUn1MM4dFne8aW+cCrF6RRymof+VqrUHs1kl07j8h8V2CNesU19RKgWbr3qPw== +hermes-engine@~0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/hermes-engine/-/hermes-engine-0.11.0.tgz#bb224730d230a02a5af02c4e090d1f52d57dd3db" + integrity sha512-7aMUlZja2IyLYAcZ69NBnwJAR5ZOYlSllj0oMpx08a8HzxHOys0eKCzfphrf6D0vX1JGO1QQvVsQKe6TkYherw== -hermes-parser@0.4.7: - version "0.4.7" - resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.4.7.tgz#410f5129d57183784d205a0538e6fbdcf614c9ea" - integrity sha512-jc+zCtXbtwTiXoMAoXOHepxAaGVFIp89wwE9qcdwnMd/uGVEtPoY8FaFSsx0ThPvyKirdR2EsIIDVrpbSXz1Ag== +hermes-estree@0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.5.0.tgz#36432a2b12f01b217244da098924efdfdfc12327" + integrity sha512-1h8rvG23HhIR5K6Kt0e5C7BC72J1Ath/8MmSta49vxXp/j6wl7IMHvIRFYBQr35tWnQY97dSGR2uoAJ5pHUQkg== + +hermes-parser@0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.5.0.tgz#8b678dd8b29a08b57cbaf60adba4896494c59a53" + integrity sha512-ARnJBScKAkkq8j3BHrNGBUv/4cSpZNbKDsVizEtzmsFeqC67Dopa5s4XRe+e3wN52Dh5Mj2kDB5wJvhcxwDkPg== + dependencies: + hermes-estree "0.5.0" hermes-profile-transformer@^0.0.6: version "0.0.6" @@ -3867,7 +4106,7 @@ internal-slot@^1.0.5: hasown "^2.0.0" side-channel "^1.0.4" -invariant@^2.2.4: +invariant@*, invariant@^2.2.4: version "2.2.4" resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== @@ -3940,13 +4179,6 @@ is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== -is-ci@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" - integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== - dependencies: - ci-info "^2.0.0" - is-core-module@^2.13.0: version "2.13.1" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" @@ -4042,6 +4274,11 @@ is-glob@^4.0.0, is-glob@^4.0.1: dependencies: is-extglob "^2.1.1" +is-interactive@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" + integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== + is-map@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.2.tgz#00922db8c9bf73e81b7a335827bc2a43f2b91127" @@ -4147,6 +4384,11 @@ is-typedarray@~1.0.0: resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== +is-unicode-supported@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" + integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== + is-utf8@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" @@ -4408,26 +4650,25 @@ jest-get-type@^29.6.3: resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.6.3.tgz#36f499fdcea197c1045a127319c0481723908fd1" integrity sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw== -jest-haste-map@^26.5.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.6.2.tgz#dd7e60fe7dc0e9f911a23d79c5ff7fb5c2cafeaa" - integrity sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w== +jest-haste-map@^27.3.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.5.1.tgz#9fd8bd7e7b4fa502d9c6164c5640512b4e811e7f" + integrity sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng== dependencies: - "@jest/types" "^26.6.2" + "@jest/types" "^27.5.1" "@types/graceful-fs" "^4.1.2" "@types/node" "*" anymatch "^3.0.3" fb-watchman "^2.0.0" - graceful-fs "^4.2.4" - jest-regex-util "^26.0.0" - jest-serializer "^26.6.2" - jest-util "^26.6.2" - jest-worker "^26.6.2" - micromatch "^4.0.2" - sane "^4.0.3" + graceful-fs "^4.2.9" + jest-regex-util "^27.5.1" + jest-serializer "^27.5.1" + jest-util "^27.5.1" + jest-worker "^27.5.1" + micromatch "^4.0.4" walker "^1.0.7" optionalDependencies: - fsevents "^2.1.2" + fsevents "^2.3.2" jest-haste-map@^29.7.0: version "29.7.0" @@ -4495,10 +4736,10 @@ jest-pnp-resolver@^1.2.2: resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz#930b1546164d4ad5937d5540e711d4d38d4cad2e" integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== -jest-regex-util@^26.0.0: - version "26.0.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28" - integrity sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A== +jest-regex-util@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.5.1.tgz#4da143f7e9fd1e542d4aa69617b38e4a78365b95" + integrity sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg== jest-regex-util@^29.0.0, jest-regex-util@^29.6.3: version "29.6.3" @@ -4583,13 +4824,13 @@ jest-runtime@^29.7.0: slash "^3.0.0" strip-bom "^4.0.0" -jest-serializer@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.6.2.tgz#d139aafd46957d3a448f3a6cdabe2919ba0742d1" - integrity sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g== +jest-serializer@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.5.1.tgz#81438410a30ea66fd57ff730835123dea1fb1f64" + integrity sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w== dependencies: "@types/node" "*" - graceful-fs "^4.2.4" + graceful-fs "^4.2.9" jest-snapshot@^29.7.0: version "29.7.0" @@ -4617,17 +4858,17 @@ jest-snapshot@^29.7.0: pretty-format "^29.7.0" semver "^7.5.3" -jest-util@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.6.2.tgz#907535dbe4d5a6cb4c47ac9b926f6af29576cbc1" - integrity sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q== +jest-util@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.5.1.tgz#3ba9771e8e31a0b85da48fe0b0891fb86c01c2f9" + integrity sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw== dependencies: - "@jest/types" "^26.6.2" + "@jest/types" "^27.5.1" "@types/node" "*" chalk "^4.0.0" - graceful-fs "^4.2.4" - is-ci "^2.0.0" - micromatch "^4.0.2" + ci-info "^3.2.0" + graceful-fs "^4.2.9" + picomatch "^2.2.3" jest-util@^29.7.0: version "29.7.0" @@ -4692,7 +4933,7 @@ jest-watcher@^29.0.0, jest-watcher@^29.7.0: jest-util "^29.7.0" string-length "^4.0.1" -jest-worker@^26.0.0, jest-worker@^26.6.2: +jest-worker@^26.0.0: version "26.6.2" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== @@ -4701,6 +4942,15 @@ jest-worker@^26.0.0, jest-worker@^26.6.2: merge-stream "^2.0.0" supports-color "^7.0.0" +jest-worker@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" + integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" + jest-worker@^29.7.0: version "29.7.0" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.7.0.tgz#acad073acbbaeb7262bd5389e1bcf43e10058d4a" @@ -4780,29 +5030,29 @@ jsc-android@^250230.2.1: resolved "https://registry.yarnpkg.com/jsc-android/-/jsc-android-250230.2.1.tgz#3790313a970586a03ab0ad47defbc84df54f1b83" integrity sha512-KmxeBlRjwoqCnBBKGsihFtvsBHyUFlBxJPK4FzeYcIuBfdjv6jFys44JITAgSTbQD+vIdwMEfyZklsuQX0yI1Q== -jscodeshift@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/jscodeshift/-/jscodeshift-0.11.0.tgz#4f95039408f3f06b0e39bb4d53bc3139f5330e2f" - integrity sha512-SdRK2C7jjs4k/kT2mwtO07KJN9RnjxtKn03d9JVj6c3j9WwaLcFYsICYDnLAzY0hp+wG2nxl+Cm2jWLiNVYb8g== +jscodeshift@^0.13.1: + version "0.13.1" + resolved "https://registry.yarnpkg.com/jscodeshift/-/jscodeshift-0.13.1.tgz#69bfe51e54c831296380585c6d9e733512aecdef" + integrity sha512-lGyiEbGOvmMRKgWk4vf+lUrCWO/8YR8sUR3FKF1Cq5fovjZDlIcw3Hu5ppLHAnEXshVffvaM0eyuY/AbOeYpnQ== dependencies: - "@babel/core" "^7.1.6" - "@babel/parser" "^7.1.6" - "@babel/plugin-proposal-class-properties" "^7.1.0" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.1.0" - "@babel/plugin-proposal-optional-chaining" "^7.1.0" - "@babel/plugin-transform-modules-commonjs" "^7.1.0" - "@babel/preset-flow" "^7.0.0" - "@babel/preset-typescript" "^7.1.0" - "@babel/register" "^7.0.0" + "@babel/core" "^7.13.16" + "@babel/parser" "^7.13.16" + "@babel/plugin-proposal-class-properties" "^7.13.0" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.13.8" + "@babel/plugin-proposal-optional-chaining" "^7.13.12" + "@babel/plugin-transform-modules-commonjs" "^7.13.8" + "@babel/preset-flow" "^7.13.13" + "@babel/preset-typescript" "^7.13.0" + "@babel/register" "^7.13.16" babel-core "^7.0.0-bridge.0" - colors "^1.1.2" + chalk "^4.1.2" flow-parser "0.*" graceful-fs "^4.2.4" micromatch "^3.1.10" neo-async "^2.5.0" node-dir "^0.1.17" - recast "^0.20.3" - temp "^0.8.1" + recast "^0.20.4" + temp "^0.8.4" write-file-atomic "^2.3.0" jsesc@^2.5.1: @@ -5017,6 +5267,14 @@ log-symbols@^2.2.0: dependencies: chalk "^2.0.1" +log-symbols@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" + integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== + dependencies: + chalk "^4.1.0" + is-unicode-supported "^0.1.0" + logkitty@^0.7.1: version "0.7.1" resolved "https://registry.yarnpkg.com/logkitty/-/logkitty-0.7.1.tgz#8e8d62f4085a826e8d38987722570234e33c6aa7" @@ -5098,91 +5356,77 @@ merge-stream@^2.0.0: resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== -metro-babel-register@0.66.2: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-babel-register/-/metro-babel-register-0.66.2.tgz#c6bbe36c7a77590687ccd74b425dc020d17d05af" - integrity sha512-3F+vsVubUPJYKfVMeol8/7pd8CC287Rw92QYzJD8LEmI980xcgwMUEVBZ0UIAUwlLgiJG/f4Mwhuji2EeBXrPg== +metro-babel-transformer@0.67.0: + version "0.67.0" + resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.67.0.tgz#42fe82af9953e5c62d9a8d7d544eb7be9020dd18" + integrity sha512-SBqc4nq/dgsPNFm+mpWcQQzJaXnh0nrfz2pSnZC4i6zMtIakrTWb8SQ78jOU1FZVEZ3nu9xCYVHS9Tbr/LoEuw== dependencies: "@babel/core" "^7.14.0" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.0.0" - "@babel/plugin-proposal-optional-chaining" "^7.0.0" - "@babel/plugin-syntax-class-properties" "^7.0.0" - "@babel/plugin-transform-flow-strip-types" "^7.0.0" - "@babel/plugin-transform-modules-commonjs" "^7.0.0" - "@babel/register" "^7.0.0" - escape-string-regexp "^1.0.5" - -metro-babel-transformer@0.66.2: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.66.2.tgz#fce0a3e314d28a5e7141c135665e1cc9b8e7ce86" - integrity sha512-aJ/7fc/Xkofw8Fqa51OTDhBzBz26mmpIWrXAZcPdQ8MSTt883EWncxeCEjasc79NJ89BRi7sOkkaWZo2sXlKvw== - dependencies: - "@babel/core" "^7.14.0" - hermes-parser "0.4.7" - metro-source-map "0.66.2" + hermes-parser "0.5.0" + metro-source-map "0.67.0" nullthrows "^1.1.1" -metro-cache-key@0.66.2: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-cache-key/-/metro-cache-key-0.66.2.tgz#d6463d2a53e887a38419d523962cc24ea0e780b4" - integrity sha512-WtkNmRt41qOpHh1MkNA4nLiQ/m7iGL90ysSKD+fcLqlUnOBKJptPQm0ZUv8Kfqk18ddWX2KmsSbq+Sf3I6XohQ== +metro-cache-key@0.67.0: + version "0.67.0" + resolved "https://registry.yarnpkg.com/metro-cache-key/-/metro-cache-key-0.67.0.tgz#4df6a73cced199e1bddd0f3454bb931a27141eeb" + integrity sha512-FNJe5Rcb2uzY6G6tsqCf0RV4t2rCeX6vSHBxmP7k+4aI4NqX4evtPI0K82r221nBzm5DqNWCURZ0RYUT6jZMGA== -metro-cache@0.66.2: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.66.2.tgz#e0af4e0a319898f7d42a980f7ee5da153fcfd019" - integrity sha512-5QCYJtJOHoBSbL3H4/Fpl36oA697C3oYHqsce+Hk/dh2qtODUGpS3gOBhvP1B8iB+H8jJMyR75lZq129LJEsIQ== +metro-cache@0.67.0: + version "0.67.0" + resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.67.0.tgz#928db5742542719677468c4d22ea29b71c7ec8fc" + integrity sha512-IY5dXiR76L75b2ue/mv+9vW8g5hdQJU6YEe81lj6gTSoUrhcONT0rzY+Gh5QOS2Kk6z9utZQMvd9PRKL9/635A== dependencies: - metro-core "0.66.2" + metro-core "0.67.0" mkdirp "^0.5.1" rimraf "^2.5.4" -metro-config@0.66.2, metro-config@^0.66.1: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.66.2.tgz#e365acdb66ad0cda0182b9c9910760a97ee4293b" - integrity sha512-0C+PrKKIBNNzLZUKN/8ZDJS2U5FLMOTXDWbvBHIdqb6YXz8WplXR2+xlSlaSCCi5b+GR7cWFWUNeKA4GQS1/AQ== +metro-config@0.67.0, metro-config@^0.67.0: + version "0.67.0" + resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.67.0.tgz#5507d3b295bd10c87bd13dbe5a3033a357418786" + integrity sha512-ThAwUmzZwTbKyyrIn2bKIcJDPDBS0LKAbqJZQioflvBGfcgA21h3fdL3IxRmvCEl6OnkEWI0Tn1Z9w2GLAjf2g== dependencies: cosmiconfig "^5.0.5" jest-validate "^26.5.2" - metro "0.66.2" - metro-cache "0.66.2" - metro-core "0.66.2" - metro-runtime "0.66.2" + metro "0.67.0" + metro-cache "0.67.0" + metro-core "0.67.0" + metro-runtime "0.67.0" -metro-core@0.66.2, metro-core@^0.66.1: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.66.2.tgz#ead776a17b3e5a307e6dc22259db30bf5c7e8490" - integrity sha512-JieLZkef/516yxXYvQxWnf3OWw5rcgWRy76K8JV/wr/i8LGVGulPAXlIi445/QZzXVydzRVASKAEVqyxM5F4mA== +metro-core@0.67.0, metro-core@^0.67.0: + version "0.67.0" + resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.67.0.tgz#75066e11b4df220992abf9cd6200279dd87876c8" + integrity sha512-TOa/ShE1bUq83fGNfV6rFwyfZ288M8ydmWN3g9C2OW8emOHLhJslYD/SIU4DhDkP/99yaJluIALdZ2g0+pCrvQ== dependencies: - jest-haste-map "^26.5.2" + jest-haste-map "^27.3.1" lodash.throttle "^4.1.1" - metro-resolver "0.66.2" + metro-resolver "0.67.0" -metro-hermes-compiler@0.66.2: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-hermes-compiler/-/metro-hermes-compiler-0.66.2.tgz#30290748f83805faa601aa487632444915795823" - integrity sha512-nCVL1g9uR6vrw5+X1wjwZruRyMkndnzGRMqjqoljf+nGEqBTD607CR7elXw4fMWn/EM+1y0Vdq5altUu9LdgCA== +metro-hermes-compiler@0.67.0: + version "0.67.0" + resolved "https://registry.yarnpkg.com/metro-hermes-compiler/-/metro-hermes-compiler-0.67.0.tgz#9c1340f1882fbf535145868d0d28211ca15b0477" + integrity sha512-X5Pr1jC8/kO6d1EBDJ6yhtuc5euHX89UDNv8qdPJHAET03xfFnlojRPwOw6il2udAH20WLBv+F5M9VY+58zspQ== -metro-inspector-proxy@0.66.2: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-inspector-proxy/-/metro-inspector-proxy-0.66.2.tgz#a83c76bd2f2fd7b9240be92acf9a8b1d1404547a" - integrity sha512-gnLc9121eznwP0iiA9tCBW8qZjwIsCgwHWMF1g1Qaki9le9tzeJv3dK4/lFNGxyfSaLO7vahQEhsEYsiRnTROg== +metro-inspector-proxy@0.67.0: + version "0.67.0" + resolved "https://registry.yarnpkg.com/metro-inspector-proxy/-/metro-inspector-proxy-0.67.0.tgz#22b360a837b07e9e2bc87a71af6154dd8fcc02a5" + integrity sha512-5Ubjk94qpNaU3OT2IZa4/dec09bauic1hzWms4czorBzDenkp4kYXG9/aWTmgQLtCk92H3Q8jKl1PQRxUSkrOQ== dependencies: connect "^3.6.5" debug "^2.2.0" - ws "^1.1.5" + ws "^7.5.1" yargs "^15.3.1" -metro-minify-uglify@0.66.2: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-minify-uglify/-/metro-minify-uglify-0.66.2.tgz#6061dbee4f61e6d5bb3c100e4379ff6f2e16e42b" - integrity sha512-7TUK+L5CmB5x1PVnFbgmjzHW4CUadq9H5jgp0HfFoWT1skXAyEsx0DHkKDXwnot0khnNhBOEfl62ctQOnE110Q== +metro-minify-uglify@0.67.0: + version "0.67.0" + resolved "https://registry.yarnpkg.com/metro-minify-uglify/-/metro-minify-uglify-0.67.0.tgz#28a77dbd78d9e558dba8c2f31c2b9c6f939df966" + integrity sha512-4CmM5b3MTAmQ/yFEfsHOhD2SuBObB2YF6PKzXZc4agUsQVVtkrrNElaiWa8w26vrTzA9emwcyurxMf4Nl3lYPQ== dependencies: uglify-es "^3.1.9" -metro-react-native-babel-preset@0.66.2, metro-react-native-babel-preset@^0.66.2: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.66.2.tgz#fddebcf413ad4ea617d4f47f7c1da401052de734" - integrity sha512-H/nLBAz0MgfDloSe1FjyH4EnbokHFdncyERvLPXDACY3ROVRCeUyFNo70ywRGXW2NMbrV4H7KUyU4zkfWhC2HQ== +metro-react-native-babel-preset@0.67.0, metro-react-native-babel-preset@^0.67.0: + version "0.67.0" + resolved "https://registry.yarnpkg.com/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.67.0.tgz#53aec093f53a09b56236a9bb534d76658efcbec7" + integrity sha512-tgTG4j0SKwLHbLRELMmgkgkjV1biYkWlGGKOmM484/fJC6bpDikdaFhfjsyE+W+qt7I5szbCPCickMTNQ+zwig== dependencies: "@babel/core" "^7.14.0" "@babel/plugin-proposal-class-properties" "^7.0.0" @@ -5225,61 +5469,61 @@ metro-react-native-babel-preset@0.66.2, metro-react-native-babel-preset@^0.66.2: "@babel/template" "^7.0.0" react-refresh "^0.4.0" -metro-react-native-babel-transformer@0.66.2, metro-react-native-babel-transformer@^0.66.1: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.66.2.tgz#768f341e7c3d3d1c38189799c9884b90d1c32eb7" - integrity sha512-z1ab7ihIT0pJrwgi9q2IH+LcW/xUWMQ0hH+Mrk7wbKQB0RnJdXFoxphrfoVHBHMUu+TBPetUcEkKawkK1e7Cng== +metro-react-native-babel-transformer@0.67.0, metro-react-native-babel-transformer@^0.67.0: + version "0.67.0" + resolved "https://registry.yarnpkg.com/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.67.0.tgz#756d32eb3c05cab3d72fcb1700f8fd09322bb07f" + integrity sha512-P0JT09n7T01epUtgL9mH6BPat3xn4JjBakl4lWHdL61cvEGcrxuIom1eoFFKkgU/K5AVLU4aCAttHS7nSFCcEQ== dependencies: "@babel/core" "^7.14.0" babel-preset-fbjs "^3.4.0" - hermes-parser "0.4.7" - metro-babel-transformer "0.66.2" - metro-react-native-babel-preset "0.66.2" - metro-source-map "0.66.2" + hermes-parser "0.5.0" + metro-babel-transformer "0.67.0" + metro-react-native-babel-preset "0.67.0" + metro-source-map "0.67.0" nullthrows "^1.1.1" -metro-resolver@0.66.2, metro-resolver@^0.66.1: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.66.2.tgz#f743ddbe7a12dd137d1f7a555732cafcaea421f8" - integrity sha512-pXQAJR/xauRf4kWFj2/hN5a77B4jLl0Fom5I3PHp6Arw/KxSBp0cnguXpGLwNQ6zQC0nxKCoYGL9gQpzMnN7Hw== +metro-resolver@0.67.0, metro-resolver@^0.67.0: + version "0.67.0" + resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.67.0.tgz#8143c716f77e468d1d42eca805243706eb349959" + integrity sha512-d2KS/zAyOA/z/q4/ff41rAp+1txF4H6qItwpsls/RHStV2j6PqgRHUzq/3ga+VIeoUJntYJ8nGW3+3qSrhFlig== dependencies: absolute-path "^0.0.0" -metro-runtime@0.66.2, metro-runtime@^0.66.1: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-runtime/-/metro-runtime-0.66.2.tgz#3409ee957b949b6c7b72ef6ed2b9af9a4f4a910e" - integrity sha512-vFhKBk2ot9FS4b+2v0OTa/guCF/QDAOJubY0CNg7PzCS5+w4y3IvZIcPX4SSS1t8pYEZBLvtdtTDarlDl81xmg== +metro-runtime@0.67.0, metro-runtime@^0.67.0: + version "0.67.0" + resolved "https://registry.yarnpkg.com/metro-runtime/-/metro-runtime-0.67.0.tgz#a8888dfd06bcebbac3c99dcac7cd622510dd8ee0" + integrity sha512-IFtSL0JUt1xK3t9IoLflTDft82bjieSzdIJWLzrRzBMlesz8ox5bVmnpQbVQEwfYUpEOxbM3VOZauVbdCmXA7g== -metro-source-map@0.66.2: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.66.2.tgz#b5304a282a5d55fa67b599265e9cf3217175cdd7" - integrity sha512-038tFmB7vSh73VQcDWIbr5O1m+WXWyYafDaOy+1A/2K308YP0oj33gbEgDnZsLZDwcJ+xt1x6KUEBIzlX4YGeQ== +metro-source-map@0.67.0: + version "0.67.0" + resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.67.0.tgz#e28db7253b9ca688e60d5710ebdccba60b45b2df" + integrity sha512-yxypInsRo3SfS00IgTuL6a2W2tfwLY//vA2E+GeqGBF5zTbJZAhwNGIEl8S87XXZhwzJcxf5/8LjJC1YDzabww== dependencies: "@babel/traverse" "^7.14.0" "@babel/types" "^7.0.0" invariant "^2.2.4" - metro-symbolicate "0.66.2" + metro-symbolicate "0.67.0" nullthrows "^1.1.1" - ob1 "0.66.2" + ob1 "0.67.0" source-map "^0.5.6" vlq "^1.0.0" -metro-symbolicate@0.66.2: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.66.2.tgz#addd095ce5f77e73ca21ddb5dfb396ff5d4fa041" - integrity sha512-u+DeQHyAFXVD7mVP+GST/894WHJ3i/U8oEJFnT7U3P52ZuLgX8n4tMNxhqZU12RcLR6etF8143aP0Ktx1gFLEQ== +metro-symbolicate@0.67.0: + version "0.67.0" + resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.67.0.tgz#16729d05663d28176895244b3d932a898fca2b45" + integrity sha512-ZqVVcfa0xSz40eFzA5P8pCF3V6Tna9RU1prFzAJTa3j9dCGqwh0HTXC8AIkMtgX7hNdZrCJI1YipzUBlwkT0/A== dependencies: invariant "^2.2.4" - metro-source-map "0.66.2" + metro-source-map "0.67.0" nullthrows "^1.1.1" source-map "^0.5.6" through2 "^2.0.1" vlq "^1.0.0" -metro-transform-plugins@0.66.2: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-transform-plugins/-/metro-transform-plugins-0.66.2.tgz#39dd044a23b1343e4f2d2ec34d08128cdf255ed4" - integrity sha512-KTvqplh0ut7oDKovvDG6yzXM02R6X+9b2oVG+qYq8Zd3aCGTi51ASx4ThCNkAHyEvCuJdYg9fxXTL+j+wvhB5w== +metro-transform-plugins@0.67.0: + version "0.67.0" + resolved "https://registry.yarnpkg.com/metro-transform-plugins/-/metro-transform-plugins-0.67.0.tgz#6122aa4e5e5f9a767cebcc5af6fd1695666683ce" + integrity sha512-DQFoSDIJdTMPDTUlKaCNJjEXiHGwFNneAF9wDSJ3luO5gigM7t7MuSaPzF4hpjmfmcfPnRhP6AEn9jcza2Sh8Q== dependencies: "@babel/core" "^7.14.0" "@babel/generator" "^7.14.0" @@ -5287,29 +5531,29 @@ metro-transform-plugins@0.66.2: "@babel/traverse" "^7.14.0" nullthrows "^1.1.1" -metro-transform-worker@0.66.2: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-transform-worker/-/metro-transform-worker-0.66.2.tgz#0a8455992132c479721accd52c9bd47deb77769e" - integrity sha512-dO4PtYOMGB7Vzte8aIzX39xytODhmbJrBYPu+zYzlDjyefJZT7BkZ0LkPIThtyJi96xWcGqi9JBSo0CeRupAHw== +metro-transform-worker@0.67.0: + version "0.67.0" + resolved "https://registry.yarnpkg.com/metro-transform-worker/-/metro-transform-worker-0.67.0.tgz#5689553c25b0657aadefdf4ea2cd8dd06e18882a" + integrity sha512-29n+JdTb80ROiv/wDiBVlY/xRAF/nrjhp/Udv/XJl1DZb+x7JEiPxpbpthPhwwl+AYxVrostGB0W06WJ61hfiw== dependencies: "@babel/core" "^7.14.0" "@babel/generator" "^7.14.0" "@babel/parser" "^7.14.0" "@babel/types" "^7.0.0" babel-preset-fbjs "^3.4.0" - metro "0.66.2" - metro-babel-transformer "0.66.2" - metro-cache "0.66.2" - metro-cache-key "0.66.2" - metro-hermes-compiler "0.66.2" - metro-source-map "0.66.2" - metro-transform-plugins "0.66.2" + metro "0.67.0" + metro-babel-transformer "0.67.0" + metro-cache "0.67.0" + metro-cache-key "0.67.0" + metro-hermes-compiler "0.67.0" + metro-source-map "0.67.0" + metro-transform-plugins "0.67.0" nullthrows "^1.1.1" -metro@0.66.2, metro@^0.66.1: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro/-/metro-0.66.2.tgz#f21759bf00995470e7577b5b88a5277963f24492" - integrity sha512-uNsISfcQ3iKKSHoN5Q+LAh0l3jeeg7ZcNZ/4BAHGsk02erA0OP+l2m+b5qYVoPptHz9Oc3KyG5oGJoTu41pWjg== +metro@0.67.0, metro@^0.67.0: + version "0.67.0" + resolved "https://registry.yarnpkg.com/metro/-/metro-0.67.0.tgz#8007a041d22de1cdb05184431c67eb7989eef6e0" + integrity sha512-DwuBGAFcAivoac/swz8Lp7Y5Bcge1tzT7T6K0nf1ubqJP8YzBUtyR4pkjEYVUzVu/NZf7O54kHSPVu1ibYzOBQ== dependencies: "@babel/code-frame" "^7.0.0" "@babel/core" "^7.14.0" @@ -5329,28 +5573,27 @@ metro@0.66.2, metro@^0.66.1: error-stack-parser "^2.0.6" fs-extra "^1.0.0" graceful-fs "^4.1.3" - hermes-parser "0.4.7" + hermes-parser "0.5.0" image-size "^0.6.0" invariant "^2.2.4" - jest-haste-map "^26.5.2" + jest-haste-map "^27.3.1" jest-worker "^26.0.0" lodash.throttle "^4.1.1" - metro-babel-register "0.66.2" - metro-babel-transformer "0.66.2" - metro-cache "0.66.2" - metro-cache-key "0.66.2" - metro-config "0.66.2" - metro-core "0.66.2" - metro-hermes-compiler "0.66.2" - metro-inspector-proxy "0.66.2" - metro-minify-uglify "0.66.2" - metro-react-native-babel-preset "0.66.2" - metro-resolver "0.66.2" - metro-runtime "0.66.2" - metro-source-map "0.66.2" - metro-symbolicate "0.66.2" - metro-transform-plugins "0.66.2" - metro-transform-worker "0.66.2" + metro-babel-transformer "0.67.0" + metro-cache "0.67.0" + metro-cache-key "0.67.0" + metro-config "0.67.0" + metro-core "0.67.0" + metro-hermes-compiler "0.67.0" + metro-inspector-proxy "0.67.0" + metro-minify-uglify "0.67.0" + metro-react-native-babel-preset "0.67.0" + metro-resolver "0.67.0" + metro-runtime "0.67.0" + metro-source-map "0.67.0" + metro-symbolicate "0.67.0" + metro-transform-plugins "0.67.0" + metro-transform-worker "0.67.0" mime-types "^2.1.27" mkdirp "^0.5.1" node-fetch "^2.2.0" @@ -5361,10 +5604,10 @@ metro@0.66.2, metro@^0.66.1: strip-ansi "^6.0.0" temp "0.8.3" throat "^5.0.0" - ws "^1.1.5" + ws "^7.5.1" yargs "^15.3.1" -micromatch@^3.1.10, micromatch@^3.1.4: +micromatch@^3.1.10: version "3.1.10" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== @@ -5383,7 +5626,7 @@ micromatch@^3.1.10, micromatch@^3.1.4: snapdragon "^0.8.1" to-regex "^3.0.2" -micromatch@^4.0.2, micromatch@^4.0.4: +micromatch@^4.0.4: version "4.0.5" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== @@ -5454,7 +5697,7 @@ minimatch@^5.0.1: dependencies: brace-expansion "^2.0.1" -minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.6: +minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.6: version "1.2.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== @@ -5642,6 +5885,11 @@ node-releases@^2.0.13: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.13.tgz#d5ed1627c23e3461e819b02e57b75e4899b1c81d" integrity sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ== +node-releases@^2.0.14: + version "2.0.14" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" + integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== + node-stream-zip@^1.9.1: version "1.15.0" resolved "https://registry.yarnpkg.com/node-stream-zip/-/node-stream-zip-1.15.0.tgz#158adb88ed8004c6c49a396b50a6a5de3bca33ea" @@ -5654,13 +5902,6 @@ nopt@^6.0.0: dependencies: abbrev "^1.0.0" -normalize-path@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - integrity sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w== - dependencies: - remove-trailing-separator "^1.0.1" - normalize-path@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" @@ -5690,10 +5931,10 @@ oauth-sign@~0.9.0: resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== -ob1@0.66.2: - version "0.66.2" - resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.66.2.tgz#8caf548202cf2688944bae47db405a08bca17a61" - integrity sha512-RFewnL/RjE0qQBOuM+2bbY96zmJPIge/aDtsiDbLSb+MOiK8CReAhBHDgL+zrA3F1hQk00lMWpUwYcep750plA== +ob1@0.67.0: + version "0.67.0" + resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.67.0.tgz#91f104c90641b1af8c364fc82a4b2c7d0801072d" + integrity sha512-YvZtX8HKYackQ5PwdFIuuNFVsMChRPHvnARRRT0Vk59xsBvL5t9U1Ock3M1sYrKj+Gp73+0q9xcHLAxI+xLi5g== object-assign@^4.1.1: version "4.1.1" @@ -5855,11 +6096,6 @@ optionator@^0.9.1: prelude-ls "^1.2.1" type-check "^0.4.0" -options@>=0.0.5: - version "0.0.6" - resolved "https://registry.yarnpkg.com/options/-/options-0.0.6.tgz#ec22d312806bb53e731773e7cdaefcf1c643128f" - integrity sha512-bOj3L1ypm++N+n7CEbbe473A414AB7z+amKYshRb//iuL3MpdDCLhPnw6aVTdKB9g5ZRVHIEp8eUln6L2NUStg== - ora@^3.4.0: version "3.4.0" resolved "https://registry.yarnpkg.com/ora/-/ora-3.4.0.tgz#bf0752491059a3ef3ed4c85097531de9fdbcd318" @@ -5872,6 +6108,21 @@ ora@^3.4.0: strip-ansi "^5.2.0" wcwidth "^1.0.1" +ora@^5.4.1: + version "5.4.1" + resolved "https://registry.yarnpkg.com/ora/-/ora-5.4.1.tgz#1b2678426af4ac4a509008e5e4ac9e9959db9e18" + integrity sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ== + dependencies: + bl "^4.1.0" + chalk "^4.1.0" + cli-cursor "^3.1.0" + cli-spinners "^2.5.0" + is-interactive "^1.0.0" + is-unicode-supported "^0.1.0" + log-symbols "^4.1.0" + strip-ansi "^6.0.0" + wcwidth "^1.0.1" + os-tmpdir@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" @@ -6018,7 +6269,7 @@ pify@^4.0.1: resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== -pirates@^4.0.4, pirates@^4.0.5: +pirates@^4.0.4, pirates@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9" integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== @@ -6142,7 +6393,7 @@ prompts@^2.0.1, prompts@^2.4.0: kleur "^3.0.3" sisteransi "^1.0.5" -prop-types@15.8.1, prop-types@^15.5.10, prop-types@^15.6.2, prop-types@^15.7.2, prop-types@^15.8.1: +prop-types@*, prop-types@15.8.1, prop-types@^15.5.10, prop-types@^15.6.2, prop-types@^15.7.2, prop-types@^15.8.1: version "15.8.1" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== @@ -6211,10 +6462,10 @@ rc@^1.2.7: minimist "^1.2.0" strip-json-comments "~2.0.1" -react-devtools-core@4.19.1: - version "4.19.1" - resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-4.19.1.tgz#bc37c2ef2f48f28c6af4c7292be9dca1b63deace" - integrity sha512-2wJiGffPWK0KggBjVwnTaAk+Z3MSxKInHmdzPTrBh1mAarexsa93Kw+WMX88+XjN+TtYgAiLe9xeTqcO5FfJTw== +react-devtools-core@^4.23.0: + version "4.28.5" + resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-4.28.5.tgz#c8442b91f068cdf0c899c543907f7f27d79c2508" + integrity sha512-cq/o30z9W2Wb4rzBefjv5fBalHU0rJGZCHAkf/RHSBWSSYwh8PlQTqqOJmgIIbBtpj27T6FIPXeomIjZtCNVqA== dependencies: shell-quote "^1.6.1" ws "^7" @@ -6227,6 +6478,11 @@ react-i18next@^12.0.0: "@babel/runtime" "^7.20.6" html-parse-stringify "^3.0.1" +"react-is@^16.12.0 || ^17.0.0", react-is@^17.0.1, react-is@^17.0.2: + version "17.0.2" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" + integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== + "react-is@^16.12.0 || ^17.0.0 || ^18.0.0", react-is@^18.0.0: version "18.2.0" resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" @@ -6237,11 +6493,6 @@ react-is@^16.13.1, react-is@^16.7.0: resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== -react-is@^17.0.1, react-is@^17.0.2: - version "17.0.2" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" - integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== - react-native-calendars@^1.1287.0: version "1.1302.0" resolved "https://registry.yarnpkg.com/react-native-calendars/-/react-native-calendars-1.1302.0.tgz#1b81074d08a9aa5aadcd2fb546d08517d4974952" @@ -6257,13 +6508,14 @@ react-native-calendars@^1.1287.0: optionalDependencies: moment "^2.29.4" -react-native-codegen@^0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/react-native-codegen/-/react-native-codegen-0.0.8.tgz#b7796a54074139d956fff2862cf1285db43c891b" - integrity sha512-k/944+0XD+8l7zDaiKfYabyEKmAmyZgS1mj+4LcSRPyHnrjgCHKrh/Y6jM6kucQ6xU1+1uyMmF/dSkikxK8i+Q== +react-native-codegen@^0.0.17: + version "0.0.17" + resolved "https://registry.yarnpkg.com/react-native-codegen/-/react-native-codegen-0.0.17.tgz#83fb814d94061cbd46667f510d2ddba35ffb50ac" + integrity sha512-7GIEUmAemH9uWwB6iYXNNsPoPgH06pxzGRmdBzK98TgFBdYJZ7CBuZFPMe4jmHQTPOkQazKZ/w5O6/71JBixmw== dependencies: + "@babel/parser" "^7.14.0" flow-parser "^0.121.0" - jscodeshift "^0.11.0" + jscodeshift "^0.13.1" nullthrows "^1.1.1" react-native-document-picker@^8.1.1: @@ -6281,6 +6533,11 @@ react-native-fs@^2.20.0: base-64 "^0.1.0" utf8 "^3.0.0" +react-native-gradle-plugin@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/react-native-gradle-plugin/-/react-native-gradle-plugin-0.0.6.tgz#b61a9234ad2f61430937911003cddd7e15c72b45" + integrity sha512-eIlgtsmDp1jLC24dRn43hB3kEcZVqx6DUQbR0N1ABXGnMEafm9I3V3dUUeD1vh+Dy5WqijSoEwLNUPLgu5zDMg== + react-native-modal-datetime-picker@14.0.0: version "14.0.0" resolved "https://registry.yarnpkg.com/react-native-modal-datetime-picker/-/react-native-modal-datetime-picker-14.0.0.tgz#ca2c81a275ee3a23d9ad02113e76ed243c90781e" @@ -6344,39 +6601,41 @@ react-native-version@^3.1.0: resolve-from "^5.0.0" semver "^6.0.0" -react-native@0.67.4: - version "0.67.4" - resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.67.4.tgz#57a1503daa81f66a61f521ff67b259f126d87f9c" - integrity sha512-NA9d9lNJu9TViEJu2uZxWXUP+QNUilGGA5tdMbVFedNroOH1lnQ3n/FAVoGK1gqGarCgNTtheBxUpEa979Cu8w== +react-native@0.68.3: + version "0.68.3" + resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.68.3.tgz#07ac7374acde9bc5e80f9e473e03d6b730528f1c" + integrity sha512-LPgLQ4e96NWCrJPKlXzKfvlg1ddhfUplsEg00/cfBIMFZPJn2inzo9Rym8I/JYjmRORe4GjGY8kOem72hPm0Lw== dependencies: "@jest/create-cache-key-function" "^27.0.1" - "@react-native-community/cli" "^6.0.0" - "@react-native-community/cli-platform-android" "^6.0.0" - "@react-native-community/cli-platform-ios" "^6.0.0" + "@react-native-community/cli" "^7.0.3" + "@react-native-community/cli-platform-android" "^7.0.1" + "@react-native-community/cli-platform-ios" "^7.0.1" "@react-native/assets" "1.0.0" "@react-native/normalize-color" "2.0.0" "@react-native/polyfills" "2.0.0" abort-controller "^3.0.0" anser "^1.4.9" base64-js "^1.1.2" + deprecated-react-native-prop-types "^2.3.0" event-target-shim "^5.0.1" - hermes-engine "~0.9.0" + hermes-engine "~0.11.0" invariant "^2.2.4" jsc-android "^250230.2.1" - metro-react-native-babel-transformer "0.66.2" - metro-runtime "0.66.2" - metro-source-map "0.66.2" + metro-react-native-babel-transformer "0.67.0" + metro-runtime "0.67.0" + metro-source-map "0.67.0" nullthrows "^1.1.1" pretty-format "^26.5.2" promise "^8.0.3" - prop-types "^15.7.2" - react-devtools-core "4.19.1" - react-native-codegen "^0.0.8" + react-devtools-core "^4.23.0" + react-native-codegen "^0.0.17" + react-native-gradle-plugin "^0.0.6" react-refresh "^0.4.0" + react-shallow-renderer "16.14.1" regenerator-runtime "^0.13.2" scheduler "^0.20.2" stacktrace-parser "^0.1.3" - use-subscription "^1.0.0" + use-subscription ">=1.0.0 <1.6.0" whatwg-fetch "^3.0.0" ws "^6.1.4" @@ -6385,6 +6644,14 @@ react-refresh@^0.4.0: resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.4.3.tgz#966f1750c191672e76e16c2efa569150cc73ab53" integrity sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA== +react-shallow-renderer@16.14.1: + version "16.14.1" + resolved "https://registry.yarnpkg.com/react-shallow-renderer/-/react-shallow-renderer-16.14.1.tgz#bf0d02df8a519a558fd9b8215442efa5c840e124" + integrity sha512-rkIMcQi01/+kxiTE9D3fdS959U1g7gs+/rborw++42m1O9FAQiNI/UNRZExVUoAOprn4umcXf+pFRou8i4zuBg== + dependencies: + object-assign "^4.1.1" + react-is "^16.12.0 || ^17.0.0" + react-shallow-renderer@^16.13.1: version "16.15.0" resolved "https://registry.yarnpkg.com/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz#48fb2cf9b23d23cde96708fe5273a7d3446f4457" @@ -6471,7 +6738,7 @@ realm@^10.16.0: tar "^6.0.1" url-parse "^1.4.4" -recast@^0.20.3: +recast@^0.20.4: version "0.20.5" resolved "https://registry.yarnpkg.com/recast/-/recast-0.20.5.tgz#8e2c6c96827a1b339c634dd232957d230553ceae" integrity sha512-E5qICoPoNL4yU0H0NoBDntNB0Q5oMSNh9usFctYniLBluTthi3RsQVBXIJNbApOlvSwW/RGxIuokPcAc59J5fQ== @@ -6580,11 +6847,6 @@ regjsparser@^0.9.1: dependencies: jsesc "~0.5.0" -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - integrity sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw== - repeat-element@^1.1.2: version "1.1.4" resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" @@ -6699,6 +6961,14 @@ restore-cursor@^2.0.0: onetime "^2.0.0" signal-exit "^3.0.2" +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + ret@~0.1.10: version "0.1.15" resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" @@ -6730,11 +7000,6 @@ rimraf@~2.6.2: dependencies: glob "^7.1.3" -rsvp@^4.8.4: - version "4.8.5" - resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" - integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== - safe-array-concat@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.0.1.tgz#91686a63ce3adbea14d61b14c99572a8ff84754c" @@ -6776,21 +7041,6 @@ safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -sane@^4.0.3: - version "4.1.0" - resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" - integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== - dependencies: - "@cnakazawa/watch" "^1.0.3" - anymatch "^2.0.0" - capture-exit "^2.0.0" - exec-sh "^0.3.2" - execa "^1.0.0" - fb-watchman "^2.0.0" - micromatch "^3.1.4" - minimist "^1.1.1" - walker "~1.0.5" - sax@^1.2.4: version "1.3.0" resolved "https://registry.yarnpkg.com/sax/-/sax-1.3.0.tgz#a5dbe77db3be05c9d1ee7785dbd3ea9de51593d0" @@ -6958,7 +7208,7 @@ simple-get@^4.0.0: once "^1.3.1" simple-concat "^1.0.0" -simple-plist@^1.0.0: +simple-plist@^1.1.0: version "1.3.1" resolved "https://registry.yarnpkg.com/simple-plist/-/simple-plist-1.3.1.tgz#16e1d8f62c6c9b691b8383127663d834112fb017" integrity sha512-iMSw5i0XseMnrhtIzRb7XpQEXepa9xhWxGUojHBL43SIpQuDQkh3Wpy67ZbDzZVr6EKxvwVChnVpdl8hEVLDiw== @@ -7392,7 +7642,7 @@ temp@0.8.3: os-tmpdir "^1.0.0" rimraf "~2.2.6" -temp@^0.8.1: +temp@^0.8.4: version "0.8.4" resolved "https://registry.yarnpkg.com/temp/-/temp-0.8.4.tgz#8c97a33a4770072e0a05f919396c7665a7dd59f2" integrity sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg== @@ -7609,11 +7859,6 @@ uglify-es@^3.1.9: commander "~2.13.0" source-map "~0.6.1" -ultron@1.0.x: - version "1.0.2" - resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.0.2.tgz#ace116ab557cd197386a4e88f4685378c8b2e4fa" - integrity sha512-QMpnpVtYaWEeY+MwKDN/UdKlE/LsFZXM5lO1u7GaZzNgmIbGixHEmVMIKT+vqYOALu3m5GYQy9kz4Xu4IVn7Ow== - unbox-primitive@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" @@ -7708,17 +7953,12 @@ url-parse@^1.4.4: querystringify "^2.1.1" requires-port "^1.0.0" -use-subscription@^1.0.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/use-subscription/-/use-subscription-1.8.0.tgz#f118938c29d263c2bce12fc5585d3fe694d4dbce" - integrity sha512-LISuG0/TmmoDoCRmV5XAqYkd3UCBNM0ML3gGBndze65WITcsExCD3DTvXXTLyNcOC0heFQZzluW88bN/oC1DQQ== +"use-subscription@>=1.0.0 <1.6.0": + version "1.5.1" + resolved "https://registry.yarnpkg.com/use-subscription/-/use-subscription-1.5.1.tgz#73501107f02fad84c6dd57965beb0b75c68c42d1" + integrity sha512-Xv2a1P/yReAjAbhylMfFplFKj9GssgTwN7RlcTxBujFQcloStWNDQdc4g4NRWH9xS4i/FDk04vQBptAXoF3VcA== dependencies: - use-sync-external-store "^1.2.0" - -use-sync-external-store@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz#7dbefd6ef3fe4e767a0cf5d7287aacfb5846928a" - integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA== + object-assign "^4.1.1" use@^3.1.0: version "3.1.1" @@ -7756,6 +7996,11 @@ uuid@^3.3.2: resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== +uuid@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-7.0.3.tgz#c5c9f2c8cf25dc0a372c4df1441c41f5bd0c680b" + integrity sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg== + v8-compile-cache@^2.0.3: version "2.4.0" resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz#cdada8bec61e15865f05d097c5f4fd30e94dc128" @@ -7794,7 +8039,7 @@ void-elements@3.1.0: resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-3.1.0.tgz#614f7fbf8d801f0bb5f0661f5b2f5785750e4f09" integrity sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w== -walker@^1.0.7, walker@^1.0.8, walker@~1.0.5: +walker@^1.0.7, walker@^1.0.8: version "1.0.8" resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== @@ -7940,14 +8185,6 @@ write-file-atomic@^4.0.2: imurmurhash "^0.1.4" signal-exit "^3.0.7" -ws@^1.1.0, ws@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/ws/-/ws-1.1.5.tgz#cbd9e6e75e09fc5d2c90015f21f0c40875e0dd51" - integrity sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w== - dependencies: - options ">=0.0.5" - ultron "1.0.x" - ws@^6.1.4: version "6.2.2" resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.2.tgz#dd5cdbd57a9979916097652d78f1cc5faea0c32e" @@ -7955,18 +8192,18 @@ ws@^6.1.4: dependencies: async-limiter "~1.0.0" -ws@^7: +ws@^7, ws@^7.5.1: version "7.5.9" resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== -xcode@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/xcode/-/xcode-2.1.0.tgz#bab64a7e954bb50ca8d19da7e09531c65a43ecfe" - integrity sha512-uCrmPITrqTEzhn0TtT57fJaNaw8YJs1aCzs+P/QqxsDbvPZSv7XMPPwXrKvHtD6pLjBM/NaVwraWJm8q83Y4iQ== +xcode@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/xcode/-/xcode-3.0.1.tgz#3efb62aac641ab2c702458f9a0302696146aa53c" + integrity sha512-kCz5k7J7XbJtjABOvkc5lJmkiDh8VhjVCGNiqdKCscmVpdVUpEAyXv1xmCLkQJ5dsHqx3IPO4XW+NTDhU/fatA== dependencies: - simple-plist "^1.0.0" - uuid "^3.3.2" + simple-plist "^1.1.0" + uuid "^7.0.3" xdate@^0.8.0: version "0.8.2" From 601d618352e2cec0fc24421754c2a57d80a29855 Mon Sep 17 00:00:00 2001 From: Liv Date: Tue, 16 Jan 2024 18:10:34 +0100 Subject: [PATCH 2/9] Reorder import buttons depending on OS --- .../settings/data-management/ImportData.js | 21 ++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/components/settings/data-management/ImportData.js b/components/settings/data-management/ImportData.js index 352c0d7..8fd9ad9 100644 --- a/components/settings/data-management/ImportData.js +++ b/components/settings/data-management/ImportData.js @@ -1,6 +1,6 @@ import React from 'react' import PropTypes from 'prop-types' -import { Alert } from 'react-native' +import { Alert, Platform } from 'react-native' import DocumentPicker from 'react-native-document-picker' import rnfs from 'react-native-fs' import importCsv from '../../../lib/import-export/import-from-csv' @@ -59,21 +59,28 @@ export default function ImportData({ resetIsDeletingData, setIsLoading }) { function openImportDialog() { resetIsDeletingData() - Alert.alert(t('dialog.title'), t('dialog.message'), [ + + let buttons = [ { text: t('dialog.cancel'), style: 'cancel', onPress: () => {}, }, - { - text: t('dialog.delete'), - onPress: () => startImport(true), - }, { text: t('dialog.replace'), onPress: () => startImport(false), }, - ]) + { + text: t('dialog.delete'), + onPress: () => startImport(true), + }, + ] + + if (Platform.OS === 'android') { + buttons = [buttons[0], buttons[2], buttons[1]] + } + + Alert.alert(t('dialog.title'), t('dialog.message'), buttons) } function showImportErrorAlert(message) { From 5119e6778a4c56a6fec0d211f32715826b4321bb Mon Sep 17 00:00:00 2001 From: bl00dymarie Date: Wed, 17 Jan 2024 12:23:42 +0100 Subject: [PATCH 3/9] Update project changes according to xCode suggestion --- ios/drip.xcodeproj/project.pbxproj | 76 +++++++------------ .../xcshareddata/xcschemes/drip.xcscheme | 2 +- 2 files changed, 29 insertions(+), 49 deletions(-) diff --git a/ios/drip.xcodeproj/project.pbxproj b/ios/drip.xcodeproj/project.pbxproj index 2281700..82a1cff 100644 --- a/ios/drip.xcodeproj/project.pbxproj +++ b/ios/drip.xcodeproj/project.pbxproj @@ -31,17 +31,16 @@ 5472A45A25BB7807005E81DE /* drip-icon-font.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 5472A44925BB7806005E81DE /* drip-icon-font.ttf */; }; 5472A45B25BB7807005E81DE /* drip-icon-font.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 5472A44925BB7806005E81DE /* drip-icon-font.ttf */; }; 5472A45E25BB7C43005E81DE /* Entypo.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 5472A45C25BB7C42005E81DE /* Entypo.ttf */; }; - 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; }; 54DFE73A25D94D6E0025C3FC /* swipe.png in Resources */ = {isa = PBXBuildFile; fileRef = 54DFE73925D94D6E0025C3FC /* swipe.png */; }; 54DFE73B25D94D6E0025C3FC /* swipe.png in Resources */ = {isa = PBXBuildFile; fileRef = 54DFE73925D94D6E0025C3FC /* swipe.png */; }; 54DFE73D25D94DED0025C3FC /* cycle-icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 54DFE73C25D94DED0025C3FC /* cycle-icon.png */; }; 54DFE73E25D94DED0025C3FC /* cycle-icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 54DFE73C25D94DED0025C3FC /* cycle-icon.png */; }; - 54E1D49923E7588F003FA37B /* JavaScriptCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 54E1D49823E7588F003FA37B /* JavaScriptCore.framework */; }; + 54E1D49923E7588F003FA37B /* BuildFile in Frameworks */ = {isa = PBXBuildFile; }; 62F2A4645AC84CDC9506FF27 /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 9AEBF0735214455AAEDF56D5 /* libc++.tbd */; }; + 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; }; BD7041F2826E4A2CBE6CB87D /* RealmJSTests.xctest in Frameworks */ = {isa = PBXBuildFile; fileRef = F79F72C5390646E0A06AAE68 /* RealmJSTests.xctest */; }; - BEF6784666BF8E0791A27E51 /* libPods-drip-dripTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 30AC577EFD5F39ABAA1E303C /* libPods-drip-dripTests.a */; }; - D6B2ED16118E4B66DE895C51 /* libPods-drip.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 19F6CBCC0A4E27FBF8BF4A61 /* libPods-drip-dripTests.a */; }; D91133DCE120440893E2FD2E /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = CD8C8B91E0A747B3883A0D56 /* libz.tbd */; }; + DFCB30DF40F45C00CFBBE07E /* libPods-drip-dripTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 19F6CBCC0A4E27FBF8BF4A61 /* libPods-drip-dripTests.a */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -55,7 +54,6 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 008F07F21AC5B25A0029DE68 /* main.jsbundle */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = main.jsbundle; sourceTree = ""; }; 00E356EE1AD99517003FC87E /* dripTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = dripTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 00E356F21AD99517003FC87E /* dripTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = dripTests.m; sourceTree = ""; }; @@ -65,18 +63,14 @@ 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = drip/Images.xcassets; sourceTree = ""; }; 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = drip/Info.plist; sourceTree = ""; }; 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = drip/main.m; sourceTree = ""; }; - 2C52A2D4C769AF39D11D7017 /* Pods-drip.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-drip.release.xcconfig"; path = "Target Support Files/Pods-drip/Pods-drip.release.xcconfig"; sourceTree = ""; }; + 19F6CBCC0A4E27FBF8BF4A61 /* libPods-drip-dripTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-drip-dripTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 2D16E6891FA4F8E400B85C8A /* libReact.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libReact.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 30AC577EFD5F39ABAA1E303C /* libPods-drip-dripTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-drip-dripTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 3BFD860D9B7CFC35432CDE5C /* Pods-drip-dripTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-drip-dripTests.debug.xcconfig"; path = "Target Support Files/Pods-drip-dripTests/Pods-drip-dripTests.debug.xcconfig"; sourceTree = ""; }; - 5409189625AB725F00086AE1 /* OpenSans-LightItalic.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = "OpenSans-LightItalic.ttf"; path = "../../assets/fonts/OpenSans-LightItalic.ttf"; sourceTree = ""; }; - 540918A225AB725F00086AE1 /* Prompt-ExtraLight.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = "Prompt-ExtraLight.ttf"; path = "../../assets/fonts/Prompt-ExtraLight.ttf"; sourceTree = ""; }; + 3B4392A12AC88292D35C810B /* Pods-drip.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-drip.debug.xcconfig"; path = "Target Support Files/Pods-drip/Pods-drip.debug.xcconfig"; sourceTree = ""; }; 540918A325AB725F00086AE1 /* OpenSans-Light.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = "OpenSans-Light.ttf"; path = "../../assets/fonts/OpenSans-Light.ttf"; sourceTree = ""; }; 540918A425AB725F00086AE1 /* Jost-700-Bold.otf */ = {isa = PBXFileReference; lastKnownFileType = file; name = "Jost-700-Bold.otf"; path = "../../assets/fonts/Jost-700-Bold.otf"; sourceTree = ""; }; 540918A525AB725F00086AE1 /* Menu.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = Menu.ttf; path = ../../assets/fonts/Menu.ttf; sourceTree = ""; }; 540918A625AB726000086AE1 /* drip-home-icons.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = "drip-home-icons.ttf"; path = "../../assets/fonts/drip-home-icons.ttf"; sourceTree = ""; }; 540918A725AB726000086AE1 /* Jost-400-Book.otf */ = {isa = PBXFileReference; lastKnownFileType = file; name = "Jost-400-Book.otf"; path = "../../assets/fonts/Jost-400-Book.otf"; sourceTree = ""; }; - 540918A825AB726000086AE1 /* drip-icon-font.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = "drip-icon-font.ttf"; path = "../../assets/fonts/drip-icon-font.ttf"; sourceTree = ""; }; 540918A925AB726000086AE1 /* OpenSans-SemiBold.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = "OpenSans-SemiBold.ttf"; path = "../../assets/fonts/OpenSans-SemiBold.ttf"; sourceTree = ""; }; 5472A44125BB7806005E81DE /* drip-home-icons.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = "drip-home-icons.ttf"; path = "../assets/fonts/drip-home-icons.ttf"; sourceTree = ""; }; 5472A44225BB7806005E81DE /* OpenSans-Light.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = "OpenSans-Light.ttf"; path = "../assets/fonts/OpenSans-Light.ttf"; sourceTree = ""; }; @@ -88,26 +82,24 @@ 5472A44825BB7806005E81DE /* OpenSans-LightItalic.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = "OpenSans-LightItalic.ttf"; path = "../assets/fonts/OpenSans-LightItalic.ttf"; sourceTree = ""; }; 5472A44925BB7806005E81DE /* drip-icon-font.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = "drip-icon-font.ttf"; path = "../assets/fonts/drip-icon-font.ttf"; sourceTree = ""; }; 5472A45C25BB7C42005E81DE /* Entypo.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = Entypo.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Entypo.ttf"; sourceTree = ""; }; - 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = drip/LaunchScreen.storyboard; sourceTree = ""; }; 548C3D3A2898FB0600013449 /* drip-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "drip-Bridging-Header.h"; sourceTree = ""; }; 54DFE73925D94D6E0025C3FC /* swipe.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = swipe.png; path = ../assets/swipe.png; sourceTree = ""; }; 54DFE73C25D94DED0025C3FC /* cycle-icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "cycle-icon.png"; path = "../assets/cycle-icon.png"; sourceTree = ""; }; - ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; + 5709B34CF0A7D63546082F79 /* Pods-drip.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-drip.release.xcconfig"; path = "Target Support Files/Pods-drip/Pods-drip.release.xcconfig"; sourceTree = ""; }; + 5B7EB9410499542E8C5724F5 /* Pods-drip-dripTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-drip-dripTests.debug.xcconfig"; path = "Target Support Files/Pods-drip-dripTests/Pods-drip-dripTests.debug.xcconfig"; sourceTree = ""; }; 5C649EDC281151BC005FED46 /* dripRelease.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; name = dripRelease.entitlements; path = drip/dripRelease.entitlements; sourceTree = ""; }; + 5DCACB8F33CDC322A6C60F78 /* libPods-drip.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-drip.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 7A5827160B914D2B99C47381 /* libRealmReact.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRealmReact.a; sourceTree = ""; }; + 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = drip/LaunchScreen.storyboard; sourceTree = ""; }; 84CCEBD3B2C44758853BC941 /* libRNFS.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNFS.a; sourceTree = ""; }; + 89C6BE57DB24E9ADA2F236DE /* Pods-drip-dripTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-drip-dripTests.release.xcconfig"; path = "Target Support Files/Pods-drip-dripTests/Pods-drip-dripTests.release.xcconfig"; sourceTree = ""; }; 90224CB4571D41C4969E9722 /* libGCDWebServers.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libGCDWebServers.a; sourceTree = ""; }; 9AEBF0735214455AAEDF56D5 /* libc++.tbd */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libc++.tbd"; path = "usr/lib/libc++.tbd"; sourceTree = SDKROOT; }; - 3B4392A12AC88292D35C810B /* Pods-drip.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-drip.debug.xcconfig"; path = "Target Support Files/Pods-drip/Pods-drip.debug.xcconfig"; sourceTree = ""; }; - 5709B34CF0A7D63546082F79 /* Pods-drip.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-drip.release.xcconfig"; path = "Target Support Files/Pods-drip/Pods-drip.release.xcconfig"; sourceTree = ""; }; A8B59389C2FC4F19BD30ABC3 /* libRNShare.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNShare.a; sourceTree = ""; }; AB636AA0286D45CE9B23B2C3 /* libRCTRestart.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRCTRestart.a; sourceTree = ""; }; CD8C8B91E0A747B3883A0D56 /* libz.tbd */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; }; D211D71BE5A8436A978770A9 /* libRNDocumentPicker.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNDocumentPicker.a; sourceTree = ""; }; - 89C6BE57DB24E9ADA2F236DE /* Pods-drip-dripTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-drip-dripTests.release.xcconfig"; path = "Target Support Files/Pods-drip-dripTests/Pods-drip-dripTests.release.xcconfig"; sourceTree = ""; }; - 5B7EB9410499542E8C5724F5 /* Pods-drip-dripTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-drip-dripTests.debug.xcconfig"; path = "Target Support Files/Pods-drip-dripTests/Pods-drip-dripTests.debug.xcconfig"; sourceTree = ""; }; - 19F6CBCC0A4E27FBF8BF4A61 /* libPods-drip-dripTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-drip-dripTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 5DCACB8F33CDC322A6C60F78 /* libPods-drip.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-drip.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; F5039D0A572B4BBCB7995891 /* libRNVectorIcons.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNVectorIcons.a; sourceTree = ""; }; F710D85E391D4094816E1B62 /* libRealmJS.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRealmJS.a; sourceTree = ""; }; F79F72C5390646E0A06AAE68 /* RealmJSTests.xctest */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = wrapper.cfbundle; path = RealmJSTests.xctest; sourceTree = ""; }; @@ -118,7 +110,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 7699B88040F8A987B510C191 /* libPods-drip-dripTests.a in Frameworks */, + DFCB30DF40F45C00CFBBE07E /* libPods-drip-dripTests.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -126,7 +118,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 54E1D49923E7588F003FA37B /* JavaScriptCore.framework in Frameworks */, + 54E1D49923E7588F003FA37B /* BuildFile in Frameworks */, 62F2A4645AC84CDC9506FF27 /* libc++.tbd in Frameworks */, D91133DCE120440893E2FD2E /* libz.tbd in Frameworks */, BD7041F2826E4A2CBE6CB87D /* RealmJSTests.xctest in Frameworks */, @@ -176,9 +168,7 @@ 13B07FAE1A68108700A75B9A /* drip */ = { isa = PBXGroup; children = ( - 5488D8D628ABF478008DD66D /* LaunchScreen.storyboard */, 5C649EDC281151BC005FED46 /* dripRelease.entitlements */, - 008F07F21AC5B25A0029DE68 /* main.jsbundle */, 13B07FAF1A68108700A75B9A /* AppDelegate.h */, 13B07FB01A68108700A75B9A /* AppDelegate.mm */, 13B07FB51A68108700A75B9A /* Images.xcassets */, @@ -215,30 +205,16 @@ 90224CB4571D41C4969E9722 /* libGCDWebServers.a */, F710D85E391D4094816E1B62 /* libRealmJS.a */, F79F72C5390646E0A06AAE68 /* RealmJSTests.xctest */, + 540918A325AB725F00086AE1 /* OpenSans-Light.ttf */, + 540918A925AB726000086AE1 /* OpenSans-SemiBold.ttf */, + 540918A725AB726000086AE1 /* Jost-400-Book.otf */, + 540918A525AB725F00086AE1 /* Menu.ttf */, + 540918A625AB726000086AE1 /* drip-home-icons.ttf */, + 540918A425AB725F00086AE1 /* Jost-700-Bold.otf */, ); name = "Recovered References"; sourceTree = ""; }; - 6817ABC38854EEB6D3EE933A /* Pods */ = { - isa = PBXGroup; - children = ( - 540918A625AB726000086AE1 /* drip-home-icons.ttf */, - 540918A825AB726000086AE1 /* drip-icon-font.ttf */, - 540918A725AB726000086AE1 /* Jost-400-Book.otf */, - 540918A425AB725F00086AE1 /* Jost-700-Bold.otf */, - 540918A525AB725F00086AE1 /* Menu.ttf */, - 540918A325AB725F00086AE1 /* OpenSans-Light.ttf */, - 5409189625AB725F00086AE1 /* OpenSans-LightItalic.ttf */, - 540918A925AB726000086AE1 /* OpenSans-SemiBold.ttf */, - 540918A225AB725F00086AE1 /* Prompt-ExtraLight.ttf */, - 9C2B39F53B3E9590D7F199B8 /* Pods-drip.debug.xcconfig */, - 2C52A2D4C769AF39D11D7017 /* Pods-drip.release.xcconfig */, - 3BFD860D9B7CFC35432CDE5C /* Pods-drip-dripTests.debug.xcconfig */, - DCE7F65AA04F4A0851ED5A7A /* Pods-drip-dripTests.release.xcconfig */, - ); - path = Pods; - sourceTree = ""; - }; 832341AE1AAA6A7D00B99B32 /* Libraries */ = { isa = PBXGroup; children = ( @@ -335,7 +311,7 @@ 83CBB9F71A601CBA00E9B192 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1210; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 00E356ED1AD99517003FC87E = { @@ -416,6 +392,8 @@ files = ( ); inputPaths = ( + "$(SRCROOT)/.xcode.env.local", + "$(SRCROOT)/.xcode.env", ); name = "Bundle React Native code and images"; outputPaths = ( @@ -590,13 +568,14 @@ isa = XCBuildConfiguration; baseConfigurationReference = 5B7EB9410499542E8C5724F5 /* Pods-drip-dripTests.debug.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; BUNDLE_LOADER = "$(TEST_HOST)"; GCC_PREPROCESSOR_DEFINITIONS = ( "DEBUG=1", "$(inherited)", ); INFOPLIST_FILE = dripTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -617,10 +596,11 @@ isa = XCBuildConfiguration; baseConfigurationReference = 89C6BE57DB24E9ADA2F236DE /* Pods-drip-dripTests.release.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; BUNDLE_LOADER = "$(TEST_HOST)"; COPY_PHASE_STRIP = NO; INFOPLIST_FILE = dripTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -736,7 +716,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = ( /usr/lib/swift, "$(inherited)", @@ -800,7 +780,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = ( /usr/lib/swift, "$(inherited)", diff --git a/ios/drip.xcodeproj/xcshareddata/xcschemes/drip.xcscheme b/ios/drip.xcodeproj/xcshareddata/xcschemes/drip.xcscheme index 9de154e..86002b7 100644 --- a/ios/drip.xcodeproj/xcshareddata/xcschemes/drip.xcscheme +++ b/ios/drip.xcodeproj/xcshareddata/xcschemes/drip.xcscheme @@ -1,6 +1,6 @@ Date: Thu, 18 Jan 2024 11:33:36 +0100 Subject: [PATCH 4/9] Address xcode error messages --- ios/drip.xcodeproj/project.pbxproj | 9 +++++---- .../AppIcon.appiconset/{120-1.png => 120 1.png} | Bin .../AppIcon.appiconset/120 2.png | Bin 0 -> 3836 bytes .../AppIcon.appiconset/180 1.png | Bin 0 -> 6189 bytes .../Images.xcassets/AppIcon.appiconset/40 1.png | Bin 0 -> 1172 bytes .../Images.xcassets/AppIcon.appiconset/58 1.png | Bin 0 -> 1741 bytes .../Images.xcassets/AppIcon.appiconset/60 1.png | Bin 0 -> 1803 bytes .../Images.xcassets/AppIcon.appiconset/80 1.png | Bin 0 -> 2506 bytes .../Images.xcassets/AppIcon.appiconset/87 1.png | Bin 0 -> 2739 bytes .../AppIcon.appiconset/Contents.json | 9 +++++++++ .../AppIcon.appiconset/appstore 1.png | Bin 0 -> 43751 bytes ios/drip/Info.plist | 6 ++++-- 12 files changed, 18 insertions(+), 6 deletions(-) rename ios/drip/Images.xcassets/AppIcon.appiconset/{120-1.png => 120 1.png} (100%) create mode 100644 ios/drip/Images.xcassets/AppIcon.appiconset/120 2.png create mode 100644 ios/drip/Images.xcassets/AppIcon.appiconset/180 1.png create mode 100644 ios/drip/Images.xcassets/AppIcon.appiconset/40 1.png create mode 100644 ios/drip/Images.xcassets/AppIcon.appiconset/58 1.png create mode 100644 ios/drip/Images.xcassets/AppIcon.appiconset/60 1.png create mode 100644 ios/drip/Images.xcassets/AppIcon.appiconset/80 1.png create mode 100644 ios/drip/Images.xcassets/AppIcon.appiconset/87 1.png create mode 100644 ios/drip/Images.xcassets/AppIcon.appiconset/appstore 1.png diff --git a/ios/drip.xcodeproj/project.pbxproj b/ios/drip.xcodeproj/project.pbxproj index 82a1cff..3af69fa 100644 --- a/ios/drip.xcodeproj/project.pbxproj +++ b/ios/drip.xcodeproj/project.pbxproj @@ -35,7 +35,7 @@ 54DFE73B25D94D6E0025C3FC /* swipe.png in Resources */ = {isa = PBXBuildFile; fileRef = 54DFE73925D94D6E0025C3FC /* swipe.png */; }; 54DFE73D25D94DED0025C3FC /* cycle-icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 54DFE73C25D94DED0025C3FC /* cycle-icon.png */; }; 54DFE73E25D94DED0025C3FC /* cycle-icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 54DFE73C25D94DED0025C3FC /* cycle-icon.png */; }; - 54E1D49923E7588F003FA37B /* BuildFile in Frameworks */ = {isa = PBXBuildFile; }; + 54E1D49923E7588F003FA37B /* (null) in Frameworks */ = {isa = PBXBuildFile; }; 62F2A4645AC84CDC9506FF27 /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 9AEBF0735214455AAEDF56D5 /* libc++.tbd */; }; 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; }; BD7041F2826E4A2CBE6CB87D /* RealmJSTests.xctest in Frameworks */ = {isa = PBXBuildFile; fileRef = F79F72C5390646E0A06AAE68 /* RealmJSTests.xctest */; }; @@ -118,7 +118,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 54E1D49923E7588F003FA37B /* BuildFile in Frameworks */, + 54E1D49923E7588F003FA37B /* (null) in Frameworks */, 62F2A4645AC84CDC9506FF27 /* libc++.tbd in Frameworks */, D91133DCE120440893E2FD2E /* libz.tbd in Frameworks */, BD7041F2826E4A2CBE6CB87D /* RealmJSTests.xctest in Frameworks */, @@ -319,7 +319,6 @@ TestTargetID = 13B07F861A680F5B00A75B9A; }; 13B07F861A680F5B00A75B9A = { - DevelopmentTeam = 6AD72X6W26; LastSwiftMigration = 1120; }; }; @@ -624,6 +623,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = 6AD72X6W26; ENABLE_BITCODE = NO; INFOPLIST_FILE = drip/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( @@ -650,6 +650,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = 6AD72X6W26; INFOPLIST_FILE = drip/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -660,7 +661,7 @@ "-ObjC", "-lc++", ); - PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; + PRODUCT_BUNDLE_IDENTIFIER = org.heartofcode.drip.cycle.tracking; PRODUCT_NAME = drip; SWIFT_VERSION = 5.0; VERSIONING_SYSTEM = "apple-generic"; diff --git a/ios/drip/Images.xcassets/AppIcon.appiconset/120-1.png b/ios/drip/Images.xcassets/AppIcon.appiconset/120 1.png similarity index 100% rename from ios/drip/Images.xcassets/AppIcon.appiconset/120-1.png rename to ios/drip/Images.xcassets/AppIcon.appiconset/120 1.png diff --git a/ios/drip/Images.xcassets/AppIcon.appiconset/120 2.png b/ios/drip/Images.xcassets/AppIcon.appiconset/120 2.png new file mode 100644 index 0000000000000000000000000000000000000000..098dc1930513195ebda7e44b66f450c95544deff GIT binary patch literal 3836 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 Czg7PL literal 0 HcmV?d00001 diff --git a/ios/drip/Images.xcassets/AppIcon.appiconset/180 1.png b/ios/drip/Images.xcassets/AppIcon.appiconset/180 1.png new file mode 100644 index 0000000000000000000000000000000000000000..fc1a08616b94629491c1e49d52d0886175b20065 GIT binary patch literal 6189 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 mBwnxN^7E@Db}8KQ$NmC0t{BHYVt<|h0000Cxt z7}P}lqcOoKN?Q~mmP8xNtGkr8Qdn(E>C$ey-JRVTbMNfd2JFL`*)iyTzb4(?neTk( z-gD2rQ(^I}O)CBeOGp9zkFlI$^gl)@QjDe;y+uzT6}q=5aiebAdPYS-+l;CL7J4#k zfeL^!6eE-n9TFh&r6tQ6pm7poK^Y}a%!7Th3+)F_L9~m2C~E8`d07Hf5Cug0BMh?W zkvR;h=i64a)igkK*Z?|+Bx6lFPzKo-M)6~FQS$ga$bDg`Q3a04E_8j>g7$+Au%+AM zd7C_1lL}O@36KL}6t4H6^tlDhDgkFLim9->o%sFJv*>uY5mL4js**fflLl0~*7ZQqIl z2qRE3Qtcx#T|(=tCvmN=9a2tmz?u(K6rhG}K(q$lD)rRgd7A zZmzLrlpRxmvMCslQL%Fga_=f-X2;9R(J&Jzn@d8dEr8~&wOaU&o#GQYKI5a5;gDT1 z9Thv4Xr^Es@fmMtBxaI34gNz-xN@k;ln^$~sH(C;diJk^vnUg4L}$p3L?35SRaJO5 zA4RC6528~tq{4=PCRDcQ;cApTJs;6P*f5*J?nwb`8Fuv4wWIa5laMkUhH}*qP%83* zQ$p2&RdD2I=og@oYzlxHRry|`OEdf4mufNC+G~ha-9TA@f)V5{kLM;CgT(Y;yd)g$ zb21L;cJw!O;qv>9n6+;O?73<1e{vR=-)l6KtHyx#M=)daB1~CRZb)f|amP!G+&hHx z8;_u3_fllfFGT<8E_k=s89GSaKzVa2F#GkDNH3oRB^=dPH*aKD1=~RaI_2I96s((# zaOVKLTaF@fb&zYU9>=5)XgrUkOglU^t6_J$xS2Mi-X&T$-;O$D%*;i}Q}fwM`gYVC z%2Q)NvmK~95O+dRiaWi@`Pc6Vs6EFC->zdwE6rx#EME)3yS*Nv_JD3d(g&2oR)rvm z@VvPS&Z$}E)KBhPRoF5eIRD~za4(vQ;z#Eq?C(eOmZOk+LKcTEcgq5lK^c{MmchNS zm@S}T)lJ-YD2j8>e}l3Y?u2`B34&+4;oVkeC|qz!;1!EHj$mx=_d~(e{ChmajCL` zmRF7=&~OD(hJJUXA1E~yannF%K6k}*-L;fhqOw6Y&$s&+BHaTla-;!+7kbgWt=4c_ z7y>%XYFQ4864$qX&{ie-OexC=B_!kGz8^8z7C=?aJ&>{-JY{IvcLKe~Fa672mspLD zPl`5FW7;#fb15JuCbG!1)4}wf=)k47eug8@#o|UbkQ(l*UtdI9%}<6xHn9(5j1J!g zJhv^|v=Dh~D>bn6PGzjRs)F;b^9wJRkHQD4Q20<4PYekp`P~b9zSmka^3Vq7N2URV zLS2V~=^O7r-hGvb_S35eRm-iBfJgY*i+hhFYfe52)_dT{OGhjiVPy@R@^foOhbPdx z851V><^UyT35)_(;)44xM1E zp`D0{uM^D$8qZl0C}k)LC8EGtoQbU43XtiU%%c{vckJ{+GIu2dzH6M1q2B_W*S2&? zw<#D)0Fwe#3sZqfp|B)@;XgS*uBy1gFdL!uM0Ue>pLj2_t zM`9uzIbSuQQYnQ^4AZ}3Hu*p&Qcx}UP70_6hivI1QjA)9+!j16#i#{`Z0RFXj9Pl! j7CbD)s0D{?=_CFGjVu+2;^a?`00000NkvXXu0mjfc^)Xa literal 0 HcmV?d00001 diff --git a/ios/drip/Images.xcassets/AppIcon.appiconset/60 1.png b/ios/drip/Images.xcassets/AppIcon.appiconset/60 1.png new file mode 100644 index 0000000000000000000000000000000000000000..4a265c8159b2bf1e64584c219b46f29d4fca959c GIT binary patch literal 1803 zcmV+m2lV)fP)F=zMiVbV4H`4VVE_pr#0}V$%iJieW3a8;dOyd!Z(D|lZ1#LD%k1}WYkPX0?|I(m zeZKcpT3GU;j{nh;l7L4!+ewB;Il)LWoMd>E?Lbn}qm0mhz_~pPOA;gr(6z*eyo3Xm zWC0u|lBg`9WJ5X9r;lU9ih_-5mkdiuQ{lVR zkH)q85WMPTsmH5j#St)|d4ia-b|J=AOhT~R%M!lXBG4q~zEhoOs;U9&T&6}XzNF&< zm{<(-_>jMP7V=ilLV&<3HwSx->7WMHo`SBu=Wuq*Z&0a66L7&xIAHFzy?!{B6rgC` zVrZTKI93f~5z{8S1#KUlfb;WHFvX!=i3Kc6(0xIev#lt7XE_wB8G0}@Y`|eB1J`i# z8~f37?4oez77JJcyK?bcOEG5d_?w#4kVI=bB#VN;We*xEs}bz;hihMux`hE|Dfjp= z{;?S-STko>b^CAN*~Bu;=-PK4XWu>qHQg-CwS@rY1A!-qv?2$lZMiq>vc$;nO81t| zO@IlwsLU+{FaaYeQ@^#%$>A7zW4|3z$~V42*CCk{1iCz^f2n#fuo#rKVZc#W&RR7E zlPm9Lhc*m00$z`_s!LziqwT}rg&Z;r119N8s)W+5D`1(B4&DDBUHKN&)5dY)(sVRb z?uDnl7qVFmmrRVy5a2;}iz4j$gt1F_D2ghnDhCqR?nbnJa1?5Wv7@9Rz!WGnZxF?A zE=9(?T!i`qAOkbJ=n@)GUs;X(CuYO3C?DQ-ceqW_chKP@Mv`L(Oy3#MIAoN)y8@C~ zF(kF?H;H6S*}CE7y-1tlK;d)qp?O0%v+)3~9&U$9fhNXzSj>QlNeTsyMFl9TS{!y! z5$safqKN58LEDbw=x@G)X`3rJtzFnv3+JbGhRiE=z>%Pl^KdC9K0BX7hcI{6beJ+M z=-Aze&L3M)_TEa4o38Jg(7N4N9UBIm`{*4gczUjIz+_IHKeV9Z>jsovTgT4GRrLI3p;CXlcXt54g`=sBO4`~ z%7ymdXbqD|QTQmTTEYXqb6XFitNL8{1eIvhqBzOpnN$^J+g8AonFc)|Aaqc>p;>{Z zqi)R}eEK_L^DAk?{cWnn6U-=o?4;G`~skzYn zA$Z$+IfPL9GIHcJ%rK`TNrLVV!ZO~5(yhyR&P+`4)N!a4IWzMtI;f-Ln+CLfd;+?+9!p6L%kO$HmW1 z@}#ry`MWT-ypT=GG&U9OpZo#mt~$d~77BO}v=2ECm15#E^LPS626WT(6#+{JkLIcx zc%6O7eqbsytE8KG!zfzvIe5o$$Y~~FIb8_D*LE-B+L_BIGid6Up*}x!E$rxjt3PUM zL7i*XT9OG%j+L`HmxQLXOJDk`o)Z>-F2>W*ja4NS@b#@Kb+R3KkI#gCK^`QN%p)MG zZ4L~Pn59F;don!-c+%xq+q7jo;O z{wiD4!P?e!K2Ot=iN1y|T&ZbA?=dHD3jaDF4iC!X0yyg4Jlq=y@Qu?G#FPm(SaPjl z<^Zl$zpEc!r<;d$WODRiO(N%yF**)Kbo>BEzByXEBxlX9g&%rH!O)Le6p4oia^yi< zynqUK>7jO(Uzeq@Z$(>lw49@J>|tHR*qh?cu(8_{|LG)P@q0S5u9#$aWbq;XZjua( t-_wzG#U#Tcix2U4lVn)@o{p?5{soHBa4NYO=q&&M002ovPDHLkV1n%KT~Po4 literal 0 HcmV?d00001 diff --git a/ios/drip/Images.xcassets/AppIcon.appiconset/80 1.png b/ios/drip/Images.xcassets/AppIcon.appiconset/80 1.png new file mode 100644 index 0000000000000000000000000000000000000000..5869086fda27daf0854adebd67b2946a97283e45 GIT binary patch literal 2506 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 D9*K0+ literal 0 HcmV?d00001 diff --git a/ios/drip/Info.plist b/ios/drip/Info.plist index 8dc3cc0..07428b9 100644 --- a/ios/drip/Info.plist +++ b/ios/drip/Info.plist @@ -8,8 +8,10 @@ drip. CFBundleExecutable $(EXECUTABLE_NAME) + CFBundleIconName + AppIcon CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) + org.heartofcode.drip.cycle.tracking CFBundleInfoDictionaryVersion 6.0 CFBundleName @@ -17,7 +19,7 @@ CFBundlePackageType APPL CFBundleShortVersionString - drip. menstrual cycle & fertility tracking + 1.2401.17 CFBundleSignature ???? CFBundleVersion From 45fce6485b3ce522ee50af11db69f4ddda8221f4 Mon Sep 17 00:00:00 2001 From: bl00dymarie Date: Thu, 18 Jan 2024 11:53:53 +0100 Subject: [PATCH 5/9] Release: iOS-1.2401.17 --- CHANGELOG.md | 74 ++++++++++++++++++++++++++++++++++++++++++---------- package.json | 2 +- 2 files changed, 61 insertions(+), 15 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5d8e546..b5520c1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,42 @@ All notable changes to this project will be documented in this file. -## v1.2311.14 +## v1.2401.17 iOS + +### Changes + +- Updating React Native to 0.68.3 +- Minor changes in temperature chart + +### Adds + +- Temperature scale slider +- out of range warning messages for temperature values + +### Fixed + +- Order of import buttons + +## v1.2312.11 iOS + +### Changes + +- Chart: Improved readability + - Finer temperature lines and dots + - Enlarge screen space for temperature chart + - A very light grey background color for weekend days on the whole chart screen +- Homescreen: date displayed in new format +- Minor changes in "about" section + +See more under v1.2311.14 Android + +### Adds + +- Stats: Show period details, including cycle start, cycle length and amount of days with bleeding +- Stats: Explainer text for standard deviation +- App asks for permissions for notifications right at the start, which allows you to set reminders (this is a new requirement for Android 13) + +## v1.2311.14 Android ### Changes @@ -64,11 +99,22 @@ All notable changes to this project will be documented in this file. - Chart: Grid for symptoms - Chart: Horizontal lines in temperature chart -## Unreleased +### Unreleased - Partially implemented translations with react-i18next -## v1.2102.28 +## v1.2208.11 iOS + +### Adds + +- first iOS Release + +### Unreleased + +- Temperature scale slider +- Warning message for out of scope temperature values + +## v1.2102.28 Android ### Changes @@ -81,7 +127,7 @@ All notable changes to this project will be documented in this file. - Phase text on home screen for last fertile day - Styling improvements -## v1.2101.9 +## v1.2101.9 Android ### Adds @@ -124,7 +170,7 @@ All notable changes to this project will be documented in this file. - Fixed react-native-vector-icon - Fixed AppLoadingView component centering -## v0.2007-12.beta +## v0.2007-12.beta Android ### Adds @@ -159,7 +205,7 @@ All notable changes to this project will be documented in this file. - Updates of node.js to fix security issue -## v0.2005.3-beta +## v0.2005.3-beta Android - Adds arm64-v8a and x86_64 for supporting 64-bit architecture - Adds Mariya & Sofiya as contributors <3 @@ -259,7 +305,7 @@ All notable changes to this project will be documented in this file. - Adds release wizard - Updates nodejs-mobile to fix security issue -## v0.1905.29-beta +## v0.1905.29-beta Android ### Changes @@ -280,7 +326,7 @@ All notable changes to this project will be documented in this file. - Line width in chart - Prediction range in drop on homescreen -## v0.1905.28-beta +## v0.1905.28-beta Android - Displays all the text for Home Elements; Shortens margin btw Home Elements; Adds missing "visit" to text - Adds donation section to about @@ -355,7 +401,7 @@ All notable changes to this project will be documented in this file. - Nicer formatting for past bleeding prediction - Fixed prediction range in drop on homescreen -## v0.1905.10-beta +## v0.1905.10-beta Android - Filter release commits from changelog - Adds update-changelog script @@ -380,7 +426,7 @@ All notable changes to this project will be documented in this file. - Delete password button bug fix - temperature screen styling update -## v0.0.3 - 2019-04-17 +## v0.0.3 - 2019-04-17 Android ### Changes @@ -390,9 +436,9 @@ All notable changes to this project will be documented in this file. - Button functionality in settings for password -## v0.0.2 - 2019-04-09 +## v0.0.2 - 2019-04-09 Android -## Second updated beta release version +## Second updated beta release version Android ### Changes @@ -406,9 +452,9 @@ All notable changes to this project will be documented in this file. - Delete button for sex, pain and mood - Dates on chart -## v0.0.1 - 2019-02-15 +## v0.0.1 - 2019-02-15 Android -## First beta release version +## First beta release version Android ### Added (list of core functionality) diff --git a/package.json b/package.json index 6230c5b..5878c61 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "drip.", - "version": "1.2311.14", + "version": "1.2401.17", "contributors": [ "Julia Friesel ", "Marie Kochsiek", From fb589815c1600536ea0e89a83b531861a2fa330e Mon Sep 17 00:00:00 2001 From: bl00dymarie Date: Thu, 15 Feb 2024 12:12:02 +0100 Subject: [PATCH 6/9] Update iPhone versions in script --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 5878c61..646b137 100644 --- a/package.json +++ b/package.json @@ -12,8 +12,8 @@ "scripts": { "start": "react-native start", "android": "react-native run-android", - "ios": "react-native run-ios --simulator=\"iPhone 8 Plus\"", - "ios14": "react-native run-ios --simulator=\"iPhone 14 Plus\"", + "ios": "react-native run-ios --simulator=\"iPhone 15\"", + "iosSE": "react-native run-ios --simulator=\"iPhone SE (2nd generation)\"", "log": "react-native log-android", "test": "jest test && yarn lint", "test-watch": "jest --watch test", From 391cac1bdecd91b018408fa015d749428b226fe1 Mon Sep 17 00:00:00 2001 From: bl00dymarie Date: Thu, 15 Feb 2024 12:13:19 +0100 Subject: [PATCH 7/9] Update xcode project --- ios/drip.xcodeproj/project.pbxproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ios/drip.xcodeproj/project.pbxproj b/ios/drip.xcodeproj/project.pbxproj index 3af69fa..23ee0c1 100644 --- a/ios/drip.xcodeproj/project.pbxproj +++ b/ios/drip.xcodeproj/project.pbxproj @@ -35,7 +35,7 @@ 54DFE73B25D94D6E0025C3FC /* swipe.png in Resources */ = {isa = PBXBuildFile; fileRef = 54DFE73925D94D6E0025C3FC /* swipe.png */; }; 54DFE73D25D94DED0025C3FC /* cycle-icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 54DFE73C25D94DED0025C3FC /* cycle-icon.png */; }; 54DFE73E25D94DED0025C3FC /* cycle-icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 54DFE73C25D94DED0025C3FC /* cycle-icon.png */; }; - 54E1D49923E7588F003FA37B /* (null) in Frameworks */ = {isa = PBXBuildFile; }; + 54E1D49923E7588F003FA37B /* BuildFile in Frameworks */ = {isa = PBXBuildFile; }; 62F2A4645AC84CDC9506FF27 /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 9AEBF0735214455AAEDF56D5 /* libc++.tbd */; }; 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; }; BD7041F2826E4A2CBE6CB87D /* RealmJSTests.xctest in Frameworks */ = {isa = PBXBuildFile; fileRef = F79F72C5390646E0A06AAE68 /* RealmJSTests.xctest */; }; @@ -118,7 +118,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 54E1D49923E7588F003FA37B /* (null) in Frameworks */, + 54E1D49923E7588F003FA37B /* BuildFile in Frameworks */, 62F2A4645AC84CDC9506FF27 /* libc++.tbd in Frameworks */, D91133DCE120440893E2FD2E /* libz.tbd in Frameworks */, BD7041F2826E4A2CBE6CB87D /* RealmJSTests.xctest in Frameworks */, From 3193fa4f33c75578c3210381006dfc296210beef Mon Sep 17 00:00:00 2001 From: bl00dymarie Date: Tue, 16 Jan 2024 16:09:19 +0100 Subject: [PATCH 8/9] Partial update RN to 0.68.3 for android build --- .../gradle/wrapper/gradle-wrapper.properties | 3 +- android/gradlew | 288 ++++++++++-------- android/settings.gradle | 7 + 3 files changed, 176 insertions(+), 122 deletions(-) diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties index 91ca481..93ffa26 100644 --- a/android/gradle/wrapper/gradle-wrapper.properties +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,5 @@ -#Wed Oct 11 14:45:21 CEST 2023 distributionBase=GRADLE_USER_HOME -distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-all.zip distributionPath=wrapper/dists zipStorePath=wrapper/dists zipStoreBase=GRADLE_USER_HOME diff --git a/android/gradlew b/android/gradlew index 8dd5d17..1b6c787 100755 --- a/android/gradlew +++ b/android/gradlew @@ -1,7 +1,7 @@ -#!/usr/bin/env bash +#!/bin/sh # -# Copyright 2015 the original author or authors. +# Copyright © 2015-2021 the original authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,70 +17,103 @@ # ############################################################################## -## -## Gradle start up script for UN*X -## +# +# Gradle start up script for POSIX generated by Gradle. +# +# Important for running: +# +# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is +# noncompliant, but you have some other compliant shell such as ksh or +# bash, then to run this script, type that shell name before the whole +# command line, like: +# +# ksh Gradle +# +# Busybox and similar reduced shells will NOT work, because this script +# requires all of these POSIX shell features: +# * functions; +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». +# +# Important for patching: +# +# (2) This script targets any POSIX shell, so it avoids extensions provided +# by Bash, Ksh, etc; in particular arrays are avoided. +# +# The "traditional" practice of packing multiple parameters into a +# space-separated string is a well documented source of bugs and security +# problems, so this is (mostly) avoided, by progressively accumulating +# options in "$@", and eventually passing that to Java. +# +# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, +# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; +# see the in-line comments for details. +# +# There are tweaks for specific operating systems such as AIX, CygWin, +# Darwin, MinGW, and NonStop. +# +# (3) This script is generated from the Groovy template +# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# within the Gradle project. +# +# You can find Gradle at https://github.com/gradle/gradle/. +# ############################################################################## +# Attempt to set APP_HOME + +# Resolve links: $0 may be a link +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac +done + +APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit + +APP_NAME="Gradle" +APP_BASE_NAME=${0##*/} + # 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"' -APP_NAME="Gradle" -APP_BASE_NAME=`basename "$0"` - # Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD="maximum" +MAX_FD=maximum -warn ( ) { +warn () { echo "$*" -} +} >&2 -die ( ) { +die () { echo echo "$*" echo exit 1 -} +} >&2 # OS specific support (must be 'true' or 'false'). cygwin=false msys=false darwin=false -case "`uname`" in - CYGWIN* ) - cygwin=true - ;; - Darwin* ) - darwin=true - ;; - MINGW* ) - msys=true - ;; +nonstop=false +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; esac -# For Cygwin, ensure paths are in UNIX format before anything is touched. -if $cygwin ; then - [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` -fi - -# Attempt to set APP_HOME -# Resolve links: $0 may be a link -PRG="$0" -# Need this for relative symlinks. -while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi -done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >&- -APP_HOME="`pwd -P`" -cd "$SAVED" >&- - CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar @@ -88,9 +121,9 @@ CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" + JAVACMD=$JAVA_HOME/jre/sh/java else - JAVACMD="$JAVA_HOME/bin/java" + JAVACMD=$JAVA_HOME/bin/java fi if [ ! -x "$JAVACMD" ] ; then die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME @@ -99,7 +132,7 @@ Please set the JAVA_HOME variable in your environment to match the location of your Java installation." fi else - JAVACMD="java" + 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. Please set the JAVA_HOME variable in your environment to match the @@ -107,80 +140,95 @@ location of your Java installation." fi # Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then - MAX_FD_LIMIT=`ulimit -H -n` - if [ $? -eq 0 ] ; then - if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then - MAX_FD="$MAX_FD_LIMIT" - fi - ulimit -n $MAX_FD - if [ $? -ne 0 ] ; then - warn "Could not set maximum file descriptor limit: $MAX_FD" - fi - else - warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" - fi -fi - -# For Darwin, add options to specify how the application appears in the dock -if $darwin; then - GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" -fi - -# For Cygwin or MSYS, switch paths to Windows format before running java -if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then - APP_HOME=`cygpath --path --mixed "$APP_HOME"` - CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` - - JAVACMD=`cygpath --unix "$JAVACMD"` - - # We build the pattern for arguments to be converted via cygpath - ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` - SEP="" - for dir in $ROOTDIRSRAW ; do - ROOTDIRS="$ROOTDIRS$SEP$dir" - SEP="|" - done - OURCYGPATTERN="(^($ROOTDIRS))" - # Add a user-defined pattern to the cygpath arguments - if [ "$GRADLE_CYGPATTERN" != "" ] ; then - OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" - fi - # Now convert the arguments - kludge to limit ourselves to /bin/sh - i=0 - for arg in "$@" ; do - CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` - CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option - - if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition - eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` - else - eval `echo args$i`="\"$arg\"" - fi - i=`expr $i + 1` - done - case $i in - 0) set -- ;; - 1) set -- "$args0" ;; - 2) set -- "$args0" "$args1" ;; - 3) set -- "$args0" "$args1" "$args2" ;; - 4) set -- "$args0" "$args1" "$args2" "$args3" ;; - 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; - 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; - 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; - 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; - 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" esac fi -# Escape application args -save () { - for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done - echo " " -} -APP_ARGS=`save "$@"` +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. -# Collect all arguments for the java command, following the shell quoting and substitution rules -eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" +# For Cygwin or MSYS, switch paths to Windows format before running java +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + + # Now convert the arguments - kludge to limit ourselves to /bin/sh + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) + fi + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg + done +fi + +# 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 +# double quotes to make sure that they get re-expanded; and +# * put everything else in single quotes, so that it's not re-expanded. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ + "$@" + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# + +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' exec "$JAVACMD" "$@" diff --git a/android/settings.gradle b/android/settings.gradle index 7f01b05..84bd374 100644 --- a/android/settings.gradle +++ b/android/settings.gradle @@ -3,3 +3,10 @@ rootProject.name = 'drip' apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings) include ':app' + +includeBuild('../node_modules/react-native-gradle-plugin') + +if (settings.hasProperty("newArchEnabled") && settings.newArchEnabled == "true") { + include(":ReactAndroid") + project(":ReactAndroid").projectDir = file('../node_modules/react-native/ReactAndroid') +} From 4eedb171a361d82b3cb8a967e000dafcdaf21c69 Mon Sep 17 00:00:00 2001 From: bl00dymarie Date: Thu, 15 Feb 2024 14:31:46 +0100 Subject: [PATCH 9/9] Full upgrade to react native v0.68.3 for Android --- .gitignore | 3 ++- .prettierrc.js | 7 +++-- android/app/build.gradle | 4 +-- android/app/src/debug/AndroidManifest.xml | 2 +- .../java/com/drip/ReactNativeFlipper.java | 7 ++--- android/app/src/main/AndroidManifest.xml | 6 ++--- .../src/main/java/com/drip/MainActivity.java | 25 ++++++++++++++++++ .../main/java/com/drip/MainApplication.java | 3 ++- android/build.gradle | 16 ++++++++--- android/gradle.properties | 19 +++++++++---- android/gradle/wrapper/gradle-wrapper.jar | Bin 59203 -> 59536 bytes package.json | 2 +- 12 files changed, 72 insertions(+), 22 deletions(-) diff --git a/.gitignore b/.gitignore index 5fe41be..d356a39 100644 --- a/.gitignore +++ b/.gitignore @@ -59,8 +59,9 @@ buck-out/ # Bundle artifact *.jsbundle -# CocoaPods +# Ruby / CocoaPods /ios/Pods/ +/vendor/bundle/ # RN android release android/app/bin/ diff --git a/.prettierrc.js b/.prettierrc.js index 3f714ac..2b54074 100644 --- a/.prettierrc.js +++ b/.prettierrc.js @@ -1,4 +1,7 @@ module.exports = { + arrowParens: 'avoid', + bracketSameLine: true, + bracketSpacing: false, singleQuote: true, - semi: false, -} + trailingComma: 'all', +}; diff --git a/android/app/build.gradle b/android/app/build.gradle index aaecb89..268c688 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -134,8 +134,8 @@ android { applicationId "com.drip" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 25 - versionName "1.2311.14" + versionCode 27 + versionName "1.2402.15" ndk { abiFilters "armeabi-v7a", "x86", "arm64-v8a", "x86_64" } diff --git a/android/app/src/debug/AndroidManifest.xml b/android/app/src/debug/AndroidManifest.xml index 2541280..1c0e59a 100644 --- a/android/app/src/debug/AndroidManifest.xml +++ b/android/app/src/debug/AndroidManifest.xml @@ -8,6 +8,6 @@ android:usesCleartextTraffic="true" tools:targetApi="28" tools:ignore="GoogleAppIndexingWarning"> - + diff --git a/android/app/src/debug/java/com/drip/ReactNativeFlipper.java b/android/app/src/debug/java/com/drip/ReactNativeFlipper.java index 07e08af..60d95d0 100644 --- a/android/app/src/debug/java/com/drip/ReactNativeFlipper.java +++ b/android/app/src/debug/java/com/drip/ReactNativeFlipper.java @@ -1,10 +1,10 @@ /** - * Copyright (c) Facebook, Inc. and its affiliates. + * Copyright (c) Meta Platforms, Inc. and affiliates. * *

This source code is licensed under the MIT license found in the LICENSE file in the root * directory of this source tree. */ -package com.rndiffapp; +package com.drip; import android.content.Context; import com.facebook.flipper.android.AndroidFlipperClient; import com.facebook.flipper.android.utils.FlipperUtils; @@ -18,6 +18,7 @@ import com.facebook.flipper.plugins.network.FlipperOkhttpInterceptor; import com.facebook.flipper.plugins.network.NetworkFlipperPlugin; import com.facebook.flipper.plugins.react.ReactFlipperPlugin; import com.facebook.flipper.plugins.sharedpreferences.SharedPreferencesFlipperPlugin; +import com.facebook.react.ReactInstanceEventListener; import com.facebook.react.ReactInstanceManager; import com.facebook.react.bridge.ReactContext; import com.facebook.react.modules.network.NetworkingModule; @@ -46,7 +47,7 @@ public class ReactNativeFlipper { ReactContext reactContext = reactInstanceManager.getCurrentReactContext(); if (reactContext == null) { reactInstanceManager.addReactInstanceEventListener( - new ReactInstanceManager.ReactInstanceEventListener() { + new ReactInstanceEventListener() { @Override public void onReactContextInitialized(ReactContext reactContext) { reactInstanceManager.removeReactInstanceEventListener(this); diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index d514aab..bccc393 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -57,12 +57,12 @@ + android:screenOrientation="sensorPortrait" + android:exported="true"> diff --git a/android/app/src/main/java/com/drip/MainActivity.java b/android/app/src/main/java/com/drip/MainActivity.java index 2de6d9e..c15e17a 100644 --- a/android/app/src/main/java/com/drip/MainActivity.java +++ b/android/app/src/main/java/com/drip/MainActivity.java @@ -1,6 +1,8 @@ package com.drip; import com.facebook.react.ReactActivity; +import com.facebook.react.ReactActivityDelegate; +import com.facebook.react.ReactRootView; public class MainActivity extends ReactActivity { @@ -12,4 +14,27 @@ public class MainActivity extends ReactActivity { protected String getMainComponentName() { return "drip"; } + + /** + * Returns the instance of the {@link ReactActivityDelegate}. There the RootView is created and + * you can specify the rendered you wish to use (Fabric or the older renderer). + */ + @Override + protected ReactActivityDelegate createReactActivityDelegate() { + return new MainActivityDelegate(this, getMainComponentName()); + } + + public static class MainActivityDelegate extends ReactActivityDelegate { + public MainActivityDelegate(ReactActivity activity, String mainComponentName) { + super(activity, mainComponentName); + } + + @Override + protected ReactRootView createRootView() { + ReactRootView reactRootView = new ReactRootView(getContext()); + // If you opted-in for the New Architecture, we enable the Fabric Renderer. + return reactRootView; + } + } } + diff --git a/android/app/src/main/java/com/drip/MainApplication.java b/android/app/src/main/java/com/drip/MainApplication.java index 00a9ee9..9e7717d 100644 --- a/android/app/src/main/java/com/drip/MainApplication.java +++ b/android/app/src/main/java/com/drip/MainApplication.java @@ -8,6 +8,7 @@ import com.facebook.react.ReactInstanceManager; import cl.json.ShareApplication; import com.facebook.react.ReactNativeHost; import com.facebook.react.ReactPackage; +import com.facebook.react.config.ReactFeatureFlags; import com.facebook.soloader.SoLoader; import java.lang.reflect.InvocationTargetException; import java.util.List; @@ -62,7 +63,7 @@ public class MainApplication extends Application implements ReactApplication, Sh We use reflection here to pick up the class that initializes Flipper, since Flipper library is not available in release mode */ - Class aClass = Class.forName("com.rndiffapp.ReactNativeFlipper"); + Class aClass = Class.forName("com.drip.ReactNativeFlipper"); aClass .getMethod("initializeFlipper", Context.class, ReactInstanceManager.class) .invoke(null, context, reactInstanceManager); diff --git a/android/build.gradle b/android/build.gradle index 23498c3..dc78ab3 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -1,3 +1,5 @@ +import org.apache.tools.ant.taskdefs.condition.Os + // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { @@ -7,8 +9,9 @@ buildscript { } ext.kotlinVersion = '1.3.40' dependencies { - classpath('com.android.tools.build:gradle:7.0.3') - + classpath('com.android.tools.build:gradle:7.0.4') + classpath("com.facebook.react:react-native-gradle-plugin") + classpath("de.undercouch:gradle-download-task:4.1.2") // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion") @@ -50,5 +53,12 @@ ext { minSdkVersion = 21 compileSdkVersion = 33 targetSdkVersion = 33 - ndkVersion = "21.4.7075529" + + if (System.properties['os.arch'] == "aarch64") { + // For M1 Users we need to use the NDK 24 which added support for aarch64 + ndkVersion = "24.0.8215888" + } else { + // Otherwise we default to the side-by-side NDK version from AGP. + ndkVersion = "21.4.7075529" + } } diff --git a/android/gradle.properties b/android/gradle.properties index e966148..fa4feae 100644 --- a/android/gradle.properties +++ b/android/gradle.properties @@ -9,8 +9,8 @@ # Specifies the JVM arguments used for the daemon process. # The setting is particularly useful for tweaking memory settings. -# Default value: -Xmx1024m -XX:MaxPermSize=256m -# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 +# Default value: -Xmx512m -XX:MaxMetaspaceSize=256m +org.gradle.jvmargs=-Xmx2048m -XX:MaxMetaspaceSize=512m # When configured, Gradle will run in incubating parallel mode. # This option should only be used with decoupled projects. More details, visit @@ -25,7 +25,16 @@ android.useAndroidX=true android.enableJetifier=true # Version of flipper SDK to use with React Native -FLIPPER_VERSION=0.99.0 +FLIPPER_VERSION=0.125.0 -# https://github.com/facebook/react-native/issues/30729 -org.gradle.jvmargs=-Xmx4g \ No newline at end of file +# Use this property to specify which architecture you want to build. +# You can also override it from the CLI using +# ./gradlew -PreactNativeArchitectures=x86_64 +reactNativeArchitectures=armeabi-v7a,arm64-v8a,x86,x86_64 + +# Use this property to enable support to the new architecture. +# This will allow you to use TurboModules and the Fabric render in +# your application. You should enable this flag either if you want +# to write custom TurboModules/Fabric components OR use libraries that +# are providing them. +newArchEnabled=false diff --git a/android/gradle/wrapper/gradle-wrapper.jar b/android/gradle/wrapper/gradle-wrapper.jar index e708b1c023ec8b20f512888fe07c5bd3ff77bb8f..7454180f2ae8848c63b8b4dea2cb829da983f2fa 100644 GIT binary patch delta 18435 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 B8dv}T delta 17845 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 X49Luk)baa85H9$5YCsTPT`SVRWMtMW diff --git a/package.json b/package.json index 6bb4ee5..876c7a4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "drip.", - "version": "1.2401.17", + "version": "1.2402.15", "contributors": [ "Julia Friesel ", "Marie Kochsiek",