From 0d071c5b614d1e3c85843c053938597bd9f39526 Mon Sep 17 00:00:00 2001 From: Mustafa Buyukcelebi Date: Tue, 14 May 2019 23:14:18 +0300 Subject: [PATCH] Implemented sentry for error tracking --- App.js | 10 ++ android/app/build.gradle | 2 + .../app/esteem/mobile/MainApplication.java | 2 + android/sentry.properties | 5 + android/settings.gradle | 2 + index.js | 1 - ios/Podfile | 3 + .../xcschemes/xcschememanagement.plist | 8 +- ios/eSteem.xcodeproj/project.pbxproj | 36 +++- .../UserInterfaceState.xcuserstate | Bin 44809 -> 44805 bytes ios/eSteem/AppDelegate.m | 10 +- ios/sentry.properties | 5 + package.json | 5 +- yarn.lock | 159 +++++++++++++++++- 14 files changed, 228 insertions(+), 20 deletions(-) create mode 100644 android/sentry.properties create mode 100644 ios/sentry.properties diff --git a/App.js b/App.js index 4bf9dd9c2..52369e2f9 100644 --- a/App.js +++ b/App.js @@ -1,3 +1,13 @@ +import { Sentry } from 'react-native-sentry'; +import codePush from 'react-native-code-push'; import App from './src/index'; +Sentry.config('https://aeaa78debe6d428984f9823f4aee0681@sentry.io/1457345').install(); +codePush.getUpdateMetadata().then((update) => { + if (update) { + Sentry.setVersion(`${update.appVersion}-codepush:${update.label}`); + } +}); + + export default App; diff --git a/android/app/build.gradle b/android/app/build.gradle index 08d3e4a9a..d194c55d4 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -79,6 +79,7 @@ project.ext.react = [ ] apply from: "../../node_modules/react-native/react.gradle" +apply from: "../../node_modules/react-native-sentry/sentry.gradle" apply from: "../../node_modules/react-native-code-push/android/codepush.gradle" /** @@ -147,6 +148,7 @@ configurations.all { } dependencies { + compile project(':react-native-sentry') compile project(':react-native-version-number') compile project(':react-native-code-push') compile project(':realm') diff --git a/android/app/src/main/java/app/esteem/mobile/MainApplication.java b/android/app/src/main/java/app/esteem/mobile/MainApplication.java index 6339c80b2..28d99da1d 100644 --- a/android/app/src/main/java/app/esteem/mobile/MainApplication.java +++ b/android/app/src/main/java/app/esteem/mobile/MainApplication.java @@ -3,6 +3,7 @@ package app.esteem.mobile; import android.app.Application; import com.facebook.react.ReactApplication; +import io.sentry.RNSentryPackage; import com.apsl.versionnumber.RNVersionNumberPackage; import com.microsoft.codepush.react.CodePush; import io.realm.react.RealmReactPackage; @@ -44,6 +45,7 @@ public class MainApplication extends Application implements ReactApplication { protected List getPackages() { return Arrays.asList( new MainReactPackage(), + new RNSentryPackage(), new RNVersionNumberPackage(), new CodePush(getResources().getString(R.string.reactNativeCodePush_androidDeploymentKey), getApplicationContext(), BuildConfig.DEBUG), new RealmReactPackage(), diff --git a/android/sentry.properties b/android/sentry.properties new file mode 100644 index 000000000..d18d54ce0 --- /dev/null +++ b/android/sentry.properties @@ -0,0 +1,5 @@ +defaults.url=https://sentry.io/ +defaults.org=esteem-gq +defaults.project=esteem +auth.token=d844aae1e578403ea305ab000dc0d38099fecc0ffb0f44679f02e05b75f40ab7 +cli.executable=node_modules/@sentry/cli/bin/sentry-cli diff --git a/android/settings.gradle b/android/settings.gradle index d3b4d8727..af880f353 100644 --- a/android/settings.gradle +++ b/android/settings.gradle @@ -1,4 +1,6 @@ rootProject.name = 'eSteem' +include ':react-native-sentry' +project(':react-native-sentry').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-sentry/android') include ':react-native-version-number' project(':react-native-version-number').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-version-number/android') include ':react-native-code-push' diff --git a/index.js b/index.js index 4a5b7bc2f..948cf9557 100644 --- a/index.js +++ b/index.js @@ -5,7 +5,6 @@ import { name as appName } from './app.json'; import 'core-js'; import 'intl'; - // set check frequency options const codePushOptions = { checkFrequency: codePush.CheckFrequency.ON_APP_START }; const eSteemApp = codePush(codePushOptions)(require('./App').default); diff --git a/ios/Podfile b/ios/Podfile index 35b6b1722..6b3285f47 100755 --- a/ios/Podfile +++ b/ios/Podfile @@ -38,6 +38,9 @@ target 'eSteem' do pod 'react-native-version-number', :path => '../node_modules/react-native-version-number' + + pod 'SentryReactNative', :path => '../node_modules/react-native-sentry' + target 'eSteemTests' do inherit! :search_paths # Pods for testing diff --git a/ios/Pods/Pods.xcodeproj/xcuserdata/mistik.xcuserdatad/xcschemes/xcschememanagement.plist b/ios/Pods/Pods.xcodeproj/xcuserdata/mistik.xcuserdatad/xcschemes/xcschememanagement.plist index 28e5b18e2..d71273ebf 100644 --- a/ios/Pods/Pods.xcodeproj/xcuserdata/mistik.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/ios/Pods/Pods.xcodeproj/xcuserdata/mistik.xcuserdatad/xcschemes/xcschememanagement.plist @@ -107,28 +107,28 @@ isShown orderHint - 22 + 21 RSKImageCropper.xcscheme isShown orderHint - 24 + 22 SDWebImage.xcscheme isShown orderHint - 26 + 23 SSZipArchive.xcscheme isShown orderHint - 28 + 24 boost-for-react-native.xcscheme diff --git a/ios/eSteem.xcodeproj/project.pbxproj b/ios/eSteem.xcodeproj/project.pbxproj index 4bbd6b619..2b9fe8a9a 100644 --- a/ios/eSteem.xcodeproj/project.pbxproj +++ b/ios/eSteem.xcodeproj/project.pbxproj @@ -5,7 +5,6 @@ }; objectVersion = 46; objects = { - /* Begin PBXBuildFile section */ 00C302E51ABCBA2D00DB3ED1 /* libRCTActionSheet.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302AC1ABCB8CE00DB3ED1 /* libRCTActionSheet.a */; }; 00C302E71ABCBA2D00DB3ED1 /* libRCTGeolocation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302BA1ABCB90400DB3ED1 /* libRCTGeolocation.a */; }; @@ -1024,6 +1023,22 @@ name = Products; sourceTree = ""; }; + B6D95DAECC7C44E09DDD7C69 /* Frameworks */ = { + isa = PBXGroup; + children = ( + ); + name = Frameworks; + path = Application; + sourceTree = ""; + }; + 67C9A7F16F244582A12AD391 /* Frameworks */ = { + isa = PBXGroup; + children = ( + ); + name = Frameworks; + path = Application; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -1056,6 +1071,7 @@ 13B07F8E1A680F5B00A75B9A /* Resources */, 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, 5C628250473FE66B1411E7B8 /* [CP] Copy Pods Resources */, + 8914978615734F0386A81BB0 /* Upload Debug Symbols to Sentry */, ); buildRules = ( ); @@ -1708,7 +1724,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "export BUNDLE_COMMAND=\"ram-bundle\"\nexport NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh\n"; + shellScript = "export SENTRY_PROPERTIES=sentry.properties\nexport BUNDLE_COMMAND=\"ram-bundle\"\nexport NODE_BINARY=node\n../node_modules/@sentry/cli/bin/sentry-cli react-native xcode ../node_modules/react-native/scripts/react-native-xcode.sh\n"; }; 1979C1458121CC4918833764 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; @@ -1744,7 +1760,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh"; + shellScript = "export SENTRY_PROPERTIES=sentry.properties\nexport NODE_BINARY=node\n../node_modules/@sentry/cli/bin/sentry-cli react-native xcode ../node_modules/react-native/scripts/react-native-xcode.sh"; }; 5186FE4F17E24CC9339B53D1 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; @@ -1836,6 +1852,20 @@ 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; }; + 8914978615734F0386A81BB0 /* Upload Debug Symbols to Sentry */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + name = "Upload Debug Symbols to Sentry"; + inputPaths = ( + ); + outputPaths = ( + ); + shellPath = /bin/sh; + shellScript = "export SENTRY_PROPERTIES=sentry.properties\n../node_modules/@sentry/cli/bin/sentry-cli upload-dsym"; + }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ diff --git a/ios/eSteem.xcworkspace/xcuserdata/mistik.xcuserdatad/UserInterfaceState.xcuserstate b/ios/eSteem.xcworkspace/xcuserdata/mistik.xcuserdatad/UserInterfaceState.xcuserstate index e8e810dfdcb304f2958478ebc9c4bfaf2678cd1d..b91529fb49d68ef224e36ae3da732fb2d72ac871 100644 GIT binary patch delta 20408 zcmaKz2YeL8_rP~%_ilIZLVEAzLP-LtgqGfW@4a1mze^9?4j_UwVFQYQkPtTHD+6DOD1^A&-RYJ&#Qlg9~Cn|_a zqKc>{YKSHR5z~oTL>DoSSV$})mJ+?hm&7V!9kGGfMr4bmv}+EBwi7J5w8IREWrT@kOBi>2#kO!Fawsr9yov@U?>;{TvfmW zj09uASTGKRg9s1_qChlA2N@s}WPxmu1ByT~CTI`B2v2o8WBz>nY{_zCQXUc_g zqr9jjDve5~vZ)-ZfGVWqR4G+SRZ(?RJ*A|Ys5Yvdnn0wVYZ_ZKO6)o2fn2UTPn;pE^MOL>;5fQs=1a)D7w;b&I-9-KU;WZ$yMh zOEgHNEz%L`iVQ^-B1@5#$Wb&{eb+llSPBgC#^H?h0eL+mZ~ z6^Dw$#7W|0af&!qoF>i^7m6#ymEwA_QrskN6C;)QJ@FLr2jc1C*O=IrFgA) zop^(Iqj;-$n|P;qmw1nOulNV?kK#k(!{W2zbK>*j3*z6zm&G^5553BMUPNb9QWLlL@=h69e z0bNK}(3Nx*-9oq0ZFD=`L96H~^!xNw`a^mSJ(vEJUP3RWyXhYKb9xoMnqEV%r8m=C z=&kfVdOv-D{(=6HK183OPtq6Y-{_0X~My zg=u9t1~C(vNz7zs8Z(EP%kWGW)60Cue9kOqzF@v&Rxn>N>zJ>ZP0V-9ZsvPt53`p! z%p75^GdGx<%q`|NbBDRh++$StnFq{6<|*@ndCih6#fn mMLf`m8Z)&f2iHtR3sj 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 IZ4Ji!KQnwrwg3PC diff --git a/ios/eSteem/AppDelegate.m b/ios/eSteem/AppDelegate.m index 6e9e7d713..a8ae9aade 100755 --- a/ios/eSteem/AppDelegate.m +++ b/ios/eSteem/AppDelegate.m @@ -14,6 +14,11 @@ #import #import +#if __has_include() +#import // This is used for versions of react >= 0.40 +#else +#import "RNSentry.h" // This is used for versions of react < 0.40 +#endif #import @implementation AppDelegate @@ -52,11 +57,12 @@ #else jsCodeLocation = [CodePush bundleURL]; #endif - - RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation +RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation moduleName:@"eSteem" initialProperties:nil launchOptions:launchOptions]; +[RNSentry installWithRootView:rootView]; + rootView.backgroundColor = [[UIColor alloc] initWithRed:1.0f green:1.0f blue:1.0f alpha:1]; self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; diff --git a/ios/sentry.properties b/ios/sentry.properties new file mode 100644 index 000000000..d18d54ce0 --- /dev/null +++ b/ios/sentry.properties @@ -0,0 +1,5 @@ +defaults.url=https://sentry.io/ +defaults.org=esteem-gq +defaults.project=esteem +auth.token=d844aae1e578403ea305ab000dc0d38099fecc0ffb0f44679f02e05b75f40ab7 +cli.executable=node_modules/@sentry/cli/bin/sentry-cli diff --git a/package.json b/package.json index 7211a3f0c..2c0ce9cbd 100644 --- a/package.json +++ b/package.json @@ -55,6 +55,7 @@ "react-native-modal-dropdown": "^0.6.2", "react-native-modal-popover": "0.0.12", "react-native-restart": "0.0.6", + "react-native-sentry": "^0.42.0", "react-native-slider": "^0.11.0", "react-native-vector-icons": "^6.0.2", "react-native-version-number": "^0.3.5", @@ -69,8 +70,8 @@ "remarkable": "^1.7.1", "rn-placeholder": "^1.3.2", "speakingurl": "^14.0.1", - "steemconnect": "^2.0.1", - "stacktrace-parser": "0.1.4" + "stacktrace-parser": "0.1.4", + "steemconnect": "^2.0.1" }, "devDependencies": { "babel-eslint": "^10.0.1", diff --git a/yarn.lock b/yarn.lock index 59638f175..8c6a43e97 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1111,6 +1111,34 @@ dependencies: any-observable "^0.3.0" +"@sentry/cli@^1.36.1": + version "1.42.0" + resolved "https://registry.yarnpkg.com/@sentry/cli/-/cli-1.42.0.tgz#abf6597bbd76ebb0e8b7467c2b4ee1fed1801a4b" + integrity sha512-kSrVYqfwADWvdiRYTolw2Rs1zbz4K5YOlqlZKRWVLKSD1H4pKBfzeNmDfNFxIcMJMXl9y8YtHlA/i4THO+If2g== + dependencies: + fs-copy-file-sync "^1.1.1" + https-proxy-agent "^2.2.1" + mkdirp "^0.5.1" + node-fetch "^2.1.2" + progress "2.0.0" + proxy-from-env "^1.0.0" + +"@sentry/wizard@^0.12.1": + version "0.12.1" + resolved "https://registry.yarnpkg.com/@sentry/wizard/-/wizard-0.12.1.tgz#e63bb94c26479e958418dfdce6387ad39b31bdbc" + integrity sha512-kSqGcETUHR6n3DlyU/gcCwu+fcDVveEFXmLqGvib7c4nlV/ZwxT0J9TQi2u3Ux5EZQjYjTsdtvw6PYXvPXRPZA== + dependencies: + "@sentry/cli" "^1.36.1" + chalk "^2.4.1" + glob "^7.1.3" + inquirer "^6.2.0" + lodash "^4.17.11" + opn "^5.4.0" + r2 "^2.0.1" + read-env "^1.3.0" + xcode "https://github.com/apache/cordova-node-xcode#e7646f0680d509b590b839e567c217590451505b" + yargs "^12.0.2" + "@types/markdown-it@^0.0.4": version "0.0.4" resolved "https://registry.yarnpkg.com/@types/markdown-it/-/markdown-it-0.0.4.tgz#c5f67365916044b342dae8d702724788ba0b5b74" @@ -2133,6 +2161,11 @@ callsites@^3.0.0: resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== +camelcase@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.0.0.tgz#03295527d58bd3cd4aa75363f35b2e8d97be2f42" + integrity sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA== + camelcase@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" @@ -2150,16 +2183,16 @@ capture-exit@^1.2.0: dependencies: rsvp "^3.3.3" +caseless@^0.12.0, caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= + caseless@~0.11.0: version "0.11.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7" integrity sha1-cVuW6phBWTzDMGeSP17GDr2k99c= -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= - chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" @@ -3825,6 +3858,11 @@ fs-constants@^1.0.0: resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== +fs-copy-file-sync@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/fs-copy-file-sync/-/fs-copy-file-sync-1.1.1.tgz#11bf32c096c10d126e5f6b36d06eece776062918" + integrity sha512-2QY5eeqVv4m2PfyMiEuy9adxNP+ajf+8AR05cEi+OAzPcOj90hvFImeZhTmKLBgSd9EvG33jsD7ZRxsx9dThkQ== + fs-extra@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-1.0.0.tgz#cd3ce5f7e7cb6145883fcae3191e9877f8587950" @@ -4405,6 +4443,25 @@ inquirer@^3.0.6: strip-ansi "^4.0.0" through "^2.3.6" +inquirer@^6.2.0: + version "6.3.1" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.3.1.tgz#7a413b5e7950811013a3db491c61d1f3b776e8e7" + integrity sha512-MmL624rfkFt4TG9y/Jvmt8vdmOo836U7Y0Hxr2aFk3RelZEGX4Igk0KabWrcaaZaTv9uzglOqWh1Vly+FAWAXA== + dependencies: + ansi-escapes "^3.2.0" + chalk "^2.4.2" + cli-cursor "^2.1.0" + cli-width "^2.0.0" + external-editor "^3.0.3" + figures "^2.0.0" + lodash "^4.17.11" + mute-stream "0.0.7" + run-async "^2.2.0" + rxjs "^6.4.0" + string-width "^2.1.0" + strip-ansi "^5.1.0" + through "^2.3.6" + inquirer@^6.2.2: version "6.2.2" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.2.2.tgz#46941176f65c9eb20804627149b743a218f25406" @@ -4712,7 +4769,7 @@ is-symbol@^1.0.2: dependencies: has-symbols "^1.0.0" -is-typedarray@~1.0.0: +is-typedarray@^1.0.0, is-typedarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= @@ -6222,6 +6279,11 @@ node-fetch@^1.0.1, node-fetch@^1.7.3: encoding "^0.1.11" is-stream "^1.0.1" +node-fetch@^2.0.0-alpha.8: + version "2.5.0" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.5.0.tgz#8028c49fc1191bba56a07adc6e2a954644a48501" + integrity sha512-YuZKluhWGJwCcUu4RlZstdAxr8bFfOVHakc1mplwHkk8J+tqM1Y5yraYvIUpeX8aY7+crCwiELJq7Vl0o0LWXw== + node-fetch@^2.1.2, node-fetch@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.3.0.tgz#1a1d940bbfb916a1d3e0219f037e89e71f8c5fa5" @@ -6507,6 +6569,13 @@ opn@^3.0.2: dependencies: object-assign "^4.0.1" +opn@^5.4.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/opn/-/opn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc" + integrity sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA== + dependencies: + is-wsl "^1.1.0" + optimist@^0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" @@ -6546,7 +6615,7 @@ os-locale@^2.0.0: lcid "^1.0.0" mem "^1.1.0" -os-locale@^3.1.0: +os-locale@^3.0.0, os-locale@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q== @@ -6944,6 +7013,11 @@ process@~0.5.1: resolved "https://registry.yarnpkg.com/process/-/process-0.5.2.tgz#1638d8a8e34c2f440a91db95ab9aeb677fc185cf" integrity sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8= +progress@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.0.tgz#8a1be366bf8fc23db2bd23f10c6fe920b4389d1f" + integrity sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8= + progress@^2.0.0, progress@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" @@ -7057,6 +7131,15 @@ querystringify@^2.1.1: resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.1.1.tgz#60e5a5fd64a7f8bfa4d2ab2ed6fdf4c85bad154e" integrity sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA== +r2@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/r2/-/r2-2.0.1.tgz#94cd802ecfce9a622549c8182032d8e4a2b2e612" + integrity sha512-EEmxoxYCe3LHzAUhRIRxdCKERpeRNmlLj6KLUSORqnK6dWl/K5ShmDGZqM2lRZQeqJgF+wyqk0s1M7SWUveNOQ== + dependencies: + caseless "^0.12.0" + node-fetch "^2.0.0-alpha.8" + typedarray-to-buffer "^3.1.2" + randomatic@^3.0.0: version "3.1.1" resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-3.1.1.tgz#b776efc59375984e36c537b2f51a1f0aff0da1ed" @@ -7071,6 +7154,11 @@ range-parser@~1.2.0: resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" integrity sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4= +raven-js@^3.24.2: + version "3.27.0" + resolved "https://registry.yarnpkg.com/raven-js/-/raven-js-3.27.0.tgz#9f47c03e17933ce756e189f3669d49c441c1ba6e" + integrity sha512-vChdOL+yzecfnGA+B5EhEZkJ3kY3KlMzxEhShKh6Vdtooyl0yZfYNFQfYzgMf2v4pyQa+OTZ5esTxxgOOZDHqw== + raw-body@^2.2.0: version "2.3.3" resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.3.tgz#1b324ece6b5706e153855bc1148c65bb7f6ea0c3" @@ -7286,6 +7374,14 @@ react-native-screens@^1.0.0-alpha.11: resolved "https://registry.yarnpkg.com/react-native-screens/-/react-native-screens-1.0.0-alpha.22.tgz#7a120377b52aa9bbb94d0b8541a014026be9289b" integrity sha512-kSyAt0AeVU6N7ZonfV6dP6iZF8B7Bce+tk3eujXhzBGsLg0VSLnU7uE9VqJF0xdQrHR91ZjGgVMieo/8df9KTA== +react-native-sentry@^0.42.0: + version "0.42.0" + resolved "https://registry.yarnpkg.com/react-native-sentry/-/react-native-sentry-0.42.0.tgz#9cd59659d9b6cd36d6fc4c48f50613cd82cde25f" + integrity sha512-Nt3/yDSiK0QCtuWMEX04e4DJ3sWyMbjUPiiRNs3omD0rCzt51i4F5/fORDz7aMuYH2tSUw6RWCfJmxc3ILvx7Q== + dependencies: + "@sentry/wizard" "^0.12.1" + raven-js "^3.24.2" + react-native-slider@^0.11.0: version "0.11.0" resolved "https://registry.yarnpkg.com/react-native-slider/-/react-native-slider-0.11.0.tgz#b68a0bc43c8422b24cd57947cc5ac2bcdb58fadc" @@ -7493,6 +7589,13 @@ react@^16.7.0: prop-types "^15.6.2" scheduler "^0.13.6" +read-env@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/read-env/-/read-env-1.3.0.tgz#e26e1e446992b3216e9a3c6f6ac51064fe91fdff" + integrity sha512-DbCgZ8oHwZreK/E2E27RGk3EUPapMhYGSGIt02k9sX6R3tCFc4u4tkltKvkCvzEQ3SOLUaiYHAnGb+TdsnPp0A== + dependencies: + camelcase "5.0.0" + read-pkg-up@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" @@ -8855,6 +8958,13 @@ type-fest@^0.3.0: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.3.1.tgz#63d00d204e059474fe5e1b7c011112bbd1dc29e1" integrity sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ== +typedarray-to-buffer@^3.1.2: + version "3.1.5" + resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== + dependencies: + is-typedarray "^1.0.0" + typedarray@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" @@ -9268,6 +9378,13 @@ xcode@^2.0.0: simple-plist "^1.0.0" uuid "^3.3.2" +"xcode@git+https://github.com/apache/cordova-node-xcode.git#e7646f0680d509b590b839e567c217590451505b": + version "1.0.1-dev" + resolved "git+https://github.com/apache/cordova-node-xcode.git#e7646f0680d509b590b839e567c217590451505b" + dependencies: + simple-plist "^0.2.1" + uuid "3.0.1" + xml-name-validator@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" @@ -9315,7 +9432,7 @@ y18n@^3.2.1: resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" integrity sha1-bRX7qITAhnnA136I53WegR4H+kE= -y18n@^4.0.0: +"y18n@^3.2.1 || ^4.0.0", y18n@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== @@ -9330,6 +9447,14 @@ yallist@^3.0.0, yallist@^3.0.2: resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9" integrity sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A== +yargs-parser@^11.1.1: + version "11.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4" + integrity sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + yargs-parser@^13.0.0: version "13.0.0" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.0.0.tgz#3fc44f3e76a8bdb1cc3602e860108602e5ccde8b" @@ -9370,6 +9495,24 @@ yargs@^11.0.0: y18n "^3.2.1" yargs-parser "^9.0.2" +yargs@^12.0.2: + version "12.0.5" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" + integrity sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw== + dependencies: + cliui "^4.0.0" + decamelize "^1.2.0" + find-up "^3.0.0" + get-caller-file "^1.0.1" + os-locale "^3.0.0" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^2.0.0" + which-module "^2.0.0" + y18n "^3.2.1 || ^4.0.0" + yargs-parser "^11.1.1" + yargs@^13.2.2: version "13.2.2" resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.2.2.tgz#0c101f580ae95cea7f39d927e7770e3fdc97f993"