{"_id":"@allboatsrise/sentry-expo","_rev":"3-94281df8867aed90822cdc75ae7aa867","name":"@allboatsrise/sentry-expo","dist-tags":{"latest":"4.0.5"},"versions":{"4.0.5":{"name":"@allboatsrise/sentry-expo","version":"4.0.5","description":"Catch your Javascript errors for your production Expo apps!","main":"build/index.js","types":"build/index.d.ts","scripts":{"build":"expo-module build","clean":"expo-module clean","test":"expo-module test","prepare":"expo-module prepare","prepublishOnly":"expo-module prepublishOnly","expo-module":"expo-module"},"license":"MIT","keywords":["react-native","expo","sentry"],"repository":{"type":"git","url":"https://github.com/expo/sentry-expo.git"},"bugs":{"url":"https://github.com/expo/sentry-expo/issues"},"jest":{"preset":"expo-module-scripts"},"author":{"name":"650 Industries, Inc."},"homepage":"https://docs.expo.io/guides/using-sentry/","dependencies":{"@expo/config-plugins":"^2.0.2","@expo/config-types":"^41.0.0","@expo/spawn-async":"^1.2.8","@sentry/browser":"^6.12.0","@sentry/integrations":"^6.12.0","@sentry/react-native":"^3.1.1","@sentry/types":"^6.12.0","mkdirp":"^1.0.3","rimraf":"^2.6.1"},"peerDependencies":{"expo-application":"*","expo-constants":"*","expo-device":"*","expo-updates":"*"},"devDependencies":{"@types/mkdirp":"^1.0.0","@types/node":"^14.0.1","@types/react-native":"^0.64.10","@types/rimraf":"^3.0.0","expo-application":"~3.2.0","expo-constants":"~11.0.0","expo-device":"~3.3.0","expo-module-scripts":"^2.0.0","expo-updates":"~0.7.0","react":"16.13.1","react-native":"^0.64.1","react-native-web":"~0.13.7"},"_id":"@allboatsrise/sentry-expo@4.0.5","dist":{"shasum":"d36a1e15e7002effe3ff606332c2d9e049830a96","integrity":"sha512-2JNo48PaSx5bBj8Igol8jUhRcekqUpYj98uL8mDoBVrRheIl3iElfehxhQFdEY/ONHNdLNymNnWTvmnwqQi7ow==","tarball":"https://registry.npmjs.org/@allboatsrise/sentry-expo/-/sentry-expo-4.0.5.tgz","fileCount":38,"unpackedSize":82361,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh6IHICRA9TVsSAnZWagAAZUsP/jzE+cGDnGH3aI6LFCjT\nDFywKQWt6mWHtjk+85DOXuevoLPwclawN+VCfirpKUu/tBYWNs2Bcdsg4/68\nlbBflwqU9yunZXA32LJXn94tXLjJ7fQLRdXMRf3Zj/QM0GwTE/UWrK0cOXBP\nw/SwA+ltLVUk2iyY5OZ6+9rGCCyMonZ/yovCloj36s8OgYMAm+uSAu1+7RZB\nt3iUKObcBmxcz3kzXRPfk/XOahjNQK+YGGo8ZuWbxOUuCSf7IAX77ycRDJoM\nPP3rMhZGgAahfI9GZn4REmkWxDjA5qBit9uWjOXWeL3ovwpe9w2/3rP0U/k6\n4ABYJKjRM0vi7pgpfaIyjldalGAOBMFIywKgGZ9t4tDC0kVmKNGlg4HxEUy9\naM/sXbwSF9A5UbIOWIOsBA3dYoxBySS6Ws3uf6HO0lEZZzy5jeiIewJrCPJr\nvg5X1KptdlLP8ZuYDgL6wEknFm0C+T0+TYbYWEnmGokd1HVk0BvSWHoGaZV+\nXi+39znNzKmKzv0jZcsM+PJAzmHN2nkynbEcccKRCpCXUhYlnHJLiv4EhZR3\nSez9pTh2ZKHlNdlTsChva2qhOi7euWIr9V+o6cMWxDdv4vPSo7b3claYTGyw\nvGNHczeknIKiXAdb9JI6OkkY88lxSUqxdYBHUPdvkQBgC0eKtfL6DyMkhdv1\nbHrV\r\n=ywn1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICde2lY684newF/Qg1oK6dsltWVg6k6V71DaMnrLBhImAiBiPGfY1ODkgYxhUe2Brn751bHJE6sbBb5/TjVq7W3i5w=="}]},"_npmUser":{"name":"andrejpavlovic","email":"andrej.pavlovic@massedge.com"},"directories":{},"maintainers":[{"name":"andrejpavlovic","email":"andrej.pavlovic@massedge.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sentry-expo_4.0.5_1642627528261_0.2000052140953399"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Please use https://www.npmjs.com/package/sentry-expo"}},"time":{"created":"2022-01-19T21:25:28.194Z","4.0.5":"2022-01-19T21:25:28.389Z","modified":"2023-07-05T16:45:43.953Z"},"maintainers":[{"name":"andrejpavlovic","email":"andrej.pavlovic@massedge.com"}],"description":"Catch your Javascript errors for your production Expo apps!","homepage":"https://docs.expo.io/guides/using-sentry/","keywords":["react-native","expo","sentry"],"repository":{"type":"git","url":"https://github.com/expo/sentry-expo.git"},"author":{"name":"650 Industries, Inc."},"bugs":{"url":"https://github.com/expo/sentry-expo/issues"},"license":"MIT","readme":"[![runs with expo](https://img.shields.io/badge/Runs%20with%20Expo-4630EB.svg?style=flat-square&logo=EXPO&labelColor=f3f3f3&logoColor=000)](https://expo.io/)\n\n# sentry-expo\n\n## Keep 🐛🐜🐞 out of your app\n\nBugs can be [really cool](https://www.cbc.ca/kidscbc2/the-feed/14-of-the-worlds-weirdest-insects), but not when it comes to your app.\n\nThat's where `sentry-expo` comes in! Keep a close eye on your app, whether it's in development, staging, or production, by getting real-time insight into errors and bugs. That way, you can quickly reproduce, fix, and re-deploy!\n\n## 🤔 How do I use this?\n\n<details>\n<summary>Hey- before you actually use Sentry, make sure you've created a Sentry project. How do you do that? Open this drop-down to find out!</summary>\n<br>\n🚨 Creating a Sentry project\n\nBefore getting real-time updates on errors and making your app generally incredible, you'll need to follow these steps:\n\n1. [Sign up for Sentry](https://sentry.io/signup/) (it's free), and create a project in your Dashboard. Take note of your organization name, and project name.\n2. Take note of your `DSN`, you'll need it later\n3. Go to the [Sentry API section](https://sentry.io/settings/account/api/auth-tokens/), and create an auth token (Ensure you have `project:write` selected under scopes). Save this, too.\n\nOnce you have each of these: organization name, project name, DSN, and auth token, you're all set!\n\n</details>\n\n### Step 1: Installation\n\nIn your project directory, run\n\n```sh\nexpo install sentry-expo\n```\n\n`sentry-expo` requires some additional dependencies, so you should also run\n\n```sh\nexpo install expo-application expo-constants expo-device expo-updates @sentry/react-native\n```\n\n> If you don't have `expo-cli` installed, [you should](https://docs.expo.io/workflow/expo-cli/)! But you can also just install with `yarn` or `npm`.\n\n### Step 2: Code\n\nAdd the following to your app's main file (usually `App.js`):\n\n```js\nimport * as Sentry from 'sentry-expo';\n\nSentry.init({\n  dsn: 'YOUR DSN HERE',\n  enableInExpoDevelopment: true,\n  debug: true, // If `true`, Sentry will try to print out useful debugging information if something goes wrong with sending the event. Set it to `false` in production\n});\n\n// Access any @sentry/react-native exports via:\nSentry.Native.*\n\n// Access any @sentry/browser exports via:\nSentry.Browser.*\n```\n\n### Step 3: App Config\n\n#### Configure your `postPublish` hook\n\nAdd `expo.hooks` to your project's `app.json` (or `app.config`) file:\n\n```json\n{\n  \"expo\": {\n    // ... your existing configuration\n    \"hooks\": {\n      \"postPublish\": [\n        {\n          \"file\": \"sentry-expo/upload-sourcemaps\",\n          \"config\": {\n            \"organization\": \"your sentry organization's short name here\",\n            \"project\": \"your sentry project's name here\",\n            \"authToken\": \"your auth token here\"\n          }\n        }\n      ]\n    }\n  }\n}\n```\n\n#### Add the Config Plugin\n\n> Note: Disregard the following if you're using the classic build system (`expo build:[android|ios]`).\n\nAdd `expo.plugins` to your project's `app.json` (or `app.config`) file:\n\n```json\n{\n  \"expo\": {\n    // ... your existing configuration\n    \"plugins\": [\"sentry-expo\"]\n  }\n}\n```\n\n> If you directly edit your native `ios/` and `android/` directories (i.e. you have ejected your project, or have a bare workflow project), you should instead use `yarn sentry-wizard -i reactNative -p ios android` to configure your native projects.\n\n## \"No publish builds\"\n\n> Note: Disregard the following if you're using the classic build system (`expo build:[android|ios]`).\n\nWith `expo-updates`, release builds of both iOS and Android apps will create and embed a new update from your JavaScript source at build-time. **This new update will not be published automatically** and will exist only in the binary with which it was bundled. Since it isn't published, the sourcemaps aren't uploaded in the usual way like they are when you run `expo publish` (actually, we are relying on Sentry's native scripts to handle that). Because of this you have some extra things to be aware of:\n\n- Your `release` will automatically be set to Sentry's expected value- `${bundleIdentifier}@${version}+${buildNumber}` (iOS) or `${androidPackage}@${version}+${versionCode}` (Android).\n- Your `dist` will automatically be set to Sentry's expected value- `${buildNumber}` (iOS) or `${versionCode}` (Android).\n- The configuration for build time sourcemaps comes from the `ios/sentry.properties` and `android/sentry.properties` files. For more information, refer to [Sentry's documentation](https://docs.sentry.io/clients/java/config/#configuration-via-properties-file). If you're using the managed workflow, then we handle setting these values for your via the `plugin` you added above.\n\n> Please note that configuration for `expo publish` and `expo export` in bare and managed is still done via `app.json`.\n\nSkipping or misconfiguring either of these will result in sourcemaps not working, and thus you won't see proper stacktraces in your errors.\n\n### Self-hosting OTA?\n\nIf you're self-hosting your Over the Air Updates (this means you run `expo export` instead of `expo publish`), you need to:\n\n- replace `hooks.postPublish` in your `app.json` file with `hooks.postExport` (everything else stays the same)\n- add the `RewriteFrames` integration to your `Sentry.init` call like so:\n\n```js\nSentry.init({\n  dsn: SENTRY_DSN,\n  enableInExpoDevelopment: true,\n  integrations: [\n    new RewriteFrames({\n      iteratee: (frame) => {\n        if (frame.filename) {\n          // the values depend on what names you give the bundle files you are uploading to Sentry\n          frame.filename =\n            Platform.OS === 'android' ? 'app:///index.android.bundle' : 'app:///main.jsbundle';\n        }\n        return frame;\n      },\n    }),\n  ],\n});\n```\n\n## 👏 Contributing\n\nIf you like `sentry-expo` and want to help make it better then please feel free to open a PR! Make sure you request a review from one of our maintainers 😎\n\n## Some Links\n\n[Sentry Website](https://sentry.io/welcome/)\n\n[sentry-react-native repo](https://github.com/getsentry/sentry-react-native)\n","readmeFilename":"README.md"}