diff --git a/.github/workflows/rn-test-ios.yml b/.github/workflows/rn-test-ios.yml index b3a231124..95fd051b1 100644 --- a/.github/workflows/rn-test-ios.yml +++ b/.github/workflows/rn-test-ios.yml @@ -15,6 +15,9 @@ jobs: defaults: run: working-directory: platforms/react-native + env: + MINT_PATH: ${{ github.workspace }}/.mint/lib + MINT_LINK_PATH: ${{ github.workspace }}/.mint/bin steps: - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 @@ -49,22 +52,34 @@ jobs: bundler-cache: true working-directory: platforms/react-native/sample + - name: Cache Mint packages + id: mint-cache + uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 + with: + path: .mint + key: ${{ runner.os }}-mint-${{ hashFiles('platforms/swift/Mintfile') }} + restore-keys: | + ${{ runner.os }}-mint- + + - name: Install Mint + run: brew install mint + + - name: Bootstrap Mint packages + if: steps.mint-cache.outputs.cache-hit != 'true' + working-directory: platforms/swift + run: mint bootstrap --link + + - name: Add Mint to PATH + run: echo "${{ github.workspace }}/.mint/bin" >> "$GITHUB_PATH" + - name: Verify iOS lockfile uses published native SDK - run: scripts/check_published_podfile_lock sample/ios/Podfile.lock + run: scripts/check_published_podfile_lock test/rct-integration-app/Podfile.lock - name: Cache cocoapods uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 with: - path: platforms/react-native/sample/ios/Pods - key: ${{ runner.os }}-cocoapods-${{ hashFiles('platforms/react-native/sample/ios/Podfile.lock', 'platforms/react-native/sample/Gemfile.lock', 'platforms/react-native/sample/Gemfile', 'platforms/react-native/package.json', 'platforms/react-native/sample/package.json', 'platforms/react-native/modules/@shopify/checkout-kit-react-native/package.json', 'platforms/react-native/pnpm-lock.yaml') }} - - - name: Install cocoapods - working-directory: platforms/react-native/sample - run: | - set -euo pipefail - bundle install - cd ios - bundle exec pod install --deployment --repo-update + path: platforms/react-native/test/rct-integration-app/Pods + key: ${{ runner.os }}-rct-integration-cocoapods-${{ hashFiles('platforms/react-native/test/rct-integration-app/Podfile.lock', 'platforms/react-native/test/rct-integration-app/Podfile', 'platforms/react-native/sample/Gemfile.lock', 'platforms/react-native/sample/Gemfile', 'platforms/react-native/package.json', 'platforms/react-native/test/rct-integration-app/package.json', 'platforms/react-native/modules/@shopify/checkout-kit-react-native/package.json', 'platforms/react-native/pnpm-lock.yaml') }} - name: Build module run: pnpm module build diff --git a/.gitignore b/.gitignore index 600a64b55..2e7f5691e 100644 --- a/.gitignore +++ b/.gitignore @@ -21,11 +21,14 @@ node_modules/ .swiftpm/ xcuserdata/ platforms/swift/Samples/**/*.xcodeproj/ +platforms/react-native/test/rct-integration-app/*.xcodeproj/ +platforms/react-native/test/rct-integration-app/*.xcworkspace/ # Sample app generated configuration (Swift) **/Storefront.xcconfig **/*.entitlements platforms/swift/Samples/**/Info.plist +platforms/react-native/test/rct-integration-app/**/Info.plist # Exception: the React Native sample's entitlements are source code (associated # domains + in-app payments merchant ID), not secrets — Xcode requires this file # at build time and CI fails without it. diff --git a/dev.yml b/dev.yml index d4e1688af..02976bfbb 100644 --- a/dev.yml +++ b/dev.yml @@ -360,13 +360,12 @@ commands: long_desc: | Runs unit tests across all three React Native targets: - JS: Jest tests in `platforms/react-native/modules/@shopify/checkout-kit-react-native/tests/` - - iOS: Swift Package tests at `platforms/react-native/modules/@shopify/checkout-kit-react-native/ios/` + - iOS: Xcode/CocoaPods tests in `platforms/react-native/test/rct-integration-app/` - Android: Gradle JVM tests for `:shopify_checkout-kit-react-native` (requires a local Maven publish of `:lib`) run: | set -e cd platforms/react-native && pnpm test - cd modules/@shopify/checkout-kit-react-native/ios && swift test - cd ../../../../ + pnpm sample test:ios USE_LOCAL_SDK=1 ./scripts/publish_android_snapshot cd sample/android && USE_LOCAL_SDK=1 ./gradlew :shopify_checkout-kit-react-native:test --refresh-dependencies subcommands: @@ -374,8 +373,8 @@ commands: desc: Run JS unit tests via jest run: cd platforms/react-native && pnpm test ios: - desc: Run native iOS unit tests (Swift Package at modules/.../ios) - run: cd platforms/react-native/modules/@shopify/checkout-kit-react-native/ios && swift test + desc: Run native iOS unit tests via the RCT integration app + run: cd platforms/react-native && pnpm sample test:ios android: desc: Run native Android unit tests for the RN module (publishes/uses local platforms/android SDK) run: | @@ -437,6 +436,15 @@ commands: else echo "Skipping CocoaPods cache clean (pod unavailable; run dev up first)" fi + rm -rf test/rct-integration-app/Pods \ + test/rct-integration-app/RCTIntegrationApp.xcodeproj \ + test/rct-integration-app/RCTIntegrationApp.xcworkspace \ + test/rct-integration-app/RCTIntegrationApp/Info.plist \ + test/rct-integration-app/RCTIntegrationAppTests/Info.plist \ + test/rct-integration-app/build \ + test/rct-integration-app/.xcode.env \ + test/rct-integration-app/.xcode.env.local \ + test/rct-integration-app/PrivacyInfo.xcprivacy pnpm module clean pnpm sample clean pnpm clean diff --git a/platforms/react-native/.gitignore b/platforms/react-native/.gitignore index d79ad0023..eb1831f49 100644 --- a/platforms/react-native/.gitignore +++ b/platforms/react-native/.gitignore @@ -65,6 +65,9 @@ pnpm-debug.log # Ruby / CocoaPods /**/Pods/ /vendor/bundle/ +test/rct-integration-app/.xcode.env +test/rct-integration-app/PrivacyInfo.xcprivacy + # Temporary files created by Metro to check the health of the file watcher .metro-health-check* @@ -84,6 +87,8 @@ pnpm-debug.log .build lib dist +test/rct-integration-app/*.xcodeproj/ +test/rct-integration-app/*.xcworkspace/ # Module modules/@shopify/checkout-kit-react-native/android/gradle/wrapper/gradle-wrapper.jar diff --git a/platforms/react-native/modules/@shopify/checkout-kit-react-native/RNShopifyCheckoutKit.podspec b/platforms/react-native/modules/@shopify/checkout-kit-react-native/RNShopifyCheckoutKit.podspec index c0ed73fd6..6ab11051d 100644 --- a/platforms/react-native/modules/@shopify/checkout-kit-react-native/RNShopifyCheckoutKit.podspec +++ b/platforms/react-native/modules/@shopify/checkout-kit-react-native/RNShopifyCheckoutKit.podspec @@ -17,11 +17,6 @@ Pod::Spec.new do |s| s.source = { :git => "https://github.com/Shopify/checkout-kit.git", :tag => "react-native/#{s.version}" } s.source_files = "ios/*.{h,m,mm,swift}" - # `ios/Package.swift` is the manifest for the nested SwiftPM test package - # (ProtocolRelay unit tests). It imports `PackageDescription` which only - # exists in the SwiftPM toolchain, so it must not be compiled by - # CocoaPods/Xcode when the RN module is consumed from an iOS app. - s.exclude_files = "ios/Package.swift" s.dependency "React-Core" diff --git a/platforms/react-native/modules/@shopify/checkout-kit-react-native/ios/Package.swift b/platforms/react-native/modules/@shopify/checkout-kit-react-native/ios/Package.swift deleted file mode 100644 index 8cafc679a..000000000 --- a/platforms/react-native/modules/@shopify/checkout-kit-react-native/ios/Package.swift +++ /dev/null @@ -1,28 +0,0 @@ -// swift-tools-version: 5.9 -import PackageDescription - -let package = Package( - name: "RNShopifyCheckoutKitProtocolRelay", - platforms: [.iOS(.v15), .macOS(.v10_15)], - products: [ - .library(name: "RNShopifyCheckoutKitProtocolRelay", targets: ["RNShopifyCheckoutKitProtocolRelay"]) - ], - dependencies: [ - .package(path: "../../../../../../protocol/languages/swift") - ], - targets: [ - .target( - name: "RNShopifyCheckoutKitProtocolRelay", - dependencies: [ - .product(name: "ShopifyCheckoutProtocol", package: "swift") - ], - path: ".", - sources: ["ProtocolRelay.swift"] - ), - .testTarget( - name: "RNShopifyCheckoutKitProtocolRelayTests", - dependencies: ["RNShopifyCheckoutKitProtocolRelay"], - path: "Tests" - ) - ] -) diff --git a/platforms/react-native/pnpm-lock.yaml b/platforms/react-native/pnpm-lock.yaml index 9b8aad98c..64b338c09 100644 --- a/platforms/react-native/pnpm-lock.yaml +++ b/platforms/react-native/pnpm-lock.yaml @@ -255,6 +255,18 @@ importers: specifier: ^1.0.5 version: 1.0.5 + test/rct-integration-app: + dependencies: + '@shopify/checkout-kit-react-native': + specifier: workspace:* + version: link:../../modules/@shopify/checkout-kit-react-native + react: + specifier: '*' + version: 19.1.0 + react-native: + specifier: '*' + version: 0.80.2(@babel/core@7.29.7)(@react-native-community/cli@19.1.2(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.0) + packages: '@aashutoshrathi/word-wrap@1.2.6': diff --git a/platforms/react-native/pnpm-workspace.yaml b/platforms/react-native/pnpm-workspace.yaml index 30b467917..4147f826a 100644 --- a/platforms/react-native/pnpm-workspace.yaml +++ b/platforms/react-native/pnpm-workspace.yaml @@ -1,4 +1,5 @@ packages: - sample + - test/rct-integration-app - 'modules/**/*' - '../../protocol/languages/typescript' diff --git a/platforms/react-native/sample/ios/CheckoutKitReactNativeDemo.xcodeproj/project.pbxproj b/platforms/react-native/sample/ios/CheckoutKitReactNativeDemo.xcodeproj/project.pbxproj index 3ac141813..67d5a6fd9 100644 --- a/platforms/react-native/sample/ios/CheckoutKitReactNativeDemo.xcodeproj/project.pbxproj +++ b/platforms/react-native/sample/ios/CheckoutKitReactNativeDemo.xcodeproj/project.pbxproj @@ -9,66 +9,31 @@ /* Begin PBXBuildFile section */ 0A018AC7205EBA49E1E67311 /* libPods-CheckoutKitReactNativeDemo.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 9E0AC43398437CA0E3D05DDF /* libPods-CheckoutKitReactNativeDemo.a */; }; 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; - 37C6EE1EB87AA54212E67EDE /* libPods-CheckoutKitReactNativeDemoTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 591887D86C91BE07EFFC9303 /* libPods-CheckoutKitReactNativeDemoTests.a */; }; - 6A1F48E72B16900600BA591C /* ShopifyCheckoutKitTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A1F48E62B16900600BA591C /* ShopifyCheckoutKitTests.swift */; }; 6A58AAE82E607E0200A6AA85 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A58AAE72E607DFB00A6AA85 /* AppDelegate.swift */; }; - 6A86196D2BF36EB900E5EE1A /* CheckoutDidFailTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A86196C2BF36EB900E5EE1A /* CheckoutDidFailTests.swift */; }; - 6AEEAAB22C00010100E5EE1B /* AcceleratedCheckouts_SupportedTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AEEAAB02C00010100E5EE1B /* AcceleratedCheckouts_SupportedTests.swift */; }; - 6AEEAAB32C00010100E5EE1B /* AcceleratedCheckouts_UnsupportedTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AEEAAB12C00010100E5EE1B /* AcceleratedCheckouts_UnsupportedTests.swift */; }; - 6AF1E0032C00010100E5EE1B /* EventSerializationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AF1E0022C00010100E5EE1B /* EventSerializationTests.swift */; }; 6AFAD2D22BA9DEF8001F9644 /* Localizable.xcstrings in Resources */ = {isa = PBXBuildFile; fileRef = 6AFAD2D12BA9DEF8001F9644 /* Localizable.xcstrings */; }; 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; }; 9403907249B4B6D988902B48 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 1939D329B2C035D1A15E316B /* PrivacyInfo.xcprivacy */; }; /* End PBXBuildFile section */ -/* Begin PBXContainerItemProxy section */ - 00E356F41AD99517003FC87E /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 13B07F861A680F5B00A75B9A; - remoteInfo = CheckoutKitReactNativeDemo; - }; -/* End PBXContainerItemProxy section */ - /* Begin PBXFileReference section */ - 00E356EE1AD99517003FC87E /* CheckoutKitReactNativeDemoTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = CheckoutKitReactNativeDemoTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 13B07F961A680F5B00A75B9A /* CheckoutKitReactNativeDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = CheckoutKitReactNativeDemo.app; sourceTree = BUILT_PRODUCTS_DIR; }; 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = CheckoutKitReactNativeDemo/Images.xcassets; sourceTree = ""; }; 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = CheckoutKitReactNativeDemo/Info.plist; sourceTree = ""; }; 1939D329B2C035D1A15E316B /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xml; name = PrivacyInfo.xcprivacy; path = CheckoutKitReactNativeDemo/PrivacyInfo.xcprivacy; sourceTree = ""; }; - 39099806D4750FF73C4975E3 /* Pods-CheckoutKitReactNativeDemoTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CheckoutKitReactNativeDemoTests.release.xcconfig"; path = "Target Support Files/Pods-CheckoutKitReactNativeDemoTests/Pods-CheckoutKitReactNativeDemoTests.release.xcconfig"; sourceTree = ""; }; 4EF1B8B6CA16C991C5BEE2F2 /* Pods-CheckoutKitReactNativeDemo.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CheckoutKitReactNativeDemo.release.xcconfig"; path = "Target Support Files/Pods-CheckoutKitReactNativeDemo/Pods-CheckoutKitReactNativeDemo.release.xcconfig"; sourceTree = ""; }; - 591887D86C91BE07EFFC9303 /* libPods-CheckoutKitReactNativeDemoTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-CheckoutKitReactNativeDemoTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 6A1F48E62B16900600BA591C /* ShopifyCheckoutKitTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShopifyCheckoutKitTests.swift; sourceTree = ""; }; 6A58AAE72E607DFB00A6AA85 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 6A86196C2BF36EB900E5EE1A /* CheckoutDidFailTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CheckoutDidFailTests.swift; sourceTree = ""; }; 6A8D64CF2AF25C1200FE4E4A /* CheckoutKitReactNativeDemo.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; name = CheckoutKitReactNativeDemo.entitlements; path = CheckoutKitReactNativeDemo/CheckoutKitReactNativeDemo.entitlements; sourceTree = ""; }; 6AABC1942B17417E008240EB /* OpenSSL.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = OpenSSL.xcframework; path = "Pods/OpenSSL-Universal/Frameworks/OpenSSL.xcframework"; sourceTree = ""; }; 6AAEC3572B067AD500C7099B /* Entypo.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = Entypo.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Entypo.ttf"; sourceTree = ""; }; - 6AEEAAB02C00010100E5EE1B /* AcceleratedCheckouts_SupportedTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AcceleratedCheckouts_SupportedTests.swift; sourceTree = ""; }; - 6AEEAAB12C00010100E5EE1B /* AcceleratedCheckouts_UnsupportedTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AcceleratedCheckouts_UnsupportedTests.swift; sourceTree = ""; }; - 6AF1E0022C00010100E5EE1B /* EventSerializationTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EventSerializationTests.swift; sourceTree = ""; }; 6AF2B3762B0BCA6600C6CE4F /* CheckoutKitReactNativeDemo-Bridging-Header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "CheckoutKitReactNativeDemo-Bridging-Header.h"; sourceTree = ""; }; 6AFAD2D12BA9DEF8001F9644 /* Localizable.xcstrings */ = {isa = PBXFileReference; lastKnownFileType = text.json.xcstrings; name = Localizable.xcstrings; path = CheckoutKitReactNativeDemo/Localizable.xcstrings; sourceTree = ""; }; 6AFC2CB62B0D5814003B5A63 /* libShopifyCheckoutKit.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libShopifyCheckoutKit.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 7959053DABE1E06BE5CF1255 /* Pods-CheckoutKitReactNativeDemo-CheckoutKitReactNativeDemoTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CheckoutKitReactNativeDemo-CheckoutKitReactNativeDemoTests.release.xcconfig"; path = "Target Support Files/Pods-CheckoutKitReactNativeDemo-CheckoutKitReactNativeDemoTests/Pods-CheckoutKitReactNativeDemo-CheckoutKitReactNativeDemoTests.release.xcconfig"; sourceTree = ""; }; 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = CheckoutKitReactNativeDemo/LaunchScreen.storyboard; sourceTree = ""; }; 9E0AC43398437CA0E3D05DDF /* libPods-CheckoutKitReactNativeDemo.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-CheckoutKitReactNativeDemo.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - DF9E097D026528607DDCD7B7 /* Pods-CheckoutKitReactNativeDemo-CheckoutKitReactNativeDemoTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CheckoutKitReactNativeDemo-CheckoutKitReactNativeDemoTests.debug.xcconfig"; path = "Target Support Files/Pods-CheckoutKitReactNativeDemo-CheckoutKitReactNativeDemoTests/Pods-CheckoutKitReactNativeDemo-CheckoutKitReactNativeDemoTests.debug.xcconfig"; sourceTree = ""; }; - E22D02A7C54F90741A3D90E9 /* Pods-CheckoutKitReactNativeDemoTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CheckoutKitReactNativeDemoTests.debug.xcconfig"; path = "Target Support Files/Pods-CheckoutKitReactNativeDemoTests/Pods-CheckoutKitReactNativeDemoTests.debug.xcconfig"; sourceTree = ""; }; ED728EF8BB9B5E9BA9D50EBE /* Pods-CheckoutKitReactNativeDemo.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CheckoutKitReactNativeDemo.debug.xcconfig"; path = "Target Support Files/Pods-CheckoutKitReactNativeDemo/Pods-CheckoutKitReactNativeDemo.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 00E356EB1AD99517003FC87E /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 37C6EE1EB87AA54212E67EDE /* libPods-CheckoutKitReactNativeDemoTests.a in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; 13B07F8C1A680F5B00A75B9A /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -80,26 +45,6 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 00E356EF1AD99517003FC87E /* CheckoutKitReactNativeDemoTests */ = { - isa = PBXGroup; - children = ( - 00E356F01AD99517003FC87E /* Supporting Files */, - 6A1F48E62B16900600BA591C /* ShopifyCheckoutKitTests.swift */, - 6A86196C2BF36EB900E5EE1A /* CheckoutDidFailTests.swift */, - 6AEEAAB02C00010100E5EE1B /* AcceleratedCheckouts_SupportedTests.swift */, - 6AEEAAB12C00010100E5EE1B /* AcceleratedCheckouts_UnsupportedTests.swift */, - 6AF1E0022C00010100E5EE1B /* EventSerializationTests.swift */, - ); - path = CheckoutKitReactNativeDemoTests; - sourceTree = ""; - }; - 00E356F01AD99517003FC87E /* Supporting Files */ = { - isa = PBXGroup; - children = ( - ); - name = "Supporting Files"; - sourceTree = ""; - }; 13B07FAE1A68108700A75B9A /* CheckoutKitReactNativeDemo */ = { isa = PBXGroup; children = ( @@ -122,7 +67,6 @@ 6AABC1942B17417E008240EB /* OpenSSL.xcframework */, 6AFC2CB62B0D5814003B5A63 /* libShopifyCheckoutKit.a */, 9E0AC43398437CA0E3D05DDF /* libPods-CheckoutKitReactNativeDemo.a */, - 591887D86C91BE07EFFC9303 /* libPods-CheckoutKitReactNativeDemoTests.a */, ); name = Frameworks; sourceTree = ""; @@ -147,7 +91,6 @@ 6AB7C68F2AF197BE000DB11B /* Packages */, 13B07FAE1A68108700A75B9A /* CheckoutKitReactNativeDemo */, 832341AE1AAA6A7D00B99B32 /* Libraries */, - 00E356EF1AD99517003FC87E /* CheckoutKitReactNativeDemoTests */, 83CBBA001A601CBA00E9B192 /* Products */, BBD78D7AC51CEA395F1C20DB /* Pods */, 6A18CE262AF1B119007B1B08 /* Frameworks */, @@ -161,7 +104,6 @@ isa = PBXGroup; children = ( 13B07F961A680F5B00A75B9A /* CheckoutKitReactNativeDemo.app */, - 00E356EE1AD99517003FC87E /* CheckoutKitReactNativeDemoTests.xctest */, ); name = Products; sourceTree = ""; @@ -171,10 +113,6 @@ children = ( ED728EF8BB9B5E9BA9D50EBE /* Pods-CheckoutKitReactNativeDemo.debug.xcconfig */, 4EF1B8B6CA16C991C5BEE2F2 /* Pods-CheckoutKitReactNativeDemo.release.xcconfig */, - DF9E097D026528607DDCD7B7 /* Pods-CheckoutKitReactNativeDemo-CheckoutKitReactNativeDemoTests.debug.xcconfig */, - 7959053DABE1E06BE5CF1255 /* Pods-CheckoutKitReactNativeDemo-CheckoutKitReactNativeDemoTests.release.xcconfig */, - E22D02A7C54F90741A3D90E9 /* Pods-CheckoutKitReactNativeDemoTests.debug.xcconfig */, - 39099806D4750FF73C4975E3 /* Pods-CheckoutKitReactNativeDemoTests.release.xcconfig */, ); path = Pods; sourceTree = ""; @@ -182,25 +120,6 @@ /* End PBXGroup section */ /* Begin PBXNativeTarget section */ - 00E356ED1AD99517003FC87E /* CheckoutKitReactNativeDemoTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "CheckoutKitReactNativeDemoTests" */; - buildPhases = ( - 13CD11EE2D19D04D273718C4 /* [CP] Check Pods Manifest.lock */, - 00E356EA1AD99517003FC87E /* Sources */, - 00E356EB1AD99517003FC87E /* Frameworks */, - 00E356EC1AD99517003FC87E /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 00E356F51AD99517003FC87E /* PBXTargetDependency */, - ); - name = CheckoutKitReactNativeDemoTests; - productName = CheckoutKitReactNativeDemoTests; - productReference = 00E356EE1AD99517003FC87E /* CheckoutKitReactNativeDemoTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; 13B07F861A680F5B00A75B9A /* CheckoutKitReactNativeDemo */ = { isa = PBXNativeTarget; buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "CheckoutKitReactNativeDemo" */; @@ -231,11 +150,6 @@ BuildIndependentTargetsInParallel = YES; LastUpgradeCheck = 1430; TargetAttributes = { - 00E356ED1AD99517003FC87E = { - CreatedOnToolsVersion = 6.2; - LastSwiftMigration = 1430; - TestTargetID = 13B07F861A680F5B00A75B9A; - }; 13B07F861A680F5B00A75B9A = { LastSwiftMigration = 1430; }; @@ -255,19 +169,11 @@ projectRoot = ""; targets = ( 13B07F861A680F5B00A75B9A /* CheckoutKitReactNativeDemo */, - 00E356ED1AD99517003FC87E /* CheckoutKitReactNativeDemoTests */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 00E356EC1AD99517003FC87E /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; 13B07F8E1A680F5B00A75B9A /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; @@ -298,28 +204,6 @@ shellPath = /bin/sh; shellScript = "set -e\n\nWITH_ENVIRONMENT=\"../../node_modules/react-native/scripts/xcode/with-environment.sh\"\nREACT_NATIVE_XCODE=\"../../node_modules/react-native/scripts/react-native-xcode.sh\"\n\n/bin/sh -c \"$WITH_ENVIRONMENT $REACT_NATIVE_XCODE\"\n"; }; - 13CD11EE2D19D04D273718C4 /* [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-CheckoutKitReactNativeDemoTests-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; - }; 1EF77979E16522DC120150A8 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -379,18 +263,6 @@ /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 00E356EA1AD99517003FC87E /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 6A1F48E72B16900600BA591C /* ShopifyCheckoutKitTests.swift in Sources */, - 6A86196D2BF36EB900E5EE1A /* CheckoutDidFailTests.swift in Sources */, - 6AEEAAB22C00010100E5EE1B /* AcceleratedCheckouts_SupportedTests.swift in Sources */, - 6AEEAAB32C00010100E5EE1B /* AcceleratedCheckouts_UnsupportedTests.swift in Sources */, - 6AF1E0032C00010100E5EE1B /* EventSerializationTests.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; 13B07F871A680F5B00A75B9A /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -401,237 +273,7 @@ }; /* End PBXSourcesBuildPhase section */ -/* Begin PBXTargetDependency section */ - 00E356F51AD99517003FC87E /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 13B07F861A680F5B00A75B9A /* CheckoutKitReactNativeDemo */; - targetProxy = 00E356F41AD99517003FC87E /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - /* Begin XCBuildConfiguration section */ - 00E356F61AD99517003FC87E /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = E22D02A7C54F90741A3D90E9 /* Pods-CheckoutKitReactNativeDemoTests.debug.xcconfig */; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CLANG_ENABLE_MODULES = YES; - FRAMEWORK_SEARCH_PATHS = "$(inherited)"; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - HEADER_SEARCH_PATHS = ( - "$(inherited)", - "\"${PODS_ROOT}/Headers/Public\"", - "\"${PODS_ROOT}/Headers/Public/CocoaAsyncSocket\"", - "\"${PODS_ROOT}/Headers/Public/DoubleConversion\"", - "\"${PODS_ROOT}/Headers/Public/FBLazyVector\"", - "\"${PODS_ROOT}/Headers/Public/RCT-Folly\"", - "\"${PODS_ROOT}/Headers/Public/RCTRequired\"", - "\"${PODS_ROOT}/Headers/Public/RCTTypeSafety\"", - "\"${PODS_ROOT}/Headers/Public/RNCMaskedView\"", - "\"${PODS_ROOT}/Headers/Public/RNGestureHandler\"", - "\"${PODS_ROOT}/Headers/Public/RNReanimated\"", - "\"${PODS_ROOT}/Headers/Public/RNScreens\"", - "\"${PODS_ROOT}/Headers/Public/RNVectorIcons\"", - "\"${PODS_ROOT}/Headers/Public/React-Codegen\"", - "\"${PODS_ROOT}/Headers/Public/React-Core\"", - "\"${PODS_ROOT}/Headers/Public/React-NativeModulesApple\"", - "\"${PODS_ROOT}/Headers/Public/React-RCTAnimation\"", - "\"${PODS_ROOT}/Headers/Public/React-RCTAppDelegate\"", - "\"${PODS_ROOT}/Headers/Public/React-RCTBlob\"", - "\"${PODS_ROOT}/Headers/Public/React-RCTText\"", - "\"${PODS_ROOT}/Headers/Public/React-callinvoker\"", - "\"${PODS_ROOT}/Headers/Public/React-cxxreact\"", - "\"${PODS_ROOT}/Headers/Public/React-debug\"", - "\"${PODS_ROOT}/Headers/Public/React-hermes\"", - "\"${PODS_ROOT}/Headers/Public/React-jsi\"", - "\"${PODS_ROOT}/Headers/Public/React-jsiexecutor\"", - "\"${PODS_ROOT}/Headers/Public/React-jsinspector\"", - "\"${PODS_ROOT}/Headers/Public/React-logger\"", - "\"${PODS_ROOT}/Headers/Public/React-perflogger\"", - "\"${PODS_ROOT}/Headers/Public/React-runtimeexecutor\"", - "\"${PODS_ROOT}/Headers/Public/React-runtimescheduler\"", - "\"${PODS_ROOT}/Headers/Public/React-utils\"", - "\"${PODS_ROOT}/Headers/Public/ReactCommon\"", - "\"${PODS_ROOT}/Headers/Public/SocketRocket\"", - "\"${PODS_ROOT}/Headers/Public/Yoga\"", - "\"${PODS_ROOT}/Headers/Public/YogaKit\"", - "\"${PODS_ROOT}/Headers/Public/fmt\"", - "\"${PODS_ROOT}/Headers/Public/glog\"", - "\"${PODS_ROOT}/Headers/Public/hermes-engine\"", - "\"${PODS_ROOT}/Headers/Public/libevent\"", - "\"${PODS_ROOT}/Headers/Public/react-native-safe-area-context\"", - "\"${PODS_ROOT}/Headers/Public/RNShopifyCheckoutKit\"", - "\"$(PODS_ROOT)/DoubleConversion\"", - "\"$(PODS_ROOT)/boost\"", - "\"$(PODS_ROOT)/Headers/Private/React-Core\"", - "\"$(PODS_TARGET_SRCROOT)/include/\"", - "\"$(PODS_ROOT)/boost\"", - "\"$(PODS_ROOT)/boost-for-react-native\"", - "\"$(PODS_ROOT)/glog\"", - "\"$(PODS_ROOT)/RCT-Folly\"", - "\"$(PODS_ROOT)/Headers/Public/React-hermes\"", - "\"$(PODS_ROOT)/Headers/Public/hermes-engine\"", - "\"$(PODS_ROOT)/../../node_modules/react-native/ReactCommon\"", - "\"${PODS_ROOT}/Headers/Public/RNShopifyCheckoutKit\"/**", - ); - INFOPLIST_FILE = CheckoutKitReactNativeDemoTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 16.6; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - LIBRARY_SEARCH_PATHS = ( - "$(SDKROOT)/usr/lib/swift", - "$(inherited)", - "\"${PODS_CONFIGURATION_BUILD_DIR}/CocoaAsyncSocket\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/DoubleConversion\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/RCT-Folly\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/RCTTypeSafety\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/RNCMaskedView\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/RNGestureHandler\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/RNReanimated\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/RNScreens\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/RNVectorIcons\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/React-Codegen\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/React-Core-60309c9c\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/React-CoreModules\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/React-NativeModulesApple\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTAnimation\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTAppDelegate\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTBlob\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTImage\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTLinking\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTNetwork\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTSettings\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTText\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTVibration\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/React-cxxreact\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/React-debug\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/React-hermes\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/React-jsi\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/React-jsiexecutor\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/React-jsinspector\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/React-logger\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/React-perflogger\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/React-runtimescheduler\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/React-utils\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/ShopifyCheckoutKit\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/SocketRocket\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/Yoga\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/YogaKit\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/fmt\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/glog\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/libevent\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/react-native-safe-area-context\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/RNShopifyCheckoutKit\"", - "\"${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}\"", - /usr/lib/swift, - ); - OTHER_LDFLAGS = ( - "-ObjC", - "-lc++", - "$(inherited)", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.shopify.checkoutkit.reactnativedemo.tests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_INCLUDE_PATHS = "$(inherited) \"${PODS_CONFIGURATION_BUILD_DIR}/ShopifyCheckoutKit\" \"${PODS_CONFIGURATION_BUILD_DIR}/YogaKit\" \"${PODS_CONFIGURATION_BUILD_DIR}/RNShopifyCheckoutKit\"/**"; - SWIFT_OBJC_BRIDGING_HEADER = "CheckoutKitReactNativeDemoTests-Bridging-Header.h"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/CheckoutKitReactNativeDemo.app/CheckoutKitReactNativeDemo"; - }; - name = Debug; - }; - 00E356F71AD99517003FC87E /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 39099806D4750FF73C4975E3 /* Pods-CheckoutKitReactNativeDemoTests.release.xcconfig */; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CLANG_ENABLE_MODULES = YES; - COPY_PHASE_STRIP = NO; - FRAMEWORK_SEARCH_PATHS = "$(inherited)"; - HEADER_SEARCH_PATHS = ( - "$(inherited)", - "\"${PODS_ROOT}/Headers/Public\"", - "\"${PODS_ROOT}/Headers/Public/CocoaAsyncSocket\"", - "\"${PODS_ROOT}/Headers/Public/DoubleConversion\"", - "\"${PODS_ROOT}/Headers/Public/FBLazyVector\"", - "\"${PODS_ROOT}/Headers/Public/RCT-Folly\"", - "\"${PODS_ROOT}/Headers/Public/RCTRequired\"", - "\"${PODS_ROOT}/Headers/Public/RCTTypeSafety\"", - "\"${PODS_ROOT}/Headers/Public/RNCMaskedView\"", - "\"${PODS_ROOT}/Headers/Public/RNGestureHandler\"", - "\"${PODS_ROOT}/Headers/Public/RNReanimated\"", - "\"${PODS_ROOT}/Headers/Public/RNScreens\"", - "\"${PODS_ROOT}/Headers/Public/RNVectorIcons\"", - "\"${PODS_ROOT}/Headers/Public/React-Codegen\"", - "\"${PODS_ROOT}/Headers/Public/React-Core\"", - "\"${PODS_ROOT}/Headers/Public/React-NativeModulesApple\"", - "\"${PODS_ROOT}/Headers/Public/React-RCTAnimation\"", - "\"${PODS_ROOT}/Headers/Public/React-RCTAppDelegate\"", - "\"${PODS_ROOT}/Headers/Public/React-RCTBlob\"", - "\"${PODS_ROOT}/Headers/Public/React-RCTText\"", - "\"${PODS_ROOT}/Headers/Public/React-callinvoker\"", - "\"${PODS_ROOT}/Headers/Public/React-cxxreact\"", - "\"${PODS_ROOT}/Headers/Public/React-debug\"", - "\"${PODS_ROOT}/Headers/Public/React-hermes\"", - "\"${PODS_ROOT}/Headers/Public/React-jsi\"", - "\"${PODS_ROOT}/Headers/Public/React-jsiexecutor\"", - "\"${PODS_ROOT}/Headers/Public/React-jsinspector\"", - "\"${PODS_ROOT}/Headers/Public/React-logger\"", - "\"${PODS_ROOT}/Headers/Public/React-perflogger\"", - "\"${PODS_ROOT}/Headers/Public/React-runtimeexecutor\"", - "\"${PODS_ROOT}/Headers/Public/React-runtimescheduler\"", - "\"${PODS_ROOT}/Headers/Public/React-utils\"", - "\"${PODS_ROOT}/Headers/Public/ReactCommon\"", - "\"${PODS_ROOT}/Headers/Public/SocketRocket\"", - "\"${PODS_ROOT}/Headers/Public/Yoga\"", - "\"${PODS_ROOT}/Headers/Public/YogaKit\"", - "\"${PODS_ROOT}/Headers/Public/fmt\"", - "\"${PODS_ROOT}/Headers/Public/glog\"", - "\"${PODS_ROOT}/Headers/Public/hermes-engine\"", - "\"${PODS_ROOT}/Headers/Public/libevent\"", - "\"${PODS_ROOT}/Headers/Public/react-native-safe-area-context\"", - "\"${PODS_ROOT}/Headers/Public/RNShopifyCheckoutKit\"", - "\"$(PODS_ROOT)/DoubleConversion\"", - "\"$(PODS_ROOT)/boost\"", - "\"$(PODS_ROOT)/Headers/Private/React-Core\"", - "\"$(PODS_TARGET_SRCROOT)/include/\"", - "\"$(PODS_ROOT)/boost\"", - "\"$(PODS_ROOT)/boost-for-react-native\"", - "\"$(PODS_ROOT)/glog\"", - "\"$(PODS_ROOT)/RCT-Folly\"", - "\"$(PODS_ROOT)/Headers/Public/React-hermes\"", - "\"$(PODS_ROOT)/Headers/Public/hermes-engine\"", - "\"$(PODS_ROOT)/../../node_modules/react-native/ReactCommon\"", - "\"${PODS_ROOT}/Headers/Public/RNShopifyCheckoutKit\"/**", - ); - INFOPLIST_FILE = CheckoutKitReactNativeDemoTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 16.6; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - OTHER_LDFLAGS = ( - "-ObjC", - "-lc++", - "$(inherited)", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.shopify.checkoutkit.reactnativedemo.tests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_INCLUDE_PATHS = "$(inherited) \"${PODS_CONFIGURATION_BUILD_DIR}/ShopifyCheckoutKit\" \"${PODS_CONFIGURATION_BUILD_DIR}/YogaKit\" \"${PODS_CONFIGURATION_BUILD_DIR}/RNShopifyCheckoutKit\"/**"; - SWIFT_OBJC_BRIDGING_HEADER = "CheckoutKitReactNativeDemoTests-Bridging-Header.h"; - SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/CheckoutKitReactNativeDemo.app/CheckoutKitReactNativeDemo"; - }; - name = Release; - }; 13B07F941A680F5B00A75B9A /* Debug */ = { isa = XCBuildConfiguration; baseConfigurationReference = ED728EF8BB9B5E9BA9D50EBE /* Pods-CheckoutKitReactNativeDemo.debug.xcconfig */; @@ -976,15 +618,6 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "CheckoutKitReactNativeDemoTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 00E356F61AD99517003FC87E /* Debug */, - 00E356F71AD99517003FC87E /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "CheckoutKitReactNativeDemo" */ = { isa = XCConfigurationList; buildConfigurations = ( diff --git a/platforms/react-native/sample/ios/CheckoutKitReactNativeDemo.xcodeproj/xcshareddata/xcschemes/CheckoutKitReactNativeDemo.xcscheme b/platforms/react-native/sample/ios/CheckoutKitReactNativeDemo.xcodeproj/xcshareddata/xcschemes/CheckoutKitReactNativeDemo.xcscheme index 1b32a623d..956ebb178 100644 --- a/platforms/react-native/sample/ios/CheckoutKitReactNativeDemo.xcodeproj/xcshareddata/xcschemes/CheckoutKitReactNativeDemo.xcscheme +++ b/platforms/react-native/sample/ios/CheckoutKitReactNativeDemo.xcodeproj/xcshareddata/xcschemes/CheckoutKitReactNativeDemo.xcscheme @@ -28,16 +28,6 @@ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv = "YES"> - - - - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1 - - diff --git a/platforms/react-native/sample/ios/Podfile b/platforms/react-native/sample/ios/Podfile index bf0f25b5b..01c1cc7db 100644 --- a/platforms/react-native/sample/ios/Podfile +++ b/platforms/react-native/sample/ios/Podfile @@ -37,9 +37,6 @@ target 'CheckoutKitReactNativeDemo' do :app_path => "#{Pod::Config.instance.installation_root}/.." ) - target 'CheckoutKitReactNativeDemoTests' do - inherit! :search_paths - end post_install do |installer| # https://github.com/facebook/react-native/blob/main/packages/react-native/scripts/react_native_pods.rb#L197-L202 diff --git a/platforms/react-native/sample/ios/Podfile.lock b/platforms/react-native/sample/ios/Podfile.lock index 39573ff4d..ddb1f19f3 100644 --- a/platforms/react-native/sample/ios/Podfile.lock +++ b/platforms/react-native/sample/ios/Podfile.lock @@ -2996,12 +2996,12 @@ SPEC CHECKSUMS: RNGestureHandler: eeb622199ef1fb3a076243131095df1c797072f0 RNReanimated: 237d420b7bb4378ef1dacc7d7a5c674fddb4b5d2 RNScreens: 3fc29af06302e1f1c18a7829fe57cbc2c0259912 - RNShopifyCheckoutKit: 8e021434b6a080b78cd6c4123eb7b0c1659d641f + RNShopifyCheckoutKit: 706fe8c182c7517f1c5c27d4b65970984b25763e RNVectorIcons: be4d047a76ad307ffe54732208fb0498fcb8477f ShopifyCheckoutKit: ffd719db529ac48907536d855182d7c57c85659f SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748 Yoga: a742cc68e8366fcfc681808162492bc0aa7a9498 -PODFILE CHECKSUM: fc307bb38346b4348e5076bb3253fdd1d4d7637a +PODFILE CHECKSUM: 5f421561b67cd1e99762e104b6021b68fffe9aaa COCOAPODS: 1.15.2 diff --git a/platforms/react-native/sample/scripts/simulator b/platforms/react-native/sample/scripts/simulator index b827a05e0..1fa5c4a8e 100644 --- a/platforms/react-native/sample/scripts/simulator +++ b/platforms/react-native/sample/scripts/simulator @@ -14,12 +14,12 @@ get_sim_destination() { | sed -n -E 's/.*\(([0-9A-Fa-f-]{36})\).*/\1/p' \ | head -n1 || true)" - # If none booted, pick the first available iOS simulator (iPhone or iPad) + # If none booted, pick the newest available iOS simulator (iPhone or iPad) if [[ -z "$udid" ]]; then udid="$(xcrun simctl list devices available \ | grep -E 'iPhone|iPad' \ | sed -n -E 's/.*\(([0-9A-Fa-f-]{36})\).*/\1/p' \ - | head -n1 || true)" + | tail -n1 || true)" fi if [[ -n "$udid" ]]; then diff --git a/platforms/react-native/sample/scripts/test_ios b/platforms/react-native/sample/scripts/test_ios index c8fe14e74..d35012b0b 100755 --- a/platforms/react-native/sample/scripts/test_ios +++ b/platforms/react-native/sample/scripts/test_ios @@ -3,10 +3,20 @@ set -e -o pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +REACT_NATIVE_DIR="$(cd "$SCRIPT_DIR/../.." && pwd)" +REPO_ROOT="$(cd "$REACT_NATIVE_DIR/../.." && pwd)" +TEST_APP_DIR="$REACT_NATIVE_DIR/test/rct-integration-app" +export BUNDLE_GEMFILE="$REACT_NATIVE_DIR/sample/Gemfile" + source "$SCRIPT_DIR/simulator" dest="$(get_sim_destination)" -cd ios +"$REPO_ROOT/platforms/swift/Scripts/generate_xcode_projects" --spec "../react-native/test/rct-integration-app/project.yml" + +bundle check || bundle install + +cd "$TEST_APP_DIR" +bundle exec pod install --deployment --repo-update xcbeautify_args="" if [ "$CI" = "true" ]; then @@ -14,8 +24,8 @@ if [ "$CI" = "true" ]; then fi xcodebuild test \ - -workspace CheckoutKitReactNativeDemo.xcworkspace \ - -scheme CheckoutKitReactNativeDemo \ + -workspace RCTIntegrationApp.xcworkspace \ + -scheme RCTIntegrationApp \ -destination "$dest" \ -skipPackagePluginValidation \ -sdk iphonesimulator \ diff --git a/platforms/react-native/scripts/lint_swift b/platforms/react-native/scripts/lint_swift index b3095cc3b..9acaa5b28 100755 --- a/platforms/react-native/scripts/lint_swift +++ b/platforms/react-native/scripts/lint_swift @@ -1,6 +1,10 @@ #!/bin/bash -DIR=modules/@shopify/checkout-kit-react-native +SWIFT_PATHS=( + modules/@shopify/checkout-kit-react-native + test/rct-integration-app/RCTIntegrationApp/AppDelegate.swift + test/rct-integration-app/RCTIntegrationAppTests/ProtocolRelayTests.swift +) MODE="${1:-check}" SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" REPO_ROOT="$(git -C "$SCRIPT_DIR" rev-parse --show-toplevel)" @@ -64,11 +68,11 @@ fi # Run SwiftLint if [[ "$MODE" == "check" ]]; then echo "🔄 Running SwiftLint in check mode..." - "$SWIFTLINT" lint --strict $DIR --config .swiftlint.yml + "$SWIFTLINT" lint --strict "${SWIFT_PATHS[@]}" --config .swiftlint.yml LINT_STATUS=$? else echo "🔄 Running SwiftLint in fix mode..." - "$SWIFTLINT" lint --fix $DIR --config .swiftlint.yml + "$SWIFTLINT" lint --fix "${SWIFT_PATHS[@]}" --config .swiftlint.yml LINT_STATUS=$? fi echo "SwiftLint exit status: $LINT_STATUS" @@ -76,11 +80,11 @@ echo "SwiftLint exit status: $LINT_STATUS" # Run SwiftFormat if [[ "$MODE" == "check" ]]; then echo "🔄 Running SwiftFormat in check mode..." - "$SWIFTFORMAT" $DIR --lint --config .swiftformat + "$SWIFTFORMAT" "${SWIFT_PATHS[@]}" --lint --config .swiftformat FORMAT_STATUS=$? else echo "🔄 Running SwiftFormat in fix mode..." - "$SWIFTFORMAT" $DIR --config .swiftformat + "$SWIFTFORMAT" "${SWIFT_PATHS[@]}" --config .swiftformat FORMAT_STATUS=$? fi echo "SwiftFormat exit status: $FORMAT_STATUS" diff --git a/platforms/react-native/test/rct-integration-app/Podfile b/platforms/react-native/test/rct-integration-app/Podfile new file mode 100644 index 000000000..d42ec1d40 --- /dev/null +++ b/platforms/react-native/test/rct-integration-app/Podfile @@ -0,0 +1,35 @@ +require Pod::Executable.execute_command('node', ['-p', + 'require.resolve( + "react-native/scripts/react_native_pods.rb", + {paths: [process.argv[1]]}, + )', __dir__]).strip + +platform :ios, '16.6' + +prepare_react_native_project! + +inhibit_all_warnings! + +target 'RCTIntegrationApp' do + pod 'RNShopifyCheckoutKit', :path => '../../modules/@shopify/checkout-kit-react-native' + + config = use_native_modules! + + use_react_native!( + :path => config[:reactNativePath], + :app_path => "#{Pod::Config.instance.installation_root}" + ) + + target 'RCTIntegrationAppTests' do + inherit! :search_paths + end + + post_install do |installer| + react_native_post_install( + installer, + config[:reactNativePath], + :mac_catalyst_enabled => false, + :ccache_enabled => false + ) + end +end diff --git a/platforms/react-native/test/rct-integration-app/Podfile.lock b/platforms/react-native/test/rct-integration-app/Podfile.lock new file mode 100644 index 000000000..5f7414226 --- /dev/null +++ b/platforms/react-native/test/rct-integration-app/Podfile.lock @@ -0,0 +1,2474 @@ +PODS: + - boost (1.84.0) + - DoubleConversion (1.1.6) + - fast_float (8.0.0) + - FBLazyVector (0.80.2) + - fmt (11.0.2) + - glog (0.3.5) + - hermes-engine (0.80.2): + - hermes-engine/Pre-built (= 0.80.2) + - hermes-engine/Pre-built (0.80.2) + - RCT-Folly (2024.11.18.00): + - boost + - DoubleConversion + - fast_float (= 8.0.0) + - fmt (= 11.0.2) + - glog + - RCT-Folly/Default (= 2024.11.18.00) + - RCT-Folly/Default (2024.11.18.00): + - boost + - DoubleConversion + - fast_float (= 8.0.0) + - fmt (= 11.0.2) + - glog + - RCT-Folly/Fabric (2024.11.18.00): + - boost + - DoubleConversion + - fast_float (= 8.0.0) + - fmt (= 11.0.2) + - glog + - RCTDeprecation (0.80.2) + - RCTRequired (0.80.2) + - RCTTypeSafety (0.80.2): + - FBLazyVector (= 0.80.2) + - RCTRequired (= 0.80.2) + - React-Core (= 0.80.2) + - React (0.80.2): + - React-Core (= 0.80.2) + - React-Core/DevSupport (= 0.80.2) + - React-Core/RCTWebSocket (= 0.80.2) + - React-RCTActionSheet (= 0.80.2) + - React-RCTAnimation (= 0.80.2) + - React-RCTBlob (= 0.80.2) + - React-RCTImage (= 0.80.2) + - React-RCTLinking (= 0.80.2) + - React-RCTNetwork (= 0.80.2) + - React-RCTSettings (= 0.80.2) + - React-RCTText (= 0.80.2) + - React-RCTVibration (= 0.80.2) + - React-callinvoker (0.80.2) + - React-Core (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTDeprecation + - React-Core/Default (= 0.80.2) + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-jsinspectorcdp + - React-jsitooling + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket + - Yoga + - React-Core/CoreModulesHeaders (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTDeprecation + - React-Core/Default + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-jsinspectorcdp + - React-jsitooling + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket + - Yoga + - React-Core/Default (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTDeprecation + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-jsinspectorcdp + - React-jsitooling + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket + - Yoga + - React-Core/DevSupport (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTDeprecation + - React-Core/Default (= 0.80.2) + - React-Core/RCTWebSocket (= 0.80.2) + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-jsinspectorcdp + - React-jsitooling + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket + - Yoga + - React-Core/RCTActionSheetHeaders (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTDeprecation + - React-Core/Default + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-jsinspectorcdp + - React-jsitooling + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket + - Yoga + - React-Core/RCTAnimationHeaders (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTDeprecation + - React-Core/Default + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-jsinspectorcdp + - React-jsitooling + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket + - Yoga + - React-Core/RCTBlobHeaders (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTDeprecation + - React-Core/Default + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-jsinspectorcdp + - React-jsitooling + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket + - Yoga + - React-Core/RCTImageHeaders (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTDeprecation + - React-Core/Default + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-jsinspectorcdp + - React-jsitooling + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket + - Yoga + - React-Core/RCTLinkingHeaders (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTDeprecation + - React-Core/Default + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-jsinspectorcdp + - React-jsitooling + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket + - Yoga + - React-Core/RCTNetworkHeaders (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTDeprecation + - React-Core/Default + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-jsinspectorcdp + - React-jsitooling + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket + - Yoga + - React-Core/RCTSettingsHeaders (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTDeprecation + - React-Core/Default + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-jsinspectorcdp + - React-jsitooling + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket + - Yoga + - React-Core/RCTTextHeaders (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTDeprecation + - React-Core/Default + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-jsinspectorcdp + - React-jsitooling + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket + - Yoga + - React-Core/RCTVibrationHeaders (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTDeprecation + - React-Core/Default + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-jsinspectorcdp + - React-jsitooling + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket + - Yoga + - React-Core/RCTWebSocket (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTDeprecation + - React-Core/Default (= 0.80.2) + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-jsinspectorcdp + - React-jsitooling + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket + - Yoga + - React-CoreModules (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - RCT-Folly + - RCT-Folly/Fabric + - RCTTypeSafety (= 0.80.2) + - React-Core/CoreModulesHeaders (= 0.80.2) + - React-jsi (= 0.80.2) + - React-jsinspector + - React-jsinspectorcdp + - React-jsinspectortracing + - React-NativeModulesApple + - React-RCTBlob + - React-RCTFBReactNativeSpec + - React-RCTImage (= 0.80.2) + - ReactCommon + - SocketRocket + - React-cxxreact (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - React-callinvoker (= 0.80.2) + - React-debug (= 0.80.2) + - React-jsi (= 0.80.2) + - React-jsinspector + - React-jsinspectorcdp + - React-jsinspectortracing + - React-logger (= 0.80.2) + - React-perflogger (= 0.80.2) + - React-runtimeexecutor (= 0.80.2) + - React-timing (= 0.80.2) + - SocketRocket + - React-debug (0.80.2) + - React-defaultsnativemodule (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - React-domnativemodule + - React-featureflagsnativemodule + - React-hermes + - React-idlecallbacksnativemodule + - React-jsi + - React-jsiexecutor + - React-microtasksnativemodule + - React-RCTFBReactNativeSpec + - SocketRocket + - React-domnativemodule (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - React-Fabric + - React-FabricComponents + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-RCTFBReactNativeSpec + - ReactCommon/turbomodule/core + - SocketRocket + - Yoga + - React-Fabric (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric/animations (= 0.80.2) + - React-Fabric/attributedstring (= 0.80.2) + - React-Fabric/componentregistry (= 0.80.2) + - React-Fabric/componentregistrynative (= 0.80.2) + - React-Fabric/components (= 0.80.2) + - React-Fabric/consistency (= 0.80.2) + - React-Fabric/core (= 0.80.2) + - React-Fabric/dom (= 0.80.2) + - React-Fabric/imagemanager (= 0.80.2) + - React-Fabric/leakchecker (= 0.80.2) + - React-Fabric/mounting (= 0.80.2) + - React-Fabric/observers (= 0.80.2) + - React-Fabric/scheduler (= 0.80.2) + - React-Fabric/telemetry (= 0.80.2) + - React-Fabric/templateprocessor (= 0.80.2) + - React-Fabric/uimanager (= 0.80.2) + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - React-Fabric/animations (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - React-Fabric/attributedstring (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - React-Fabric/componentregistry (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - React-Fabric/componentregistrynative (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - React-Fabric/components (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric/components/legacyviewmanagerinterop (= 0.80.2) + - React-Fabric/components/root (= 0.80.2) + - React-Fabric/components/scrollview (= 0.80.2) + - React-Fabric/components/view (= 0.80.2) + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - React-Fabric/components/legacyviewmanagerinterop (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - React-Fabric/components/root (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - React-Fabric/components/scrollview (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - React-Fabric/components/view (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-renderercss + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - Yoga + - React-Fabric/consistency (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - React-Fabric/core (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - React-Fabric/dom (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - React-Fabric/imagemanager (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - React-Fabric/leakchecker (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - React-Fabric/mounting (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - React-Fabric/observers (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric/observers/events (= 0.80.2) + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - React-Fabric/observers/events (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - React-Fabric/scheduler (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric/observers/events + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-performancetimeline + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - React-Fabric/telemetry (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - React-Fabric/templateprocessor (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - React-Fabric/uimanager (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric/uimanager/consistency (= 0.80.2) + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererconsistency + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - React-Fabric/uimanager/consistency (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererconsistency + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - React-FabricComponents (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric + - React-FabricComponents/components (= 0.80.2) + - React-FabricComponents/textlayoutmanager (= 0.80.2) + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - Yoga + - React-FabricComponents/components (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric + - React-FabricComponents/components/inputaccessory (= 0.80.2) + - React-FabricComponents/components/iostextinput (= 0.80.2) + - React-FabricComponents/components/modal (= 0.80.2) + - React-FabricComponents/components/rncore (= 0.80.2) + - React-FabricComponents/components/safeareaview (= 0.80.2) + - React-FabricComponents/components/scrollview (= 0.80.2) + - React-FabricComponents/components/text (= 0.80.2) + - React-FabricComponents/components/textinput (= 0.80.2) + - React-FabricComponents/components/unimplementedview (= 0.80.2) + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - Yoga + - React-FabricComponents/components/inputaccessory (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - Yoga + - React-FabricComponents/components/iostextinput (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - Yoga + - React-FabricComponents/components/modal (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - Yoga + - React-FabricComponents/components/rncore (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - Yoga + - React-FabricComponents/components/safeareaview (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - Yoga + - React-FabricComponents/components/scrollview (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - Yoga + - React-FabricComponents/components/text (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - Yoga + - React-FabricComponents/components/textinput (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - Yoga + - React-FabricComponents/components/unimplementedview (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - Yoga + - React-FabricComponents/textlayoutmanager (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - Yoga + - React-FabricImage (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired (= 0.80.2) + - RCTTypeSafety (= 0.80.2) + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-ImageManager + - React-jsi + - React-jsiexecutor (= 0.80.2) + - React-logger + - React-rendererdebug + - React-utils + - ReactCommon + - SocketRocket + - Yoga + - React-featureflags (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - RCT-Folly + - RCT-Folly/Fabric + - SocketRocket + - React-featureflagsnativemodule (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-RCTFBReactNativeSpec + - ReactCommon/turbomodule/core + - SocketRocket + - React-graphics (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - React-hermes + - React-jsi + - React-jsiexecutor + - React-utils + - SocketRocket + - React-hermes (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - React-cxxreact (= 0.80.2) + - React-jsi + - React-jsiexecutor (= 0.80.2) + - React-jsinspector + - React-jsinspectorcdp + - React-jsinspectortracing + - React-perflogger (= 0.80.2) + - React-runtimeexecutor + - SocketRocket + - React-idlecallbacksnativemodule (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - React-hermes + - React-jsi + - React-jsiexecutor + - React-RCTFBReactNativeSpec + - React-runtimescheduler + - ReactCommon/turbomodule/core + - SocketRocket + - React-ImageManager (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - RCT-Folly + - RCT-Folly/Fabric + - React-Core/Default + - React-debug + - React-Fabric + - React-graphics + - React-rendererdebug + - React-utils + - SocketRocket + - React-jserrorhandler (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - React-cxxreact + - React-debug + - React-featureflags + - React-jsi + - ReactCommon/turbomodule/bridging + - SocketRocket + - React-jsi (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - SocketRocket + - React-jsiexecutor (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - React-cxxreact (= 0.80.2) + - React-jsi (= 0.80.2) + - React-jsinspector + - React-jsinspectorcdp + - React-jsinspectortracing + - React-perflogger (= 0.80.2) + - SocketRocket + - React-jsinspector (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - React-featureflags + - React-jsi + - React-jsinspectorcdp + - React-jsinspectornetwork + - React-jsinspectortracing + - React-perflogger (= 0.80.2) + - React-runtimeexecutor (= 0.80.2) + - SocketRocket + - React-jsinspectorcdp (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - RCT-Folly + - RCT-Folly/Fabric + - SocketRocket + - React-jsinspectornetwork (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - RCT-Folly + - RCT-Folly/Fabric + - React-jsinspectorcdp + - SocketRocket + - React-jsinspectortracing (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - RCT-Folly + - RCT-Folly/Fabric + - React-oscompat + - SocketRocket + - React-jsitooling (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - RCT-Folly + - RCT-Folly/Fabric + - React-cxxreact (= 0.80.2) + - React-jsi (= 0.80.2) + - React-jsinspector + - React-jsinspectorcdp + - React-jsinspectortracing + - SocketRocket + - React-jsitracing (0.80.2): + - React-jsi + - React-logger (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - RCT-Folly + - RCT-Folly/Fabric + - SocketRocket + - React-Mapbuffer (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - RCT-Folly + - RCT-Folly/Fabric + - React-debug + - SocketRocket + - React-microtasksnativemodule (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - React-hermes + - React-jsi + - React-jsiexecutor + - React-RCTFBReactNativeSpec + - ReactCommon/turbomodule/core + - SocketRocket + - React-NativeModulesApple (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - React-callinvoker + - React-Core + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsinspector + - React-jsinspectorcdp + - React-runtimeexecutor + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - SocketRocket + - React-oscompat (0.80.2) + - React-perflogger (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - RCT-Folly + - RCT-Folly/Fabric + - SocketRocket + - React-performancetimeline (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - RCT-Folly + - RCT-Folly/Fabric + - React-featureflags + - React-jsinspectortracing + - React-perflogger + - React-timing + - SocketRocket + - React-RCTActionSheet (0.80.2): + - React-Core/RCTActionSheetHeaders (= 0.80.2) + - React-RCTAnimation (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - RCT-Folly + - RCT-Folly/Fabric + - RCTTypeSafety + - React-Core/RCTAnimationHeaders + - React-featureflags + - React-jsi + - React-NativeModulesApple + - React-RCTFBReactNativeSpec + - ReactCommon + - SocketRocket + - React-RCTAppDelegate (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-CoreModules + - React-debug + - React-defaultsnativemodule + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-jsitooling + - React-NativeModulesApple + - React-RCTFabric + - React-RCTFBReactNativeSpec + - React-RCTImage + - React-RCTNetwork + - React-RCTRuntime + - React-rendererdebug + - React-RuntimeApple + - React-RuntimeCore + - React-runtimescheduler + - React-utils + - ReactCommon + - SocketRocket + - React-RCTBlob (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - React-Core/RCTBlobHeaders + - React-Core/RCTWebSocket + - React-jsi + - React-jsinspector + - React-jsinspectorcdp + - React-NativeModulesApple + - React-RCTFBReactNativeSpec + - React-RCTNetwork + - ReactCommon + - SocketRocket + - React-RCTFabric (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - React-Core + - React-debug + - React-Fabric + - React-FabricComponents + - React-FabricImage + - React-featureflags + - React-graphics + - React-hermes + - React-ImageManager + - React-jsi + - React-jsinspector + - React-jsinspectorcdp + - React-jsinspectornetwork + - React-jsinspectortracing + - React-performancetimeline + - React-RCTAnimation + - React-RCTImage + - React-RCTText + - React-rendererconsistency + - React-renderercss + - React-rendererdebug + - React-runtimescheduler + - React-utils + - SocketRocket + - Yoga + - React-RCTFBReactNativeSpec (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-hermes + - React-jsi + - React-jsiexecutor + - React-NativeModulesApple + - ReactCommon + - SocketRocket + - React-RCTImage (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - RCT-Folly + - RCT-Folly/Fabric + - RCTTypeSafety + - React-Core/RCTImageHeaders + - React-jsi + - React-NativeModulesApple + - React-RCTFBReactNativeSpec + - React-RCTNetwork + - ReactCommon + - SocketRocket + - React-RCTLinking (0.80.2): + - React-Core/RCTLinkingHeaders (= 0.80.2) + - React-jsi (= 0.80.2) + - React-NativeModulesApple + - React-RCTFBReactNativeSpec + - ReactCommon + - ReactCommon/turbomodule/core (= 0.80.2) + - React-RCTNetwork (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - RCT-Folly + - RCT-Folly/Fabric + - RCTTypeSafety + - React-Core/RCTNetworkHeaders + - React-featureflags + - React-jsi + - React-jsinspectorcdp + - React-jsinspectornetwork + - React-NativeModulesApple + - React-RCTFBReactNativeSpec + - ReactCommon + - SocketRocket + - React-RCTRuntime (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - React-Core + - React-hermes + - React-jsi + - React-jsinspector + - React-jsinspectorcdp + - React-jsinspectortracing + - React-jsitooling + - React-RuntimeApple + - React-RuntimeCore + - React-RuntimeHermes + - SocketRocket + - React-RCTSettings (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - RCT-Folly + - RCT-Folly/Fabric + - RCTTypeSafety + - React-Core/RCTSettingsHeaders + - React-jsi + - React-NativeModulesApple + - React-RCTFBReactNativeSpec + - ReactCommon + - SocketRocket + - React-RCTText (0.80.2): + - React-Core/RCTTextHeaders (= 0.80.2) + - Yoga + - React-RCTVibration (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - RCT-Folly + - RCT-Folly/Fabric + - React-Core/RCTVibrationHeaders + - React-jsi + - React-NativeModulesApple + - React-RCTFBReactNativeSpec + - ReactCommon + - SocketRocket + - React-rendererconsistency (0.80.2) + - React-renderercss (0.80.2): + - React-debug + - React-utils + - React-rendererdebug (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - RCT-Folly + - RCT-Folly/Fabric + - React-debug + - SocketRocket + - React-rncore (0.80.2) + - React-RuntimeApple (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - React-callinvoker + - React-Core/Default + - React-CoreModules + - React-cxxreact + - React-featureflags + - React-jserrorhandler + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-jsitooling + - React-Mapbuffer + - React-NativeModulesApple + - React-RCTFabric + - React-RCTFBReactNativeSpec + - React-RuntimeCore + - React-runtimeexecutor + - React-RuntimeHermes + - React-runtimescheduler + - React-utils + - SocketRocket + - React-RuntimeCore (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - React-cxxreact + - React-Fabric + - React-featureflags + - React-hermes + - React-jserrorhandler + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-jsitooling + - React-performancetimeline + - React-runtimeexecutor + - React-runtimescheduler + - React-utils + - SocketRocket + - React-runtimeexecutor (0.80.2): + - React-jsi (= 0.80.2) + - React-RuntimeHermes (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - React-featureflags + - React-hermes + - React-jsi + - React-jsinspector + - React-jsinspectorcdp + - React-jsinspectortracing + - React-jsitooling + - React-jsitracing + - React-RuntimeCore + - React-utils + - SocketRocket + - React-runtimescheduler (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - React-callinvoker + - React-cxxreact + - React-debug + - React-featureflags + - React-hermes + - React-jsi + - React-jsinspectortracing + - React-performancetimeline + - React-rendererconsistency + - React-rendererdebug + - React-runtimeexecutor + - React-timing + - React-utils + - SocketRocket + - React-timing (0.80.2) + - React-utils (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - React-debug + - React-hermes + - React-jsi (= 0.80.2) + - SocketRocket + - ReactAppDependencyProvider (0.80.2): + - ReactCodegen + - ReactCodegen (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-debug + - React-Fabric + - React-FabricImage + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-NativeModulesApple + - React-RCTAppDelegate + - React-rendererdebug + - React-utils + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - SocketRocket + - ReactCommon (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - RCT-Folly + - RCT-Folly/Fabric + - ReactCommon/turbomodule (= 0.80.2) + - SocketRocket + - ReactCommon/turbomodule (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - React-callinvoker (= 0.80.2) + - React-cxxreact (= 0.80.2) + - React-jsi (= 0.80.2) + - React-logger (= 0.80.2) + - React-perflogger (= 0.80.2) + - ReactCommon/turbomodule/bridging (= 0.80.2) + - ReactCommon/turbomodule/core (= 0.80.2) + - SocketRocket + - ReactCommon/turbomodule/bridging (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - React-callinvoker (= 0.80.2) + - React-cxxreact (= 0.80.2) + - React-jsi (= 0.80.2) + - React-logger (= 0.80.2) + - React-perflogger (= 0.80.2) + - SocketRocket + - ReactCommon/turbomodule/core (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - React-callinvoker (= 0.80.2) + - React-cxxreact (= 0.80.2) + - React-debug (= 0.80.2) + - React-featureflags (= 0.80.2) + - React-jsi (= 0.80.2) + - React-logger (= 0.80.2) + - React-perflogger (= 0.80.2) + - React-utils (= 0.80.2) + - SocketRocket + - RNShopifyCheckoutKit (4.0.0-alpha.1): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-ImageManager + - React-jsi + - React-NativeModulesApple + - React-RCTFabric + - React-renderercss + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - ShopifyCheckoutKit (~> 4.0.0-alpha.1) + - ShopifyCheckoutKit/AcceleratedCheckouts (~> 4.0.0-alpha.1) + - SocketRocket + - Yoga + - ShopifyCheckoutKit (4.0.0-alpha.1): + - ShopifyCheckoutKit/Core (= 4.0.0-alpha.1) + - ShopifyCheckoutKit/AcceleratedCheckouts (4.0.0-alpha.1): + - ShopifyCheckoutKit/Core + - ShopifyCheckoutKit/Core (4.0.0-alpha.1) + - SocketRocket (0.7.1) + - Yoga (0.0.0) + +DEPENDENCIES: + - boost (from `../../node_modules/react-native/third-party-podspecs/boost.podspec`) + - DoubleConversion (from `../../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`) + - fast_float (from `../../node_modules/react-native/third-party-podspecs/fast_float.podspec`) + - FBLazyVector (from `../../node_modules/react-native/Libraries/FBLazyVector`) + - fmt (from `../../node_modules/react-native/third-party-podspecs/fmt.podspec`) + - glog (from `../../node_modules/react-native/third-party-podspecs/glog.podspec`) + - hermes-engine (from `../../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec`) + - RCT-Folly (from `../../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) + - RCTDeprecation (from `../../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation`) + - RCTRequired (from `../../node_modules/react-native/Libraries/Required`) + - RCTTypeSafety (from `../../node_modules/react-native/Libraries/TypeSafety`) + - React (from `../../node_modules/react-native/`) + - React-callinvoker (from `../../node_modules/react-native/ReactCommon/callinvoker`) + - 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-defaultsnativemodule (from `../../node_modules/react-native/ReactCommon/react/nativemodule/defaults`) + - React-domnativemodule (from `../../node_modules/react-native/ReactCommon/react/nativemodule/dom`) + - React-Fabric (from `../../node_modules/react-native/ReactCommon`) + - React-FabricComponents (from `../../node_modules/react-native/ReactCommon`) + - React-FabricImage (from `../../node_modules/react-native/ReactCommon`) + - React-featureflags (from `../../node_modules/react-native/ReactCommon/react/featureflags`) + - React-featureflagsnativemodule (from `../../node_modules/react-native/ReactCommon/react/nativemodule/featureflags`) + - React-graphics (from `../../node_modules/react-native/ReactCommon/react/renderer/graphics`) + - React-hermes (from `../../node_modules/react-native/ReactCommon/hermes`) + - React-idlecallbacksnativemodule (from `../../node_modules/react-native/ReactCommon/react/nativemodule/idlecallbacks`) + - React-ImageManager (from `../../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios`) + - React-jserrorhandler (from `../../node_modules/react-native/ReactCommon/jserrorhandler`) + - React-jsi (from `../../node_modules/react-native/ReactCommon/jsi`) + - React-jsiexecutor (from `../../node_modules/react-native/ReactCommon/jsiexecutor`) + - React-jsinspector (from `../../node_modules/react-native/ReactCommon/jsinspector-modern`) + - React-jsinspectorcdp (from `../../node_modules/react-native/ReactCommon/jsinspector-modern/cdp`) + - React-jsinspectornetwork (from `../../node_modules/react-native/ReactCommon/jsinspector-modern/network`) + - React-jsinspectortracing (from `../../node_modules/react-native/ReactCommon/jsinspector-modern/tracing`) + - React-jsitooling (from `../../node_modules/react-native/ReactCommon/jsitooling`) + - React-jsitracing (from `../../node_modules/react-native/ReactCommon/hermes/executor/`) + - React-logger (from `../../node_modules/react-native/ReactCommon/logger`) + - React-Mapbuffer (from `../../node_modules/react-native/ReactCommon`) + - React-microtasksnativemodule (from `../../node_modules/react-native/ReactCommon/react/nativemodule/microtasks`) + - React-NativeModulesApple (from `../../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`) + - React-oscompat (from `../../node_modules/react-native/ReactCommon/oscompat`) + - React-perflogger (from `../../node_modules/react-native/ReactCommon/reactperflogger`) + - React-performancetimeline (from `../../node_modules/react-native/ReactCommon/react/performance/timeline`) + - 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-RCTFabric (from `../../node_modules/react-native/React`) + - React-RCTFBReactNativeSpec (from `../../node_modules/react-native/React`) + - 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-RCTRuntime (from `../../node_modules/react-native/React/Runtime`) + - 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-rendererconsistency (from `../../node_modules/react-native/ReactCommon/react/renderer/consistency`) + - React-renderercss (from `../../node_modules/react-native/ReactCommon/react/renderer/css`) + - React-rendererdebug (from `../../node_modules/react-native/ReactCommon/react/renderer/debug`) + - React-rncore (from `../../node_modules/react-native/ReactCommon`) + - React-RuntimeApple (from `../../node_modules/react-native/ReactCommon/react/runtime/platform/ios`) + - React-RuntimeCore (from `../../node_modules/react-native/ReactCommon/react/runtime`) + - React-runtimeexecutor (from `../../node_modules/react-native/ReactCommon/runtimeexecutor`) + - React-RuntimeHermes (from `../../node_modules/react-native/ReactCommon/react/runtime`) + - React-runtimescheduler (from `../../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler`) + - React-timing (from `../../node_modules/react-native/ReactCommon/react/timing`) + - React-utils (from `../../node_modules/react-native/ReactCommon/react/utils`) + - ReactAppDependencyProvider (from `build/generated/ios`) + - ReactCodegen (from `build/generated/ios`) + - ReactCommon/turbomodule/core (from `../../node_modules/react-native/ReactCommon`) + - "RNShopifyCheckoutKit (from `../../modules/@shopify/checkout-kit-react-native`)" + - SocketRocket (~> 0.7.1) + - Yoga (from `../../node_modules/react-native/ReactCommon/yoga`) + +SPEC REPOS: + trunk: + - ShopifyCheckoutKit + - 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" + fast_float: + :podspec: "../../node_modules/react-native/third-party-podspecs/fast_float.podspec" + FBLazyVector: + :path: "../../node_modules/react-native/Libraries/FBLazyVector" + fmt: + :podspec: "../../node_modules/react-native/third-party-podspecs/fmt.podspec" + 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-2025-07-24-RNv0.80.2-5c7dbc0a78cb2d2a8bc81c41c617c3abecf209ff + RCT-Folly: + :podspec: "../../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec" + RCTDeprecation: + :path: "../../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation" + RCTRequired: + :path: "../../node_modules/react-native/Libraries/Required" + RCTTypeSafety: + :path: "../../node_modules/react-native/Libraries/TypeSafety" + React: + :path: "../../node_modules/react-native/" + React-callinvoker: + :path: "../../node_modules/react-native/ReactCommon/callinvoker" + 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-defaultsnativemodule: + :path: "../../node_modules/react-native/ReactCommon/react/nativemodule/defaults" + React-domnativemodule: + :path: "../../node_modules/react-native/ReactCommon/react/nativemodule/dom" + React-Fabric: + :path: "../../node_modules/react-native/ReactCommon" + React-FabricComponents: + :path: "../../node_modules/react-native/ReactCommon" + React-FabricImage: + :path: "../../node_modules/react-native/ReactCommon" + React-featureflags: + :path: "../../node_modules/react-native/ReactCommon/react/featureflags" + React-featureflagsnativemodule: + :path: "../../node_modules/react-native/ReactCommon/react/nativemodule/featureflags" + React-graphics: + :path: "../../node_modules/react-native/ReactCommon/react/renderer/graphics" + React-hermes: + :path: "../../node_modules/react-native/ReactCommon/hermes" + React-idlecallbacksnativemodule: + :path: "../../node_modules/react-native/ReactCommon/react/nativemodule/idlecallbacks" + React-ImageManager: + :path: "../../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios" + React-jserrorhandler: + :path: "../../node_modules/react-native/ReactCommon/jserrorhandler" + React-jsi: + :path: "../../node_modules/react-native/ReactCommon/jsi" + React-jsiexecutor: + :path: "../../node_modules/react-native/ReactCommon/jsiexecutor" + React-jsinspector: + :path: "../../node_modules/react-native/ReactCommon/jsinspector-modern" + React-jsinspectorcdp: + :path: "../../node_modules/react-native/ReactCommon/jsinspector-modern/cdp" + React-jsinspectornetwork: + :path: "../../node_modules/react-native/ReactCommon/jsinspector-modern/network" + React-jsinspectortracing: + :path: "../../node_modules/react-native/ReactCommon/jsinspector-modern/tracing" + React-jsitooling: + :path: "../../node_modules/react-native/ReactCommon/jsitooling" + React-jsitracing: + :path: "../../node_modules/react-native/ReactCommon/hermes/executor/" + React-logger: + :path: "../../node_modules/react-native/ReactCommon/logger" + React-Mapbuffer: + :path: "../../node_modules/react-native/ReactCommon" + React-microtasksnativemodule: + :path: "../../node_modules/react-native/ReactCommon/react/nativemodule/microtasks" + React-NativeModulesApple: + :path: "../../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios" + React-oscompat: + :path: "../../node_modules/react-native/ReactCommon/oscompat" + React-perflogger: + :path: "../../node_modules/react-native/ReactCommon/reactperflogger" + React-performancetimeline: + :path: "../../node_modules/react-native/ReactCommon/react/performance/timeline" + 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-RCTFabric: + :path: "../../node_modules/react-native/React" + React-RCTFBReactNativeSpec: + :path: "../../node_modules/react-native/React" + 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-RCTRuntime: + :path: "../../node_modules/react-native/React/Runtime" + 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-rendererconsistency: + :path: "../../node_modules/react-native/ReactCommon/react/renderer/consistency" + React-renderercss: + :path: "../../node_modules/react-native/ReactCommon/react/renderer/css" + React-rendererdebug: + :path: "../../node_modules/react-native/ReactCommon/react/renderer/debug" + React-rncore: + :path: "../../node_modules/react-native/ReactCommon" + React-RuntimeApple: + :path: "../../node_modules/react-native/ReactCommon/react/runtime/platform/ios" + React-RuntimeCore: + :path: "../../node_modules/react-native/ReactCommon/react/runtime" + React-runtimeexecutor: + :path: "../../node_modules/react-native/ReactCommon/runtimeexecutor" + React-RuntimeHermes: + :path: "../../node_modules/react-native/ReactCommon/react/runtime" + React-runtimescheduler: + :path: "../../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler" + React-timing: + :path: "../../node_modules/react-native/ReactCommon/react/timing" + React-utils: + :path: "../../node_modules/react-native/ReactCommon/react/utils" + ReactAppDependencyProvider: + :path: build/generated/ios + ReactCodegen: + :path: build/generated/ios + ReactCommon: + :path: "../../node_modules/react-native/ReactCommon" + RNShopifyCheckoutKit: + :path: "../../modules/@shopify/checkout-kit-react-native" + Yoga: + :path: "../../node_modules/react-native/ReactCommon/yoga" + +SPEC CHECKSUMS: + boost: 7e761d76ca2ce687f7cc98e698152abd03a18f90 + DoubleConversion: cb417026b2400c8f53ae97020b2be961b59470cb + fast_float: b32c788ed9c6a8c584d114d0047beda9664e7cc6 + FBLazyVector: 86588b5a1547e7a417942a08f49559b184e002c8 + fmt: a40bb5bd0294ea969aaaba240a927bd33d878cdd + glog: 5683914934d5b6e4240e497e0f4a3b42d1854183 + hermes-engine: bbc1152da7d2d40f9e59c28acc6576fcf5d28e2a + RCT-Folly: 846fda9475e61ec7bcbf8a3fe81edfcaeb090669 + RCTDeprecation: 300c5eb91114d4339b0bb39505d0f4824d7299b7 + RCTRequired: e0446b01093475b7082fbeee5d1ef4ad1fe20ac4 + RCTTypeSafety: cb974efcdc6695deedf7bf1eb942f2a0603a063f + React: e7a4655b09d0e17e54be188cc34c2f3e2087318a + React-callinvoker: 62192daaa2f30c3321fc531e4f776f7b09cf892b + React-Core: b23cdaaa9d76389d958c06af3c57aa6ad611c542 + React-CoreModules: 8e0f562e5695991e455abbebe1e968af71d52553 + React-cxxreact: 6ccbe0cc2c652b29409b14b23cfb3cd74e084691 + React-debug: 1834225a63b420b16e9b8b01ba5870aee96d0610 + React-defaultsnativemodule: dd88d445d542d58ab61a8a29a7c1d2272dfed577 + React-domnativemodule: fc3c24f4d3bb92770727ea48b4133dab77ded7f7 + React-Fabric: 00fe76339e568da0d0497cc72daeeb01e463871a + React-FabricComponents: 7bb179ee55db68f88c007800b0ac62c930115a85 + React-FabricImage: 21e01118011dd1e4ff3cdab20dbf57839cff52ee + React-featureflags: 6e67f2e252bc8ebb1d538c2ae8c14df432fe5fc0 + React-featureflagsnativemodule: eff5216a5cde5df5d09243d15db1bc401474deef + React-graphics: 8539372da8754118a565251ed08a88fc70f69340 + React-hermes: cc8c77acee1406c258622cd8abbee9049f6b5761 + React-idlecallbacksnativemodule: 7349675d1ccbec876c29b0e206ac08c762baaa36 + React-ImageManager: 4089d8ad52c86a8ae1d7591282fff1665ff5518b + React-jserrorhandler: 89a7a5fa8d04791e729119d1db03bf0ee85a9e29 + React-jsi: ea5c640ea63c127080f158dac7f4f393d13d415c + React-jsiexecutor: cf7920f82e46fe9a484c15c9f31e67d7179aa826 + React-jsinspector: 69e974b6313dbbb635ba503f2f4f2c389b30edbf + React-jsinspectorcdp: 231ddd5b7164c37589dcde3b8b6960136c891d6d + React-jsinspectornetwork: ff74911f79cf0a407a7f0ad0eeb0be64687ed815 + React-jsinspectortracing: df2aa2d944bb3fa280d9c920b9a06664bca8a7e8 + React-jsitooling: 77849c27e374a028ed8106e434a35267f6c6600b + React-jsitracing: 0dc6978e5b38c6e5e01e6aed484e4aec3f5f581b + React-logger: 7cfc7b1ae1f8e5fe5097f9c746137cc3a8fad4ce + React-Mapbuffer: 7018c5b7da5b13ed22fe55dae51d50187a00b2d7 + React-microtasksnativemodule: 8ff9cb220a8efa625b5885996bd69e69db9edf02 + React-NativeModulesApple: 37c08c3c54db55854de816b0df0f3683832be35a + React-oscompat: 56d6de59f9ae95cd006a1c40be2cde83bc06a4e1 + React-perflogger: 4008bd05a8b6c157b06608c0ea0b8bd5d9c5e6c9 + React-performancetimeline: 9321ba7605abcfb3a2b497fd7cbaf5cfd8c7cf67 + React-RCTActionSheet: 49138012280ec3bbb35193d8d09adb8bc61c982e + React-RCTAnimation: ebfe7c62016d4c17b56b2cab3a221908ae46288d + React-RCTAppDelegate: 0108657ba9a19f6a1cd62dcd19c2c0485b3fc251 + React-RCTBlob: 6cc309d1623f3c2679125a04a7425685b7219e6b + React-RCTFabric: 0a9ff5c9d1e1d7fc026bda6671180cbf56861c15 + React-RCTFBReactNativeSpec: ff3e37e2456afc04211334e86d07bf20488df0ae + React-RCTImage: bb98a59aeed953a48be3f917b9b745b213b340ab + React-RCTLinking: d6e9795d4d75d154c1dd821fd0746cc3e05d6670 + React-RCTNetwork: 5c8a7a2dd26728323189362f149e788548ac72bc + React-RCTRuntime: 96808e8fdce300a26c82d8c24174e33ba5210a7c + React-RCTSettings: b6a02d545ce10dd936b39914b32674db6e865307 + React-RCTText: c7d9232da0e9b5082a99a617483d9164a9cd46e9 + React-RCTVibration: fe636c985c1bf25e4a5b5b4d9315a3b882468a72 + React-rendererconsistency: d20fcb77173861cc7d8356239823e3b36966fc31 + React-renderercss: 56461d1e18db6a325048fdd04a51d68bd7ddb5a8 + React-rendererdebug: fcd44d3eb8a02d74beee778bb142e724016c7375 + React-rncore: bafb76fc01b78757a9592e92dbc227f9260bf0ac + React-RuntimeApple: 01e3ad08793efaa54cf85276457fa4a1f103d5b4 + React-RuntimeCore: 5c4bec5bf402a99b134e55972f2f4e676c70b9ab + React-runtimeexecutor: b35de9cb7f5d19c66ea9b067235f95b947697ba5 + React-RuntimeHermes: ba549a5834a6592d243b9a605530ecd7b6f5e79c + React-runtimescheduler: 9a9914d58caec7976aaae381cd2d997408f2260f + React-timing: 4f97958cc918f0af9444f93e4a7083415e6f5daf + React-utils: f491e2726eb8ced8af13893e1f77317f0fa9a954 + ReactAppDependencyProvider: 8df342c127fd0c1e30e8b9f71ff814c22414a7c0 + ReactCodegen: 3ba2a79bc32ff858814c17ade10931b33b09dcf4 + ReactCommon: 592ef441605638b95e533653259254b4bd35ff4f + RNShopifyCheckoutKit: 706fe8c182c7517f1c5c27d4b65970984b25763e + ShopifyCheckoutKit: ffd719db529ac48907536d855182d7c57c85659f + SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748 + Yoga: a742cc68e8366fcfc681808162492bc0aa7a9498 + +PODFILE CHECKSUM: 00c3bdfb297dfdbb5041adae781c977d0a4cad67 + +COCOAPODS: 1.15.2 diff --git a/platforms/react-native/test/rct-integration-app/RCTIntegrationApp/AppDelegate.swift b/platforms/react-native/test/rct-integration-app/RCTIntegrationApp/AppDelegate.swift new file mode 100644 index 000000000..be2fd31ad --- /dev/null +++ b/platforms/react-native/test/rct-integration-app/RCTIntegrationApp/AppDelegate.swift @@ -0,0 +1,16 @@ +import UIKit + +@main +final class AppDelegate: UIResponder, UIApplicationDelegate { + var window: UIWindow? + + func application( + _: UIApplication, + didFinishLaunchingWithOptions _: [UIApplication.LaunchOptionsKey: Any]? + ) -> Bool { + window = UIWindow(frame: UIScreen.main.bounds) + window?.rootViewController = UIViewController() + window?.makeKeyAndVisible() + return true + } +} diff --git a/platforms/react-native/sample/ios/CheckoutKitReactNativeDemoTests/AcceleratedCheckouts_SupportedTests.swift b/platforms/react-native/test/rct-integration-app/RCTIntegrationAppTests/AcceleratedCheckouts_SupportedTests.swift similarity index 100% rename from platforms/react-native/sample/ios/CheckoutKitReactNativeDemoTests/AcceleratedCheckouts_SupportedTests.swift rename to platforms/react-native/test/rct-integration-app/RCTIntegrationAppTests/AcceleratedCheckouts_SupportedTests.swift diff --git a/platforms/react-native/sample/ios/CheckoutKitReactNativeDemoTests/AcceleratedCheckouts_UnsupportedTests.swift b/platforms/react-native/test/rct-integration-app/RCTIntegrationAppTests/AcceleratedCheckouts_UnsupportedTests.swift similarity index 100% rename from platforms/react-native/sample/ios/CheckoutKitReactNativeDemoTests/AcceleratedCheckouts_UnsupportedTests.swift rename to platforms/react-native/test/rct-integration-app/RCTIntegrationAppTests/AcceleratedCheckouts_UnsupportedTests.swift diff --git a/platforms/react-native/sample/ios/CheckoutKitReactNativeDemoTests/CheckoutDidFailTests.swift b/platforms/react-native/test/rct-integration-app/RCTIntegrationAppTests/CheckoutDidFailTests.swift similarity index 100% rename from platforms/react-native/sample/ios/CheckoutKitReactNativeDemoTests/CheckoutDidFailTests.swift rename to platforms/react-native/test/rct-integration-app/RCTIntegrationAppTests/CheckoutDidFailTests.swift diff --git a/platforms/react-native/sample/ios/CheckoutKitReactNativeDemoTests/EventSerializationTests.swift b/platforms/react-native/test/rct-integration-app/RCTIntegrationAppTests/EventSerializationTests.swift similarity index 100% rename from platforms/react-native/sample/ios/CheckoutKitReactNativeDemoTests/EventSerializationTests.swift rename to platforms/react-native/test/rct-integration-app/RCTIntegrationAppTests/EventSerializationTests.swift diff --git a/platforms/react-native/modules/@shopify/checkout-kit-react-native/ios/Tests/ProtocolRelayTests.swift b/platforms/react-native/test/rct-integration-app/RCTIntegrationAppTests/ProtocolRelayTests.swift similarity index 52% rename from platforms/react-native/modules/@shopify/checkout-kit-react-native/ios/Tests/ProtocolRelayTests.swift rename to platforms/react-native/test/rct-integration-app/RCTIntegrationAppTests/ProtocolRelayTests.swift index 5cbf19542..92ca5d291 100644 --- a/platforms/react-native/modules/@shopify/checkout-kit-react-native/ios/Tests/ProtocolRelayTests.swift +++ b/platforms/react-native/test/rct-integration-app/RCTIntegrationAppTests/ProtocolRelayTests.swift @@ -1,30 +1,26 @@ import Foundation -@testable import RNShopifyCheckoutKitProtocolRelay -import ShopifyCheckoutProtocol -import Testing +@testable import RNShopifyCheckoutKit +import XCTest -@Suite("Protocol Relay Tests") -struct ProtocolRelayTests { - @Test func envelopeEncodesTypeAndWireCasePayload() throws { +final class ProtocolRelayTests: XCTestCase { + func testEnvelopeEncodesTypeAndWireCasePayload() throws { let payload = SnakePayload(continueURL: "https://example.com", lineItems: []) let envelope = DispatchEnvelope(type: "ec.start", payload: payload) let data = try JSONEncoder().encode(envelope) - let json = try #require(String(data: data, encoding: .utf8)) + let json = try XCTUnwrap(String(data: data, encoding: .utf8)) - let parsed = try #require( - JSONSerialization.jsonObject(with: Data(json.utf8)) as? [String: Any] - ) - #expect(parsed["type"] as? String == "ec.start") + let parsed = try XCTUnwrap(JSONSerialization.jsonObject(with: Data(json.utf8)) as? [String: Any]) + XCTAssertEqual(parsed["type"] as? String, "ec.start") - let payloadDict = try #require(parsed["payload"] as? [String: Any]) - #expect(payloadDict["continue_url"] as? String == "https://example.com") - #expect(payloadDict["line_items"] is [Any]) - #expect(payloadDict["continueUrl"] == nil) - #expect(payloadDict["lineItems"] == nil) + let payloadDict = try XCTUnwrap(parsed["payload"] as? [String: Any]) + XCTAssertEqual(payloadDict["continue_url"] as? String, "https://example.com") + XCTAssertTrue(payloadDict["line_items"] is [Any]) + XCTAssertNil(payloadDict["continueUrl"]) + XCTAssertNil(payloadDict["lineItems"]) } @MainActor - @Test func relayDispatchesEnvelopeOnEcStart() async throws { + func testRelayDispatchesEnvelopeOnEcStart() async throws { var captured: String? let client = makeRelayClient( subscribedMethods: ["ec.start"], @@ -33,23 +29,23 @@ struct ProtocolRelayTests { _ = await client.process(ecStartNotificationFixture) - let json = try #require(captured) - let parsed = try #require(JSONSerialization.jsonObject(with: Data(json.utf8)) as? [String: Any]) - #expect(parsed["type"] as? String == "ec.start") - let payload = try #require(parsed["payload"] as? [String: Any]) - #expect(payload["id"] as? String == "checkout-123") - #expect(payload["currency"] as? String == "USD") - let lineItems = try #require(payload["line_items"] as? [[String: Any]]) - #expect(lineItems.count == 1) - let firstItem = try #require(lineItems.first?["item"] as? [String: Any]) - #expect(firstItem["image_url"] as? String == "https://example.com/image.png") - let ucp = try #require(payload["ucp"] as? [String: Any]) - let paymentHandlers = try #require(ucp["payment_handlers"] as? [String: Any]) - #expect(paymentHandlers["com.example.loyalty_gold"] != nil) + let json = try XCTUnwrap(captured) + let parsed = try XCTUnwrap(JSONSerialization.jsonObject(with: Data(json.utf8)) as? [String: Any]) + XCTAssertEqual(parsed["type"] as? String, "ec.start") + let payload = try XCTUnwrap(parsed["payload"] as? [String: Any]) + XCTAssertEqual(payload["id"] as? String, "checkout-123") + XCTAssertEqual(payload["currency"] as? String, "USD") + let lineItems = try XCTUnwrap(payload["line_items"] as? [[String: Any]]) + XCTAssertEqual(lineItems.count, 1) + let firstItem = try XCTUnwrap(lineItems.first?["item"] as? [String: Any]) + XCTAssertEqual(firstItem["image_url"] as? String, "https://example.com/image.png") + let ucp = try XCTUnwrap(payload["ucp"] as? [String: Any]) + let paymentHandlers = try XCTUnwrap(ucp["payment_handlers"] as? [String: Any]) + XCTAssertNotNil(paymentHandlers["com.example.loyalty_gold"]) } @MainActor - @Test func relayDispatchesEnvelopeForEveryPublicCheckoutStateEvent() async throws { + func testRelayDispatchesEnvelopeForEveryPublicCheckoutStateEvent() async throws { let methods = [ "ec.complete", "ec.line_items.change", @@ -67,16 +63,16 @@ struct ProtocolRelayTests { _ = await client.process(checkoutNotificationFixture(method: method)) - let json = try #require(captured) - let parsed = try #require(JSONSerialization.jsonObject(with: Data(json.utf8)) as? [String: Any]) - #expect(parsed["type"] as? String == method) - let payload = try #require(parsed["payload"] as? [String: Any]) - #expect(payload["id"] as? String == "checkout-123") + let json = try XCTUnwrap(captured) + let parsed = try XCTUnwrap(JSONSerialization.jsonObject(with: Data(json.utf8)) as? [String: Any]) + XCTAssertEqual(parsed["type"] as? String, method) + let payload = try XCTUnwrap(parsed["payload"] as? [String: Any]) + XCTAssertEqual(payload["id"] as? String, "checkout-123") } } @MainActor - @Test func relayDispatchesEnvelopeOnEcError() async throws { + func testRelayDispatchesEnvelopeOnEcError() async throws { var captured: String? let client = makeRelayClient( subscribedMethods: ["ec.error"], @@ -85,18 +81,18 @@ struct ProtocolRelayTests { _ = await client.process(ecErrorNotificationFixture) - let json = try #require(captured) - let parsed = try #require(JSONSerialization.jsonObject(with: Data(json.utf8)) as? [String: Any]) - #expect(parsed["type"] as? String == "ec.error") - let payload = try #require(parsed["payload"] as? [String: Any]) - let messages = try #require(payload["messages"] as? [[String: Any]]) - #expect(messages.first?["content"] as? String == "Something went wrong") - let ucp = try #require(payload["ucp"] as? [String: Any]) - #expect(ucp["status"] as? String == "error") + let json = try XCTUnwrap(captured) + let parsed = try XCTUnwrap(JSONSerialization.jsonObject(with: Data(json.utf8)) as? [String: Any]) + XCTAssertEqual(parsed["type"] as? String, "ec.error") + let payload = try XCTUnwrap(parsed["payload"] as? [String: Any]) + let messages = try XCTUnwrap(payload["messages"] as? [[String: Any]]) + XCTAssertEqual(messages.first?["content"] as? String, "Something went wrong") + let ucp = try XCTUnwrap(payload["ucp"] as? [String: Any]) + XCTAssertEqual(ucp["status"] as? String, "error") } @MainActor - @Test func relayIgnoresMethodsNotInSubscribedList() async { + func testRelayIgnoresMethodsNotInSubscribedList() async { var captured: String? let client = makeRelayClient( subscribedMethods: [], @@ -105,7 +101,7 @@ struct ProtocolRelayTests { _ = await client.process(ecStartNotificationFixture) - #expect(captured == nil) + XCTAssertNil(captured) } } diff --git a/platforms/react-native/sample/ios/CheckoutKitReactNativeDemoTests/ShopifyCheckoutKitTests.swift b/platforms/react-native/test/rct-integration-app/RCTIntegrationAppTests/ShopifyCheckoutKitTests.swift similarity index 100% rename from platforms/react-native/sample/ios/CheckoutKitReactNativeDemoTests/ShopifyCheckoutKitTests.swift rename to platforms/react-native/test/rct-integration-app/RCTIntegrationAppTests/ShopifyCheckoutKitTests.swift diff --git a/platforms/react-native/test/rct-integration-app/package.json b/platforms/react-native/test/rct-integration-app/package.json new file mode 100644 index 000000000..55d9c345c --- /dev/null +++ b/platforms/react-native/test/rct-integration-app/package.json @@ -0,0 +1,12 @@ +{ + "name": "rct-integration-app", + "version": "0.0.0", + "private": true, + "dependencies": { + "@shopify/checkout-kit-react-native": "workspace:*" + }, + "peerDependencies": { + "react": "*", + "react-native": "*" + } +} diff --git a/platforms/react-native/test/rct-integration-app/project.yml b/platforms/react-native/test/rct-integration-app/project.yml new file mode 100644 index 000000000..46c1c0ade --- /dev/null +++ b/platforms/react-native/test/rct-integration-app/project.yml @@ -0,0 +1,82 @@ +name: RCTIntegrationApp +options: + minimumXcodeGenVersion: 2.45.0 + deploymentTarget: + iOS: "16.6" + xcodeVersion: "26.2" + projectFormat: xcode14_0 +configs: + Debug: debug + Release: release +schemes: + RCTIntegrationApp: + build: + targets: + RCTIntegrationApp: all + RCTIntegrationAppTests: [test] + test: + config: Debug + targets: + - RCTIntegrationAppTests + run: + config: Debug + profile: + config: Release + analyze: + config: Debug + archive: + config: Release + management: + shared: true + orderHint: 5 + +targets: + RCTIntegrationApp: + type: application + platform: iOS + sources: + - path: RCTIntegrationApp + settings: + base: + PRODUCT_BUNDLE_IDENTIFIER: com.shopify.checkoutkit.rctintegration + SWIFT_VERSION: "5.0" + TARGETED_DEVICE_FAMILY: "1" + MARKETING_VERSION: "1.0" + CURRENT_PROJECT_VERSION: "1" + INFOPLIST_KEY_CFBundleDisplayName: RCT Integration App + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents: YES + INFOPLIST_KEY_UIRequiresFullScreen: YES + INFOPLIST_KEY_UISupportedInterfaceOrientations: UIInterfaceOrientationPortrait + LD_RUNPATH_SEARCH_PATHS: + - $(inherited) + - "@executable_path/Frameworks" + info: + path: RCTIntegrationApp/Info.plist + properties: + CFBundleDisplayName: RCT Integration App + ITSAppUsesNonExemptEncryption: false + UIApplicationSupportsIndirectInputEvents: true + UIRequiresFullScreen: true + UISupportedInterfaceOrientations: + - UIInterfaceOrientationPortrait + + RCTIntegrationAppTests: + type: bundle.unit-test + platform: iOS + sources: + - path: RCTIntegrationAppTests + dependencies: + - target: RCTIntegrationApp + settings: + base: + PRODUCT_BUNDLE_IDENTIFIER: com.shopify.checkoutkit.rctintegration.tests + SWIFT_VERSION: "5.0" + TEST_HOST: $(BUILT_PRODUCTS_DIR)/RCTIntegrationApp.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/RCTIntegrationApp + BUNDLE_LOADER: $(TEST_HOST) + LD_RUNPATH_SEARCH_PATHS: + - $(inherited) + - "@executable_path/Frameworks" + - "@loader_path/Frameworks" + info: + path: RCTIntegrationAppTests/Info.plist + properties: {} diff --git a/platforms/react-native/test/rct-integration-app/react-native.config.js b/platforms/react-native/test/rct-integration-app/react-native.config.js new file mode 100644 index 000000000..f1df6aa83 --- /dev/null +++ b/platforms/react-native/test/rct-integration-app/react-native.config.js @@ -0,0 +1,16 @@ +const path = require('path'); + +const reactNativeRoot = path.resolve(__dirname, '../..'); + +module.exports = { + dependencies: { + '@shopify/checkout-kit-react-native': { + root: path.resolve( + reactNativeRoot, + 'modules', + '@shopify', + 'checkout-kit-react-native', + ), + }, + }, +}; diff --git a/platforms/swift/Scripts/generate_xcode_projects b/platforms/swift/Scripts/generate_xcode_projects index 615c679c8..b6bfade6c 100755 --- a/platforms/swift/Scripts/generate_xcode_projects +++ b/platforms/swift/Scripts/generate_xcode_projects @@ -6,12 +6,13 @@ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" SWIFT_DIR="$(cd "$SCRIPT_DIR/.." && pwd)" mode="generate" +selected_specs=() usage() { cat <] -Generates Swift sample Xcode projects, Info.plist files, and entitlements from XcodeGen specs. +Generates Xcode projects, Info.plist files, and entitlements from XcodeGen specs. EOF } @@ -20,6 +21,14 @@ while [[ $# -gt 0 ]]; do --check) mode="check" ;; + --spec) + if [[ $# -lt 2 ]]; then + usage >&2 + exit 1 + fi + selected_specs+=("$2") + shift + ;; -h | --help) usage exit 0 @@ -32,9 +41,10 @@ while [[ $# -gt 0 ]]; do shift done -sample_specs=( +xcodegen_specs=( "Samples/CheckoutKitSwiftDemo/project.yml" "Samples/ShopifyAcceleratedCheckoutsApp/project.yml" + "../react-native/test/rct-integration-app/project.yml" ) required_outputs=( @@ -44,6 +54,9 @@ required_outputs=( "Samples/ShopifyAcceleratedCheckoutsApp/ShopifyAcceleratedCheckoutsApp.xcodeproj/project.pbxproj" "Samples/ShopifyAcceleratedCheckoutsApp/ShopifyAcceleratedCheckoutsApp/Info.plist" "Samples/ShopifyAcceleratedCheckoutsApp/ShopifyAcceleratedCheckoutsApp/ShopifyAcceleratedCheckoutsApp.entitlements" + "../react-native/test/rct-integration-app/RCTIntegrationApp.xcodeproj/project.pbxproj" + "../react-native/test/rct-integration-app/RCTIntegrationApp/Info.plist" + "../react-native/test/rct-integration-app/RCTIntegrationAppTests/Info.plist" ) ensure_xcodegen_available() { @@ -64,7 +77,7 @@ check_generated_outputs() { for output in "${required_outputs[@]}"; do if [[ ! -e "$SWIFT_DIR/$output" ]]; then - echo "Missing generated Swift sample file: platforms/swift/$output" >&2 + echo "Missing generated XcodeGen output: platforms/swift/$output" >&2 missing=1 fi done @@ -76,10 +89,15 @@ check_generated_outputs() { generate_projects() { local spec + local specs=("${xcodegen_specs[@]}") ensure_xcodegen_available - for spec in "${sample_specs[@]}"; do + if [[ "${#selected_specs[@]}" -gt 0 ]]; then + specs=("${selected_specs[@]}") + fi + + for spec in "${specs[@]}"; do (cd "$SWIFT_DIR" && mint run xcodegen xcodegen generate --spec "$spec" --quiet) done } diff --git a/scripts/setup_dev_workspace b/scripts/setup_dev_workspace index 8b432bc61..8d9d692f2 100755 --- a/scripts/setup_dev_workspace +++ b/scripts/setup_dev_workspace @@ -192,11 +192,11 @@ setup_swift() { test "$("$swiftformat_bin" --version)" = "$expected_swiftformat" test "$("$xcodegen_bin" version | sed "s/^Version: //")" = "$expected_xcodegen" ' || true - run_shell "Swift sample Xcode projects" 'cd platforms/swift && ./Scripts/generate_xcode_projects --check' || true + run_shell "XcodeGen projects" 'cd platforms/swift && ./Scripts/generate_xcode_projects --check' || true else run_shell "Swift bundle packages" 'BUNDLE_GEMFILE=platforms/swift/Gemfile bundle check || BUNDLE_GEMFILE=platforms/swift/Gemfile bundle install' || true run_shell "Swift Mint packages" 'cd platforms/swift && mint bootstrap' || true - run_shell "Swift sample Xcode projects" 'cd platforms/swift && ./Scripts/generate_xcode_projects' || true + run_shell "XcodeGen projects" 'cd platforms/swift && ./Scripts/generate_xcode_projects' || true fi }