diff --git a/.github/workflows/sample-application.yml b/.github/workflows/sample-application.yml index 4fed9711b1..8fa985d9b9 100644 --- a/.github/workflows/sample-application.yml +++ b/.github/workflows/sample-application.yml @@ -40,13 +40,15 @@ jobs: matrix: rn-architecture: ['legacy', 'new'] ios-use-frameworks: ['no-frameworks', 'dynamic-frameworks'] - platform: ['android', 'ios'] + platform: ['android', 'ios', 'macos'] build-type: ['dev', 'production'] include: - platform: ios runs-on: macos-14 # uses m1 https://github.blog/changelog/2024-01-30-github-actions-macos-14-sonoma-is-now-available/ runtime: 'latest' device: 'iPhone 14' + - platform: macos + runs-on: macos-14 - platform: android runs-on: ubuntu-latest exclude: @@ -54,6 +56,10 @@ jobs: ios-use-frameworks: 'dynamic-frameworks' - rn-architecture: 'new' ios-use-frameworks: 'dynamic-frameworks' + - rn-architecture: 'new' + platform: 'macos' + - ios-use-frameworks: 'dynamic-frameworks' + platform: 'macos' steps: - uses: actions/checkout@v4 @@ -66,7 +72,7 @@ jobs: samples/react-native/yarn.lock - uses: ruby/setup-ruby@v1 - if: ${{ matrix.platform == 'ios' }} + if: ${{ matrix.platform == 'ios' || matrix.platform == 'macos' }} with: working-directory: samples/react-native ruby-version: '3.3.0' # based on what is used in the sample @@ -96,9 +102,12 @@ jobs: run: yarn install --frozen-lockfile - name: Install App Pods - if: ${{ matrix.platform == 'ios' }} - working-directory: samples/react-native/ios + if: ${{ matrix.platform == 'ios' || matrix.platform == 'macos' }} + working-directory: samples/react-native run: | + [[ "${{ matrix.platform }}" == "ios" ]] && cd ios + [[ "${{ matrix.platform }}" == "macos" ]] && cd macos + [[ "${{ matrix.build-type }}" == "production" ]] && ENABLE_PROD=1 || ENABLE_PROD=0 [[ "${{ matrix.rn-architecture }}" == "new" ]] && ENABLE_NEW_ARCH=1 || ENABLE_NEW_ARCH=0 [[ "${{ matrix.ios-use-frameworks }}" == "dynamic-frameworks" ]] && export USE_FRAMEWORKS=dynamic && export NO_FLIPPER=1 @@ -138,9 +147,28 @@ jobs: | tee xcodebuild.log \ | xcbeautify --quieter --is-ci --disable-colored-output + - name: Build macOS App + if: ${{ matrix.platform == 'macos' }} + working-directory: samples/react-native/macos + run: | + [[ "${{ matrix.build-type }}" == "production" ]] && CONFIG='Release' || CONFIG='Debug' + echo "Building $CONFIG" + mkdir -p "DerivedData" + derivedData="$(cd "DerivedData" ; pwd -P)" + set -o pipefail && xcodebuild \ + -workspace sentry-react-native-sample.xcworkspace \ + -configuration "$CONFIG" \ + -scheme sentry-react-native-sample-macOS \ + -destination 'platform=macOS' \ + ONLY_ACTIVE_ARCH=yes \ + -derivedDataPath "$derivedData" \ + build \ + | tee xcodebuild.log \ + | xcbeautify --quieter --is-ci --disable-colored-output + - name: Upload logs if: ${{ always() }} uses: actions/upload-artifact@v4 with: name: build-sample-${{ matrix.rn-architecture }}-${{ matrix.platform }}-${{ matrix.build-type }}-${{ matrix.ios-use-frameworks}}-logs - path: samples/react-native/ios/*.log + path: samples/react-native/${{ matrix.platform }}/*.log diff --git a/.vscode/launch.json b/.vscode/launch.json index 5555cc4e81..0a7cbf2c85 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -6,7 +6,7 @@ "type": "node", "request": "launch", "runtimeArgs": ["--inspect-brk", "${workspaceRoot}/node_modules/jest/bin/jest.js"], - "args": ["--runInBand", "-t", ""], + "args": ["--runInBand", "-t", "gesture cancel previous interaction transaction"], "cwd": "${workspaceRoot}", "console": "integratedTerminal", "internalConsoleOptions": "neverOpen", diff --git a/samples/react-native/.gitignore b/samples/react-native/.gitignore index 45d0c8356f..290d47e12c 100644 --- a/samples/react-native/.gitignore +++ b/samples/react-native/.gitignore @@ -20,7 +20,7 @@ DerivedData *.hmap *.ipa *.xcuserstate -ios/.xcode.env.local +*.xcode.env.local # Android/IntelliJ # diff --git a/samples/react-native/macos/.gitignore b/samples/react-native/macos/.gitignore new file mode 100644 index 0000000000..daba14103d --- /dev/null +++ b/samples/react-native/macos/.gitignore @@ -0,0 +1,2 @@ +# CocoaPods +Pods/ diff --git a/samples/react-native/macos/.xcode.env b/samples/react-native/macos/.xcode.env new file mode 100644 index 0000000000..772b339b4c --- /dev/null +++ b/samples/react-native/macos/.xcode.env @@ -0,0 +1 @@ +export NODE_BINARY=$(command -v node) diff --git a/samples/react-native/macos/Podfile b/samples/react-native/macos/Podfile new file mode 100644 index 0000000000..2a5c39963b --- /dev/null +++ b/samples/react-native/macos/Podfile @@ -0,0 +1,26 @@ +require_relative '../node_modules/react-native-macos/scripts/react_native_pods' +require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules' + +prepare_react_native_project! + +target 'sentry-react-native-sample-macOS' do + platform :macos, '10.15' + use_native_modules! + + # Flags change depending on the env values. + flags = get_default_flags() + + use_react_native!( + :path => '../node_modules/react-native-macos', + :hermes_enabled => false, + :fabric_enabled => ENV['RCT_NEW_ARCH_ENABLED'] == '1', + # Flipper is not compatible w/ macOS + :flipper_configuration => FlipperConfiguration.disabled, + # An absolute path to your application root. + :app_path => "#{Pod::Config.instance.installation_root}/.." + ) + + post_install do |installer| + react_native_post_install(installer) + end +end diff --git a/samples/react-native/macos/sentry-react-native-sample-macOS/AppDelegate.h b/samples/react-native/macos/sentry-react-native-sample-macOS/AppDelegate.h new file mode 100644 index 0000000000..63db973168 --- /dev/null +++ b/samples/react-native/macos/sentry-react-native-sample-macOS/AppDelegate.h @@ -0,0 +1,6 @@ +#import +#import + +@interface AppDelegate : RCTAppDelegate + +@end diff --git a/samples/react-native/macos/sentry-react-native-sample-macOS/AppDelegate.mm b/samples/react-native/macos/sentry-react-native-sample-macOS/AppDelegate.mm new file mode 100644 index 0000000000..d33f0d7f39 --- /dev/null +++ b/samples/react-native/macos/sentry-react-native-sample-macOS/AppDelegate.mm @@ -0,0 +1,40 @@ +#import "AppDelegate.h" + +#import + +@implementation AppDelegate + +- (void)applicationDidFinishLaunching:(NSNotification *)notification +{ + self.moduleName = @"sentry-react-native-sample"; + // You can add your custom initial props in the dictionary below. + // They will be passed down to the ViewController used by React Native. + self.initialProps = @{}; + + return [super applicationDidFinishLaunching:notification]; +} + +- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge +{ +#if DEBUG + return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index"]; +#else + return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; +#endif +} + +/// This method controls whether the `concurrentRoot`feature of React18 is turned on or off. +/// +/// @see: https://reactjs.org/blog/2022/03/29/react-v18.html +/// @note: This requires to be rendering on Fabric (i.e. on the New Architecture). +/// @return: `true` if the `concurrentRoot` feature is enabled. Otherwise, it returns `false`. +- (BOOL)concurrentRootEnabled +{ +#ifdef RN_FABRIC_ENABLED + return true; +#else + return false; +#endif +} + +@end diff --git a/samples/react-native/macos/sentry-react-native-sample-macOS/Assets.xcassets/AppIcon.appiconset/128-mac.png b/samples/react-native/macos/sentry-react-native-sample-macOS/Assets.xcassets/AppIcon.appiconset/128-mac.png new file mode 100644 index 0000000000..6f984d19b0 Binary files /dev/null and b/samples/react-native/macos/sentry-react-native-sample-macOS/Assets.xcassets/AppIcon.appiconset/128-mac.png differ diff --git a/samples/react-native/macos/sentry-react-native-sample-macOS/Assets.xcassets/AppIcon.appiconset/16-mac.png b/samples/react-native/macos/sentry-react-native-sample-macOS/Assets.xcassets/AppIcon.appiconset/16-mac.png new file mode 100644 index 0000000000..3cc24f5586 Binary files /dev/null and b/samples/react-native/macos/sentry-react-native-sample-macOS/Assets.xcassets/AppIcon.appiconset/16-mac.png differ diff --git a/samples/react-native/macos/sentry-react-native-sample-macOS/Assets.xcassets/AppIcon.appiconset/256-mac 1.png b/samples/react-native/macos/sentry-react-native-sample-macOS/Assets.xcassets/AppIcon.appiconset/256-mac 1.png new file mode 100644 index 0000000000..02d81dbf6a Binary files /dev/null and b/samples/react-native/macos/sentry-react-native-sample-macOS/Assets.xcassets/AppIcon.appiconset/256-mac 1.png differ diff --git a/samples/react-native/macos/sentry-react-native-sample-macOS/Assets.xcassets/AppIcon.appiconset/256-mac.png b/samples/react-native/macos/sentry-react-native-sample-macOS/Assets.xcassets/AppIcon.appiconset/256-mac.png new file mode 100644 index 0000000000..02d81dbf6a Binary files /dev/null and b/samples/react-native/macos/sentry-react-native-sample-macOS/Assets.xcassets/AppIcon.appiconset/256-mac.png differ diff --git a/samples/react-native/macos/sentry-react-native-sample-macOS/Assets.xcassets/AppIcon.appiconset/32-mac 1.png b/samples/react-native/macos/sentry-react-native-sample-macOS/Assets.xcassets/AppIcon.appiconset/32-mac 1.png new file mode 100644 index 0000000000..2d64dfef10 Binary files /dev/null and b/samples/react-native/macos/sentry-react-native-sample-macOS/Assets.xcassets/AppIcon.appiconset/32-mac 1.png differ diff --git a/samples/react-native/macos/sentry-react-native-sample-macOS/Assets.xcassets/AppIcon.appiconset/32-mac.png b/samples/react-native/macos/sentry-react-native-sample-macOS/Assets.xcassets/AppIcon.appiconset/32-mac.png new file mode 100644 index 0000000000..2d64dfef10 Binary files /dev/null and b/samples/react-native/macos/sentry-react-native-sample-macOS/Assets.xcassets/AppIcon.appiconset/32-mac.png differ diff --git a/samples/react-native/macos/sentry-react-native-sample-macOS/Assets.xcassets/AppIcon.appiconset/512-mac.png b/samples/react-native/macos/sentry-react-native-sample-macOS/Assets.xcassets/AppIcon.appiconset/512-mac.png new file mode 100644 index 0000000000..a0bac4d814 Binary files /dev/null and b/samples/react-native/macos/sentry-react-native-sample-macOS/Assets.xcassets/AppIcon.appiconset/512-mac.png differ diff --git a/samples/react-native/macos/sentry-react-native-sample-macOS/Assets.xcassets/AppIcon.appiconset/64-mac.png b/samples/react-native/macos/sentry-react-native-sample-macOS/Assets.xcassets/AppIcon.appiconset/64-mac.png new file mode 100644 index 0000000000..99edae6394 Binary files /dev/null and b/samples/react-native/macos/sentry-react-native-sample-macOS/Assets.xcassets/AppIcon.appiconset/64-mac.png differ diff --git a/samples/react-native/macos/sentry-react-native-sample-macOS/Assets.xcassets/AppIcon.appiconset/Contents.json b/samples/react-native/macos/sentry-react-native-sample-macOS/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000000..3fbba27a5e --- /dev/null +++ b/samples/react-native/macos/sentry-react-native-sample-macOS/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,68 @@ +{ + "images" : [ + { + "filename" : "16-mac.png", + "idiom" : "mac", + "scale" : "1x", + "size" : "16x16" + }, + { + "filename" : "32-mac.png", + "idiom" : "mac", + "scale" : "2x", + "size" : "16x16" + }, + { + "filename" : "32-mac 1.png", + "idiom" : "mac", + "scale" : "1x", + "size" : "32x32" + }, + { + "filename" : "64-mac.png", + "idiom" : "mac", + "scale" : "2x", + "size" : "32x32" + }, + { + "filename" : "128-mac.png", + "idiom" : "mac", + "scale" : "1x", + "size" : "128x128" + }, + { + "filename" : "256-mac.png", + "idiom" : "mac", + "scale" : "2x", + "size" : "128x128" + }, + { + "filename" : "256-mac 1.png", + "idiom" : "mac", + "scale" : "1x", + "size" : "256x256" + }, + { + "filename" : "512-mac.png", + "idiom" : "mac", + "scale" : "2x", + "size" : "256x256" + }, + { + "filename" : "iTunesArtwork@1x.png", + "idiom" : "mac", + "scale" : "1x", + "size" : "512x512" + }, + { + "filename" : "iTunesArtwork@2x.png", + "idiom" : "mac", + "scale" : "2x", + "size" : "512x512" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/samples/react-native/macos/sentry-react-native-sample-macOS/Assets.xcassets/AppIcon.appiconset/iTunesArtwork@1x.png b/samples/react-native/macos/sentry-react-native-sample-macOS/Assets.xcassets/AppIcon.appiconset/iTunesArtwork@1x.png new file mode 100644 index 0000000000..7a1a6d5eae Binary files /dev/null and b/samples/react-native/macos/sentry-react-native-sample-macOS/Assets.xcassets/AppIcon.appiconset/iTunesArtwork@1x.png differ diff --git a/samples/react-native/macos/sentry-react-native-sample-macOS/Assets.xcassets/AppIcon.appiconset/iTunesArtwork@2x.png b/samples/react-native/macos/sentry-react-native-sample-macOS/Assets.xcassets/AppIcon.appiconset/iTunesArtwork@2x.png new file mode 100644 index 0000000000..a160a64f46 Binary files /dev/null and b/samples/react-native/macos/sentry-react-native-sample-macOS/Assets.xcassets/AppIcon.appiconset/iTunesArtwork@2x.png differ diff --git a/samples/react-native/macos/sentry-react-native-sample-macOS/Assets.xcassets/Contents.json b/samples/react-native/macos/sentry-react-native-sample-macOS/Assets.xcassets/Contents.json new file mode 100644 index 0000000000..73c00596a7 --- /dev/null +++ b/samples/react-native/macos/sentry-react-native-sample-macOS/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/samples/react-native/macos/sentry-react-native-sample-macOS/Base.lproj/Main.storyboard b/samples/react-native/macos/sentry-react-native-sample-macOS/Base.lproj/Main.storyboard new file mode 100644 index 0000000000..d4c2d8ff65 --- /dev/null +++ b/samples/react-native/macos/sentry-react-native-sample-macOS/Base.lproj/Main.storyboard @@ -0,0 +1,684 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Default + + + + + + + Left to Right + + + + + + + Right to Left + + + + + + + + + + + Default + + + + + + + Left to Right + + + + + + + Right to Left + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/samples/react-native/macos/sentry-react-native-sample-macOS/Info.plist b/samples/react-native/macos/sentry-react-native-sample-macOS/Info.plist new file mode 100644 index 0000000000..2b7c0872de --- /dev/null +++ b/samples/react-native/macos/sentry-react-native-sample-macOS/Info.plist @@ -0,0 +1,47 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + $(PRODUCT_BUNDLE_PACKAGE_TYPE) + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + LSMinimumSystemVersion + $(MACOSX_DEPLOYMENT_TARGET) + NSAppTransportSecurity + + NSAllowsArbitraryLoads + + NSExceptionDomains + + localhost + + NSExceptionAllowsInsecureHTTPLoads + + + + + NSMainStoryboardFile + Main + NSPrincipalClass + NSApplication + NSSupportsAutomaticTermination + + NSSupportsSuddenTermination + + + diff --git a/samples/react-native/macos/sentry-react-native-sample-macOS/main.m b/samples/react-native/macos/sentry-react-native-sample-macOS/main.m new file mode 100644 index 0000000000..1f154fcf69 --- /dev/null +++ b/samples/react-native/macos/sentry-react-native-sample-macOS/main.m @@ -0,0 +1,5 @@ +#import + +int main(int argc, const char *argv[]) { + return NSApplicationMain(argc, argv); +} diff --git a/samples/react-native/macos/sentry-react-native-sample-macOS/sentry-react-native-sample.entitlements b/samples/react-native/macos/sentry-react-native-sample-macOS/sentry-react-native-sample.entitlements new file mode 100644 index 0000000000..625af03d99 --- /dev/null +++ b/samples/react-native/macos/sentry-react-native-sample-macOS/sentry-react-native-sample.entitlements @@ -0,0 +1,12 @@ + + + + + com.apple.security.app-sandbox + + com.apple.security.files.user-selected.read-only + + com.apple.security.network.client + + + diff --git a/samples/react-native/macos/sentry-react-native-sample.xcodeproj/project.pbxproj b/samples/react-native/macos/sentry-react-native-sample.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..ce8e098075 --- /dev/null +++ b/samples/react-native/macos/sentry-react-native-sample.xcodeproj/project.pbxproj @@ -0,0 +1,579 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 5142014D2437B4B30078DB4F /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5142014C2437B4B30078DB4F /* AppDelegate.mm */; }; + 514201522437B4B40078DB4F /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 514201512437B4B40078DB4F /* Assets.xcassets */; }; + 514201552437B4B40078DB4F /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 514201532437B4B40078DB4F /* Main.storyboard */; }; + 514201582437B4B40078DB4F /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 514201572437B4B40078DB4F /* main.m */; }; + DAB0D6C9DC06D280469454B7 /* libPods-sentry-react-native-sample-macOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D4BEEA1BF36EEF89F92C460C /* libPods-sentry-react-native-sample-macOS.a */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 12EDD726EBC59A88C71CE80B /* Pods-sentry-react-native-sample-macOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sentry-react-native-sample-macOS.release.xcconfig"; path = "Target Support Files/Pods-sentry-react-native-sample-macOS/Pods-sentry-react-native-sample-macOS.release.xcconfig"; sourceTree = ""; }; + 13B07F961A680F5B00A75B9A /* sentry-react-native-sample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "sentry-react-native-sample.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + 514201492437B4B30078DB4F /* sentry-react-native-sample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "sentry-react-native-sample.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + 5142014B2437B4B30078DB4F /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; + 5142014C2437B4B30078DB4F /* AppDelegate.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = AppDelegate.mm; sourceTree = ""; }; + 514201512437B4B40078DB4F /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 514201542437B4B40078DB4F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 514201562437B4B40078DB4F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 514201572437B4B40078DB4F /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + 514201592437B4B40078DB4F /* sentry-react-native-sample.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "sentry-react-native-sample.entitlements"; sourceTree = ""; }; + 666B98019E3E1C0B6E1BF713 /* Pods-sentry-react-native-sample-macOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sentry-react-native-sample-macOS.debug.xcconfig"; path = "Target Support Files/Pods-sentry-react-native-sample-macOS/Pods-sentry-react-native-sample-macOS.debug.xcconfig"; sourceTree = ""; }; + D4BEEA1BF36EEF89F92C460C /* libPods-sentry-react-native-sample-macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-sentry-react-native-sample-macOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 13B07F8C1A680F5B00A75B9A /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 514201462437B4B30078DB4F /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + DAB0D6C9DC06D280469454B7 /* libPods-sentry-react-native-sample-macOS.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 084C13DB7FE05F1E7DD7FEAD /* Pods */ = { + isa = PBXGroup; + children = ( + 666B98019E3E1C0B6E1BF713 /* Pods-sentry-react-native-sample-macOS.debug.xcconfig */, + 12EDD726EBC59A88C71CE80B /* Pods-sentry-react-native-sample-macOS.release.xcconfig */, + ); + path = Pods; + sourceTree = ""; + }; + 2D16E6871FA4F8E400B85C8A /* Frameworks */ = { + isa = PBXGroup; + children = ( + ED297162215061F000B7C4FE /* JavaScriptCore.framework */, + D4BEEA1BF36EEF89F92C460C /* libPods-sentry-react-native-sample-macOS.a */, + ); + name = Frameworks; + sourceTree = ""; + }; + 5142014A2437B4B30078DB4F /* sentry-react-native-sample-macOS */ = { + isa = PBXGroup; + children = ( + 5142014B2437B4B30078DB4F /* AppDelegate.h */, + 5142014C2437B4B30078DB4F /* AppDelegate.mm */, + 514201512437B4B40078DB4F /* Assets.xcassets */, + 514201532437B4B40078DB4F /* Main.storyboard */, + 514201562437B4B40078DB4F /* Info.plist */, + 514201572437B4B40078DB4F /* main.m */, + 514201592437B4B40078DB4F /* sentry-react-native-sample.entitlements */, + ); + path = "sentry-react-native-sample-macOS"; + sourceTree = ""; + }; + 832341AE1AAA6A7D00B99B32 /* Libraries */ = { + isa = PBXGroup; + children = ( + ); + name = Libraries; + sourceTree = ""; + }; + 83CBB9F61A601CBA00E9B192 = { + isa = PBXGroup; + children = ( + 5142014A2437B4B30078DB4F /* sentry-react-native-sample-macOS */, + 832341AE1AAA6A7D00B99B32 /* Libraries */, + 83CBBA001A601CBA00E9B192 /* Products */, + 2D16E6871FA4F8E400B85C8A /* Frameworks */, + 084C13DB7FE05F1E7DD7FEAD /* Pods */, + ); + indentWidth = 2; + sourceTree = ""; + tabWidth = 2; + usesTabs = 0; + }; + 83CBBA001A601CBA00E9B192 /* Products */ = { + isa = PBXGroup; + children = ( + 13B07F961A680F5B00A75B9A /* sentry-react-native-sample.app */, + 514201492437B4B30078DB4F /* sentry-react-native-sample.app */, + ); + name = Products; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 13B07F861A680F5B00A75B9A /* sentry-react-native-sample-iOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "sentry-react-native-sample-iOS" */; + buildPhases = ( + 13B07F871A680F5B00A75B9A /* Sources */, + 13B07F8C1A680F5B00A75B9A /* Frameworks */, + 13B07F8E1A680F5B00A75B9A /* Resources */, + 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "sentry-react-native-sample-iOS"; + productName = "sentry-react-native-sample"; + productReference = 13B07F961A680F5B00A75B9A /* sentry-react-native-sample.app */; + productType = "com.apple.product-type.application"; + }; + 514201482437B4B30078DB4F /* sentry-react-native-sample-macOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = 5142015A2437B4B40078DB4F /* Build configuration list for PBXNativeTarget "sentry-react-native-sample-macOS" */; + buildPhases = ( + 1A938104A937498D81B3BD3B /* [CP] Check Pods Manifest.lock */, + 514201452437B4B30078DB4F /* Sources */, + 514201462437B4B30078DB4F /* Frameworks */, + 514201472437B4B30078DB4F /* Resources */, + 381D8A6E24576A4E00465D17 /* Bundle React Native code and images */, + E6E14F05B988B5DF13DC5EE7 /* [CP] Copy Pods Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "sentry-react-native-sample-macOS"; + productName = "sentry-react-native-sample"; + productReference = 514201492437B4B30078DB4F /* sentry-react-native-sample.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 83CBB9F71A601CBA00E9B192 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 1130; + TargetAttributes = { + 13B07F861A680F5B00A75B9A = { + LastSwiftMigration = 1120; + ProvisioningStyle = Manual; + }; + 514201482437B4B30078DB4F = { + CreatedOnToolsVersion = 11.4; + ProvisioningStyle = Manual; + }; + }; + }; + buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "sentry-react-native-sample" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 83CBB9F61A601CBA00E9B192; + productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 13B07F861A680F5B00A75B9A /* sentry-react-native-sample-iOS */, + 514201482437B4B30078DB4F /* sentry-react-native-sample-macOS */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 13B07F8E1A680F5B00A75B9A /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 514201472437B4B30078DB4F /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 514201522437B4B40078DB4F /* Assets.xcassets in Resources */, + 514201552437B4B40078DB4F /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Bundle React Native code and images"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "export NODE_BINARY=node\n../node_modules/react-native-macos/scripts/react-native-xcode.sh\n"; + }; + 1A938104A937498D81B3BD3B /* [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-sentry-react-native-sample-macOS-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; + }; + 381D8A6E24576A4E00465D17 /* Bundle React Native code and images */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + name = "Bundle React Native code and images"; + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "export NODE_BINARY=node\n../node_modules/react-native-macos/scripts/react-native-xcode.sh\n"; + }; + E6E14F05B988B5DF13DC5EE7 /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-sentry-react-native-sample-macOS/Pods-sentry-react-native-sample-macOS-resources.sh", + "${PODS_CONFIGURATION_BUILD_DIR}/React-Core/RCTI18nStrings.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/Sentry/Sentry.bundle", + ); + name = "[CP] Copy Pods Resources"; + outputPaths = ( + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RCTI18nStrings.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Sentry.bundle", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sentry-react-native-sample-macOS/Pods-sentry-react-native-sample-macOS-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 13B07F871A680F5B00A75B9A /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 514201452437B4B30078DB4F /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 514201582437B4B40078DB4F /* main.m in Sources */, + 5142014D2437B4B30078DB4F /* AppDelegate.mm in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 514201532437B4B40078DB4F /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 514201542437B4B40078DB4F /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 13B07F941A680F5B00A75B9A /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_STYLE = Manual; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = ""; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = "sentry-react-native-sample-iOS/Info.plist"; + INFOPLIST_KEY_CFBundleDisplayName = "Sentry RN"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + OTHER_LDFLAGS = ( + "$(inherited)", + "-ObjC", + "-lc++", + ); + PRODUCT_BUNDLE_IDENTIFIER = io.sentry.reactnative.sample.desktop; + PRODUCT_NAME = "sentry-react-native-sample"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Debug; + }; + 13B07F951A680F5B00A75B9A /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_STYLE = Manual; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = ""; + INFOPLIST_FILE = "sentry-react-native-sample-iOS/Info.plist"; + INFOPLIST_KEY_CFBundleDisplayName = "Sentry RN"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + OTHER_LDFLAGS = ( + "$(inherited)", + "-ObjC", + "-lc++", + ); + PRODUCT_BUNDLE_IDENTIFIER = io.sentry.reactnative.sample.desktop; + PRODUCT_NAME = "sentry-react-native-sample"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Release; + }; + 5142015B2437B4B40078DB4F /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 666B98019E3E1C0B6E1BF713 /* Pods-sentry-react-native-sample-macOS.debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_STYLE = Manual; + CURRENT_PROJECT_VERSION = 1; + DEAD_CODE_STRIPPING = NO; + DEVELOPMENT_TEAM = ""; + INFOPLIST_FILE = "sentry-react-native-sample-macos/Info.plist"; + INFOPLIST_KEY_CFBundleDisplayName = "Sentry RN"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.15; + OTHER_LDFLAGS = ( + "$(inherited)", + "-ObjC", + "-lc++", + ); + PRODUCT_BUNDLE_IDENTIFIER = io.sentry.reactnative.sample.desktop; + PRODUCT_NAME = "sentry-react-native-sample"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SDKROOT = macosx; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + }; + name = Debug; + }; + 5142015C2437B4B40078DB4F /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 12EDD726EBC59A88C71CE80B /* Pods-sentry-react-native-sample-macOS.release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_STYLE = Manual; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = ""; + INFOPLIST_FILE = "sentry-react-native-sample-macos/Info.plist"; + INFOPLIST_KEY_CFBundleDisplayName = "Sentry RN"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.15; + OTHER_LDFLAGS = ( + "$(inherited)", + "-ObjC", + "-lc++", + ); + PRODUCT_BUNDLE_IDENTIFIER = io.sentry.reactnative.sample.desktop; + PRODUCT_NAME = "sentry-react-native-sample"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SDKROOT = macosx; + SWIFT_VERSION = 5.0; + }; + name = Release; + }; + 83CBBA201A601CBA00E9B192 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_CXX_LANGUAGE_STANDARD = "c++20"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = "/usr/lib/swift $(inherited)"; + LIBRARY_SEARCH_PATHS = ( + "$(SDKROOT)/usr/lib/swift", + "\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"", + "\"$(inherited)\"", + ); + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + OTHER_CFLAGS = "$(inherited)"; + OTHER_CPLUSPLUSFLAGS = "$(inherited)"; + OTHER_LDFLAGS = "$(inherited) "; + REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; + SDKROOT = iphoneos; + USE_HERMES = false; + }; + name = Debug; + }; + 83CBBA211A601CBA00E9B192 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_CXX_LANGUAGE_STANDARD = "c++20"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = YES; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = "/usr/lib/swift $(inherited)"; + LIBRARY_SEARCH_PATHS = ( + "$(SDKROOT)/usr/lib/swift", + "\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"", + "\"$(inherited)\"", + ); + MTL_ENABLE_DEBUG_INFO = NO; + OTHER_CFLAGS = "$(inherited)"; + OTHER_CPLUSPLUSFLAGS = "$(inherited)"; + OTHER_LDFLAGS = "$(inherited) "; + REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; + SDKROOT = iphoneos; + USE_HERMES = false; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "sentry-react-native-sample-iOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 13B07F941A680F5B00A75B9A /* Debug */, + 13B07F951A680F5B00A75B9A /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 5142015A2437B4B40078DB4F /* Build configuration list for PBXNativeTarget "sentry-react-native-sample-macOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 5142015B2437B4B40078DB4F /* Debug */, + 5142015C2437B4B40078DB4F /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "sentry-react-native-sample" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 83CBBA201A601CBA00E9B192 /* Debug */, + 83CBBA211A601CBA00E9B192 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 83CBB9F71A601CBA00E9B192 /* Project object */; +} diff --git a/samples/react-native/macos/sentry-react-native-sample.xcodeproj/xcshareddata/xcschemes/sentry-react-native-sample-macOS.xcscheme b/samples/react-native/macos/sentry-react-native-sample.xcodeproj/xcshareddata/xcschemes/sentry-react-native-sample-macOS.xcscheme new file mode 100644 index 0000000000..9c86f24f02 --- /dev/null +++ b/samples/react-native/macos/sentry-react-native-sample.xcodeproj/xcshareddata/xcschemes/sentry-react-native-sample-macOS.xcscheme @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/samples/react-native/macos/sentry-react-native-sample.xcworkspace/contents.xcworkspacedata b/samples/react-native/macos/sentry-react-native-sample.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000000..b93a55f0cd --- /dev/null +++ b/samples/react-native/macos/sentry-react-native-sample.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,10 @@ + + + + + + + diff --git a/samples/react-native/macos/sentry-react-native-sample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/samples/react-native/macos/sentry-react-native-sample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000000..18d981003d --- /dev/null +++ b/samples/react-native/macos/sentry-react-native-sample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/samples/react-native/package.json b/samples/react-native/package.json index efa57164c0..198f257202 100644 --- a/samples/react-native/package.json +++ b/samples/react-native/package.json @@ -28,6 +28,7 @@ "react": "18.2.0", "react-native": "0.73.2", "react-native-gesture-handler": "^2.14.0", + "react-native-macos": "^0.73.0-0", "react-native-safe-area-context": "4.8.0", "react-native-screens": "3.29.0", "react-native-vector-icons": "^10.0.3", diff --git a/samples/react-native/src/App.tsx b/samples/react-native/src/App.tsx index ee05aedd5f..ad7edc5a20 100644 --- a/samples/react-native/src/App.tsx +++ b/samples/react-native/src/App.tsx @@ -4,6 +4,8 @@ import { NavigationContainerRef, } from '@react-navigation/native'; import { createNativeStackNavigator } from '@react-navigation/native-stack'; +import { createStackNavigator } from '@react-navigation/stack'; + import { createBottomTabNavigator } from '@react-navigation/bottom-tabs'; // Import the Sentry React Native SDK @@ -20,14 +22,16 @@ import { Provider } from 'react-redux'; import { store } from './reduxApp'; import { GestureHandlerRootView } from 'react-native-gesture-handler'; import GesturesTracingScreen from './Screens/GesturesTracingScreen'; -import { StyleSheet } from 'react-native'; +import { Platform, StyleSheet } from 'react-native'; import { HttpClient } from '@sentry/integrations'; import Ionicons from 'react-native-vector-icons/Ionicons'; +const isMobileOs = Platform.OS === 'android' || Platform.OS === 'ios'; + const reactNavigationInstrumentation = new Sentry.ReactNavigationInstrumentation({ routeChangeTimeoutMs: 500, // How long it will wait for the route change to complete. Default is 1000ms - enableTimeToInitialDisplay: true, + enableTimeToInitialDisplay: isMobileOs, }); Sentry.init({ @@ -102,7 +106,9 @@ Sentry.init({ enableSpotlight: true, }); -const Stack = createNativeStackNavigator(); +const Stack = isMobileOs + ? createNativeStackNavigator() + : createStackNavigator(); const Tab = createBottomTabNavigator(); const TabOneStack = Sentry.withProfiler( diff --git a/samples/react-native/src/Screens/ErrorsScreen.tsx b/samples/react-native/src/Screens/ErrorsScreen.tsx index 5dd2753dfc..138ec193d2 100644 --- a/samples/react-native/src/Screens/ErrorsScreen.tsx +++ b/samples/react-native/src/Screens/ErrorsScreen.tsx @@ -57,7 +57,7 @@ const ErrorsScreen = (_props: Props) => { const [data, setData] = React.useState(null); useEffect(() => { - AssetsModule.getExampleAssetData().then((asset: number[]) => + AssetsModule?.getExampleAssetData().then((asset: number[]) => setData(new Uint8Array(asset)), ); }, []); diff --git a/samples/react-native/yarn.lock b/samples/react-native/yarn.lock index bdf896c38e..07789f3bd5 100644 --- a/samples/react-native/yarn.lock +++ b/samples/react-native/yarn.lock @@ -2340,6 +2340,15 @@ chalk "^4.1.2" execa "^5.0.0" +"@react-native-community/cli-clean@12.3.6": + version "12.3.6" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-clean/-/cli-clean-12.3.6.tgz#e8a7910bebc97266fd5068649013a03958021fc4" + integrity sha512-gUU29ep8xM0BbnZjwz9MyID74KKwutq9x5iv4BCr2im6nly4UMf1B1D+V225wR7VcDGzbgWjaezsJShLLhC5ig== + dependencies: + "@react-native-community/cli-tools" "12.3.6" + chalk "^4.1.2" + execa "^5.0.0" + "@react-native-community/cli-config@12.3.0": version "12.3.0" resolved "https://registry.yarnpkg.com/@react-native-community/cli-config/-/cli-config-12.3.0.tgz#255b4e5391878937a25888f452f50a968d053e3e" @@ -2352,6 +2361,18 @@ glob "^7.1.3" joi "^17.2.1" +"@react-native-community/cli-config@12.3.6": + version "12.3.6" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-config/-/cli-config-12.3.6.tgz#5f0be68270217908a739c32e3155a0e354773251" + integrity sha512-JGWSYQ9EAK6m2v0abXwFLEfsqJ1zkhzZ4CV261QZF9MoUNB6h57a274h1MLQR9mG6Tsh38wBUuNfEPUvS1vYew== + dependencies: + "@react-native-community/cli-tools" "12.3.6" + chalk "^4.1.2" + cosmiconfig "^5.1.0" + deepmerge "^4.3.0" + glob "^7.1.3" + joi "^17.2.1" + "@react-native-community/cli-debugger-ui@12.3.0": version "12.3.0" resolved "https://registry.yarnpkg.com/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-12.3.0.tgz#75bbb2082a369b3559e0dffa8bfeebf2a9107e3e" @@ -2359,6 +2380,13 @@ dependencies: serve-static "^1.13.1" +"@react-native-community/cli-debugger-ui@12.3.6": + version "12.3.6" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-12.3.6.tgz#418027a1ae76850079684d309a732eb378c7f690" + integrity sha512-SjUKKsx5FmcK9G6Pb6UBFT0s9JexVStK5WInmANw75Hm7YokVvHEgtprQDz2Uvy5znX5g2ujzrkIU//T15KQzA== + dependencies: + serve-static "^1.13.1" + "@react-native-community/cli-doctor@12.3.0": version "12.3.0" resolved "https://registry.yarnpkg.com/@react-native-community/cli-doctor/-/cli-doctor-12.3.0.tgz#420eb4e80d482f16d431c4df33fbc203862508af" @@ -2382,6 +2410,28 @@ wcwidth "^1.0.1" yaml "^2.2.1" +"@react-native-community/cli-doctor@12.3.6": + version "12.3.6" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-doctor/-/cli-doctor-12.3.6.tgz#f68b51bbc6554ff4837269d98e9e405044e6f1b9" + integrity sha512-fvBDv2lTthfw4WOQKkdTop2PlE9GtfrlNnpjB818MhcdEnPjfQw5YaTUcnNEGsvGomdCs1MVRMgYXXwPSN6OvQ== + dependencies: + "@react-native-community/cli-config" "12.3.6" + "@react-native-community/cli-platform-android" "12.3.6" + "@react-native-community/cli-platform-ios" "12.3.6" + "@react-native-community/cli-tools" "12.3.6" + chalk "^4.1.2" + command-exists "^1.2.8" + deepmerge "^4.3.0" + envinfo "^7.10.0" + execa "^5.0.0" + hermes-profile-transformer "^0.0.6" + node-stream-zip "^1.9.1" + ora "^5.4.1" + semver "^7.5.2" + strip-ansi "^5.2.0" + wcwidth "^1.0.1" + yaml "^2.2.1" + "@react-native-community/cli-hermes@12.3.0": version "12.3.0" resolved "https://registry.yarnpkg.com/@react-native-community/cli-hermes/-/cli-hermes-12.3.0.tgz#c302acbfb07e1f4e73e76e3150c32f0e4f54e9ed" @@ -2393,6 +2443,16 @@ hermes-profile-transformer "^0.0.6" ip "^1.1.5" +"@react-native-community/cli-hermes@12.3.6": + version "12.3.6" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-hermes/-/cli-hermes-12.3.6.tgz#5ac2c9ee26c69e1ce6b5047ba0f399984a6dea16" + integrity sha512-sNGwfOCl8OAIjWCkwuLpP8NZbuO0dhDI/2W7NeOGDzIBsf4/c4MptTrULWtGIH9okVPLSPX0NnRyGQ+mSwWyuQ== + dependencies: + "@react-native-community/cli-platform-android" "12.3.6" + "@react-native-community/cli-tools" "12.3.6" + chalk "^4.1.2" + hermes-profile-transformer "^0.0.6" + "@react-native-community/cli-platform-android@12.3.0": version "12.3.0" resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-android/-/cli-platform-android-12.3.0.tgz#eafa5fb12ebc25f716aea18cd55039c19fbedca6" @@ -2405,6 +2465,18 @@ glob "^7.1.3" logkitty "^0.7.1" +"@react-native-community/cli-platform-android@12.3.6": + version "12.3.6" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-android/-/cli-platform-android-12.3.6.tgz#e1103692c659ff0b72ee6f00b7c72578db7376ec" + integrity sha512-DeDDAB8lHpuGIAPXeeD9Qu2+/wDTFPo99c8uSW49L0hkmZJixzvvvffbGQAYk32H0TmaI7rzvzH+qzu7z3891g== + dependencies: + "@react-native-community/cli-tools" "12.3.6" + chalk "^4.1.2" + execa "^5.0.0" + fast-xml-parser "^4.2.4" + glob "^7.1.3" + logkitty "^0.7.1" + "@react-native-community/cli-platform-ios@12.3.0": version "12.3.0" resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-12.3.0.tgz#42a9185bb51f35a7eb9c5818b2f0072846945ef5" @@ -2417,11 +2489,28 @@ glob "^7.1.3" ora "^5.4.1" +"@react-native-community/cli-platform-ios@12.3.6": + version "12.3.6" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-12.3.6.tgz#e7decb5ee764f5fdc7a6ad1ba5e15de8929d54a5" + integrity sha512-3eZ0jMCkKUO58wzPWlvAPRqezVKm9EPZyaPyHbRPWU8qw7JqkvnRlWIaYDGpjCJgVW4k2hKsEursLtYKb188tg== + dependencies: + "@react-native-community/cli-tools" "12.3.6" + chalk "^4.1.2" + execa "^5.0.0" + fast-xml-parser "^4.0.12" + glob "^7.1.3" + ora "^5.4.1" + "@react-native-community/cli-plugin-metro@12.3.0": version "12.3.0" resolved "https://registry.yarnpkg.com/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-12.3.0.tgz#b4ea8da691d294aee98ccfcd1162bcd958cae834" integrity sha512-tYNHIYnNmxrBcsqbE2dAnLMzlKI3Cp1p1xUgTrNaOMsGPDN1epzNfa34n6Nps3iwKElSL7Js91CzYNqgTalucA== +"@react-native-community/cli-plugin-metro@12.3.6": + version "12.3.6" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-12.3.6.tgz#ae62de18e998478db60a3fe10dc746162c272dbd" + integrity sha512-3jxSBQt4fkS+KtHCPSyB5auIT+KKIrPCv9Dk14FbvOaEh9erUWEm/5PZWmtboW1z7CYeNbFMeXm9fM2xwtVOpg== + "@react-native-community/cli-server-api@12.3.0": version "12.3.0" resolved "https://registry.yarnpkg.com/@react-native-community/cli-server-api/-/cli-server-api-12.3.0.tgz#0460472d44c121d1db8a98ad1df811200c074fb3" @@ -2437,6 +2526,21 @@ serve-static "^1.13.1" ws "^7.5.1" +"@react-native-community/cli-server-api@12.3.6": + version "12.3.6" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-server-api/-/cli-server-api-12.3.6.tgz#cd78122954a02d22c7821c365938635b51ddd1bd" + integrity sha512-80NIMzo8b2W+PL0Jd7NjiJW9mgaT8Y8wsIT/lh6mAvYH7mK0ecDJUYUTAAv79Tbo1iCGPAr3T295DlVtS8s4yQ== + dependencies: + "@react-native-community/cli-debugger-ui" "12.3.6" + "@react-native-community/cli-tools" "12.3.6" + compression "^1.7.1" + connect "^3.6.5" + errorhandler "^1.5.1" + nocache "^3.0.1" + pretty-format "^26.6.2" + serve-static "^1.13.1" + ws "^7.5.1" + "@react-native-community/cli-tools@12.3.0": version "12.3.0" resolved "https://registry.yarnpkg.com/@react-native-community/cli-tools/-/cli-tools-12.3.0.tgz#d459a116e1a95034d3c9a6385069c9e2049fb2a6" @@ -2453,6 +2557,22 @@ shell-quote "^1.7.3" sudo-prompt "^9.0.0" +"@react-native-community/cli-tools@12.3.6": + version "12.3.6" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-tools/-/cli-tools-12.3.6.tgz#c39965982347635dfaf1daa7b3c0133b3bd45e64" + integrity sha512-FPEvZn19UTMMXUp/piwKZSh8cMEfO8G3KDtOwo53O347GTcwNrKjgZGtLSPELBX2gr+YlzEft3CoRv2Qmo83fQ== + dependencies: + appdirsjs "^1.2.4" + chalk "^4.1.2" + find-up "^5.0.0" + mime "^2.4.1" + node-fetch "^2.6.0" + open "^6.2.0" + ora "^5.4.1" + semver "^7.5.2" + shell-quote "^1.7.3" + sudo-prompt "^9.0.0" + "@react-native-community/cli-types@12.3.0": version "12.3.0" resolved "https://registry.yarnpkg.com/@react-native-community/cli-types/-/cli-types-12.3.0.tgz#2d21a1f93aefbdb34a04311d68097aef0388704f" @@ -2460,6 +2580,13 @@ dependencies: joi "^17.2.1" +"@react-native-community/cli-types@12.3.6": + version "12.3.6" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-types/-/cli-types-12.3.6.tgz#239de348800fe1ffba3eb1fe0edbeb9306981e57" + integrity sha512-xPqTgcUtZowQ8WKOkI9TLGBwH2bGggOC4d2FFaIRST3gTcjrEeGRNeR5aXCzJFIgItIft8sd7p2oKEdy90+01Q== + dependencies: + joi "^17.2.1" + "@react-native-community/cli@12.3.0": version "12.3.0" resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-12.3.0.tgz#c89aacc3973943bf24002255d7d0859b511d88a1" @@ -2484,6 +2611,38 @@ prompts "^2.4.2" semver "^7.5.2" +"@react-native-community/cli@12.3.6": + version "12.3.6" + resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-12.3.6.tgz#7a323b78725b959bb8a31cca1145918263ff3c8d" + integrity sha512-647OSi6xBb8FbwFqX9zsJxOzu685AWtrOUWHfOkbKD+5LOpGORw+GQo0F9rWZnB68rLQyfKUZWJeaD00pGv5fw== + dependencies: + "@react-native-community/cli-clean" "12.3.6" + "@react-native-community/cli-config" "12.3.6" + "@react-native-community/cli-debugger-ui" "12.3.6" + "@react-native-community/cli-doctor" "12.3.6" + "@react-native-community/cli-hermes" "12.3.6" + "@react-native-community/cli-plugin-metro" "12.3.6" + "@react-native-community/cli-server-api" "12.3.6" + "@react-native-community/cli-tools" "12.3.6" + "@react-native-community/cli-types" "12.3.6" + chalk "^4.1.2" + commander "^9.4.1" + deepmerge "^4.3.0" + execa "^5.0.0" + find-up "^4.1.0" + fs-extra "^8.1.0" + graceful-fs "^4.1.3" + prompts "^2.4.2" + semver "^7.5.2" + +"@react-native-mac/virtualized-lists@^0.73.3": + version "0.73.3" + resolved "https://registry.yarnpkg.com/@react-native-mac/virtualized-lists/-/virtualized-lists-0.73.3.tgz#90e74e0fcb00f2e0a2f24baf7737b8a18368e00d" + integrity sha512-7UcvjGYLIU0s2FzVLUPxHYo68tqtZV6x0AH8B0Hf9mkkpENGdRIKD7wDv0kjb/GkVn+qk94u3u0kQyMNRY9UkQ== + dependencies: + invariant "^2.2.4" + nullthrows "^1.1.1" + "@react-native/assets-registry@0.73.1": version "0.73.1" resolved "https://registry.yarnpkg.com/@react-native/assets-registry/-/assets-registry-0.73.1.tgz#e2a6b73b16c183a270f338dc69c36039b3946e85" @@ -2503,6 +2662,13 @@ dependencies: "@react-native/codegen" "0.73.2" +"@react-native/babel-plugin-codegen@0.73.4": + version "0.73.4" + resolved "https://registry.yarnpkg.com/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.73.4.tgz#8a2037d5585b41877611498ae66adbf1dddfec1b" + integrity sha512-XzRd8MJGo4Zc5KsphDHBYJzS1ryOHg8I2gOZDAUCGcwLFhdyGu1zBNDJYH2GFyDrInn9TzAbRIf3d4O+eltXQQ== + dependencies: + "@react-native/codegen" "0.73.3" + "@react-native/babel-preset@*": version "0.74.0" resolved "https://registry.yarnpkg.com/@react-native/babel-preset/-/babel-preset-0.74.0.tgz#1d933f7737549a6c54f8c808c3ccb452be5f7cbb" @@ -2599,6 +2765,54 @@ babel-plugin-transform-flow-enums "^0.0.2" react-refresh "^0.14.0" +"@react-native/babel-preset@0.73.21": + version "0.73.21" + resolved "https://registry.yarnpkg.com/@react-native/babel-preset/-/babel-preset-0.73.21.tgz#174c16493fa4e311b2f5f0c58d4f3c6a5a68bbea" + integrity sha512-WlFttNnySKQMeujN09fRmrdWqh46QyJluM5jdtDNrkl/2Hx6N4XeDUGhABvConeK95OidVO7sFFf7sNebVXogA== + dependencies: + "@babel/core" "^7.20.0" + "@babel/plugin-proposal-async-generator-functions" "^7.0.0" + "@babel/plugin-proposal-class-properties" "^7.18.0" + "@babel/plugin-proposal-export-default-from" "^7.0.0" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.18.0" + "@babel/plugin-proposal-numeric-separator" "^7.0.0" + "@babel/plugin-proposal-object-rest-spread" "^7.20.0" + "@babel/plugin-proposal-optional-catch-binding" "^7.0.0" + "@babel/plugin-proposal-optional-chaining" "^7.20.0" + "@babel/plugin-syntax-dynamic-import" "^7.8.0" + "@babel/plugin-syntax-export-default-from" "^7.0.0" + "@babel/plugin-syntax-flow" "^7.18.0" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.0.0" + "@babel/plugin-syntax-optional-chaining" "^7.0.0" + "@babel/plugin-transform-arrow-functions" "^7.0.0" + "@babel/plugin-transform-async-to-generator" "^7.20.0" + "@babel/plugin-transform-block-scoping" "^7.0.0" + "@babel/plugin-transform-classes" "^7.0.0" + "@babel/plugin-transform-computed-properties" "^7.0.0" + "@babel/plugin-transform-destructuring" "^7.20.0" + "@babel/plugin-transform-flow-strip-types" "^7.20.0" + "@babel/plugin-transform-function-name" "^7.0.0" + "@babel/plugin-transform-literals" "^7.0.0" + "@babel/plugin-transform-modules-commonjs" "^7.0.0" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.0.0" + "@babel/plugin-transform-parameters" "^7.0.0" + "@babel/plugin-transform-private-methods" "^7.22.5" + "@babel/plugin-transform-private-property-in-object" "^7.22.11" + "@babel/plugin-transform-react-display-name" "^7.0.0" + "@babel/plugin-transform-react-jsx" "^7.0.0" + "@babel/plugin-transform-react-jsx-self" "^7.0.0" + "@babel/plugin-transform-react-jsx-source" "^7.0.0" + "@babel/plugin-transform-runtime" "^7.0.0" + "@babel/plugin-transform-shorthand-properties" "^7.0.0" + "@babel/plugin-transform-spread" "^7.0.0" + "@babel/plugin-transform-sticky-regex" "^7.0.0" + "@babel/plugin-transform-typescript" "^7.5.0" + "@babel/plugin-transform-unicode-regex" "^7.0.0" + "@babel/template" "^7.0.0" + "@react-native/babel-plugin-codegen" "0.73.4" + babel-plugin-transform-flow-enums "^0.0.2" + react-refresh "^0.14.0" + "@react-native/babel-preset@^0.73.18": version "0.73.18" resolved "https://registry.yarnpkg.com/@react-native/babel-preset/-/babel-preset-0.73.18.tgz#0ff24ba35102d9ac071de8ab10706ccaee5e3e6f" @@ -2670,6 +2884,19 @@ mkdirp "^0.5.1" nullthrows "^1.1.1" +"@react-native/codegen@0.73.3": + version "0.73.3" + resolved "https://registry.yarnpkg.com/@react-native/codegen/-/codegen-0.73.3.tgz#cc984a8b17334d986cc600254a0d4b7fa7d68a94" + integrity sha512-sxslCAAb8kM06vGy9Jyh4TtvjhcP36k/rvj2QE2Jdhdm61KvfafCATSIsOfc0QvnduWFcpXUPvAVyYwuv7PYDg== + dependencies: + "@babel/parser" "^7.20.0" + flow-parser "^0.206.0" + glob "^7.1.1" + invariant "^2.2.4" + jscodeshift "^0.14.0" + mkdirp "^0.5.1" + nullthrows "^1.1.1" + "@react-native/community-cli-plugin@0.73.12": version "0.73.12" resolved "https://registry.yarnpkg.com/@react-native/community-cli-plugin/-/community-cli-plugin-0.73.12.tgz#3a72a8cbae839a0382d1a194a7067d4ffa0da04c" @@ -2687,6 +2914,23 @@ node-fetch "^2.2.0" readline "^1.3.0" +"@react-native/community-cli-plugin@0.73.17": + version "0.73.17" + resolved "https://registry.yarnpkg.com/@react-native/community-cli-plugin/-/community-cli-plugin-0.73.17.tgz#37b381a8b503a3296eaa6727e0c52ea8835add28" + integrity sha512-F3PXZkcHg+1ARIr6FRQCQiB7ZAA+MQXGmq051metRscoLvgYJwj7dgC8pvgy0kexzUkHu5BNKrZeySzUft3xuQ== + dependencies: + "@react-native-community/cli-server-api" "12.3.6" + "@react-native-community/cli-tools" "12.3.6" + "@react-native/dev-middleware" "0.73.8" + "@react-native/metro-babel-transformer" "0.73.15" + chalk "^4.0.0" + execa "^5.1.1" + metro "^0.80.3" + metro-config "^0.80.3" + metro-core "^0.80.3" + node-fetch "^2.2.0" + readline "^1.3.0" + "@react-native/debugger-frontend@0.73.3": version "0.73.3" resolved "https://registry.yarnpkg.com/@react-native/debugger-frontend/-/debugger-frontend-0.73.3.tgz#033757614d2ada994c68a1deae78c1dd2ad33c2b" @@ -2708,6 +2952,23 @@ serve-static "^1.13.1" temp-dir "^2.0.0" +"@react-native/dev-middleware@0.73.8": + version "0.73.8" + resolved "https://registry.yarnpkg.com/@react-native/dev-middleware/-/dev-middleware-0.73.8.tgz#2e43722a00c7b8db753f747f40267cbad6caba4d" + integrity sha512-oph4NamCIxkMfUL/fYtSsE+JbGOnrlawfQ0kKtDQ5xbOjPKotKoXqrs1eGwozNKv7FfQ393stk1by9a6DyASSg== + dependencies: + "@isaacs/ttlcache" "^1.4.1" + "@react-native/debugger-frontend" "0.73.3" + chrome-launcher "^0.15.2" + chromium-edge-launcher "^1.0.0" + connect "^3.6.5" + debug "^2.2.0" + node-fetch "^2.2.0" + open "^7.0.3" + serve-static "^1.13.1" + temp-dir "^2.0.0" + ws "^6.2.2" + "@react-native/eslint-config@^0.73.1": version "0.73.1" resolved "https://registry.yarnpkg.com/@react-native/eslint-config/-/eslint-config-0.73.1.tgz#2e75669260f324794a12e12e7064dd7fe613009b" @@ -2752,6 +3013,16 @@ hermes-parser "0.15.0" nullthrows "^1.1.1" +"@react-native/metro-babel-transformer@0.73.15": + version "0.73.15" + resolved "https://registry.yarnpkg.com/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.73.15.tgz#c516584dde62d65a46668074084359c03e6a50f1" + integrity sha512-LlkSGaXCz+xdxc9819plmpsl4P4gZndoFtpjN3GMBIu6f7TBV0GVbyJAU4GE8fuAWPVSVL5ArOcdkWKSbI1klw== + dependencies: + "@babel/core" "^7.20.0" + "@react-native/babel-preset" "0.73.21" + hermes-parser "0.15.0" + nullthrows "^1.1.1" + "@react-native/metro-babel-transformer@^0.73.12": version "0.73.12" resolved "https://registry.yarnpkg.com/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.73.12.tgz#6b9c391285a4e376ea4c7bc42667bed015fdeb7c" @@ -7255,6 +7526,50 @@ react-native-gesture-handler@^2.14.0: lodash "^4.17.21" prop-types "^15.7.2" +react-native-macos@^0.73.0-0: + version "0.73.26" + resolved "https://registry.yarnpkg.com/react-native-macos/-/react-native-macos-0.73.26.tgz#2705ebffb8ff7dbeed02cb939f0bfbdb4b99d78c" + integrity sha512-BgRr00irEPu2SaCryQqrDatRViTqIdwflCHR6STpB9m7K8mqqStGXcLRESL6//3T3KQjmNvFlDVrSaKiPwhDGQ== + dependencies: + "@jest/create-cache-key-function" "^29.6.3" + "@react-native-community/cli" "12.3.6" + "@react-native-community/cli-platform-android" "12.3.6" + "@react-native-community/cli-platform-ios" "12.3.6" + "@react-native-mac/virtualized-lists" "^0.73.3" + "@react-native/assets-registry" "0.73.1" + "@react-native/codegen" "0.73.3" + "@react-native/community-cli-plugin" "0.73.17" + "@react-native/gradle-plugin" "0.73.4" + "@react-native/js-polyfills" "0.73.1" + "@react-native/normalize-colors" "0.73.2" + abort-controller "^3.0.0" + anser "^1.4.9" + ansi-regex "^5.0.0" + base64-js "^1.5.1" + chalk "^4.0.0" + deprecated-react-native-prop-types "^5.0.0" + event-target-shim "^5.0.1" + flow-enums-runtime "^0.0.6" + invariant "^2.2.4" + jest-environment-node "^29.6.3" + jsc-android "^250231.0.0" + memoize-one "^5.0.0" + metro-runtime "^0.80.3" + metro-source-map "^0.80.3" + mkdirp "^0.5.1" + nullthrows "^1.1.1" + pretty-format "^26.5.2" + promise "^8.3.0" + react-devtools-core "^4.27.7" + react-refresh "^0.14.0" + react-shallow-renderer "^16.15.0" + regenerator-runtime "^0.13.2" + scheduler "0.24.0-canary-efb381bbf-20230505" + stacktrace-parser "^0.1.10" + whatwg-fetch "^3.0.0" + ws "^6.2.2" + yargs "^17.6.2" + react-native-safe-area-context@4.8.0: version "4.8.0" resolved "https://registry.yarnpkg.com/react-native-safe-area-context/-/react-native-safe-area-context-4.8.0.tgz#9fce29095b11deeead8da0abce32ee729fb3eb41"