From 6390d56470a480b6e4779c49e0caf10605959f1b Mon Sep 17 00:00:00 2001 From: Niklas Korz Date: Mon, 1 Jan 2024 22:52:34 +0100 Subject: [PATCH] Regenerate iOS and Android projects, patch boost issue --- app/android/app/src/main/AndroidManifest.xml | 2 +- .../app/src/main/res/values/strings.xml | 3 +- app/android/settings.gradle | 2 +- app/app.json | 3 +- app/ios/.gitignore | 30 + app/ios/.xcode.env | 11 + app/ios/Musclecat.xcodeproj/project.pbxproj | 555 ++++++++++++ .../xcshareddata/xcschemes/Musclecat.xcscheme | 88 ++ .../contents.xcworkspacedata | 10 + app/ios/Musclecat/AppDelegate.h | 7 + app/ios/Musclecat/AppDelegate.mm | 57 ++ .../App-Icon-1024x1024@1x.png | Bin 0 -> 59468 bytes .../AppIcon.appiconset/Contents.json | 14 + .../Musclecat/Images.xcassets/Contents.json | 6 + .../SplashScreen.imageset/Contents.json | 21 + .../SplashScreen.imageset/image.png | Bin 0 -> 59836 bytes .../Contents.json | 21 + .../SplashScreenBackground.imageset/image.png | Bin 0 -> 68 bytes app/ios/Musclecat/Info.plist | 84 ++ app/ios/Musclecat/Musclecat-Bridging-Header.h | 3 + app/ios/Musclecat/Musclecat.entitlements | 8 + app/ios/Musclecat/SplashScreen.storyboard | 51 ++ app/ios/Musclecat/Supporting/Expo.plist | 14 + app/ios/Musclecat/main.m | 10 + app/ios/Musclecat/noop-file.swift | 4 + app/ios/Podfile | 87 ++ app/ios/Podfile.lock | 830 ++++++++++++++++++ app/ios/Podfile.properties.json | 4 + app/package-lock.json | 816 +++++++++++++++++ app/package.json | 13 +- app/patches/react-native+0.72.6.patch | 13 + 31 files changed, 2759 insertions(+), 8 deletions(-) create mode 100644 app/ios/.gitignore create mode 100644 app/ios/.xcode.env create mode 100644 app/ios/Musclecat.xcodeproj/project.pbxproj create mode 100644 app/ios/Musclecat.xcodeproj/xcshareddata/xcschemes/Musclecat.xcscheme create mode 100644 app/ios/Musclecat.xcworkspace/contents.xcworkspacedata create mode 100644 app/ios/Musclecat/AppDelegate.h create mode 100644 app/ios/Musclecat/AppDelegate.mm create mode 100644 app/ios/Musclecat/Images.xcassets/AppIcon.appiconset/App-Icon-1024x1024@1x.png create mode 100644 app/ios/Musclecat/Images.xcassets/AppIcon.appiconset/Contents.json create mode 100644 app/ios/Musclecat/Images.xcassets/Contents.json create mode 100644 app/ios/Musclecat/Images.xcassets/SplashScreen.imageset/Contents.json create mode 100644 app/ios/Musclecat/Images.xcassets/SplashScreen.imageset/image.png create mode 100644 app/ios/Musclecat/Images.xcassets/SplashScreenBackground.imageset/Contents.json create mode 100644 app/ios/Musclecat/Images.xcassets/SplashScreenBackground.imageset/image.png create mode 100644 app/ios/Musclecat/Info.plist create mode 100644 app/ios/Musclecat/Musclecat-Bridging-Header.h create mode 100644 app/ios/Musclecat/Musclecat.entitlements create mode 100644 app/ios/Musclecat/SplashScreen.storyboard create mode 100644 app/ios/Musclecat/Supporting/Expo.plist create mode 100644 app/ios/Musclecat/main.m create mode 100644 app/ios/Musclecat/noop-file.swift create mode 100644 app/ios/Podfile create mode 100644 app/ios/Podfile.lock create mode 100644 app/ios/Podfile.properties.json create mode 100644 app/patches/react-native+0.72.6.patch diff --git a/app/android/app/src/main/AndroidManifest.xml b/app/android/app/src/main/AndroidManifest.xml index 6976136..287c2fe 100644 --- a/app/android/app/src/main/AndroidManifest.xml +++ b/app/android/app/src/main/AndroidManifest.xml @@ -26,7 +26,7 @@ - + diff --git a/app/android/app/src/main/res/values/strings.xml b/app/android/app/src/main/res/values/strings.xml index bbb7996..1ebe6a7 100644 --- a/app/android/app/src/main/res/values/strings.xml +++ b/app/android/app/src/main/res/values/strings.xml @@ -1,5 +1,6 @@ - app + Musclecat contain false + automatic \ No newline at end of file diff --git a/app/android/settings.gradle b/app/android/settings.gradle index 9213367..1429494 100644 --- a/app/android/settings.gradle +++ b/app/android/settings.gradle @@ -1,4 +1,4 @@ -rootProject.name = 'app' +rootProject.name = 'Musclecat' apply from: new File(["node", "--print", "require.resolve('expo/package.json')"].execute(null, rootDir).text.trim(), "../scripts/autolinking.gradle"); useExpoModules() diff --git a/app/app.json b/app/app.json index 6ee2546..dbabfe3 100644 --- a/app/app.json +++ b/app/app.json @@ -15,7 +15,8 @@ "**/*" ], "ios": { - "supportsTablet": true + "supportsTablet": true, + "bundleIdentifier": "dev.korz.musclecat" }, "android": { "adaptiveIcon": { diff --git a/app/ios/.gitignore b/app/ios/.gitignore new file mode 100644 index 0000000..8beb344 --- /dev/null +++ b/app/ios/.gitignore @@ -0,0 +1,30 @@ +# OSX +# +.DS_Store + +# Xcode +# +build/ +*.pbxuser +!default.pbxuser +*.mode1v3 +!default.mode1v3 +*.mode2v3 +!default.mode2v3 +*.perspectivev3 +!default.perspectivev3 +xcuserdata +*.xccheckout +*.moved-aside +DerivedData +*.hmap +*.ipa +*.xcuserstate +project.xcworkspace +.xcode.env.local + +# Bundle artifacts +*.jsbundle + +# CocoaPods +/Pods/ diff --git a/app/ios/.xcode.env b/app/ios/.xcode.env new file mode 100644 index 0000000..3d5782c --- /dev/null +++ b/app/ios/.xcode.env @@ -0,0 +1,11 @@ +# This `.xcode.env` file is versioned and is used to source the environment +# used when running script phases inside Xcode. +# To customize your local environment, you can create an `.xcode.env.local` +# file that is not versioned. + +# NODE_BINARY variable contains the PATH to the node executable. +# +# Customize the NODE_BINARY variable here. +# For example, to use nvm with brew, add the following line +# . "$(brew --prefix nvm)/nvm.sh" --no-use +export NODE_BINARY=$(command -v node) diff --git a/app/ios/Musclecat.xcodeproj/project.pbxproj b/app/ios/Musclecat.xcodeproj/project.pbxproj new file mode 100644 index 0000000..0c7fcdf --- /dev/null +++ b/app/ios/Musclecat.xcodeproj/project.pbxproj @@ -0,0 +1,555 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 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 */; }; + 3E461D99554A48A4959DE609 /* SplashScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = AA286B85B6C04FC6940260E9 /* SplashScreen.storyboard */; }; + 96905EF65AED1B983A6B3ABC /* libPods-Musclecat.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 58EEBF8E8E6FB1BC6CAF49B5 /* libPods-Musclecat.a */; }; + 9EA8D254A00B4600A12F3C63 /* noop-file.swift in Sources */ = {isa = PBXBuildFile; fileRef = 72127C8F088F4FD6AA907D36 /* noop-file.swift */; }; + B18059E884C0ABDD17F3DC3D /* ExpoModulesProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = FAC715A2D49A985799AEE119 /* ExpoModulesProvider.swift */; }; + BB2F792D24A3F905000567C9 /* Expo.plist in Resources */ = {isa = PBXBuildFile; fileRef = BB2F792C24A3F905000567C9 /* Expo.plist */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 13B07F961A680F5B00A75B9A /* Musclecat.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Musclecat.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = Musclecat/AppDelegate.h; sourceTree = ""; }; + 13B07FB01A68108700A75B9A /* AppDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AppDelegate.mm; path = Musclecat/AppDelegate.mm; sourceTree = ""; }; + 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = Musclecat/Images.xcassets; sourceTree = ""; }; + 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = Musclecat/Info.plist; sourceTree = ""; }; + 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = Musclecat/main.m; sourceTree = ""; }; + 58EEBF8E8E6FB1BC6CAF49B5 /* libPods-Musclecat.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Musclecat.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 6C2E3173556A471DD304B334 /* Pods-Musclecat.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Musclecat.debug.xcconfig"; path = "Target Support Files/Pods-Musclecat/Pods-Musclecat.debug.xcconfig"; sourceTree = ""; }; + 72127C8F088F4FD6AA907D36 /* noop-file.swift */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.swift; name = "noop-file.swift"; path = "Musclecat/noop-file.swift"; sourceTree = ""; }; + 7A4D352CD337FB3A3BF06240 /* Pods-Musclecat.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Musclecat.release.xcconfig"; path = "Target Support Files/Pods-Musclecat/Pods-Musclecat.release.xcconfig"; sourceTree = ""; }; + AA286B85B6C04FC6940260E9 /* SplashScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = SplashScreen.storyboard; path = Musclecat/SplashScreen.storyboard; sourceTree = ""; }; + BB2F792C24A3F905000567C9 /* Expo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Expo.plist; sourceTree = ""; }; + D8C9D625BCE9404988DA84CA /* Musclecat-Bridging-Header.h */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.h; name = "Musclecat-Bridging-Header.h"; path = "Musclecat/Musclecat-Bridging-Header.h"; sourceTree = ""; }; + ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; + FAC715A2D49A985799AEE119 /* ExpoModulesProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExpoModulesProvider.swift; path = "Pods/Target Support Files/Pods-Musclecat/ExpoModulesProvider.swift"; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 13B07F8C1A680F5B00A75B9A /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 96905EF65AED1B983A6B3ABC /* libPods-Musclecat.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 13B07FAE1A68108700A75B9A /* Musclecat */ = { + isa = PBXGroup; + children = ( + BB2F792B24A3F905000567C9 /* Supporting */, + 13B07FAF1A68108700A75B9A /* AppDelegate.h */, + 13B07FB01A68108700A75B9A /* AppDelegate.mm */, + 13B07FB51A68108700A75B9A /* Images.xcassets */, + 13B07FB61A68108700A75B9A /* Info.plist */, + 13B07FB71A68108700A75B9A /* main.m */, + AA286B85B6C04FC6940260E9 /* SplashScreen.storyboard */, + 72127C8F088F4FD6AA907D36 /* noop-file.swift */, + D8C9D625BCE9404988DA84CA /* Musclecat-Bridging-Header.h */, + ); + name = Musclecat; + sourceTree = ""; + }; + 2D16E6871FA4F8E400B85C8A /* Frameworks */ = { + isa = PBXGroup; + children = ( + ED297162215061F000B7C4FE /* JavaScriptCore.framework */, + 58EEBF8E8E6FB1BC6CAF49B5 /* libPods-Musclecat.a */, + ); + name = Frameworks; + sourceTree = ""; + }; + 832341AE1AAA6A7D00B99B32 /* Libraries */ = { + isa = PBXGroup; + children = ( + ); + name = Libraries; + sourceTree = ""; + }; + 83CBB9F61A601CBA00E9B192 = { + isa = PBXGroup; + children = ( + 13B07FAE1A68108700A75B9A /* Musclecat */, + 832341AE1AAA6A7D00B99B32 /* Libraries */, + 83CBBA001A601CBA00E9B192 /* Products */, + 2D16E6871FA4F8E400B85C8A /* Frameworks */, + D65327D7A22EEC0BE12398D9 /* Pods */, + D7E4C46ADA2E9064B798F356 /* ExpoModulesProviders */, + ); + indentWidth = 2; + sourceTree = ""; + tabWidth = 2; + usesTabs = 0; + }; + 83CBBA001A601CBA00E9B192 /* Products */ = { + isa = PBXGroup; + children = ( + 13B07F961A680F5B00A75B9A /* Musclecat.app */, + ); + name = Products; + sourceTree = ""; + }; + 92DBD88DE9BF7D494EA9DA96 /* Musclecat */ = { + isa = PBXGroup; + children = ( + FAC715A2D49A985799AEE119 /* ExpoModulesProvider.swift */, + ); + name = Musclecat; + sourceTree = ""; + }; + BB2F792B24A3F905000567C9 /* Supporting */ = { + isa = PBXGroup; + children = ( + BB2F792C24A3F905000567C9 /* Expo.plist */, + ); + name = Supporting; + path = Musclecat/Supporting; + sourceTree = ""; + }; + D65327D7A22EEC0BE12398D9 /* Pods */ = { + isa = PBXGroup; + children = ( + 6C2E3173556A471DD304B334 /* Pods-Musclecat.debug.xcconfig */, + 7A4D352CD337FB3A3BF06240 /* Pods-Musclecat.release.xcconfig */, + ); + path = Pods; + sourceTree = ""; + }; + D7E4C46ADA2E9064B798F356 /* ExpoModulesProviders */ = { + isa = PBXGroup; + children = ( + 92DBD88DE9BF7D494EA9DA96 /* Musclecat */, + ); + name = ExpoModulesProviders; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 13B07F861A680F5B00A75B9A /* Musclecat */ = { + isa = PBXNativeTarget; + buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "Musclecat" */; + buildPhases = ( + 08A4A3CD28434E44B6B9DE2E /* [CP] Check Pods Manifest.lock */, + FD10A7F022414F080027D42C /* Start Packager */, + D97CBC47ABEFC5FA793FF3AE /* [Expo] Configure project */, + 13B07F871A680F5B00A75B9A /* Sources */, + 13B07F8C1A680F5B00A75B9A /* Frameworks */, + 13B07F8E1A680F5B00A75B9A /* Resources */, + 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, + 800E24972A6A228C8D4807E9 /* [CP] Copy Pods Resources */, + 67E03B25BCDEC1BBDFAC1841 /* [CP] Embed Pods Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Musclecat; + productName = Musclecat; + productReference = 13B07F961A680F5B00A75B9A /* Musclecat.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 83CBB9F71A601CBA00E9B192 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 1130; + TargetAttributes = { + 13B07F861A680F5B00A75B9A = { + LastSwiftMigration = 1250; + }; + }; + }; + buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "Musclecat" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 83CBB9F61A601CBA00E9B192; + productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 13B07F861A680F5B00A75B9A /* Musclecat */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 13B07F8E1A680F5B00A75B9A /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + BB2F792D24A3F905000567C9 /* Expo.plist in Resources */, + 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */, + 3E461D99554A48A4959DE609 /* SplashScreen.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Bundle React Native code and images"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "if [[ -f \"$PODS_ROOT/../.xcode.env\" ]]; then\n source \"$PODS_ROOT/../.xcode.env\"\nfi\nif [[ -f \"$PODS_ROOT/../.xcode.env.local\" ]]; then\n source \"$PODS_ROOT/../.xcode.env.local\"\nfi\n\n# The project root by default is one level up from the ios directory\nexport PROJECT_ROOT=\"$PROJECT_DIR\"/..\n\nif [[ \"$CONFIGURATION\" = *Debug* ]]; then\n export SKIP_BUNDLING=1\nfi\nif [[ -z \"$ENTRY_FILE\" ]]; then\n # Set the entry JS file using the bundler's entry resolution.\n export ENTRY_FILE=\"$(\"$NODE_BINARY\" -e \"require('expo/scripts/resolveAppEntry')\" \"$PROJECT_ROOT\" ios relative | tail -n 1)\"\nfi\n\nif [[ -z \"$CLI_PATH\" ]]; then\n # Use Expo CLI\n export CLI_PATH=\"$(\"$NODE_BINARY\" --print \"require.resolve('@expo/cli')\")\"\nfi\nif [[ -z \"$BUNDLE_COMMAND\" ]]; then\n # Default Expo CLI command for bundling\n export BUNDLE_COMMAND=\"export:embed\"\nfi\n\n`\"$NODE_BINARY\" --print \"require('path').dirname(require.resolve('react-native/package.json')) + '/scripts/react-native-xcode.sh'\"`\n\n"; + }; + 08A4A3CD28434E44B6B9DE2E /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Musclecat-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + 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; + }; + 67E03B25BCDEC1BBDFAC1841 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Musclecat/Pods-Musclecat-frameworks.sh", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/hermes-engine/Pre-built/hermes.framework/hermes", + ); + name = "[CP] Embed Pods Frameworks"; + outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermes.framework", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Musclecat/Pods-Musclecat-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + 800E24972A6A228C8D4807E9 /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Musclecat/Pods-Musclecat-resources.sh", + "${PODS_CONFIGURATION_BUILD_DIR}/EXConstants/EXConstants.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/React-Core/AccessibilityResources.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/expo-dev-launcher/EXDevLauncher.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/expo-dev-menu/EXDevMenu.bundle", + ); + name = "[CP] Copy Pods Resources"; + outputPaths = ( + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/EXConstants.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AccessibilityResources.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/EXDevLauncher.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/EXDevMenu.bundle", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Musclecat/Pods-Musclecat-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + D97CBC47ABEFC5FA793FF3AE /* [Expo] Configure project */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + name = "[Expo] Configure project"; + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "# This script configures Expo modules and generates the modules provider file.\nbash -l -c \"./Pods/Target\\ Support\\ Files/Pods-Musclecat/expo-configure-project.sh\"\n"; + }; + FD10A7F022414F080027D42C /* Start Packager */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + name = "Start Packager"; + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "if [[ -f \"$PODS_ROOT/../.xcode.env\" ]]; then\n source \"$PODS_ROOT/../.xcode.env\"\nfi\nif [[ -f \"$PODS_ROOT/../.xcode.env.local\" ]]; then\n source \"$PODS_ROOT/../.xcode.env.local\"\nfi\n\nexport RCT_METRO_PORT=\"${RCT_METRO_PORT:=8081}\"\necho \"export RCT_METRO_PORT=${RCT_METRO_PORT}\" > `$NODE_BINARY --print \"require('path').dirname(require.resolve('react-native/package.json')) + '/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 `$NODE_BINARY --print \"require('path').dirname(require.resolve('expo/package.json')) + '/scripts/launchPackager.command'\"` || echo \"Can't start packager automatically\"\n fi\nfi\n"; + showEnvVarsInLog = 0; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 13B07F871A680F5B00A75B9A /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */, + 13B07FC11A68108700A75B9A /* main.m in Sources */, + B18059E884C0ABDD17F3DC3D /* ExpoModulesProvider.swift in Sources */, + 9EA8D254A00B4600A12F3C63 /* noop-file.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 13B07F941A680F5B00A75B9A /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 6C2E3173556A471DD304B334 /* Pods-Musclecat.debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Musclecat/Musclecat.entitlements; + CURRENT_PROJECT_VERSION = 1; + ENABLE_BITCODE = NO; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(inherited)", + "FB_SONARKIT_ENABLED=1", + ); + INFOPLIST_FILE = Musclecat/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + MARKETING_VERSION = 1.0; + OTHER_LDFLAGS = ( + "$(inherited)", + "-ObjC", + "-lc++", + ); + OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_DEBUG"; + PRODUCT_BUNDLE_IDENTIFIER = dev.korz.musclecat; + PRODUCT_NAME = Musclecat; + SWIFT_OBJC_BRIDGING_HEADER = "Musclecat/Musclecat-Bridging-Header.h"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Debug; + }; + 13B07F951A680F5B00A75B9A /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7A4D352CD337FB3A3BF06240 /* Pods-Musclecat.release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Musclecat/Musclecat.entitlements; + CURRENT_PROJECT_VERSION = 1; + INFOPLIST_FILE = Musclecat/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + MARKETING_VERSION = 1.0; + OTHER_LDFLAGS = ( + "$(inherited)", + "-ObjC", + "-lc++", + ); + OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_RELEASE"; + PRODUCT_BUNDLE_IDENTIFIER = dev.korz.musclecat; + PRODUCT_NAME = Musclecat; + SWIFT_OBJC_BRIDGING_HEADER = "Musclecat/Musclecat-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Release; + }; + 83CBBA201A601CBA00E9B192 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_CXX_LANGUAGE_STANDARD = "c++17"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = i386; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + _LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION, + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; + LD_RUNPATH_SEARCH_PATHS = "/usr/lib/swift $(inherited)"; + LIBRARY_SEARCH_PATHS = "$(SDKROOT)/usr/lib/swift\"$(inherited)\""; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + OTHER_CFLAGS = "$(inherited)"; + OTHER_CPLUSPLUSFLAGS = "$(inherited)"; + OTHER_LDFLAGS = ( + "$(inherited)", + "-Wl", + "-ld_classic", + ); + REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; + SDKROOT = iphoneos; + }; + name = Debug; + }; + 83CBBA211A601CBA00E9B192 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_CXX_LANGUAGE_STANDARD = "c++17"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = YES; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = i386; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(inherited)", + _LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION, + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; + LD_RUNPATH_SEARCH_PATHS = "/usr/lib/swift $(inherited)"; + LIBRARY_SEARCH_PATHS = "$(SDKROOT)/usr/lib/swift\"$(inherited)\""; + MTL_ENABLE_DEBUG_INFO = NO; + OTHER_CFLAGS = "$(inherited)"; + OTHER_CPLUSPLUSFLAGS = "$(inherited)"; + OTHER_LDFLAGS = ( + "$(inherited)", + "-Wl", + "-ld_classic", + ); + REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; + SDKROOT = iphoneos; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "Musclecat" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 13B07F941A680F5B00A75B9A /* Debug */, + 13B07F951A680F5B00A75B9A /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "Musclecat" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 83CBBA201A601CBA00E9B192 /* Debug */, + 83CBBA211A601CBA00E9B192 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 83CBB9F71A601CBA00E9B192 /* Project object */; +} diff --git a/app/ios/Musclecat.xcodeproj/xcshareddata/xcschemes/Musclecat.xcscheme b/app/ios/Musclecat.xcodeproj/xcshareddata/xcschemes/Musclecat.xcscheme new file mode 100644 index 0000000..b739db5 --- /dev/null +++ b/app/ios/Musclecat.xcodeproj/xcshareddata/xcschemes/Musclecat.xcscheme @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/ios/Musclecat.xcworkspace/contents.xcworkspacedata b/app/ios/Musclecat.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..2892f1c --- /dev/null +++ b/app/ios/Musclecat.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,10 @@ + + + + + + + diff --git a/app/ios/Musclecat/AppDelegate.h b/app/ios/Musclecat/AppDelegate.h new file mode 100644 index 0000000..1658a43 --- /dev/null +++ b/app/ios/Musclecat/AppDelegate.h @@ -0,0 +1,7 @@ +#import +#import +#import + +@interface AppDelegate : EXAppDelegateWrapper + +@end diff --git a/app/ios/Musclecat/AppDelegate.mm b/app/ios/Musclecat/AppDelegate.mm new file mode 100644 index 0000000..f8e88bb --- /dev/null +++ b/app/ios/Musclecat/AppDelegate.mm @@ -0,0 +1,57 @@ +#import "AppDelegate.h" + +#import +#import + +@implementation AppDelegate + +- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions +{ + self.moduleName = @"main"; + + // You can add your custom initial props in the dictionary below. + // They will be passed down to the ViewController used by React Native. + self.initialProps = @{}; + + return [super application:application didFinishLaunchingWithOptions:launchOptions]; +} + +- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge +{ +#if DEBUG + return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@".expo/.virtual-metro-entry"]; +#else + return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; +#endif +} + +// Linking API +- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url options:(NSDictionary *)options { + return [super application:application openURL:url options:options] || [RCTLinkingManager application:application openURL:url options:options]; +} + +// Universal Links +- (BOOL)application:(UIApplication *)application continueUserActivity:(nonnull NSUserActivity *)userActivity restorationHandler:(nonnull void (^)(NSArray> * _Nullable))restorationHandler { + BOOL result = [RCTLinkingManager application:application continueUserActivity:userActivity restorationHandler:restorationHandler]; + return [super application:application continueUserActivity:userActivity restorationHandler:restorationHandler] || result; +} + +// Explicitly define remote notification delegates to ensure compatibility with some third-party libraries +- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken +{ + return [super application:application didRegisterForRemoteNotificationsWithDeviceToken:deviceToken]; +} + +// Explicitly define remote notification delegates to ensure compatibility with some third-party libraries +- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error +{ + return [super application:application didFailToRegisterForRemoteNotificationsWithError:error]; +} + +// Explicitly define remote notification delegates to ensure compatibility with some third-party libraries +- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler +{ + return [super application:application didReceiveRemoteNotification:userInfo fetchCompletionHandler:completionHandler]; +} + +@end diff --git a/app/ios/Musclecat/Images.xcassets/AppIcon.appiconset/App-Icon-1024x1024@1x.png b/app/ios/Musclecat/Images.xcassets/AppIcon.appiconset/App-Icon-1024x1024@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..2732229faf0f150332a6f03c098d0bae8dc69ffd GIT binary patch literal 59468 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 literal 0 HcmV?d00001 diff --git a/app/ios/Musclecat/Images.xcassets/AppIcon.appiconset/Contents.json b/app/ios/Musclecat/Images.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..90d8d4c --- /dev/null +++ b/app/ios/Musclecat/Images.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,14 @@ +{ + "images": [ + { + "filename": "App-Icon-1024x1024@1x.png", + "idiom": "universal", + "platform": "ios", + "size": "1024x1024" + } + ], + "info": { + "version": 1, + "author": "expo" + } +} \ No newline at end of file diff --git a/app/ios/Musclecat/Images.xcassets/Contents.json b/app/ios/Musclecat/Images.xcassets/Contents.json new file mode 100644 index 0000000..ed285c2 --- /dev/null +++ b/app/ios/Musclecat/Images.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "expo" + } +} diff --git a/app/ios/Musclecat/Images.xcassets/SplashScreen.imageset/Contents.json b/app/ios/Musclecat/Images.xcassets/SplashScreen.imageset/Contents.json new file mode 100644 index 0000000..3cf8489 --- /dev/null +++ b/app/ios/Musclecat/Images.xcassets/SplashScreen.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images": [ + { + "idiom": "universal", + "filename": "image.png", + "scale": "1x" + }, + { + "idiom": "universal", + "scale": "2x" + }, + { + "idiom": "universal", + "scale": "3x" + } + ], + "info": { + "version": 1, + "author": "expo" + } +} \ No newline at end of file diff --git a/app/ios/Musclecat/Images.xcassets/SplashScreen.imageset/image.png b/app/ios/Musclecat/Images.xcassets/SplashScreen.imageset/image.png new file mode 100644 index 0000000000000000000000000000000000000000..c52c2c68019b49c56da4faf7d8835a8392cfef7a GIT binary patch literal 59836 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 literal 0 HcmV?d00001 diff --git a/app/ios/Musclecat/Info.plist b/app/ios/Musclecat/Info.plist new file mode 100644 index 0000000..93ceeda --- /dev/null +++ b/app/ios/Musclecat/Info.plist @@ -0,0 +1,84 @@ + + + + + CADisableMinimumFrameDurationOnPhone + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleDisplayName + Musclecat + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + $(PRODUCT_BUNDLE_PACKAGE_TYPE) + CFBundleShortVersionString + 1.0.0 + CFBundleSignature + ???? + CFBundleURLTypes + + + CFBundleURLSchemes + + dev.korz.musclecat + + + + CFBundleURLSchemes + + exp+musclecat + + + + CFBundleVersion + 1 + LSRequiresIPhoneOS + + NSAppTransportSecurity + + NSAllowsArbitraryLoads + + NSExceptionDomains + + localhost + + NSExceptionAllowsInsecureHTTPLoads + + + + + UILaunchStoryboardName + SplashScreen + UIRequiredDeviceCapabilities + + armv7 + + UIRequiresFullScreen + + UIStatusBarStyle + UIStatusBarStyleDefault + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UIUserInterfaceStyle + Automatic + UIViewControllerBasedStatusBarAppearance + + + \ No newline at end of file diff --git a/app/ios/Musclecat/Musclecat-Bridging-Header.h b/app/ios/Musclecat/Musclecat-Bridging-Header.h new file mode 100644 index 0000000..e11d920 --- /dev/null +++ b/app/ios/Musclecat/Musclecat-Bridging-Header.h @@ -0,0 +1,3 @@ +// +// Use this file to import your target's public headers that you would like to expose to Swift. +// diff --git a/app/ios/Musclecat/Musclecat.entitlements b/app/ios/Musclecat/Musclecat.entitlements new file mode 100644 index 0000000..018a6e2 --- /dev/null +++ b/app/ios/Musclecat/Musclecat.entitlements @@ -0,0 +1,8 @@ + + + + + aps-environment + development + + \ No newline at end of file diff --git a/app/ios/Musclecat/SplashScreen.storyboard b/app/ios/Musclecat/SplashScreen.storyboard new file mode 100644 index 0000000..ed03a52 --- /dev/null +++ b/app/ios/Musclecat/SplashScreen.storyboard @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/ios/Musclecat/Supporting/Expo.plist b/app/ios/Musclecat/Supporting/Expo.plist new file mode 100644 index 0000000..64eaffa --- /dev/null +++ b/app/ios/Musclecat/Supporting/Expo.plist @@ -0,0 +1,14 @@ + + + + + EXUpdatesCheckOnLaunch + ALWAYS + EXUpdatesEnabled + + EXUpdatesLaunchWaitMs + 0 + EXUpdatesSDKVersion + 49.0.0 + + \ No newline at end of file diff --git a/app/ios/Musclecat/main.m b/app/ios/Musclecat/main.m new file mode 100644 index 0000000..25181b6 --- /dev/null +++ b/app/ios/Musclecat/main.m @@ -0,0 +1,10 @@ +#import + +#import "AppDelegate.h" + +int main(int argc, char * argv[]) { + @autoreleasepool { + return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); + } +} + diff --git a/app/ios/Musclecat/noop-file.swift b/app/ios/Musclecat/noop-file.swift new file mode 100644 index 0000000..b2ffafb --- /dev/null +++ b/app/ios/Musclecat/noop-file.swift @@ -0,0 +1,4 @@ +// +// @generated +// A blank Swift file must be created for native modules with Swift files to work correctly. +// diff --git a/app/ios/Podfile b/app/ios/Podfile new file mode 100644 index 0000000..d76e2d5 --- /dev/null +++ b/app/ios/Podfile @@ -0,0 +1,87 @@ +require File.join(File.dirname(`node --print "require.resolve('expo/package.json')"`), "scripts/autolinking") +require File.join(File.dirname(`node --print "require.resolve('react-native/package.json')"`), "scripts/react_native_pods") + +require 'json' +podfile_properties = JSON.parse(File.read(File.join(__dir__, 'Podfile.properties.json'))) rescue {} + +ENV['RCT_NEW_ARCH_ENABLED'] = podfile_properties['newArchEnabled'] == 'true' ? '1' : '0' +ENV['EX_DEV_CLIENT_NETWORK_INSPECTOR'] = podfile_properties['EX_DEV_CLIENT_NETWORK_INSPECTOR'] + +platform :ios, podfile_properties['ios.deploymentTarget'] || '13.0' +install! 'cocoapods', + :deterministic_uuids => false + +prepare_react_native_project! + +# If you are using a `react-native-flipper` your iOS build will fail when `NO_FLIPPER=1` is set. +# because `react-native-flipper` depends on (FlipperKit,...), which will be excluded. To fix this, +# you can also exclude `react-native-flipper` in `react-native.config.js` +# +# ```js +# module.exports = { +# dependencies: { +# ...(process.env.NO_FLIPPER ? { 'react-native-flipper': { platforms: { ios: null } } } : {}), +# } +# } +# ``` +flipper_config = FlipperConfiguration.disabled +if ENV['NO_FLIPPER'] == '1' then + # Explicitly disabled through environment variables + flipper_config = FlipperConfiguration.disabled +elsif podfile_properties.key?('ios.flipper') then + # Configure Flipper in Podfile.properties.json + if podfile_properties['ios.flipper'] == 'true' then + flipper_config = FlipperConfiguration.enabled(["Debug", "Release"]) + elsif podfile_properties['ios.flipper'] != 'false' then + flipper_config = FlipperConfiguration.enabled(["Debug", "Release"], { 'Flipper' => podfile_properties['ios.flipper'] }) + end +end + +target 'Musclecat' do + use_expo_modules! + config = use_native_modules! + + use_frameworks! :linkage => podfile_properties['ios.useFrameworks'].to_sym if podfile_properties['ios.useFrameworks'] + use_frameworks! :linkage => ENV['USE_FRAMEWORKS'].to_sym if ENV['USE_FRAMEWORKS'] + + # Flags change depending on the env values. + flags = get_default_flags() + + use_react_native!( + :path => config[:reactNativePath], + :hermes_enabled => podfile_properties['expo.jsEngine'] == nil || podfile_properties['expo.jsEngine'] == 'hermes', + :fabric_enabled => flags[:fabric_enabled], + # An absolute path to your application root. + :app_path => "#{Pod::Config.instance.installation_root}/..", + # Note that if you have use_frameworks! enabled, Flipper will not work if enabled + :flipper_configuration => flipper_config + ) + + post_install do |installer| + react_native_post_install( + installer, + config[:reactNativePath], + :mac_catalyst_enabled => false + ) + __apply_Xcode_12_5_M1_post_install_workaround(installer) + + # This is necessary for Xcode 14, because it signs resource bundles by default + # when building for devices. + installer.target_installation_results.pod_target_installation_results + .each do |pod_name, target_installation_result| + target_installation_result.resource_bundle_targets.each do |resource_bundle_target| + resource_bundle_target.build_configurations.each do |config| + config.build_settings['CODE_SIGNING_ALLOWED'] = 'NO' + end + end + end + end + + post_integrate do |installer| + begin + expo_patch_react_imports!(installer) + rescue => e + Pod::UI.warn e + end + end +end diff --git a/app/ios/Podfile.lock b/app/ios/Podfile.lock new file mode 100644 index 0000000..7d375b1 --- /dev/null +++ b/app/ios/Podfile.lock @@ -0,0 +1,830 @@ +PODS: + - boost (1.76.0) + - DoubleConversion (1.1.6) + - EXApplication (5.3.1): + - ExpoModulesCore + - EXConstants (14.4.2): + - ExpoModulesCore + - EXFileSystem (15.4.5): + - ExpoModulesCore + - EXFont (11.4.0): + - ExpoModulesCore + - EXJSONUtils (0.7.1) + - EXManifests (0.7.2): + - ExpoModulesCore + - Expo (49.0.21): + - ExpoModulesCore + - expo-dev-client (2.4.12): + - EXManifests + - expo-dev-launcher + - expo-dev-menu + - expo-dev-menu-interface + - EXUpdatesInterface + - expo-dev-launcher (2.4.14): + - EXManifests + - expo-dev-launcher/Main (= 2.4.14) + - expo-dev-menu + - expo-dev-menu-interface + - ExpoModulesCore + - EXUpdatesInterface + - RCT-Folly (= 2021.07.22.00) + - React-Core + - React-RCTAppDelegate + - expo-dev-launcher/Main (2.4.14): + - EXManifests + - expo-dev-launcher/Unsafe + - expo-dev-menu + - expo-dev-menu-interface + - ExpoModulesCore + - EXUpdatesInterface + - RCT-Folly (= 2021.07.22.00) + - React-Core + - React-RCTAppDelegate + - expo-dev-launcher/Unsafe (2.4.14): + - EXManifests + - expo-dev-menu + - expo-dev-menu-interface + - ExpoModulesCore + - EXUpdatesInterface + - RCT-Folly (= 2021.07.22.00) + - React-Core + - React-RCTAppDelegate + - expo-dev-menu (3.2.2): + - expo-dev-menu/Main (= 3.2.2) + - RCT-Folly (= 2021.07.22.00) + - React-Core + - expo-dev-menu-interface (1.3.0) + - expo-dev-menu/Main (3.2.2): + - EXManifests + - expo-dev-menu-interface + - expo-dev-menu/Vendored + - ExpoModulesCore + - RCT-Folly (= 2021.07.22.00) + - React-Core + - expo-dev-menu/SafeAreaView (3.2.2): + - ExpoModulesCore + - RCT-Folly (= 2021.07.22.00) + - React-Core + - expo-dev-menu/Vendored (3.2.2): + - expo-dev-menu/SafeAreaView + - RCT-Folly (= 2021.07.22.00) + - React-Core + - ExpoKeepAwake (12.3.0): + - ExpoModulesCore + - ExpoModulesCore (1.5.12): + - RCT-Folly (= 2021.07.22.00) + - React-Core + - React-NativeModulesApple + - React-RCTAppDelegate + - ReactCommon/turbomodule/core + - ExpoScreenOrientation (6.0.6): + - ExpoModulesCore + - RCT-Folly (= 2021.07.22.00) + - React-Core + - ExpoSystemUI (2.4.0): + - ExpoModulesCore + - EXSplashScreen (0.20.5): + - ExpoModulesCore + - RCT-Folly (= 2021.07.22.00) + - React-Core + - EXUpdatesInterface (0.10.1) + - FBLazyVector (0.72.6) + - FBReactNativeSpec (0.72.6): + - RCT-Folly (= 2021.07.22.00) + - RCTRequired (= 0.72.6) + - RCTTypeSafety (= 0.72.6) + - React-Core (= 0.72.6) + - React-jsi (= 0.72.6) + - ReactCommon/turbomodule/core (= 0.72.6) + - fmt (6.2.1) + - glog (0.3.5) + - hermes-engine (0.72.6): + - hermes-engine/Pre-built (= 0.72.6) + - hermes-engine/Pre-built (0.72.6) + - libevent (2.1.12) + - RCT-Folly (2021.07.22.00): + - boost + - DoubleConversion + - fmt (~> 6.2.1) + - glog + - RCT-Folly/Default (= 2021.07.22.00) + - RCT-Folly/Default (2021.07.22.00): + - boost + - DoubleConversion + - fmt (~> 6.2.1) + - glog + - RCT-Folly/Futures (2021.07.22.00): + - boost + - DoubleConversion + - fmt (~> 6.2.1) + - glog + - libevent + - RCTRequired (0.72.6) + - RCTTypeSafety (0.72.6): + - FBLazyVector (= 0.72.6) + - RCTRequired (= 0.72.6) + - React-Core (= 0.72.6) + - React (0.72.6): + - React-Core (= 0.72.6) + - React-Core/DevSupport (= 0.72.6) + - React-Core/RCTWebSocket (= 0.72.6) + - React-RCTActionSheet (= 0.72.6) + - React-RCTAnimation (= 0.72.6) + - React-RCTBlob (= 0.72.6) + - React-RCTImage (= 0.72.6) + - React-RCTLinking (= 0.72.6) + - React-RCTNetwork (= 0.72.6) + - React-RCTSettings (= 0.72.6) + - React-RCTText (= 0.72.6) + - React-RCTVibration (= 0.72.6) + - React-callinvoker (0.72.6) + - React-Codegen (0.72.6): + - DoubleConversion + - FBReactNativeSpec + - glog + - hermes-engine + - RCT-Folly + - RCTRequired + - RCTTypeSafety + - React-Core + - React-jsi + - React-jsiexecutor + - React-NativeModulesApple + - React-rncore + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - React-Core (0.72.6): + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-Core/Default (= 0.72.6) + - React-cxxreact + - React-hermes + - React-jsi + - React-jsiexecutor + - React-perflogger + - React-runtimeexecutor + - React-utils + - SocketRocket (= 0.6.1) + - Yoga + - React-Core/CoreModulesHeaders (0.72.6): + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-Core/Default + - React-cxxreact + - React-hermes + - React-jsi + - React-jsiexecutor + - React-perflogger + - React-runtimeexecutor + - React-utils + - SocketRocket (= 0.6.1) + - Yoga + - React-Core/Default (0.72.6): + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-cxxreact + - React-hermes + - React-jsi + - React-jsiexecutor + - React-perflogger + - React-runtimeexecutor + - React-utils + - SocketRocket (= 0.6.1) + - Yoga + - React-Core/DevSupport (0.72.6): + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-Core/Default (= 0.72.6) + - React-Core/RCTWebSocket (= 0.72.6) + - React-cxxreact + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector (= 0.72.6) + - React-perflogger + - React-runtimeexecutor + - React-utils + - SocketRocket (= 0.6.1) + - Yoga + - React-Core/RCTActionSheetHeaders (0.72.6): + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-Core/Default + - React-cxxreact + - React-hermes + - React-jsi + - React-jsiexecutor + - React-perflogger + - React-runtimeexecutor + - React-utils + - SocketRocket (= 0.6.1) + - Yoga + - React-Core/RCTAnimationHeaders (0.72.6): + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-Core/Default + - React-cxxreact + - React-hermes + - React-jsi + - React-jsiexecutor + - React-perflogger + - React-runtimeexecutor + - React-utils + - SocketRocket (= 0.6.1) + - Yoga + - React-Core/RCTBlobHeaders (0.72.6): + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-Core/Default + - React-cxxreact + - React-hermes + - React-jsi + - React-jsiexecutor + - React-perflogger + - React-runtimeexecutor + - React-utils + - SocketRocket (= 0.6.1) + - Yoga + - React-Core/RCTImageHeaders (0.72.6): + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-Core/Default + - React-cxxreact + - React-hermes + - React-jsi + - React-jsiexecutor + - React-perflogger + - React-runtimeexecutor + - React-utils + - SocketRocket (= 0.6.1) + - Yoga + - React-Core/RCTLinkingHeaders (0.72.6): + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-Core/Default + - React-cxxreact + - React-hermes + - React-jsi + - React-jsiexecutor + - React-perflogger + - React-runtimeexecutor + - React-utils + - SocketRocket (= 0.6.1) + - Yoga + - React-Core/RCTNetworkHeaders (0.72.6): + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-Core/Default + - React-cxxreact + - React-hermes + - React-jsi + - React-jsiexecutor + - React-perflogger + - React-runtimeexecutor + - React-utils + - SocketRocket (= 0.6.1) + - Yoga + - React-Core/RCTSettingsHeaders (0.72.6): + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-Core/Default + - React-cxxreact + - React-hermes + - React-jsi + - React-jsiexecutor + - React-perflogger + - React-runtimeexecutor + - React-utils + - SocketRocket (= 0.6.1) + - Yoga + - React-Core/RCTTextHeaders (0.72.6): + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-Core/Default + - React-cxxreact + - React-hermes + - React-jsi + - React-jsiexecutor + - React-perflogger + - React-runtimeexecutor + - React-utils + - SocketRocket (= 0.6.1) + - Yoga + - React-Core/RCTVibrationHeaders (0.72.6): + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-Core/Default + - React-cxxreact + - React-hermes + - React-jsi + - React-jsiexecutor + - React-perflogger + - React-runtimeexecutor + - React-utils + - SocketRocket (= 0.6.1) + - Yoga + - React-Core/RCTWebSocket (0.72.6): + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-Core/Default (= 0.72.6) + - React-cxxreact + - React-hermes + - React-jsi + - React-jsiexecutor + - React-perflogger + - React-runtimeexecutor + - React-utils + - SocketRocket (= 0.6.1) + - Yoga + - React-CoreModules (0.72.6): + - RCT-Folly (= 2021.07.22.00) + - RCTTypeSafety (= 0.72.6) + - React-Codegen (= 0.72.6) + - React-Core/CoreModulesHeaders (= 0.72.6) + - React-jsi (= 0.72.6) + - React-RCTBlob + - React-RCTImage (= 0.72.6) + - ReactCommon/turbomodule/core (= 0.72.6) + - SocketRocket (= 0.6.1) + - React-cxxreact (0.72.6): + - boost (= 1.76.0) + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-callinvoker (= 0.72.6) + - React-debug (= 0.72.6) + - React-jsi (= 0.72.6) + - React-jsinspector (= 0.72.6) + - React-logger (= 0.72.6) + - React-perflogger (= 0.72.6) + - React-runtimeexecutor (= 0.72.6) + - React-debug (0.72.6) + - React-hermes (0.72.6): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - RCT-Folly/Futures (= 2021.07.22.00) + - React-cxxreact (= 0.72.6) + - React-jsi + - React-jsiexecutor (= 0.72.6) + - React-jsinspector (= 0.72.6) + - React-perflogger (= 0.72.6) + - React-jsi (0.72.6): + - boost (= 1.76.0) + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-jsiexecutor (0.72.6): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-cxxreact (= 0.72.6) + - React-jsi (= 0.72.6) + - React-perflogger (= 0.72.6) + - React-jsinspector (0.72.6) + - React-logger (0.72.6): + - glog + - react-native-render-html (6.3.4): + - React-Core + - react-native-safe-area-context (4.6.3): + - RCT-Folly + - RCTRequired + - RCTTypeSafety + - React-Core + - ReactCommon/turbomodule/core + - React-NativeModulesApple (0.72.6): + - hermes-engine + - React-callinvoker + - React-Core + - React-cxxreact + - React-jsi + - React-runtimeexecutor + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - React-perflogger (0.72.6) + - React-RCTActionSheet (0.72.6): + - React-Core/RCTActionSheetHeaders (= 0.72.6) + - React-RCTAnimation (0.72.6): + - RCT-Folly (= 2021.07.22.00) + - RCTTypeSafety (= 0.72.6) + - React-Codegen (= 0.72.6) + - React-Core/RCTAnimationHeaders (= 0.72.6) + - React-jsi (= 0.72.6) + - ReactCommon/turbomodule/core (= 0.72.6) + - React-RCTAppDelegate (0.72.6): + - RCT-Folly + - RCTRequired + - RCTTypeSafety + - React-Core + - React-CoreModules + - React-hermes + - React-NativeModulesApple + - React-RCTImage + - React-RCTNetwork + - React-runtimescheduler + - ReactCommon/turbomodule/core + - React-RCTBlob (0.72.6): + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-Codegen (= 0.72.6) + - React-Core/RCTBlobHeaders (= 0.72.6) + - React-Core/RCTWebSocket (= 0.72.6) + - React-jsi (= 0.72.6) + - React-RCTNetwork (= 0.72.6) + - ReactCommon/turbomodule/core (= 0.72.6) + - React-RCTImage (0.72.6): + - RCT-Folly (= 2021.07.22.00) + - RCTTypeSafety (= 0.72.6) + - React-Codegen (= 0.72.6) + - React-Core/RCTImageHeaders (= 0.72.6) + - React-jsi (= 0.72.6) + - React-RCTNetwork (= 0.72.6) + - ReactCommon/turbomodule/core (= 0.72.6) + - React-RCTLinking (0.72.6): + - React-Codegen (= 0.72.6) + - React-Core/RCTLinkingHeaders (= 0.72.6) + - React-jsi (= 0.72.6) + - ReactCommon/turbomodule/core (= 0.72.6) + - React-RCTNetwork (0.72.6): + - RCT-Folly (= 2021.07.22.00) + - RCTTypeSafety (= 0.72.6) + - React-Codegen (= 0.72.6) + - React-Core/RCTNetworkHeaders (= 0.72.6) + - React-jsi (= 0.72.6) + - ReactCommon/turbomodule/core (= 0.72.6) + - React-RCTSettings (0.72.6): + - RCT-Folly (= 2021.07.22.00) + - RCTTypeSafety (= 0.72.6) + - React-Codegen (= 0.72.6) + - React-Core/RCTSettingsHeaders (= 0.72.6) + - React-jsi (= 0.72.6) + - ReactCommon/turbomodule/core (= 0.72.6) + - React-RCTText (0.72.6): + - React-Core/RCTTextHeaders (= 0.72.6) + - React-RCTVibration (0.72.6): + - RCT-Folly (= 2021.07.22.00) + - React-Codegen (= 0.72.6) + - React-Core/RCTVibrationHeaders (= 0.72.6) + - React-jsi (= 0.72.6) + - ReactCommon/turbomodule/core (= 0.72.6) + - React-rncore (0.72.6) + - React-runtimeexecutor (0.72.6): + - React-jsi (= 0.72.6) + - React-runtimescheduler (0.72.6): + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-callinvoker + - React-debug + - React-jsi + - React-runtimeexecutor + - React-utils (0.72.6): + - glog + - RCT-Folly (= 2021.07.22.00) + - React-debug + - ReactCommon/turbomodule/bridging (0.72.6): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-callinvoker (= 0.72.6) + - React-cxxreact (= 0.72.6) + - React-jsi (= 0.72.6) + - React-logger (= 0.72.6) + - React-perflogger (= 0.72.6) + - ReactCommon/turbomodule/core (0.72.6): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-callinvoker (= 0.72.6) + - React-cxxreact (= 0.72.6) + - React-jsi (= 0.72.6) + - React-logger (= 0.72.6) + - React-perflogger (= 0.72.6) + - RNCMaskedView (0.2.9): + - React-Core + - RNGestureHandler (2.12.1): + - React-Core + - RNReanimated (3.3.0): + - DoubleConversion + - FBLazyVector + - glog + - hermes-engine + - RCT-Folly + - RCTRequired + - RCTTypeSafety + - React-callinvoker + - React-Core + - React-Core/DevSupport + - React-Core/RCTWebSocket + - React-CoreModules + - React-cxxreact + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-RCTActionSheet + - React-RCTAnimation + - React-RCTAppDelegate + - React-RCTBlob + - React-RCTImage + - React-RCTLinking + - React-RCTNetwork + - React-RCTSettings + - React-RCTText + - ReactCommon/turbomodule/core + - Yoga + - RNScreens (3.22.1): + - React-Core + - React-RCTImage + - SocketRocket (0.6.1) + - Yoga (1.14.0) + +DEPENDENCIES: + - boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`) + - DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`) + - EXApplication (from `../node_modules/expo-application/ios`) + - EXConstants (from `../node_modules/expo-constants/ios`) + - EXFileSystem (from `../node_modules/expo-file-system/ios`) + - EXFont (from `../node_modules/expo-font/ios`) + - EXJSONUtils (from `../node_modules/expo-json-utils/ios`) + - EXManifests (from `../node_modules/expo-manifests/ios`) + - Expo (from `../node_modules/expo`) + - expo-dev-client (from `../node_modules/expo-dev-client/ios`) + - expo-dev-launcher (from `../node_modules/expo-dev-launcher`) + - expo-dev-menu (from `../node_modules/expo-dev-menu`) + - expo-dev-menu-interface (from `../node_modules/expo-dev-menu-interface/ios`) + - ExpoKeepAwake (from `../node_modules/expo-keep-awake/ios`) + - ExpoModulesCore (from `../node_modules/expo-modules-core`) + - ExpoScreenOrientation (from `../node_modules/expo-screen-orientation/ios`) + - ExpoSystemUI (from `../node_modules/expo-system-ui/ios`) + - EXSplashScreen (from `../node_modules/expo-splash-screen/ios`) + - EXUpdatesInterface (from `../node_modules/expo-updates-interface/ios`) + - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`) + - FBReactNativeSpec (from `../node_modules/react-native/React/FBReactNativeSpec`) + - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`) + - hermes-engine (from `../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec`) + - libevent (~> 2.1.12) + - RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) + - RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`) + - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`) + - React (from `../node_modules/react-native/`) + - React-callinvoker (from `../node_modules/react-native/ReactCommon/callinvoker`) + - React-Codegen (from `build/generated/ios`) + - React-Core (from `../node_modules/react-native/`) + - React-Core/RCTWebSocket (from `../node_modules/react-native/`) + - React-CoreModules (from `../node_modules/react-native/React/CoreModules`) + - React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`) + - React-debug (from `../node_modules/react-native/ReactCommon/react/debug`) + - React-hermes (from `../node_modules/react-native/ReactCommon/hermes`) + - React-jsi (from `../node_modules/react-native/ReactCommon/jsi`) + - React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`) + - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector`) + - React-logger (from `../node_modules/react-native/ReactCommon/logger`) + - react-native-render-html (from `../node_modules/react-native-render-html`) + - react-native-safe-area-context (from `../node_modules/react-native-safe-area-context`) + - React-NativeModulesApple (from `../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`) + - React-perflogger (from `../node_modules/react-native/ReactCommon/reactperflogger`) + - React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`) + - React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`) + - React-RCTAppDelegate (from `../node_modules/react-native/Libraries/AppDelegate`) + - React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`) + - React-RCTImage (from `../node_modules/react-native/Libraries/Image`) + - React-RCTLinking (from `../node_modules/react-native/Libraries/LinkingIOS`) + - React-RCTNetwork (from `../node_modules/react-native/Libraries/Network`) + - React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`) + - React-RCTText (from `../node_modules/react-native/Libraries/Text`) + - React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`) + - React-rncore (from `../node_modules/react-native/ReactCommon`) + - React-runtimeexecutor (from `../node_modules/react-native/ReactCommon/runtimeexecutor`) + - React-runtimescheduler (from `../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler`) + - React-utils (from `../node_modules/react-native/ReactCommon/react/utils`) + - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`) + - "RNCMaskedView (from `../node_modules/@react-native-masked-view/masked-view`)" + - RNGestureHandler (from `../node_modules/react-native-gesture-handler`) + - RNReanimated (from `../node_modules/react-native-reanimated`) + - RNScreens (from `../node_modules/react-native-screens`) + - Yoga (from `../node_modules/react-native/ReactCommon/yoga`) + +SPEC REPOS: + trunk: + - fmt + - libevent + - SocketRocket + +EXTERNAL SOURCES: + boost: + :podspec: "../node_modules/react-native/third-party-podspecs/boost.podspec" + DoubleConversion: + :podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec" + EXApplication: + :path: "../node_modules/expo-application/ios" + EXConstants: + :path: "../node_modules/expo-constants/ios" + EXFileSystem: + :path: "../node_modules/expo-file-system/ios" + EXFont: + :path: "../node_modules/expo-font/ios" + EXJSONUtils: + :path: "../node_modules/expo-json-utils/ios" + EXManifests: + :path: "../node_modules/expo-manifests/ios" + Expo: + :path: "../node_modules/expo" + expo-dev-client: + :path: "../node_modules/expo-dev-client/ios" + expo-dev-launcher: + :path: "../node_modules/expo-dev-launcher" + expo-dev-menu: + :path: "../node_modules/expo-dev-menu" + expo-dev-menu-interface: + :path: "../node_modules/expo-dev-menu-interface/ios" + ExpoKeepAwake: + :path: "../node_modules/expo-keep-awake/ios" + ExpoModulesCore: + :path: "../node_modules/expo-modules-core" + ExpoScreenOrientation: + :path: "../node_modules/expo-screen-orientation/ios" + ExpoSystemUI: + :path: "../node_modules/expo-system-ui/ios" + EXSplashScreen: + :path: "../node_modules/expo-splash-screen/ios" + EXUpdatesInterface: + :path: "../node_modules/expo-updates-interface/ios" + FBLazyVector: + :path: "../node_modules/react-native/Libraries/FBLazyVector" + FBReactNativeSpec: + :path: "../node_modules/react-native/React/FBReactNativeSpec" + glog: + :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec" + hermes-engine: + :podspec: "../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec" + :tag: hermes-2023-08-07-RNv0.72.4-813b2def12bc9df02654b3e3653ae4a68d0572e0 + RCT-Folly: + :podspec: "../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec" + RCTRequired: + :path: "../node_modules/react-native/Libraries/RCTRequired" + RCTTypeSafety: + :path: "../node_modules/react-native/Libraries/TypeSafety" + React: + :path: "../node_modules/react-native/" + React-callinvoker: + :path: "../node_modules/react-native/ReactCommon/callinvoker" + React-Codegen: + :path: build/generated/ios + React-Core: + :path: "../node_modules/react-native/" + React-CoreModules: + :path: "../node_modules/react-native/React/CoreModules" + React-cxxreact: + :path: "../node_modules/react-native/ReactCommon/cxxreact" + React-debug: + :path: "../node_modules/react-native/ReactCommon/react/debug" + React-hermes: + :path: "../node_modules/react-native/ReactCommon/hermes" + React-jsi: + :path: "../node_modules/react-native/ReactCommon/jsi" + React-jsiexecutor: + :path: "../node_modules/react-native/ReactCommon/jsiexecutor" + React-jsinspector: + :path: "../node_modules/react-native/ReactCommon/jsinspector" + React-logger: + :path: "../node_modules/react-native/ReactCommon/logger" + react-native-render-html: + :path: "../node_modules/react-native-render-html" + react-native-safe-area-context: + :path: "../node_modules/react-native-safe-area-context" + React-NativeModulesApple: + :path: "../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios" + React-perflogger: + :path: "../node_modules/react-native/ReactCommon/reactperflogger" + React-RCTActionSheet: + :path: "../node_modules/react-native/Libraries/ActionSheetIOS" + React-RCTAnimation: + :path: "../node_modules/react-native/Libraries/NativeAnimation" + React-RCTAppDelegate: + :path: "../node_modules/react-native/Libraries/AppDelegate" + React-RCTBlob: + :path: "../node_modules/react-native/Libraries/Blob" + React-RCTImage: + :path: "../node_modules/react-native/Libraries/Image" + React-RCTLinking: + :path: "../node_modules/react-native/Libraries/LinkingIOS" + React-RCTNetwork: + :path: "../node_modules/react-native/Libraries/Network" + React-RCTSettings: + :path: "../node_modules/react-native/Libraries/Settings" + React-RCTText: + :path: "../node_modules/react-native/Libraries/Text" + React-RCTVibration: + :path: "../node_modules/react-native/Libraries/Vibration" + React-rncore: + :path: "../node_modules/react-native/ReactCommon" + React-runtimeexecutor: + :path: "../node_modules/react-native/ReactCommon/runtimeexecutor" + React-runtimescheduler: + :path: "../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler" + React-utils: + :path: "../node_modules/react-native/ReactCommon/react/utils" + ReactCommon: + :path: "../node_modules/react-native/ReactCommon" + RNCMaskedView: + :path: "../node_modules/@react-native-masked-view/masked-view" + RNGestureHandler: + :path: "../node_modules/react-native-gesture-handler" + RNReanimated: + :path: "../node_modules/react-native-reanimated" + RNScreens: + :path: "../node_modules/react-native-screens" + Yoga: + :path: "../node_modules/react-native/ReactCommon/yoga" + +SPEC CHECKSUMS: + boost: 64032b9e9b938fda23325e68a3771f0fabf414dc + DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54 + EXApplication: 042aa2e3f05258a16962ea1a9914bf288db9c9a1 + EXConstants: ce5bbea779da8031ac818c36bea41b10e14d04e1 + EXFileSystem: f8b838a880254de42a5a7da20ed5ce12e2697c1b + EXFont: 738c44c390953ebcbab075a4848bfbef025fd9ee + EXJSONUtils: 6802be4282d42b97c51682468ddc1026a06f8276 + EXManifests: cf66451b11b2c2f6464917528d792759f7fd6ce0 + Expo: 61a8e1aa94311557c137c0a4dfd4fe78281cfbb4 + expo-dev-client: 1e20e0d67534fd63da37604747a60e7d69fc46f5 + expo-dev-launcher: e9411e0c91abaa448682d0fa688957e7dbff356e + expo-dev-menu: f7036f78c69f0f6ecb386f5543a06266dde64bf5 + expo-dev-menu-interface: bda969497e73dadc2663c479e0fa726ca79a306e + ExpoKeepAwake: be4cbd52d9b177cde0fd66daa1913afa3161fc1d + ExpoModulesCore: c480fd4e3c7c8e81f0a6ba3a7c56869f25fe016d + ExpoScreenOrientation: 3e3b9a3a8ec8498d51992a0a819deda9d82cbaac + ExpoSystemUI: fa4854e3226e87f86d3383570264c6e4e90bc782 + EXSplashScreen: c0e7f2d4a640f3b875808ed0b88575538daf6d82 + EXUpdatesInterface: 82ed48d417cdcd376c12ca1c2ce390d35500bed6 + FBLazyVector: 748c0ef74f2bf4b36cfcccf37916806940a64c32 + FBReactNativeSpec: 966f29e4e697de53a3b366355e8f57375c856ad9 + fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9 + glog: 04b94705f318337d7ead9e6d17c019bd9b1f6b1b + hermes-engine: 8057e75cfc1437b178ac86c8654b24e7fead7f60 + libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 + RCT-Folly: 424b8c9a7a0b9ab2886ffe9c3b041ef628fd4fb1 + RCTRequired: 28469809442eb4eb5528462705f7d852948c8a74 + RCTTypeSafety: e9c6c409fca2cc584e5b086862d562540cb38d29 + React: 769f469909b18edfe934f0539fffb319c4c61043 + React-callinvoker: e48ce12c83706401251921896576710d81e54763 + React-Codegen: a136b8094d39fd071994eaa935366e6be2239cb1 + React-Core: e548a186fb01c3a78a9aeeffa212d625ca9511bf + React-CoreModules: d226b22d06ea1bc4e49d3c073b2c6cbb42265405 + React-cxxreact: 44a3560510ead6633b6e02f9fbbdd1772fb40f92 + React-debug: 238501490155574ae9f3f8dd1c74330eba30133e + React-hermes: 46e66dc854124d7645c20bfec0a6be9542826ecd + React-jsi: fbdaf4166bae60524b591b18c851b530c8cdb90c + React-jsiexecutor: 3bf18ff7cb03cd8dfdce08fbbc0d15058c1d71ae + React-jsinspector: 194e32c6aab382d88713ad3dd0025c5f5c4ee072 + React-logger: cebf22b6cf43434e471dc561e5911b40ac01d289 + react-native-render-html: 984dfe2294163d04bf5fe25d7c9f122e60e05ebe + react-native-safe-area-context: 36cc67648134e89465663b8172336a19eeda493d + React-NativeModulesApple: 02e35e9a51e10c6422f04f5e4076a7c02243fff2 + React-perflogger: e3596db7e753f51766bceadc061936ef1472edc3 + React-RCTActionSheet: 17ab132c748b4471012abbcdcf5befe860660485 + React-RCTAnimation: c8bbaab62be5817d2a31c36d5f2571e3f7dcf099 + React-RCTAppDelegate: af1c7dace233deba4b933cd1d6491fe4e3584ad1 + React-RCTBlob: 1bcf3a0341eb8d6950009b1ddb8aefaf46996b8c + React-RCTImage: 670a3486b532292649b1aef3ffddd0b495a5cee4 + React-RCTLinking: bd7ab853144aed463903237e615fd91d11b4f659 + React-RCTNetwork: be86a621f3e4724758f23ad1fdce32474ab3d829 + React-RCTSettings: 4f3a29a6d23ffa639db9701bc29af43f30781058 + React-RCTText: adde32164a243103aaba0b1dc7b0a2599733873e + React-RCTVibration: 6bd85328388ac2e82ae0ca11afe48ad5555b483a + React-rncore: fda7b1ae5918fa7baa259105298a5487875a57c8 + React-runtimeexecutor: 57d85d942862b08f6d15441a0badff2542fd233c + React-runtimescheduler: f23e337008403341177fc52ee4ca94e442c17ede + React-utils: fa59c9a3375fb6f4aeb66714fd3f7f76b43a9f16 + ReactCommon: dd03c17275c200496f346af93a7b94c53f3093a4 + RNCMaskedView: 949696f25ec596bfc697fc88e6f95cf0c79669b6 + RNGestureHandler: c0d04458598fcb26052494ae23dda8f8f5162b13 + RNReanimated: 9f7068e43b9358a46a688d94a5a3adb258139457 + RNScreens: 50ffe2fa2342eabb2d0afbe19f7c1af286bc7fb3 + SocketRocket: f32cd54efbe0f095c4d7594881e52619cfe80b17 + Yoga: b76f1acfda8212aa16b7e26bcce3983230c82603 + +PODFILE CHECKSUM: 762dbdd8da14fae632a643f511d39eb2cf08a6e1 + +COCOAPODS: 1.14.3 diff --git a/app/ios/Podfile.properties.json b/app/ios/Podfile.properties.json new file mode 100644 index 0000000..de9f7b7 --- /dev/null +++ b/app/ios/Podfile.properties.json @@ -0,0 +1,4 @@ +{ + "expo.jsEngine": "hermes", + "EX_DEV_CLIENT_NETWORK_INSPECTOR": "true" +} diff --git a/app/package-lock.json b/app/package-lock.json index db0f521..c9512ca 100644 --- a/app/package-lock.json +++ b/app/package-lock.json @@ -7,6 +7,7 @@ "": { "name": "app", "version": "1.0.0", + "hasInstallScript": true, "dependencies": { "@babel/plugin-proposal-export-namespace-from": "^7.18.9", "@expo/webpack-config": "^19.0.0", @@ -19,6 +20,7 @@ "expo-screen-orientation": "~6.0.6", "expo-splash-screen": "~0.20.5", "expo-status-bar": "~1.6.0", + "expo-system-ui": "~2.4.0", "pocketbase": "^0.20.1", "react": "18.2.0", "react-dom": "18.2.0", @@ -36,6 +38,9 @@ "devDependencies": { "@babel/core": "^7.20.0", "@types/react": "~18.2.14", + "patch-package": "^8.0.0", + "postinstall-postinstall": "^2.1.0", + "sharp-cli": "^4.2.0", "typescript": "^5.1.3" } }, @@ -6874,6 +6879,12 @@ "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" }, + "node_modules/@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", + "dev": true + }, "node_modules/abab": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", @@ -7171,6 +7182,12 @@ "node": ">= 4.0.0" } }, + "node_modules/b4a": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.4.tgz", + "integrity": "sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==", + "dev": true + }, "node_modules/babel-core": { "version": "7.0.0-bridge.0", "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", @@ -7666,6 +7683,19 @@ "node-int64": "^0.4.0" } }, + "node_modules/bubble-stream-error": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/bubble-stream-error/-/bubble-stream-error-1.0.0.tgz", + "integrity": "sha512-Rqf0ly5H4HGt+ki/n3m7GxoR2uIGtNqezPlOLX8Vuo13j5/tfPuVvAr84eoGF7sYm6lKdbGnT/3q8qmzuT5Y9w==", + "dev": true, + "dependencies": { + "once": "^1.3.3", + "sliced": "^1.0.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, "node_modules/buffer": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", @@ -8980,6 +9010,21 @@ "node": ">=0.10" } }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dev": true, + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/deep-extend": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", @@ -9502,6 +9547,15 @@ "node": ">=6" } }, + "node_modules/expand-template": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/expo": { "version": "49.0.21", "resolved": "https://registry.npmjs.org/expo/-/expo-49.0.21.tgz", @@ -10067,6 +10121,18 @@ "resolved": "https://registry.npmjs.org/expo-status-bar/-/expo-status-bar-1.6.0.tgz", "integrity": "sha512-e//Oi2WPdomMlMDD3skE4+1ZarKCJ/suvcB4Jo/nO427niKug5oppcPNYO+csR6y3ZglGuypS+3pp/hJ+Xp6fQ==" }, + "node_modules/expo-system-ui": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/expo-system-ui/-/expo-system-ui-2.4.0.tgz", + "integrity": "sha512-uaBAYeQtFzyE8WVcch2V3G243xvOf7vJkLzrIJ3rJ8NA3uZRmxF0lMMe75oMrAaLVXyr1Z+ZE6UZwh7x49FuIg==", + "dependencies": { + "@react-native/normalize-color": "^2.0.0", + "debug": "^4.3.2" + }, + "peerDependencies": { + "expo": "*" + } + }, "node_modules/expo-updates-interface": { "version": "0.10.1", "resolved": "https://registry.npmjs.org/expo-updates-interface/-/expo-updates-interface-0.10.1.tgz", @@ -10220,6 +10286,12 @@ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, + "node_modules/fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", + "dev": true + }, "node_modules/fast-glob": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", @@ -10587,6 +10659,12 @@ "node": ">= 0.6" } }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "dev": true + }, "node_modules/fs-extra": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", @@ -10699,6 +10777,12 @@ "node": ">=6" } }, + "node_modules/github-from-package": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", + "dev": true + }, "node_modules/glob": { "version": "7.1.6", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", @@ -12389,6 +12473,30 @@ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, + "node_modules/json-stable-stringify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.1.0.tgz", + "integrity": "sha512-zfA+5SuwYN2VWqN1/5HZaDzQKLJHaBVMZIIM+wuYjdptkaQsqzDdqjqf+lZZJUuJq1aanHiY8LhH8LmH+qBYJA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "isarray": "^2.0.5", + "jsonify": "^0.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/json-stable-stringify/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, "node_modules/json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", @@ -12408,6 +12516,15 @@ "graceful-fs": "^4.1.6" } }, + "node_modules/jsonify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz", + "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", @@ -12416,6 +12533,15 @@ "node": ">=0.10.0" } }, + "node_modules/klaw-sync": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz", + "integrity": "sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.11" + } + }, "node_modules/kleur": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", @@ -12681,6 +12807,12 @@ "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" }, + "node_modules/lodash.pick": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", + "integrity": "sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q==", + "dev": true + }, "node_modules/lodash.throttle": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", @@ -13749,6 +13881,18 @@ "node": ">=4" } }, + "node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/mini-css-extract-plugin": { "version": "2.7.6", "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.6.tgz", @@ -13917,6 +14061,12 @@ "mkdirp": "bin/cmd.js" } }, + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "dev": true + }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -14003,6 +14153,12 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, + "node_modules/napi-build-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", + "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==", + "dev": true + }, "node_modules/ncp": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz", @@ -14052,11 +14208,62 @@ "node": ">=12.0.0" } }, + "node_modules/node-abi": { + "version": "3.52.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.52.0.tgz", + "integrity": "sha512-JJ98b02z16ILv7859irtXn4oUaFWADtvkzy2c0IAatNVX2Mc9Yoh8z6hZInn3QwvMEYhHuQloYi+TTQy67SIdQ==", + "dev": true, + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-abi/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-abi/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-abi/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, "node_modules/node-abort-controller": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz", "integrity": "sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==" }, + "node_modules/node-addon-api": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", + "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==", + "dev": true + }, "node_modules/node-dir": { "version": "0.1.17", "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", @@ -14215,6 +14422,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/obuf": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", @@ -14497,6 +14713,259 @@ "node": ">= 8" } }, + "node_modules/patch-package": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/patch-package/-/patch-package-8.0.0.tgz", + "integrity": "sha512-da8BVIhzjtgScwDJ2TtKsfT5JFWz1hYoBl9rUQ1f38MC2HwnEIkK8VN3dKMKcP7P7bvvgzNDbfNHtx3MsQb5vA==", + "dev": true, + "dependencies": { + "@yarnpkg/lockfile": "^1.1.0", + "chalk": "^4.1.2", + "ci-info": "^3.7.0", + "cross-spawn": "^7.0.3", + "find-yarn-workspace-root": "^2.0.0", + "fs-extra": "^9.0.0", + "json-stable-stringify": "^1.0.2", + "klaw-sync": "^6.0.0", + "minimist": "^1.2.6", + "open": "^7.4.2", + "rimraf": "^2.6.3", + "semver": "^7.5.3", + "slash": "^2.0.0", + "tmp": "^0.0.33", + "yaml": "^2.2.2" + }, + "bin": { + "patch-package": "index.js" + }, + "engines": { + "node": ">=14", + "npm": ">5" + } + }, + "node_modules/patch-package/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/patch-package/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/patch-package/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/patch-package/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/patch-package/node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/patch-package/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/patch-package/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/patch-package/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/patch-package/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/patch-package/node_modules/open": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", + "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", + "dev": true, + "dependencies": { + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/patch-package/node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/patch-package/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/patch-package/node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/patch-package/node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/patch-package/node_modules/slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/patch-package/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/patch-package/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/patch-package/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/patch-package/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, "node_modules/path-browserify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", @@ -15284,6 +15753,96 @@ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" }, + "node_modules/postinstall-postinstall": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postinstall-postinstall/-/postinstall-postinstall-2.1.0.tgz", + "integrity": "sha512-7hQX6ZlZXIoRiWNrbMQaLzUUfH+sSx39u8EJ9HYuDc1kLo9IXKWjM5RSquZN1ad5GnH8CGFM78fsAAQi3OKEEQ==", + "dev": true, + "hasInstallScript": true + }, + "node_modules/prebuild-install": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz", + "integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==", + "dev": true, + "dependencies": { + "detect-libc": "^2.0.0", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^1.0.1", + "node-abi": "^3.3.0", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^4.0.0", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0" + }, + "bin": { + "prebuild-install": "bin.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/prebuild-install/node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, + "node_modules/prebuild-install/node_modules/detect-libc": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz", + "integrity": "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/prebuild-install/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prebuild-install/node_modules/tar-fs": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "dev": true, + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "node_modules/prebuild-install/node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "dev": true, + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/pretty-bytes": { "version": "5.6.0", "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", @@ -15501,6 +16060,12 @@ } ] }, + "node_modules/queue-tick": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", + "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==", + "dev": true + }, "node_modules/ramda": { "version": "0.27.2", "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.27.2.tgz", @@ -16516,6 +17081,162 @@ "resolved": "https://registry.npmjs.org/shallow-equal/-/shallow-equal-1.2.1.tgz", "integrity": "sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA==" }, + "node_modules/sharp": { + "version": "0.32.6", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.32.6.tgz", + "integrity": "sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "color": "^4.2.3", + "detect-libc": "^2.0.2", + "node-addon-api": "^6.1.0", + "prebuild-install": "^7.1.1", + "semver": "^7.5.4", + "simple-get": "^4.0.1", + "tar-fs": "^3.0.4", + "tunnel-agent": "^0.6.0" + }, + "engines": { + "node": ">=14.15.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/sharp-cli": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/sharp-cli/-/sharp-cli-4.2.0.tgz", + "integrity": "sha512-rLu31/2k0JCrDw0BaM4sWU0yf9652GtzH0PksxFaw++YLRj8Hj/pDwhbdKxV/QEb5qkDOX/+0HyBQf6l5aYtqw==", + "dev": true, + "dependencies": { + "bubble-stream-error": "1.0.x", + "glob": "8.0.x", + "is-directory": "0.3.x", + "lodash.pick": "^4.4.0", + "sharp": "0.32.6", + "yargs": "^17.6.2" + }, + "bin": { + "sharp": "bin/cli.js" + }, + "engines": { + "node": ">=14.15" + } + }, + "node_modules/sharp-cli/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/sharp-cli/node_modules/glob": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", + "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sharp-cli/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/sharp/node_modules/color": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1", + "color-string": "^1.9.0" + }, + "engines": { + "node": ">=12.5.0" + } + }, + "node_modules/sharp/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/sharp/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/sharp/node_modules/detect-libc": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz", + "integrity": "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/sharp/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/sharp/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/sharp/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, "node_modules/shebang-command": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", @@ -16561,6 +17282,51 @@ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" }, + "node_modules/simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/simple-get": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, "node_modules/simple-plist": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/simple-plist/-/simple-plist-1.3.1.tgz", @@ -16621,6 +17387,12 @@ "node": ">=6" } }, + "node_modules/sliced": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sliced/-/sliced-1.0.1.tgz", + "integrity": "sha512-VZBmZP8WU3sMOZm1bdgTadsQbcscK0UM8oKxKVBs4XAhUo2Xxzm/OFMGBkPusxw9xL3Uy8LrzEqGqJhclsr0yA==", + "dev": true + }, "node_modules/slugify": { "version": "1.6.6", "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.6.tgz", @@ -16857,6 +17629,16 @@ "node": ">= 0.10.0" } }, + "node_modules/streamx": { + "version": "2.15.6", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.6.tgz", + "integrity": "sha512-q+vQL4AAz+FdfT137VF69Cc/APqUbxy+MDOImRrMvchJpigHj9GksgDU2LYbO9rx7RX6osWgxJB2WxhYv4SZAw==", + "dev": true, + "dependencies": { + "fast-fifo": "^1.1.0", + "queue-tick": "^1.0.1" + } + }, "node_modules/strict-uri-encode": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", @@ -17246,6 +18028,28 @@ "node": ">=10" } }, + "node_modules/tar-fs": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz", + "integrity": "sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==", + "dev": true, + "dependencies": { + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^3.1.5" + } + }, + "node_modules/tar-stream": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz", + "integrity": "sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==", + "dev": true, + "dependencies": { + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" + } + }, "node_modules/tar/node_modules/minipass": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", @@ -17549,6 +18353,18 @@ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, "node_modules/type-detect": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", diff --git a/app/package.json b/app/package.json index fb96ac7..1fdba2c 100644 --- a/app/package.json +++ b/app/package.json @@ -6,7 +6,8 @@ "start": "expo start", "android": "expo run:android", "ios": "expo run:ios", - "web": "expo start --web" + "web": "expo start --web", + "postinstall": "patch-package" }, "dependencies": { "@babel/plugin-proposal-export-namespace-from": "^7.18.9", @@ -16,8 +17,11 @@ "@react-navigation/native": "^6.1.9", "@react-navigation/stack": "^6.3.20", "expo": "~49.0.15", + "expo-dev-client": "~2.4.12", "expo-screen-orientation": "~6.0.6", + "expo-splash-screen": "~0.20.5", "expo-status-bar": "~1.6.0", + "expo-system-ui": "~2.4.0", "pocketbase": "^0.20.1", "react": "18.2.0", "react-dom": "18.2.0", @@ -30,13 +34,14 @@ "react-native-screens": "~3.22.0", "react-native-web": "~0.19.6", "react-responsive": "^9.0.2", - "swr": "^2.2.4", - "expo-dev-client": "~2.4.12", - "expo-splash-screen": "~0.20.5" + "swr": "^2.2.4" }, "devDependencies": { "@babel/core": "^7.20.0", "@types/react": "~18.2.14", + "patch-package": "^8.0.0", + "postinstall-postinstall": "^2.1.0", + "sharp-cli": "^4.2.0", "typescript": "^5.1.3" }, "private": true diff --git a/app/patches/react-native+0.72.6.patch b/app/patches/react-native+0.72.6.patch new file mode 100644 index 0000000..26ddfe9 --- /dev/null +++ b/app/patches/react-native+0.72.6.patch @@ -0,0 +1,13 @@ +diff --git a/node_modules/react-native/third-party-podspecs/boost.podspec b/node_modules/react-native/third-party-podspecs/boost.podspec +index 3d9331c..b1e2c6a 100644 +--- a/node_modules/react-native/third-party-podspecs/boost.podspec ++++ b/node_modules/react-native/third-party-podspecs/boost.podspec +@@ -10,7 +10,7 @@ Pod::Spec.new do |spec| + spec.homepage = 'http://www.boost.org' + spec.summary = 'Boost provides free peer-reviewed portable C++ source libraries.' + spec.authors = 'Rene Rivera' +- spec.source = { :http => 'https://boostorg.jfrog.io/artifactory/main/release/1.76.0/source/boost_1_76_0.tar.bz2', ++ spec.source = { :http => 'https://sourceforge.net/projects/boost/files/boost/1.76.0/boost_1_76_0.tar.bz2', + :sha256 => 'f0397ba6e982c4450f27bf32a2a83292aba035b827a5623a14636ea583318c41' } + + # Pinning to the same version as React.podspec.