diff --git a/.circleci/config.yml b/.circleci/config.yml index efca5acab..aa906f25f 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -154,6 +154,22 @@ commands: - run: name: Post comment on GitHub command: ./scripts/notify-github.sh "<< parameters.data >>" + build_and_pack_sdk: + parameters: + working_directory: + type: string + default: ~/project + steps: + - install_node_modules + - run: + command: yarn build + working_directory: ~/project + - run: + command: yarn pack --filename InstabugSDK.tgz + working_directory: ~/project + - run: + command: yarn add file:../../InstabugSDK.tgz + working_directory: <> jobs: danger: @@ -295,7 +311,7 @@ jobs: -scheme InstabugExample \ -resultBundlePath coverage/result.xcresult \ -sdk iphonesimulator \ - -destination 'platform=iOS Simulator,name=iPhone 13 Pro Max,OS=15.5' \ + -destination "platform=iOS Simulator,OS=15.5,name=iPhone 11 Pro Max" \ test | xcpretty - when: condition: << parameters.collect_coverage >> @@ -487,6 +503,50 @@ jobs: replace: $SNAPSHOT_VERSION - notify_github: data: "$(jq -Rcs '{ body: . }' scripts/snapshot-comment.md)" + build_check_android: + parameters: + working_directory: + type: string + executor: + name: android/android-machine + tag: '2024.01.1' + steps: + - advanced-checkout/shallow-checkout + - build_and_pack_sdk: + working_directory: << parameters.working_directory >> + - run: + name: Build Android + working_directory: <>/android + command: ./gradlew assembleRelease + + build_check_ios: + parameters: + working_directory: + type: string + scheme: + type: string + workspace_path: + type: string + macos: + xcode: 13.4.1 + resource_class: macos.m1.medium.gen1 + steps: + - advanced-checkout/shallow-checkout + - build_and_pack_sdk: + working_directory: << parameters.working_directory >> + - install_pods: + working_directory: <>/ios + - run: + name: Build iOS + working_directory: <>/ios + command: | + yarn react-native bundle --platform ios --dev false --entry-file index.js --bundle-output ios/main.jsbundle --assets-dest ios + rm -rf ~/Library/Developer/Xcode/DerivedData/* + xcodebuild -workspace <>.xcworkspace \ + -scheme <> \ + -configuration Release \ + -sdk iphonesimulator \ + -destination "platform=iOS Simulator,OS=15.5,name=iPhone 11 Pro Max" workflows: publish: @@ -607,9 +667,37 @@ workflows: filters: branches: only: dream11 + - hold_build_check: + type: approval + - build_check_android: + name: build_check_android_default + working_directory: ~/project/examples/default + requires: + - hold_build_check + - build_check_ios: + name: build_check_ios_default + working_directory: ~/project/examples/default + scheme: InstabugExample + workspace_path: InstabugExample + requires: + - hold_build_check + - build_check_android: + name: build_check_android_hybrid + working_directory: ~/project/examples/hybrid + requires: + - hold_build_check + - build_check_ios: + name: build_check_ios_hybrid + working_directory: ~/project/examples/hybrid + scheme: HybridSampleApp + workspace_path: HybridSampleApp + requires: + - hold_build_check - release_custom_package: name: release_dream11 requires: + - build_check_android_hybrid + - build_check_ios_hybrid - hold_release_dream11 filters: branches: diff --git a/examples/hybrid/ios/HybridSampleApp.xcodeproj/project.pbxproj b/examples/hybrid/ios/HybridSampleApp.xcodeproj/project.pbxproj index 8fda67132..c94af611e 100644 --- a/examples/hybrid/ios/HybridSampleApp.xcodeproj/project.pbxproj +++ b/examples/hybrid/ios/HybridSampleApp.xcodeproj/project.pbxproj @@ -7,18 +7,18 @@ objects = { /* Begin PBXBuildFile section */ + 0C21903C2CD3E63C00D7A037 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 0CFE4DD12CC818D30003EEA7 /* Main.storyboard */; }; + 0C3BA7932CD3D7380012085A /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 0CFE4DD62CC818D40003EEA7 /* LaunchScreen.storyboard */; }; 0CFE4DCA2CC818D30003EEA7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 0CFE4DC92CC818D30003EEA7 /* AppDelegate.m */; }; 0CFE4DCD2CC818D30003EEA7 /* SceneDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 0CFE4DCC2CC818D30003EEA7 /* SceneDelegate.m */; }; 0CFE4DD02CC818D30003EEA7 /* MainViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0CFE4DCF2CC818D30003EEA7 /* MainViewController.m */; }; - 0CFE4DD32CC818D30003EEA7 /* Base in Resources */ = {isa = PBXBuildFile; fileRef = 0CFE4DD22CC818D30003EEA7 /* Base */; }; 0CFE4DD52CC818D40003EEA7 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 0CFE4DD42CC818D40003EEA7 /* Assets.xcassets */; }; - 0CFE4DD82CC818D40003EEA7 /* Base in Resources */ = {isa = PBXBuildFile; fileRef = 0CFE4DD72CC818D40003EEA7 /* Base */; }; 0CFE4DDB2CC818D40003EEA7 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 0CFE4DDA2CC818D40003EEA7 /* main.m */; }; 0CFE4DE52CC818D50003EEA7 /* HybridSampleAppTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 0CFE4DE42CC818D50003EEA7 /* HybridSampleAppTests.m */; }; 0CFE4DEF2CC818D50003EEA7 /* HybridSampleAppUITests.m in Sources */ = {isa = PBXBuildFile; fileRef = 0CFE4DEE2CC818D50003EEA7 /* HybridSampleAppUITests.m */; }; 0CFE4DF12CC818D50003EEA7 /* HybridSampleAppUITestsLaunchTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 0CFE4DF02CC818D50003EEA7 /* HybridSampleAppUITestsLaunchTests.m */; }; 0CFE4DFE2CC81A4D0003EEA7 /* Instabug.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0CFE4DFD2CC81A4D0003EEA7 /* Instabug.xcframework */; }; - 7552011623DF6FA7BAA9396D /* libPods-HybridSampleApp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 191F7CF905384E260945F1BC /* libPods-HybridSampleApp.a */; }; + 24F1A11806F4547221CF6E11 /* libPods-HybridSampleApp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3D0458663D7BAABBABDB0B9C /* libPods-HybridSampleApp.a */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -57,9 +57,9 @@ 0CFE4DEE2CC818D50003EEA7 /* HybridSampleAppUITests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HybridSampleAppUITests.m; sourceTree = ""; }; 0CFE4DF02CC818D50003EEA7 /* HybridSampleAppUITestsLaunchTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HybridSampleAppUITestsLaunchTests.m; sourceTree = ""; }; 0CFE4DFD2CC81A4D0003EEA7 /* Instabug.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = Instabug.xcframework; path = Pods/Instabug/Instabug.xcframework; sourceTree = ""; }; - 191F7CF905384E260945F1BC /* libPods-HybridSampleApp.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-HybridSampleApp.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - CDAF6F0831B59FBF78EF5CD3 /* Pods-HybridSampleApp.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-HybridSampleApp.release.xcconfig"; path = "Target Support Files/Pods-HybridSampleApp/Pods-HybridSampleApp.release.xcconfig"; sourceTree = ""; }; - DD8BC6C32D0FF637C576BA5F /* Pods-HybridSampleApp.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-HybridSampleApp.debug.xcconfig"; path = "Target Support Files/Pods-HybridSampleApp/Pods-HybridSampleApp.debug.xcconfig"; sourceTree = ""; }; + 3D0458663D7BAABBABDB0B9C /* libPods-HybridSampleApp.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-HybridSampleApp.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 614400A952B784B947664B2C /* Pods-HybridSampleApp.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-HybridSampleApp.release.xcconfig"; path = "Target Support Files/Pods-HybridSampleApp/Pods-HybridSampleApp.release.xcconfig"; sourceTree = ""; }; + A376FD618DE05CFA57EA4D4F /* Pods-HybridSampleApp.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-HybridSampleApp.debug.xcconfig"; path = "Target Support Files/Pods-HybridSampleApp/Pods-HybridSampleApp.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -68,7 +68,7 @@ buildActionMask = 2147483647; files = ( 0CFE4DFE2CC81A4D0003EEA7 /* Instabug.xcframework in Frameworks */, - 7552011623DF6FA7BAA9396D /* libPods-HybridSampleApp.a in Frameworks */, + 24F1A11806F4547221CF6E11 /* libPods-HybridSampleApp.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -149,8 +149,8 @@ 2DDC8407773CA2FAF348AF0C /* Pods */ = { isa = PBXGroup; children = ( - DD8BC6C32D0FF637C576BA5F /* Pods-HybridSampleApp.debug.xcconfig */, - CDAF6F0831B59FBF78EF5CD3 /* Pods-HybridSampleApp.release.xcconfig */, + A376FD618DE05CFA57EA4D4F /* Pods-HybridSampleApp.debug.xcconfig */, + 614400A952B784B947664B2C /* Pods-HybridSampleApp.release.xcconfig */, ); path = Pods; sourceTree = ""; @@ -159,7 +159,7 @@ isa = PBXGroup; children = ( 0CFE4DFD2CC81A4D0003EEA7 /* Instabug.xcframework */, - 191F7CF905384E260945F1BC /* libPods-HybridSampleApp.a */, + 3D0458663D7BAABBABDB0B9C /* libPods-HybridSampleApp.a */, ); name = Frameworks; sourceTree = ""; @@ -171,13 +171,15 @@ isa = PBXNativeTarget; buildConfigurationList = 0CFE4DF42CC818D50003EEA7 /* Build configuration list for PBXNativeTarget "HybridSampleApp" */; buildPhases = ( - E7BE9A3A8F017BA7CFE4AE55 /* [CP] Check Pods Manifest.lock */, + 116131B8C7E8ADAF5F06F762 /* [CP] Check Pods Manifest.lock */, 0CFE4DC12CC818D30003EEA7 /* Sources */, 0CFE4DC22CC818D30003EEA7 /* Frameworks */, 0CFE4DC32CC818D30003EEA7 /* Resources */, - ED32AADC33B0BCC494C5A17C /* [CP] Embed Pods Frameworks */, - 2066411646711027106388D1 /* [CP] Copy Pods Resources */, - 184F1656F78FFBA87258D53F /* [CP-User] [instabug-reactnative] Upload Sourcemap */, + 0C3BA78F2CD3CC490012085A /* start */, + 0C3BA7902CD3CD1D0012085A /* Bundle React Native code and images */, + 6AFC5A8980050AE9A1A4C771 /* [CP] Embed Pods Frameworks */, + F5FBFBB7F9F6C87245724652 /* [CP] Copy Pods Resources */, + 9724AB1457B47B9CCA29CF6E /* [CP-User] [instabug-reactnative] Upload Sourcemap */, ); buildRules = ( ); @@ -271,9 +273,9 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 0C21903C2CD3E63C00D7A037 /* Main.storyboard in Resources */, + 0C3BA7932CD3D7380012085A /* LaunchScreen.storyboard in Resources */, 0CFE4DD52CC818D40003EEA7 /* Assets.xcassets in Resources */, - 0CFE4DD82CC818D40003EEA7 /* Base in Resources */, - 0CFE4DD32CC818D30003EEA7 /* Base in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -294,34 +296,46 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 184F1656F78FFBA87258D53F /* [CP-User] [instabug-reactnative] Upload Sourcemap */ = { + 0C3BA78F2CD3CC490012085A /* start */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); - name = "[CP-User] [instabug-reactnative] Upload Sourcemap"; + inputFileListPaths = ( + ); + inputPaths = ( + ); + name = start; + outputFileListPaths = ( + ); + outputPaths = ( + ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "#!/bin/sh\n\nmain() {\n # Read environment variables from ios/.xcode.env if it exists\n env_path=\"$PODS_ROOT/../.xcode.env\"\n if [ -f \"$env_path\" ]; then\n source \"$env_path\"\n fi\n\n # Read environment variables from ios/.xcode.env.local if it exists\n local_env_path=\"${ENV_PATH}.local\"\n if [ -f \"$local_env_path\" ]; then\n source \"$local_env_path\"\n fi\n\n if [[ \"$INSTABUG_SOURCEMAPS_UPLOAD_DISABLE\" = true ]]; then\n echo \"[Info] \\`INSTABUG_SOURCEMAPS_UPLOAD_DISABLE\\` was set to true, skipping sourcemaps upload...\"\n exit 0\n fi\n\n if [[ \"$CONFIGURATION\" = \"Debug\" ]]; then\n echo \"[Info] Building in debug mode, skipping sourcemaps upload...\"\n exit 0\n fi\n\n if [[ -z \"$INFOPLIST_FILE\" ]] || [[ -z \"$PROJECT_DIR\" ]]; then\n echo \"[Error] Instabug sourcemaps script must be invoked by Xcode\"\n exit 0\n fi\n\n local source_map_file=$(generate_sourcemaps | tail -n 1)\n\n local js_project_dir=\"$PROJECT_DIR/..\"\n local instabug_dir=$(dirname $(node -p \"require.resolve('instabug-reactnative/package.json')\"))\n local inferred_token=$(cd $js_project_dir && source $instabug_dir/scripts/find-token.sh)\n local app_token=$(resolve_var \"App Token\" \"INSTABUG_APP_TOKEN\" \"$inferred_token\" | tail -n 1)\n\n local inferred_name=$(/usr/libexec/PlistBuddy -c 'print CFBundleShortVersionString' \"$PROJECT_DIR/$INFOPLIST_FILE\")\n local version_name=$(resolve_var \"Version Name\" \"INSTABUG_APP_VERSION_NAME\" \"$inferred_name\" | tail -n 1)\n\n local inferred_code=$(/usr/libexec/PlistBuddy -c 'print CFBundleVersion' \"$PROJECT_DIR/$INFOPLIST_FILE\")\n local version_code=$(resolve_var \"Version Code\" \"INSTABUG_APP_VERSION_CODE\" \"$inferred_code\" | tail -n 1)\n\n node $instabug_dir/bin/index.js upload-sourcemaps \\\n --platform ios \\\n --file $source_map_file \\\n --token $app_token \\\n --name $version_name \\\n --code $version_code\n}\n\ngenerate_sourcemaps() {\n local react_native_dir=$(dirname $(node -p \"require.resolve('react-native/package.json')\"))\n\n # Fixes an issue with react-native prior to v0.67.0\n # For more info: https://github.com/facebook/react-native/issues/32168\n export RN_DIR=$react_native_dir\n\n # Used withing `react-native-xcode.sh` to generate sourcemap file\n export SOURCEMAP_FILE=\"$(pwd)/main.jsbundle.map\";\n\n source \"$react_native_dir/scripts/react-native-xcode.sh\"\n\n if [[ ! -f \"$SOURCEMAP_FILE\" ]]; then\n echo \"[Error] Unable to find source map file at: $SOURCEMAP_FILE\"\n exit 0\n fi\n\n echo $SOURCEMAP_FILE\n}\n\nresolve_var() {\n local name=$1\n local env_key=$2\n local default_value=$3\n\n local env_value=\"${!env_key}\"\n\n if [[ -n \"$env_value\" ]] && [[ -n \"$default_value\" ]] && [[ \"$env_value\" != default_value ]]; then\n echo \"[Warning] Environment variable \\`$env_key\\` might have incorrect value, make sure this was intentional:\"\n echo \" Environment Value: $env_value\"\n echo \" Default Value: $default_value\"\n fi\n\n local value=\"${env_value:-$default_value}\"\n\n if [[ -z \"$value\" ]]; then\n echo \"[Error] Unable to find $name! Set the environment variable \\`$env_key\\` and try again.\"\n exit 0\n fi\n\n echo $value\n}\n\nmain \"$@\"; exit\n"; + shellScript = "export RCT_METRO_PORT=\"${RCT_METRO_PORT:=8081}\"\necho \"export RCT_METRO_PORT=${RCT_METRO_PORT}\" > \"${SRCROOT}/../node_modules/react-native/scripts/.packager.env\"\nif [ -z \"${RCT_NO_LAUNCH_PACKAGER+xxx}\" ] ; then\n if nc -w 5 -z localhost ${RCT_METRO_PORT} ; then\n if ! curl -s \"http://localhost:${RCT_METRO_PORT}/status\" | grep -q \"packager-status:running\" ; then\n echo \"Port ${RCT_METRO_PORT} already in use, packager is either not running or not running correctly\"\n exit 2\n fi\n else\n open \"$SRCROOT/../node_modules/react-native/scripts/launchPackager.command\" || echo \"Can't start packager automatically\"\n fi\nfi\n"; + showEnvVarsInLog = 0; }; - 2066411646711027106388D1 /* [CP] Copy Pods Resources */ = { + 0C3BA7902CD3CD1D0012085A /* Bundle React Native code and images */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-HybridSampleApp/Pods-HybridSampleApp-resources-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Copy Pods Resources"; + inputPaths = ( + "$(SRCROOT)/.xcode.env.local", + "$(SRCROOT)/.xcode.env", + ); + name = "Bundle React Native code and images"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-HybridSampleApp/Pods-HybridSampleApp-resources-${CONFIGURATION}-output-files.xcfilelist", + ); + outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-HybridSampleApp/Pods-HybridSampleApp-resources.sh\"\n"; - showEnvVarsInLog = 0; + shellScript = "# Type a script or drag a script file from your workspace\nexport NODE_BINARY=node\nexport ENTRY_FILE=\"index.js\"\n\n# This is the path to your project's root, where \"package.json\" lives\nexport PROJECT_ROOT=\"$PROJECT_DIR/..\"\n\nWITH_ENVIRONMENT=\"${PROJECT_ROOT}/node_modules/react-native/scripts/xcode/with-environment.sh\"\nREACT_NATIVE_XCODE=\"${PROJECT_ROOT}/node_modules/react-native/scripts/react-native-xcode.sh\"\n\nif [[ -f \"$WITH_ENVIRONMENT\" ]]; then\n /bin/sh -c \"$WITH_ENVIRONMENT $REACT_NATIVE_XCODE\"\nelse\n echo \"error: File $WITH_ENVIRONMENT does not exist. Are you sure React Native is installed in your project?\"\n exit 1\nfi\n"; }; - E7BE9A3A8F017BA7CFE4AE55 /* [CP] Check Pods Manifest.lock */ = { + 116131B8C7E8ADAF5F06F762 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -343,7 +357,7 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - ED32AADC33B0BCC494C5A17C /* [CP] Embed Pods Frameworks */ = { + 6AFC5A8980050AE9A1A4C771 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -360,6 +374,33 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-HybridSampleApp/Pods-HybridSampleApp-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; + 9724AB1457B47B9CCA29CF6E /* [CP-User] [instabug-reactnative] Upload Sourcemap */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + name = "[CP-User] [instabug-reactnative] Upload Sourcemap"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "#!/bin/sh\n\nmain() {\n # Read environment variables from ios/.xcode.env if it exists\n env_path=\"$PODS_ROOT/../.xcode.env\"\n if [ -f \"$env_path\" ]; then\n source \"$env_path\"\n fi\n\n # Read environment variables from ios/.xcode.env.local if it exists\n local_env_path=\"${ENV_PATH}.local\"\n if [ -f \"$local_env_path\" ]; then\n source \"$local_env_path\"\n fi\n\n if [[ \"$INSTABUG_SOURCEMAPS_UPLOAD_DISABLE\" = true ]]; then\n echo \"[Info] \\`INSTABUG_SOURCEMAPS_UPLOAD_DISABLE\\` was set to true, skipping sourcemaps upload...\"\n exit 0\n fi\n\n if [[ \"$CONFIGURATION\" = \"Debug\" ]]; then\n echo \"[Info] Building in debug mode, skipping sourcemaps upload...\"\n exit 0\n fi\n\n if [[ -z \"$INFOPLIST_FILE\" ]] || [[ -z \"$PROJECT_DIR\" ]]; then\n echo \"[Error] Instabug sourcemaps script must be invoked by Xcode\"\n exit 0\n fi\n\n local source_map_file=$(generate_sourcemaps | tail -n 1)\n\n local js_project_dir=\"$PROJECT_DIR/..\"\n local instabug_dir=$(dirname $(node -p \"require.resolve('instabug-reactnative/package.json')\"))\n local inferred_token=$(cd $js_project_dir && source $instabug_dir/scripts/find-token.sh)\n local app_token=$(resolve_var \"App Token\" \"INSTABUG_APP_TOKEN\" \"$inferred_token\" | tail -n 1)\n\n local inferred_name=$(/usr/libexec/PlistBuddy -c 'print CFBundleShortVersionString' \"$PROJECT_DIR/$INFOPLIST_FILE\")\n local version_name=$(resolve_var \"Version Name\" \"INSTABUG_APP_VERSION_NAME\" \"$inferred_name\" | tail -n 1)\n\n local inferred_code=$(/usr/libexec/PlistBuddy -c 'print CFBundleVersion' \"$PROJECT_DIR/$INFOPLIST_FILE\")\n local version_code=$(resolve_var \"Version Code\" \"INSTABUG_APP_VERSION_CODE\" \"$inferred_code\" | tail -n 1)\n\n node $instabug_dir/bin/index.js upload-sourcemaps \\\n --platform ios \\\n --file $source_map_file \\\n --token $app_token \\\n --name $version_name \\\n --code $version_code\n}\n\ngenerate_sourcemaps() {\n local react_native_dir=$(dirname $(node -p \"require.resolve('react-native/package.json')\"))\n\n # Fixes an issue with react-native prior to v0.67.0\n # For more info: https://github.com/facebook/react-native/issues/32168\n export RN_DIR=$react_native_dir\n\n # Used withing `react-native-xcode.sh` to generate sourcemap file\n export SOURCEMAP_FILE=\"$(pwd)/main.jsbundle.map\";\n\n source \"$react_native_dir/scripts/react-native-xcode.sh\"\n\n if [[ ! -f \"$SOURCEMAP_FILE\" ]]; then\n echo \"[Error] Unable to find source map file at: $SOURCEMAP_FILE\"\n exit 0\n fi\n\n echo $SOURCEMAP_FILE\n}\n\nresolve_var() {\n local name=$1\n local env_key=$2\n local default_value=$3\n\n local env_value=\"${!env_key}\"\n\n if [[ -n \"$env_value\" ]] && [[ -n \"$default_value\" ]] && [[ \"$env_value\" != default_value ]]; then\n echo \"[Warning] Environment variable \\`$env_key\\` might have incorrect value, make sure this was intentional:\"\n echo \" Environment Value: $env_value\"\n echo \" Default Value: $default_value\"\n fi\n\n local value=\"${env_value:-$default_value}\"\n\n if [[ -z \"$value\" ]]; then\n echo \"[Error] Unable to find $name! Set the environment variable \\`$env_key\\` and try again.\"\n exit 0\n fi\n\n echo $value\n}\n\nmain \"$@\"; exit\n"; + }; + F5FBFBB7F9F6C87245724652 /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-HybridSampleApp/Pods-HybridSampleApp-resources-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Copy Pods Resources"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-HybridSampleApp/Pods-HybridSampleApp-resources-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-HybridSampleApp/Pods-HybridSampleApp-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -464,7 +505,7 @@ ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; ENABLE_USER_SCRIPT_SANDBOXING = YES; - "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = ""; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = i386; GCC_C_LANGUAGE_STANDARD = gnu17; GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; @@ -529,7 +570,7 @@ ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_USER_SCRIPT_SANDBOXING = YES; - "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = ""; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = i386; GCC_C_LANGUAGE_STANDARD = gnu17; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; @@ -552,10 +593,11 @@ }; 0CFE4DF52CC818D50003EEA7 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = DD8BC6C32D0FF637C576BA5F /* Pods-HybridSampleApp.debug.xcconfig */; + baseConfigurationReference = A376FD618DE05CFA57EA4D4F /* Pods-HybridSampleApp.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + "BUNDLE_LOADER[arch=*]" = ""; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; ENABLE_USER_SCRIPT_SANDBOXING = NO; @@ -566,6 +608,7 @@ INFOPLIST_KEY_UIMainStoryboardFile = Main; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + IPHONEOS_DEPLOYMENT_TARGET = 15.5; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -580,11 +623,12 @@ }; 0CFE4DF62CC818D50003EEA7 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = CDAF6F0831B59FBF78EF5CD3 /* Pods-HybridSampleApp.release.xcconfig */; + baseConfigurationReference = 614400A952B784B947664B2C /* Pods-HybridSampleApp.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CODE_SIGN_STYLE = Automatic; + COPY_PHASE_STRIP = YES; CURRENT_PROJECT_VERSION = 1; ENABLE_USER_SCRIPT_SANDBOXING = NO; GENERATE_INFOPLIST_FILE = YES; @@ -594,6 +638,7 @@ INFOPLIST_KEY_UIMainStoryboardFile = Main; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + IPHONEOS_DEPLOYMENT_TARGET = 15.5; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", diff --git a/examples/hybrid/ios/HybridSampleApp.xcodeproj/xcshareddata/xcschemes/HybridSampleApp.xcscheme b/examples/hybrid/ios/HybridSampleApp.xcodeproj/xcshareddata/xcschemes/HybridSampleApp.xcscheme index 1d4267504..08fcfd690 100644 --- a/examples/hybrid/ios/HybridSampleApp.xcodeproj/xcshareddata/xcschemes/HybridSampleApp.xcscheme +++ b/examples/hybrid/ios/HybridSampleApp.xcodeproj/xcshareddata/xcschemes/HybridSampleApp.xcscheme @@ -55,7 +55,7 @@ @interface AppDelegate : UIResponder - +@property (nonatomic, strong) UIWindow *window; // Add this property @end diff --git a/examples/hybrid/ios/HybridSampleApp/MainViewController.m b/examples/hybrid/ios/HybridSampleApp/MainViewController.m index 25f784309..bb98b9f3d 100644 --- a/examples/hybrid/ios/HybridSampleApp/MainViewController.m +++ b/examples/hybrid/ios/HybridSampleApp/MainViewController.m @@ -2,29 +2,39 @@ #import #import #import -@interface MainViewController () - +#import +#import +@interface MainViewController () +@property (nonatomic, strong) RCTBridge *bridge; @end @implementation MainViewController - (void)viewDidLoad { [super viewDidLoad]; - // Do any additional setup after loading the view. + self.bridge = [[RCTBridge alloc] initWithDelegate:self launchOptions:nil]; } -- (IBAction)startReactNative:(UIButton *)sender { - NSURL *jsCodeLocation = [NSURL URLWithString:@"http://localhost:8081/index.bundle?platform=ios"]; - RCTRootView *rootView = - [[RCTRootView alloc] initWithBundleURL: jsCodeLocation - moduleName: @"HybridSampleApp" - initialProperties:nil -launchOptions: nil]; - UIViewController *vc = [[UIViewController alloc] init]; - vc.view = rootView; - [self presentViewController:vc animated:YES completion:nil]; +- (IBAction)startReactNative:(UIButton *)sender { + RCTRootView *rootView = [[RCTRootView alloc] initWithBridge:self.bridge + moduleName:@"HybridSampleApp" + initialProperties:nil]; + + UIViewController *vc = [[UIViewController alloc] init]; + vc.view = rootView; + [self presentViewController:vc animated:YES completion:nil]; } +// This will now be called by the bridge +- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge +{ + NSLog(@"sourceURLForBridge called!"); // This will now print +#if DEBUG + return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index"]; +#else + return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; +#endif +} - (IBAction)throwHandled:(UIButton *)sender { NSException *exception = [NSException exceptionWithName:@"Objective-C Handled Exception" reason:@"no reason" diff --git a/examples/hybrid/ios/Podfile b/examples/hybrid/ios/Podfile index 4439ed649..9c8bd67e2 100644 --- a/examples/hybrid/ios/Podfile +++ b/examples/hybrid/ios/Podfile @@ -5,20 +5,27 @@ require_relative '../node_modules/@react-native-community/cli-platform-ios/nativ platform :ios, '13.4' prepare_react_native_project! +linkage = ENV['USE_FRAMEWORKS'] +if linkage != nil + Pod::UI.puts "Configuring Pod with #{linkage}ally linked Frameworks".green + use_frameworks! :linkage => linkage.to_sym +end target 'HybridSampleApp' do config = use_native_modules! + # Flags change depending on the env values. + flags = get_default_flags() use_react_native!( :path => config[:reactNativePath], - :hermes_enabled => false, # Hermes is now enabled by default. Disable by setting this flag to false. # Upcoming versions of React Native may rely on get_default_flags(), but # we make it explicit here to aid in the React Native upgrade process. + :hermes_enabled => flags[:hermes_enabled], + :fabric_enabled => flags[:fabric_enabled], # An absolute path to your application root. :app_path => "#{Pod::Config.instance.installation_root}/.." ) - pod 'Instabug', '~> 13.4.2' post_install do |installer| react_native_post_install( diff --git a/examples/hybrid/ios/Podfile.lock b/examples/hybrid/ios/Podfile.lock index 3df1c81db..746e864f3 100644 --- a/examples/hybrid/ios/Podfile.lock +++ b/examples/hybrid/ios/Podfile.lock @@ -11,7 +11,11 @@ PODS: - ReactCommon/turbomodule/core (= 0.72.3) - fmt (6.2.1) - glog (0.3.5) + - hermes-engine (0.72.3): + - hermes-engine/Pre-built (= 0.72.3) + - hermes-engine/Pre-built (0.72.3) - Instabug (13.4.2) + - libevent (2.1.12) - RCT-Folly (2021.07.22.00): - boost - DoubleConversion @@ -23,6 +27,12 @@ PODS: - DoubleConversion - fmt (~> 6.2.1) - glog + - RCT-Folly/Futures (2021.07.22.00): + - boost + - DoubleConversion + - fmt (~> 6.2.1) + - glog + - libevent - RCTRequired (0.72.3) - RCTTypeSafety (0.72.3): - FBLazyVector (= 0.72.3) @@ -46,11 +56,11 @@ PODS: - DoubleConversion - FBReactNativeSpec - glog + - hermes-engine - RCT-Folly - RCTRequired - RCTTypeSafety - React-Core - - React-jsc - React-jsi - React-jsiexecutor - React-NativeModulesApple @@ -59,10 +69,11 @@ PODS: - ReactCommon/turbomodule/core - React-Core (0.72.3): - glog + - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-Core/Default (= 0.72.3) - React-cxxreact - - React-jsc + - React-hermes - React-jsi - React-jsiexecutor - React-perflogger @@ -72,10 +83,11 @@ PODS: - Yoga - React-Core/CoreModulesHeaders (0.72.3): - glog + - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-Core/Default - React-cxxreact - - React-jsc + - React-hermes - React-jsi - React-jsiexecutor - React-perflogger @@ -85,9 +97,10 @@ PODS: - Yoga - React-Core/Default (0.72.3): - glog + - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-cxxreact - - React-jsc + - React-hermes - React-jsi - React-jsiexecutor - React-perflogger @@ -97,11 +110,12 @@ PODS: - Yoga - React-Core/DevSupport (0.72.3): - glog + - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-Core/Default (= 0.72.3) - React-Core/RCTWebSocket (= 0.72.3) - React-cxxreact - - React-jsc + - React-hermes - React-jsi - React-jsiexecutor - React-jsinspector (= 0.72.3) @@ -112,10 +126,11 @@ PODS: - Yoga - React-Core/RCTActionSheetHeaders (0.72.3): - glog + - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-Core/Default - React-cxxreact - - React-jsc + - React-hermes - React-jsi - React-jsiexecutor - React-perflogger @@ -125,10 +140,11 @@ PODS: - Yoga - React-Core/RCTAnimationHeaders (0.72.3): - glog + - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-Core/Default - React-cxxreact - - React-jsc + - React-hermes - React-jsi - React-jsiexecutor - React-perflogger @@ -138,10 +154,11 @@ PODS: - Yoga - React-Core/RCTBlobHeaders (0.72.3): - glog + - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-Core/Default - React-cxxreact - - React-jsc + - React-hermes - React-jsi - React-jsiexecutor - React-perflogger @@ -151,10 +168,11 @@ PODS: - Yoga - React-Core/RCTImageHeaders (0.72.3): - glog + - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-Core/Default - React-cxxreact - - React-jsc + - React-hermes - React-jsi - React-jsiexecutor - React-perflogger @@ -164,10 +182,11 @@ PODS: - Yoga - React-Core/RCTLinkingHeaders (0.72.3): - glog + - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-Core/Default - React-cxxreact - - React-jsc + - React-hermes - React-jsi - React-jsiexecutor - React-perflogger @@ -177,10 +196,11 @@ PODS: - Yoga - React-Core/RCTNetworkHeaders (0.72.3): - glog + - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-Core/Default - React-cxxreact - - React-jsc + - React-hermes - React-jsi - React-jsiexecutor - React-perflogger @@ -190,10 +210,11 @@ PODS: - Yoga - React-Core/RCTSettingsHeaders (0.72.3): - glog + - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-Core/Default - React-cxxreact - - React-jsc + - React-hermes - React-jsi - React-jsiexecutor - React-perflogger @@ -203,10 +224,11 @@ PODS: - Yoga - React-Core/RCTTextHeaders (0.72.3): - glog + - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-Core/Default - React-cxxreact - - React-jsc + - React-hermes - React-jsi - React-jsiexecutor - React-perflogger @@ -216,10 +238,11 @@ PODS: - Yoga - React-Core/RCTVibrationHeaders (0.72.3): - glog + - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-Core/Default - React-cxxreact - - React-jsc + - React-hermes - React-jsi - React-jsiexecutor - React-perflogger @@ -229,10 +252,11 @@ PODS: - Yoga - React-Core/RCTWebSocket (0.72.3): - glog + - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-Core/Default (= 0.72.3) - React-cxxreact - - React-jsc + - React-hermes - React-jsi - React-jsiexecutor - React-perflogger @@ -254,6 +278,7 @@ PODS: - boost (= 1.76.0) - DoubleConversion - glog + - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-callinvoker (= 0.72.3) - React-debug (= 0.72.3) @@ -263,19 +288,27 @@ PODS: - React-perflogger (= 0.72.3) - React-runtimeexecutor (= 0.72.3) - React-debug (0.72.3) - - React-jsc (0.72.3): - - React-jsc/Fabric (= 0.72.3) - - React-jsi (= 0.72.3) - - React-jsc/Fabric (0.72.3): - - React-jsi (= 0.72.3) + - React-hermes (0.72.3): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - RCT-Folly/Futures (= 2021.07.22.00) + - React-cxxreact (= 0.72.3) + - React-jsi + - React-jsiexecutor (= 0.72.3) + - React-jsinspector (= 0.72.3) + - React-perflogger (= 0.72.3) - React-jsi (0.72.3): - boost (= 1.76.0) - DoubleConversion - glog + - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-jsiexecutor (0.72.3): - DoubleConversion - glog + - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-cxxreact (= 0.72.3) - React-jsi (= 0.72.3) @@ -284,6 +317,7 @@ PODS: - React-logger (0.72.3): - glog - React-NativeModulesApple (0.72.3): + - hermes-engine - React-callinvoker - React-Core - React-cxxreact @@ -307,13 +341,14 @@ PODS: - RCTTypeSafety - React-Core - React-CoreModules - - React-jsc + - React-hermes - React-NativeModulesApple - React-RCTImage - React-RCTNetwork - React-runtimescheduler - ReactCommon/turbomodule/core - React-RCTBlob (0.72.3): + - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-Codegen (= 0.72.3) - React-Core/RCTBlobHeaders (= 0.72.3) @@ -361,6 +396,7 @@ PODS: - React-jsi (= 0.72.3) - React-runtimescheduler (0.72.3): - glog + - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-callinvoker - React-debug @@ -373,6 +409,7 @@ PODS: - ReactCommon/turbomodule/bridging (0.72.3): - DoubleConversion - glog + - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-callinvoker (= 0.72.3) - React-cxxreact (= 0.72.3) @@ -382,6 +419,7 @@ PODS: - ReactCommon/turbomodule/core (0.72.3): - DoubleConversion - glog + - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-callinvoker (= 0.72.3) - React-cxxreact (= 0.72.3) @@ -400,7 +438,8 @@ DEPENDENCIES: - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`) - FBReactNativeSpec (from `../node_modules/react-native/React/FBReactNativeSpec`) - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`) - - Instabug (~> 13.4.2) + - hermes-engine (from `../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec`) + - libevent (~> 2.1.12) - RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) - RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`) - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`) @@ -412,7 +451,7 @@ DEPENDENCIES: - React-CoreModules (from `../node_modules/react-native/React/CoreModules`) - React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`) - React-debug (from `../node_modules/react-native/ReactCommon/react/debug`) - - React-jsc (from `../node_modules/react-native/ReactCommon/jsc`) + - React-hermes (from `../node_modules/react-native/ReactCommon/hermes`) - React-jsi (from `../node_modules/react-native/ReactCommon/jsi`) - React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`) - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector`) @@ -441,6 +480,7 @@ SPEC REPOS: trunk: - fmt - Instabug + - libevent - SocketRocket EXTERNAL SOURCES: @@ -454,6 +494,9 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/React/FBReactNativeSpec" glog: :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec" + hermes-engine: + :podspec: "../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec" + :tag: hermes-2023-03-20-RNv0.72.0-49794cfc7c81fb8f69fd60c3bbf85a7480cc5a77 RCT-Folly: :podspec: "../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec" RCTRequired: @@ -474,8 +517,8 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/ReactCommon/cxxreact" React-debug: :path: "../node_modules/react-native/ReactCommon/react/debug" - React-jsc: - :path: "../node_modules/react-native/ReactCommon/jsc" + React-hermes: + :path: "../node_modules/react-native/ReactCommon/hermes" React-jsi: :path: "../node_modules/react-native/ReactCommon/jsi" React-jsiexecutor: @@ -530,28 +573,30 @@ SPEC CHECKSUMS: FBReactNativeSpec: c6bd9e179757b3c0ecf815864fae8032377903ef fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9 glog: 04b94705f318337d7ead9e6d17c019bd9b1f6b1b + hermes-engine: 10fbd3f62405c41ea07e71973ea61e1878d07322 Instabug: 7a71890217b97b1e32dbca96661845396b66da2f + libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 RCT-Folly: 424b8c9a7a0b9ab2886ffe9c3b041ef628fd4fb1 RCTRequired: a2faf4bad4e438ca37b2040cb8f7799baa065c18 RCTTypeSafety: cb09f3e4747b6d18331a15eb05271de7441ca0b3 React: 13109005b5353095c052f26af37413340ccf7a5d React-callinvoker: c8c87bce983aa499c13cb06d4447c025a35274d6 - React-Codegen: 264b1022063f27ccccfd38f4ce29cc8217b1e812 - React-Core: 2688f9f07b65379352fe49670458e8e0d683e336 + React-Codegen: 712d523524d89d71f1cf7cc624854941be983c4d + React-Core: 688f88b7f3a3d30b4848036223f8b07102c687e5 React-CoreModules: 63c063a3ade8fb3b1bec5fd9a50f17b0421558c6 - React-cxxreact: 55d0f7cb6b4cc09ba9190797f1da87182d1a2fb6 + React-cxxreact: 37765b4975541105b2a3322a4b473417c158c869 React-debug: 51f11ef8db14b47f24e71c42a4916d4192972156 - React-jsc: 0db8e8cc2074d979c37ffa7b8d7c914833960497 - React-jsi: 58677ff4848ceb6aeb9118fe03448a843ea5e16a - React-jsiexecutor: 2c15ba1bace70177492368d5180b564f165870fd + React-hermes: 935ae71fb3d7654e947beba8498835cd5e479707 + React-jsi: ec628dc7a15ffea969f237b0ea6d2fde212b19dd + React-jsiexecutor: 59d1eb03af7d30b7d66589c410f13151271e8006 React-jsinspector: b511447170f561157547bc0bef3f169663860be7 React-logger: c5b527272d5f22eaa09bb3c3a690fee8f237ae95 - React-NativeModulesApple: bfbb84f3e6a1b919791b57303524de557ba45fef + React-NativeModulesApple: c57f3efe0df288a6532b726ad2d0322a9bf38472 React-perflogger: 6bd153e776e6beed54c56b0847e1220a3ff92ba5 React-RCTActionSheet: c0b62af44e610e69d9a2049a682f5dba4e9dff17 React-RCTAnimation: f9bf9719258926aea9ecb8a2aa2595d3ff9a6022 - React-RCTAppDelegate: 41b778ee7b1f76566fa1b1ebffe9837a01a3a18d - React-RCTBlob: afc0e14539eb7a76a713332340aee21bf23c76b5 + React-RCTAppDelegate: e5ac35d4dbd1fae7df3a62b47db04b6a8d151592 + React-RCTBlob: c4f1e69a6ef739aa42586b876d637dab4e3b5bed React-RCTImage: e5798f01aba248416c02a506cf5e6dfcba827638 React-RCTLinking: f5b6227c879e33206f34e68924c458f57bbb96d9 React-RCTNetwork: d5554fbfac1c618da3c8fa29933108ea22837788 @@ -560,13 +605,13 @@ SPEC CHECKSUMS: React-RCTVibration: 388ac0e1455420895d1ca2548401eed964b038a6 React-rncore: 755a331dd67b74662108f2d66a384454bf8dc1a1 React-runtimeexecutor: 369ae9bb3f83b65201c0c8f7d50b72280b5a1dbc - React-runtimescheduler: af0b24628c1d543a3f87251c9efa29c5a589e08a + React-runtimescheduler: 837c1bebd2f84572db17698cd702ceaf585b0d9a React-utils: bcb57da67eec2711f8b353f6e3d33bd8e4b2efa3 - ReactCommon: d7d63a5b3c3ff29304a58fc8eb3b4f1b077cd789 + ReactCommon: 3ccb8fb14e6b3277e38c73b0ff5e4a1b8db017a9 RNInstabug: 8e7eb1df3f35b935dda661f5bb475f37cef595e6 SocketRocket: f32cd54efbe0f095c4d7594881e52619cfe80b17 Yoga: 8796b55dba14d7004f980b54bcc9833ee45b28ce -PODFILE CHECKSUM: 8525ac134601619ad9f58f4e06a4300c9e7593fa +PODFILE CHECKSUM: 9e86de5165c9a0f2ea9b5a8ad836b6b78b78a086 COCOAPODS: 1.15.2 diff --git a/examples/hybrid/metro.config.js b/examples/hybrid/metro.config.js index 72fcb3cbf..1e26bfda7 100644 --- a/examples/hybrid/metro.config.js +++ b/examples/hybrid/metro.config.js @@ -1,11 +1,32 @@ -const { getDefaultConfig, mergeConfig } = require('@react-native/metro-config'); +const path = require('path'); +const escape = require('escape-string-regexp'); +const { mergeConfig, getDefaultConfig } = require('@react-native/metro-config'); +const exclusionList = require('metro-config/src/defaults/exclusionList'); -/** - * Metro configuration - * https://reactnative.dev/docs/metro - * - * @type {import('metro-config').MetroConfig} - */ -const config = {}; +const root = path.resolve(__dirname, '../..'); +const pkg = require(path.join(root, 'package.json')); +const peerDependencies = Object.keys(pkg.peerDependencies); +const modules = [...peerDependencies, '@babel/runtime']; + +const config = { + watchFolders: [root], + transformer: { + getTransformOptions: async () => ({ + transform: { + experimentalImportSupport: false, + inlineRequires: true, + }, + }), + }, + resolver: { + blacklistRE: exclusionList( + modules.map((m) => new RegExp(`^${escape(path.join(root, 'node_modules', m))}\\/.*$`)), + ), + extraNodeModules: modules.reduce((acc, name) => { + acc[name] = path.join(__dirname, 'node_modules', name); + return acc; + }, {}), + }, +}; module.exports = mergeConfig(getDefaultConfig(__dirname), config); diff --git a/examples/hybrid/package.json b/examples/hybrid/package.json index 8b52a16eb..59567a1db 100644 --- a/examples/hybrid/package.json +++ b/examples/hybrid/package.json @@ -12,7 +12,7 @@ "dependencies": { "@react-native-community/cli": "^14.1.1", "@react-native-community/cli-platform-android": "^14.1.1", - "instabug-reactnative": "^13.4.2", + "instabug-reactnative": "link:../..", "react": "18.2.0", "react-native": "0.72.3" }, diff --git a/examples/hybrid/yarn.lock b/examples/hybrid/yarn.lock index 8f81eac99..026f24527 100644 --- a/examples/hybrid/yarn.lock +++ b/examples/hybrid/yarn.lock @@ -11,18 +11,18 @@ "@jridgewell/trace-mapping" "^0.3.24" "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.25.9", "@babel/code-frame@^7.26.0": - version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.26.0.tgz#9374b5cd068d128dac0b94ff482594273b1c2815" - integrity sha512-INCKxTtbXtcNbUZ3YXutwMpEleqttcswhAdee7dhuoVrD2cnuc3PqtERBtxkX5nziX9vnBL8WXmSGwv8CuPV6g== + version "7.26.2" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.26.2.tgz#4b5fab97d33338eff916235055f0ebc21e573a85" + integrity sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ== dependencies: "@babel/helper-validator-identifier" "^7.25.9" js-tokens "^4.0.0" picocolors "^1.0.0" "@babel/compat-data@^7.20.5", "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.25.9", "@babel/compat-data@^7.26.0": - version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.26.0.tgz#f02ba6d34e88fadd5e8861e8b38902f43cc1c819" - integrity sha512-qETICbZSLe7uXv9VE8T/RWOdIE5qqyTucOt4zLYMafj2MRO271VGgLd4RACJMeBO37UPWhXiKMBk7YlJ0fOzQA== + version "7.26.2" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.26.2.tgz#278b6b13664557de95b8f35b90d96785850bb56e" + integrity sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg== "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.13.16", "@babel/core@^7.20.0", "@babel/core@^7.23.9": version "7.26.0" @@ -46,11 +46,11 @@ semver "^6.3.1" "@babel/generator@^7.20.0", "@babel/generator@^7.25.9", "@babel/generator@^7.26.0", "@babel/generator@^7.7.2": - version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.26.0.tgz#505cc7c90d92513f458a477e5ef0703e7c91b8d7" - integrity sha512-/AIkAmInnWwgEAJGQr9vY0c66Mj6kjkE2ZPB1PurTRaRAh3U+J45sAQMjQDJdh4WbR3l0x5xkimXBKyBXXAu2w== + version "7.26.2" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.26.2.tgz#87b75813bec87916210e5e01939a4c823d6bb74f" + integrity sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw== dependencies: - "@babel/parser" "^7.26.0" + "@babel/parser" "^7.26.2" "@babel/types" "^7.26.0" "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.25" @@ -225,10 +225,10 @@ "@babel/template" "^7.25.9" "@babel/types" "^7.26.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.13.16", "@babel/parser@^7.14.7", "@babel/parser@^7.20.0", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.25.9", "@babel/parser@^7.26.0": - version "7.26.1" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.26.1.tgz#44e02499960df2cdce2c456372a3e8e0c3c5c975" - integrity sha512-reoQYNiAJreZNsJzyrDNzFQ+IQ5JFiIzAHJg9bn94S3l+4++J7RsIhNMoB+lgP/9tpmiAQqspv+xfdxTSzREOw== +"@babel/parser@^7.1.0", "@babel/parser@^7.13.16", "@babel/parser@^7.14.7", "@babel/parser@^7.20.0", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.25.9", "@babel/parser@^7.26.0", "@babel/parser@^7.26.2": + version "7.26.2" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.26.2.tgz#fd7b6f487cfea09889557ef5d4eeb9ff9a5abd11" + integrity sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ== dependencies: "@babel/types" "^7.26.0" @@ -1851,9 +1851,9 @@ metro-runtime "^0.80.3" "@react-native/normalize-colors@*": - version "0.76.0" - resolved "https://registry.yarnpkg.com/@react-native/normalize-colors/-/normalize-colors-0.76.0.tgz#5cf89da962bcd2680eccbbceba6144ea6cf035c3" - integrity sha512-r+pjeIhzehb+bJUUUrztOQb+n6J9DeaLbF6waLgiHa5mFOiwP/4/iWS68inSZnnBtmXHkN2IYiMXzExx8hieWA== + version "0.76.1" + resolved "https://registry.yarnpkg.com/@react-native/normalize-colors/-/normalize-colors-0.76.1.tgz#df8d54d78917a9f075283382fec834f5ccaecefd" + integrity sha512-/+CUk/wGWIdXbJYVLw/q6Fs8Z0x91zzfXIbNiZUdSW1TNEDmytkF371H8a1/Nx3nWa1RqCMVsaZHCG4zqxeDvg== "@react-native/normalize-colors@^0.72.0": version "0.72.0" @@ -1969,9 +1969,9 @@ "@types/istanbul-lib-report" "*" "@types/node@*": - version "22.8.1" - resolved "https://registry.yarnpkg.com/@types/node/-/node-22.8.1.tgz#b39d4b98165e2ae792ce213f610c7c6108ccfa16" - integrity sha512-k6Gi8Yyo8EtrNtkHXutUu2corfDf9su95VYVP10aGYMMROM6SAItZi0w1XszA6RtWTHSVp5OeFof37w0IEqCQg== + version "22.8.6" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.8.6.tgz#e8a0c0871623283d8b3ef7d7b9b1bfdfd3028e22" + integrity sha512-tosuJYKrIqjQIlVCM4PEGxOmyg3FCPa/fViuJChnGeEIhjA46oy8FMVoF9su1/v8PNs2a8Q0iFNyOx0uOF91nw== dependencies: undici-types "~6.19.8" @@ -2033,7 +2033,7 @@ abort-controller@^3.0.0: dependencies: event-target-shim "^5.0.0" -accepts@^1.3.7, accepts@~1.3.5, accepts@~1.3.7: +accepts@^1.3.7, accepts@~1.3.7: version "1.3.8" resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== @@ -2319,7 +2319,7 @@ braces@^3.0.3: dependencies: fill-range "^7.1.1" -browserslist@^4.23.3, browserslist@^4.24.0: +browserslist@^4.24.0, browserslist@^4.24.2: version "4.24.2" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.24.2.tgz#f5845bc91069dbd55ee89faf9822e1d885d16580" integrity sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg== @@ -2349,10 +2349,10 @@ buffer@^5.5.0: base64-js "^1.3.1" ieee754 "^1.1.13" -bytes@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" - integrity sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw== +bytes@3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" + integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== caller-callsite@^2.0.0: version "2.0.0" @@ -2389,9 +2389,9 @@ camelcase@^6.2.0: integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== caniuse-lite@^1.0.30001669: - version "1.0.30001672" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001672.tgz#02ac296ad4765c6c4f93031525f60cf8bdf4a44f" - integrity sha512-XhW1vRo1ob6aeK2w3rTohwTPBLse/rvjq+s3RTSBwnlZqoFFjx9cHsShJjAIbLsLjyoacaTxpLZy9v3gg6zypw== + version "1.0.30001676" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001676.tgz#fe133d41fe74af8f7cc93b8a714c3e86a86e6f04" + integrity sha512-Qz6zwGCiPghQXGJvgQAem79esjitvJ+CxSbSQkW9H/UX5hg8XM88d4lp2W+MEQ81j+Hip58Il+jGVdazk1z9cw== chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: version "4.1.2" @@ -2529,7 +2529,7 @@ commondir@^1.0.1: resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== -compressible@~2.0.16: +compressible@~2.0.18: version "2.0.18" resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== @@ -2537,16 +2537,16 @@ compressible@~2.0.16: mime-db ">= 1.43.0 < 2" compression@^1.7.1: - version "1.7.4" - resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" - integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== + version "1.7.5" + resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.5.tgz#fdd256c0a642e39e314c478f6c2cd654edd74c93" + integrity sha512-bQJ0YRck5ak3LgtnpKkiabX5pNF7tMUh1BSy2ZBOTh0Dim0BUu6aPPwByIns6/A5Prh8PufSPerMDUklpzes2Q== dependencies: - accepts "~1.3.5" - bytes "3.0.0" - compressible "~2.0.16" + bytes "3.1.2" + compressible "~2.0.18" debug "2.6.9" + negotiator "~0.6.4" on-headers "~1.0.2" - safe-buffer "5.1.2" + safe-buffer "5.2.1" vary "~1.1.2" concat-map@0.0.1: @@ -2570,11 +2570,11 @@ convert-source-map@^2.0.0: integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== core-js-compat@^3.38.0, core-js-compat@^3.38.1: - version "3.38.1" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.38.1.tgz#2bc7a298746ca5a7bcb9c164bcb120f2ebc09a09" - integrity sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw== + version "3.39.0" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.39.0.tgz#b12dccb495f2601dc860bdbe7b4e3ffa8ba63f61" + integrity sha512-VgEUx3VwlExr5no0tXlBt+silBvhTryPwCXRI2Id1PN8WTKu7MreethvddqOubrYxkFdv/RnYrqlv1sFNAUelw== dependencies: - browserslist "^4.23.3" + browserslist "^4.24.2" core-util-is@~1.0.0: version "1.0.3" @@ -2709,9 +2709,9 @@ ee-first@1.1.1: integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== electron-to-chromium@^1.5.41: - version "1.5.47" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.47.tgz#ef0751bc19b28be8ee44cd8405309de3bf3b20c7" - integrity sha512-zS5Yer0MOYw4rtK2iq43cJagHZ8sXN0jDHDKzB+86gSBSAI4v07S97mcq+Gs2vclAxSh1j7vOAHxSVgduiiuVQ== + version "1.5.50" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.50.tgz#d9ba818da7b2b5ef1f3dd32bce7046feb7e93234" + integrity sha512-eMVObiUQ2LdgeO1F/ySTXsvqvxb6ZH2zPGaMYsWzRDdOddUa77tdmI0ltg+L16UpbWdhPmuF3wIQYyQq65WfZw== emittery@^0.13.1: version "0.13.1" @@ -2936,9 +2936,9 @@ flow-enums-runtime@^0.0.6: integrity sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw== flow-parser@0.*: - version "0.250.0" - resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.250.0.tgz#11fee8836664c5df489b8d93079fd50ab36be5d8" - integrity sha512-8mkLh/CotlvqA9vCyQMbhJoPx2upEg9oKxARAayz8zQ58wCdABnTZy6U4xhMHvHvbTUFgZQk4uH2cglOCOel5A== + version "0.251.1" + resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.251.1.tgz#b561c765baff1a93d85c510360d2d9c78f81ed86" + integrity sha512-8ZuLqJPlL/T9K3zFdr1m88Lx8JOoJluTTdyvN4uH5NT9zoIIFqbCDoXVhkHh022k2lhuAyFF27cu0BYKh5SmDA== flow-parser@^0.206.0: version "0.206.0" @@ -3153,10 +3153,9 @@ inherits@2, inherits@2.0.4, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== -instabug-reactnative@^13.4.2: - version "13.4.0" - resolved "https://registry.yarnpkg.com/instabug-reactnative/-/instabug-reactnative-13.4.0.tgz#c5b17ac23016e98babd8f7abeb0686ec68713fc5" - integrity sha512-n7hfWyiOJM7+XYrAKQv2GAG3/0l5tVtNU1i/FswRJqR7Mh/2WmHsRIrcuw7nobGXGOBJHG7SdGQ/QxU47wBehA== +"instabug-reactnative@link:../..": + version "0.0.0" + uid "" invariant@*, invariant@^2.2.4: version "2.2.4" @@ -4454,6 +4453,11 @@ negotiator@0.6.3: resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== +negotiator@~0.6.4: + version "0.6.4" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.4.tgz#777948e2452651c570b712dd01c23e262713fff7" + integrity sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w== + neo-async@^2.5.0: version "2.6.2" resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" @@ -5060,16 +5064,16 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -safe-buffer@~5.2.0: +safe-buffer@5.2.1, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== +safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + scheduler@0.24.0-canary-efb381bbf-20230505: version "0.24.0-canary-efb381bbf-20230505" resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.24.0-canary-efb381bbf-20230505.tgz#5dddc60e29f91cd7f8b983d7ce4a99c2202d178f" @@ -5407,9 +5411,9 @@ tr46@~0.0.3: integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== tslib@^2.0.1: - version "2.8.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.0.tgz#d124c86c3c05a40a91e6fdea4021bd31d377971b" - integrity sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA== + version "2.8.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" + integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== type-detect@4.0.8: version "4.0.8" diff --git a/package.json b/package.json index c068413fe..658938812 100644 --- a/package.json +++ b/package.json @@ -36,6 +36,7 @@ "example": "yarn --cwd examples/default", "hybrid": "yarn --cwd examples/hybrid", "pods": "cd examples/default && pod-install --quiet && cd ../hybrid && pod-install --quiet ", + "pack:sdk": "yarn build && yarn pack --filename InstabugSDK.tgz", "bootstrap": "yarn example && yarn hybrid && yarn && yarn pods" }, "peerDependencies": {