{"_id":"strapi-plugin-sentry","_rev":"65-8a04a3dc625d917b4ef4a0eba3130536","name":"strapi-plugin-sentry","dist-tags":{"rc":"3.5.0-rc.0","next":"3.6.0-next.0","beta":"3.6.0-beta.5","v3":"3.6.9","latest":"3.6.11"},"versions":{"0.0.0":{"name":"strapi-plugin-sentry","version":"0.0.0","author":{"url":"http://strapi.io","name":"Strapi team","email":"hi@strapi.io"},"_id":"strapi-plugin-sentry@0.0.0","maintainers":[{"url":"http://strapi.io","name":"Strapi team","email":"hi@strapi.io"}],"homepage":"https://github.com/strapi/strapi-plugin-sentry#readme","bugs":{"url":"https://github.com/strapi/strapi-plugin-sentry/issues"},"dist":{"shasum":"2eb0102b62f4ee4215f69356ae8117be6ff2e3ac","tarball":"https://registry.npmjs.org/strapi-plugin-sentry/-/strapi-plugin-sentry-0.0.0.tgz","integrity":"sha512-JmDIuVke531hcAjjEgpfGaq/DnUJ8bd6QOgyD91MMvcDEasOuQRJ56zyk6Ffzk/drNUhhB6ts7WD4wIW0Mtwyw==","signatures":[{"sig":"MEUCIQDNJB5AlHSfcDF8o9fBgKj8JSrl0BE0sRE8/IljX3Nj0gIgdUwKxHmFt8wfIYAYEKLVXA4CxlTkqwdzvAc9kmEhQp4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"2eb0102b62f4ee4215f69356ae8117be6ff2e3ac","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"strapi","email":"support@strapi.io"},"repository":{"url":"git://github.com/strapi/strapi-plugin-sentry.git","type":"git"},"_npmVersion":"4.1.2","description":"","directories":{},"_nodeVersion":"8.2.1","_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-sentry-0.0.0.tgz_1510148570806_0.17351565975695848","host":"s3://npm-registry-packages"}},"3.5.0-rc.0":{"name":"strapi-plugin-sentry","version":"3.5.0-rc.0","author":{"name":"A Strapi developer"},"license":"SEE LICENSE IN LICENSE","_id":"strapi-plugin-sentry@3.5.0-rc.0","maintainers":[{"name":"lauriejim","email":"j.laurie6993@gmail.com"},{"name":"pierreburgy","email":"pierre.burgy@gmail.com"},{"name":"soupette","email":"cyril.lpz@gmail.com"},{"name":"aurelsicoko","email":"aurelsicoko@gmail.com"},{"name":"hichamelbsi","email":"elabbassih@gmail.com"},{"name":"alexandrebodin","email":"bodin.alex@gmail.com"},{"name":"petersg83","email":"petersg83@gmail.com"},{"name":"convly","email":"jean-sebastien.herbaux@hotmail.fr"}],"dist":{"shasum":"291143c5f5509ff21affe8e9f376c332ea87cc26","tarball":"https://registry.npmjs.org/strapi-plugin-sentry/-/strapi-plugin-sentry-3.5.0-rc.0.tgz","fileCount":39,"integrity":"sha512-YLG8Z1y6ihyU+3+OSX/b41D/zVXX+EgeDJbpLiIJyb3Gzo7KJW2upfd4D0u7T4Dk1Bs/szWKr7QsenesBYPrmg==","signatures":[{"sig":"MEUCIQDpQ8UXsGIsUOR/dW5lP6Qu5YXm4s9l2pmN2oZPoSMBpAIgL3u36myd5Q9HEu7J3Do7w5mykU4XQUp4e1napynIoPI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16154,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgK/Z5CRA9TVsSAnZWagAAHrgP/R4F4H2GRRAZi3Z6eg1N\nU2MEPJqjb381YgeOqyrCHzEiW3gn34de4CJx81U77bErXCcA7i9qN1QL0iGZ\nY0cKtRsbefOVsyhkiGN82cqZ0KqlkRpLlxAFjNuArbGi7fs9Gem5kgVQJDls\n/St5y3WQ9Swwp7ivpvX8ec3VJTfUA2PiE0K6i3quIYb7GZTV7QPDcsm9StX5\nRUiV5/mW1PWMDI2kZiLV/ARpOEPrPmUAeKR4s27JyF5qjfcqimfmTTQJrkQW\nRuvoY/6CqNi6nYUyOv4JYxWYx6a+eP0dnWopKScRQ+V9upbRtXNRpPGuk1R6\netUT5tr1ePOoUr/EsBXB64rvAd8gRj6owzCStHiUpmbcYyWgcwOB6ZB5KrgQ\ngW0zdYYkaRqel/ilKh2V3eFAir8oaAeqSpnf2WovT2cM363BHBjkrpCyFWIT\n4dCN1/jyCn2Eg30eWVUA3jBxNl6mdN48AMyx+XmS02ns4+MetdaF0ybMSK+r\njwiAxTwdUyU/2WE0kbS+zFlJYanPP32g4u1gTX451zgh9kbC0hQ8LgSXhb7a\n1s9Zv66m93Ibf2FTDD6GarL53A5yw1zcpLILzF8eCeZ0/biju8UMVOEa21nu\nB9w5ERXLeIb3dZAB7dYjMe5jFLmXjhc8qpzYbaTLJUF6+c4uzEExsPrG8UqQ\nWLTt\r\n=2b9d\r\n-----END PGP SIGNATURE-----\r\n"},"strapi":{"icon":"plug","name":"Sentry","description":"sentry.plugin.description"},"engines":{"npm":">=6.0.0","node":">=10.16.0 <=14.x.x"},"_npmUser":{"name":"alexandrebodin","email":"bodin.alex@gmail.com"},"_npmVersion":"6.14.4","description":"Send Strapi error events to Sentry","directories":{},"_nodeVersion":"12.16.3","dependencies":{"@sentry/node":"6.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-sentry_3.5.0-rc.0_1613493880824_0.47219109661472536","host":"s3://npm-registry-packages"}},"3.5.0-next.0":{"name":"strapi-plugin-sentry","version":"3.5.0-next.0","author":{"name":"A Strapi developer"},"license":"SEE LICENSE IN LICENSE","_id":"strapi-plugin-sentry@3.5.0-next.0","maintainers":[{"name":"lauriejim","email":"j.laurie6993@gmail.com"},{"name":"pierreburgy","email":"pierre.burgy@gmail.com"},{"name":"soupette","email":"cyril.lpz@gmail.com"},{"name":"aurelsicoko","email":"aurelsicoko@gmail.com"},{"name":"hichamelbsi","email":"elabbassih@gmail.com"},{"name":"alexandrebodin","email":"bodin.alex@gmail.com"},{"name":"petersg83","email":"petersg83@gmail.com"},{"name":"convly","email":"jean-sebastien.herbaux@hotmail.fr"}],"dist":{"shasum":"ab4d97a607bd2f1c170eec05f48d773110ae4a2c","tarball":"https://registry.npmjs.org/strapi-plugin-sentry/-/strapi-plugin-sentry-3.5.0-next.0.tgz","fileCount":39,"integrity":"sha512-hm3w6FWmNLPO6j3Q4Fo89prGKbCNqQecesURD7QdzUH7V6PzlO3RqdcLu6kJaJZSDEO5o4JD17KS8oJUz5Aa8A==","signatures":[{"sig":"MEUCIHtcC7Kwfgq9zvus5oGqaFh2mSkIKm4QTddv27nz2sudAiEAuHoUUnumlRDV5RJReXA0gM5pKdMaPmMG8eRGx9UWGTo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16786,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgLVOjCRA9TVsSAnZWagAArWQP/ikh6FabpUIZVqPOKLLs\nZDHcZzGVl9Yarj6/6FRhN7eHCy44N3mflN7EtAmphOdKdCMBPZRE5tK6E8fc\nIpHtEklhM7Uh0jyZnt/LGT3DcaEcVgkG7y26EOA7bu7pbrW6LnLxtWAkBgFc\n7RcsOofxVHi3ZXYpZhSneyd+d76P4sNCf1Rosp3sX4xOi+fW/O1KuWm9R0Mo\nI2qbC542S18XzSn1EAQU3QJWiAK0Y90G1ZAkmlBHd5X/mCGGXWuNyRBZPnHg\nIHJyA+LyVzN2vltqf5gzV5a4Qkr/pEX9QJ4L7R78A7ZR35ZTGe2nAbFBa4Si\nV0qNtm0qJnS5TpP7mm6LNZGCnv+b2gu3RVQFlUrOW0TYpl0YP59J27Z9pfQX\nhagDcHr1D+xAiqHm3EeR/7q9F7DK8+7K2ggsSvVJTB2IVFflvmYjYjxooa0D\ntkEV++K9d5eC8qqpv0U1zOCz4/NaLJsRXA0gfv/Z+qE26+9pOkOTtoPLL/jw\n18PuZ9xguGzMG8SAK27y0E/PI1fkOtjH9PZmUyLrwAUY9FK0lwiIhN+B4Cf5\nidr1nSICWo2dmID1NZT52XEurHYjP+RzC7PtCP/Dzf+o/M5WNHkNa90ovCfu\nE/NJg7ofSzpfmZJOOzlIvaj398X6HvuvcfddbeSvVnw0md6Nxpl+KeNOEekn\n3ImA\r\n=TvUB\r\n-----END PGP SIGNATURE-----\r\n"},"readme":"# Strapi plugin Sentry\n\nThe official plugin to track Strapi errors with Sentry.\n\n## Features\n\n- Initialize a Sentry instance when your Strapi app starts\n- Send errors encountered in your application's end API to Sentry\n- Attach useful metadata to Sentry events, to help you with debugging\n- Expose a global Sentry service\n\n## Configuration\n\n| property       | type (default)   | description                                                                                                                                                                              |\n| -------------- | ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `dsn`          | string (`null`)  | Your Sentry data source name ([see Sentry docs](https://docs.sentry.io/product/sentry-basics/dsn-explainer/)).                                                                           |\n| `sendMetadata` | boolean (`true`) | Whether the plugin should attach additional information (like OS, browser, etc.) to the events sent to Sentry.                                                                           |\n| `init`         | object (`{}`)    | A config object that is passed directly to Sentry during the `Sentry.init()`. See all available options [on Sentry's docs](https://docs.sentry.io/platforms/node/configuration/options/) |\n\n**Example**\n\n`./config/plugins.js`\n\n```js\nmodule.exports = ({ env }) => ({\n  // ...\n  sentry: {\n    dsn: env('SENTRY_DSN'),\n    sendMetadata: true,\n  },\n  // ...\n});\n```\n\n## Global Sentry service\n\nYou can access a Sentry service throughout your app.\n\n```js\nconst sentryService = strapi.plugins.sentry.services.sentry;\n```\n\nThis service exposes the following methods:\n\n### `sendError(error, configureScope)`\n\nUse it to manually send errors to Sentry. The `configureScope` is optional, it allows you to customize the error event. Read more about Sentry's scope system [on their docs](https://docs.sentry.io/platforms/node/enriching-events/scopes/#configuring-the-scope).\n\n**Example**\n\n```js\ntry {\n  // Your code here\n} catch (error) {\n  // Either send a simple error\n  strapi.plugins.sentry.services.sentry.sendError(error);\n\n  // Or send an error with a customized Sentry scope\n  strapi.plugins.sentry.services.sentry.sendError(error, (scope, sentryInstance) => {\n    // Customize the scope here\n    scope.setTag('my_custom_tag', 'Tag value');\n  });\n  throw error;\n}\n```\n\n### `getInstance()`\n\nUse it if you need direct access to the Sentry instance, which should already already be initialized. It's useful if `sendError` doesn't suit your needs.\n\n**Example**\n\n```js\nconst sentryInstance = strapi.plugins.sentry.services.sentry.getInstance();\n```\n\n## Disabling\n\n### Disabling only the middleware\n\nBy default, this plugin uses a middleware that logs all your unhandled API errors to Sentry. You can disable this feature by turning off the `sentry` middleware in your app's config.\n\n**Example**\n\n`./config/middleware.js`\n\n```js\nmodule.exports = {\n  //...\n  settings: {\n    sentry: {\n      enabled: false,\n    },\n  },\n};\n```\n\nOnly the middleware will be disabled. You will still have access to the Sentry service.\n\n### Disabling the plugin entirely\n\nYou can also completely disable this plugin (both the middleware and the service). If you omit the `dsn` property of your plugin's settings, or if you give it a null value, the Sentry plugin will be ignored. You can use the `env` utility to disable it depending on the environment.\n\n**Example**\n\n`./config/plugins.js`\n\n```js\nmodule.exports = ({ env }) => ({\n  // ...\n  sentry: {\n    dsn: env('NODE_ENV') === 'development' ? null : env('SENTRY_DSN'),\n  },\n  // ...\n});\n```\n","strapi":{"icon":"plug","name":"Sentry","description":"sentry.plugin.description"},"engines":{"npm":">=6.0.0","node":">=10.16.0 <=14.x.x"},"gitHead":"7102ebbcef1716b55f8a2ce8370f2cb1bd719a8a","_npmUser":{"name":"alexandrebodin","email":"bodin.alex@gmail.com"},"_npmVersion":"lerna/3.22.1/node@v12.16.3+x64 (darwin)","description":"Send Strapi error events to Sentry","directories":{},"_nodeVersion":"12.16.3","dependencies":{"@sentry/node":"6.1.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-sentry_3.5.0-next.0_1613583266956_0.8570354571531975","host":"s3://npm-registry-packages"}},"3.5.0-next.3":{"name":"strapi-plugin-sentry","version":"3.5.0-next.3","author":{"name":"A Strapi developer"},"license":"SEE LICENSE IN LICENSE","_id":"strapi-plugin-sentry@3.5.0-next.3","maintainers":[{"name":"lauriejim","email":"j.laurie6993@gmail.com"},{"name":"pierreburgy","email":"pierre.burgy@gmail.com"},{"name":"soupette","email":"cyril.lpz@gmail.com"},{"name":"aurelsicoko","email":"aurelsicoko@gmail.com"},{"name":"hichamelbsi","email":"elabbassih@gmail.com"},{"name":"alexandrebodin","email":"bodin.alex@gmail.com"},{"name":"petersg83","email":"petersg83@gmail.com"},{"name":"convly","email":"jean-sebastien.herbaux@hotmail.fr"}],"dist":{"shasum":"8a38634ef4640c88d5fdf13333568882b7d17f20","tarball":"https://registry.npmjs.org/strapi-plugin-sentry/-/strapi-plugin-sentry-3.5.0-next.3.tgz","fileCount":39,"integrity":"sha512-ktVi/iUkwtf+iKqVs3yIYYtKAZoNAiGWPFQj3zjkGFjqI65y7YN4jrFPAuFrPwfQlBy/ssuEjJlAGWKgxcKhaw==","signatures":[{"sig":"MEUCIF9tYSFzQ1gBEsei3QR543CztR8F4kJO1qYE2psHfnpCAiEAieFlaNH/kM2mmiMRc57WlLAy9HFCP/JxYp8PkCdadKs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16786,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgLVPrCRA9TVsSAnZWagAASm8QAKG8XdFgO+mYRciozz3n\nzNpKh5oriElj1NsBUoKVT1+cGql2KUKQtW+NisEB2RqaMy+Co7c2xZQrQXfO\nCejjtpuogb2SKCYSf++rH4p9B/RHYfulgjkQaeRKdGimy3UfMYL5W97tpk7M\n6XRFSqfXP3GJjIBv39wGJxxph9gVyUZXHPwJapDb9001yYeZKGy36bntTqFW\nphc0WQom+Hs57AWNCOFgkMeCtesWlW57MrDrOtawkKNHmxntd125e6jalXA4\nQgT/Y2ELQoZamAvl70UamJFoSAlDgvF+k2WUrRH8owdtDY6dREPAipl/HXEU\n6itfC9Tu4+eCFIUwhzgmyOOsZcR2QMsqqczVOQblAc6jw6WBydegD/I8UeTD\n2vQKeyG5GuAHkSrPcJMOdZ/dAZ9cOHLT+Q+UAIJD6pxANu5/5MuRluBOhCbs\nWYIIvmLlgSZkyNN6T27RphA3R0CMQm+p8y9GbPjBjtZB71mh4MKptxVOhfIv\n+t9xd6iwaVp4f87yFFk3c4Xc+DALMF7WGZacuc3y9IfamX08f+wmLkhep41x\nkgTb8wFuzZjHjv+YfHZ5QbAM0Dh8rj4rzGqR/eXuBhjX6aikccn3pjGTU3dh\nDFbR3k2gW3GLe4EgnRM6x7d0mgbLMWGqZYqF+unQLKK4UAuk7MopLZKKqJrX\nMIiy\r\n=ZIao\r\n-----END PGP SIGNATURE-----\r\n"},"readme":"# Strapi plugin Sentry\n\nThe official plugin to track Strapi errors with Sentry.\n\n## Features\n\n- Initialize a Sentry instance when your Strapi app starts\n- Send errors encountered in your application's end API to Sentry\n- Attach useful metadata to Sentry events, to help you with debugging\n- Expose a global Sentry service\n\n## Configuration\n\n| property       | type (default)   | description                                                                                                                                                                              |\n| -------------- | ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `dsn`          | string (`null`)  | Your Sentry data source name ([see Sentry docs](https://docs.sentry.io/product/sentry-basics/dsn-explainer/)).                                                                           |\n| `sendMetadata` | boolean (`true`) | Whether the plugin should attach additional information (like OS, browser, etc.) to the events sent to Sentry.                                                                           |\n| `init`         | object (`{}`)    | A config object that is passed directly to Sentry during the `Sentry.init()`. See all available options [on Sentry's docs](https://docs.sentry.io/platforms/node/configuration/options/) |\n\n**Example**\n\n`./config/plugins.js`\n\n```js\nmodule.exports = ({ env }) => ({\n  // ...\n  sentry: {\n    dsn: env('SENTRY_DSN'),\n    sendMetadata: true,\n  },\n  // ...\n});\n```\n\n## Global Sentry service\n\nYou can access a Sentry service throughout your app.\n\n```js\nconst sentryService = strapi.plugins.sentry.services.sentry;\n```\n\nThis service exposes the following methods:\n\n### `sendError(error, configureScope)`\n\nUse it to manually send errors to Sentry. The `configureScope` is optional, it allows you to customize the error event. Read more about Sentry's scope system [on their docs](https://docs.sentry.io/platforms/node/enriching-events/scopes/#configuring-the-scope).\n\n**Example**\n\n```js\ntry {\n  // Your code here\n} catch (error) {\n  // Either send a simple error\n  strapi.plugins.sentry.services.sentry.sendError(error);\n\n  // Or send an error with a customized Sentry scope\n  strapi.plugins.sentry.services.sentry.sendError(error, (scope, sentryInstance) => {\n    // Customize the scope here\n    scope.setTag('my_custom_tag', 'Tag value');\n  });\n  throw error;\n}\n```\n\n### `getInstance()`\n\nUse it if you need direct access to the Sentry instance, which should already already be initialized. It's useful if `sendError` doesn't suit your needs.\n\n**Example**\n\n```js\nconst sentryInstance = strapi.plugins.sentry.services.sentry.getInstance();\n```\n\n## Disabling\n\n### Disabling only the middleware\n\nBy default, this plugin uses a middleware that logs all your unhandled API errors to Sentry. You can disable this feature by turning off the `sentry` middleware in your app's config.\n\n**Example**\n\n`./config/middleware.js`\n\n```js\nmodule.exports = {\n  //...\n  settings: {\n    sentry: {\n      enabled: false,\n    },\n  },\n};\n```\n\nOnly the middleware will be disabled. You will still have access to the Sentry service.\n\n### Disabling the plugin entirely\n\nYou can also completely disable this plugin (both the middleware and the service). If you omit the `dsn` property of your plugin's settings, or if you give it a null value, the Sentry plugin will be ignored. You can use the `env` utility to disable it depending on the environment.\n\n**Example**\n\n`./config/plugins.js`\n\n```js\nmodule.exports = ({ env }) => ({\n  // ...\n  sentry: {\n    dsn: env('NODE_ENV') === 'development' ? null : env('SENTRY_DSN'),\n  },\n  // ...\n});\n```\n","strapi":{"icon":"plug","name":"Sentry","description":"sentry.plugin.description"},"engines":{"npm":">=6.0.0","node":">=10.16.0 <=14.x.x"},"gitHead":"7102ebbcef1716b55f8a2ce8370f2cb1bd719a8a","_npmUser":{"name":"alexandrebodin","email":"bodin.alex@gmail.com"},"_npmVersion":"lerna/3.22.1/node@v12.16.3+x64 (darwin)","description":"Send Strapi error events to Sentry","directories":{},"_nodeVersion":"12.16.3","dependencies":{"@sentry/node":"6.1.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-sentry_3.5.0-next.3_1613583339277_0.4860711351467213","host":"s3://npm-registry-packages"}},"3.5.0":{"name":"strapi-plugin-sentry","version":"3.5.0","author":{"name":"A Strapi developer"},"license":"SEE LICENSE IN LICENSE","_id":"strapi-plugin-sentry@3.5.0","maintainers":[{"name":"lauriejim","email":"j.laurie6993@gmail.com"},{"name":"pierreburgy","email":"pierre.burgy@gmail.com"},{"name":"soupette","email":"cyril.lpz@gmail.com"},{"name":"aurelsicoko","email":"aurelsicoko@gmail.com"},{"name":"hichamelbsi","email":"elabbassih@gmail.com"},{"name":"alexandrebodin","email":"bodin.alex@gmail.com"},{"name":"petersg83","email":"petersg83@gmail.com"},{"name":"convly","email":"jean-sebastien.herbaux@hotmail.fr"}],"dist":{"shasum":"202379369ba4949fdb672bf04610af15080687d0","tarball":"https://registry.npmjs.org/strapi-plugin-sentry/-/strapi-plugin-sentry-3.5.0.tgz","fileCount":39,"integrity":"sha512-pEf0ovLnmbrTJO5ftypzeLrnx1kad+oo3OAdcX9h7UkE+j4WAlp4wl2qspHWxtVQKX5WvjLRWFBD4I+nWI/s5g==","signatures":[{"sig":"MEQCICKcvRDykmzaJlZTww4kYsDYgjHEEW6I0O9FGrwbUsq/AiBHt4CBN2gGSGTUIt6iQGrRxQym5TwwATQX6S/ciykYsQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16986,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgLkFcCRA9TVsSAnZWagAAAG4P/3CXAuYcqez86SifGUpx\nCEbnZvbqDd96FveHOSYtAj5ab6tENFKeuLJK1xpOhMQi7xCJ3tByu+ZffMCd\nZBF/35o7jT3JvkYSWDz5HYA2oZSRuvwS3C/ZS+sqJMF25l8UkKRl3kElwwX8\noHiXLvpKsRR7PCuI+/yXRJ5od4KzZ0kV8Q8J+lk+oePHPEZAJLNL9OnayNL6\nJchQ7He5ILIR/bO4T1Gaq8QYsWFb/lkHghlLXm4VCqAcMMdRWH1D/YI3QqWb\nRZEDpbkQlV4ei3CLr/V3EoWldJbjl4J1mUghTeQvdLbJJVWHQOe1jyM4h7w7\nrTnR5afkUaxI7QNPA2SXv9vfVpGh1B5mJ73syQfPictfECTI+prfbVaaqvq7\nl7yLZBkjHXJ0QTXVqH2gb3Zx4Rh5/mtd7p4pmK9lh3Frc1HeOHh1SKBhvA/t\nnzEWD+onr97PSI5B9taPtAb/SV/ikoHapsL0fCd1cLNoUNWPzy7sWJY1caRd\nxyAcp7Lew+EPXX7xt3osWJV/z/+wFdL7VmnLphVJk9z9lrWvl8cierjdHyB8\n+VArGMfI5DCmATPg4hI3L5mw94vvbnwVtKkYH5zcN7cDbU2GATJvVxhhDtsy\n7ts1DCuA8IzppaEFht1ZaJgDeQQOHLDUPtWS/QrLryiZeGOzar4Rv1o3K6eU\nv0OA\r\n=Clic\r\n-----END PGP SIGNATURE-----\r\n"},"strapi":{"icon":"plug","name":"Sentry","description":"sentry.plugin.description"},"engines":{"npm":">=6.0.0","node":">=10.16.0 <=14.x.x"},"gitHead":"d02a7ba2fa6bdddc0a1fb3e85199cf36dd3d3eeb","_npmUser":{"name":"alexandrebodin","email":"bodin.alex@gmail.com"},"deprecated":"Strapi V3 is no longer maintained","_npmVersion":"lerna/3.22.1/node@v12.16.3+x64 (darwin)","description":"Send Strapi error events to Sentry","directories":{},"_nodeVersion":"12.16.3","dependencies":{"@sentry/node":"6.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-sentry_3.5.0_1613644124345_0.35848104394270197","host":"s3://npm-registry-packages"}},"3.5.1":{"name":"strapi-plugin-sentry","version":"3.5.1","author":{"name":"A Strapi developer"},"license":"SEE LICENSE IN LICENSE","_id":"strapi-plugin-sentry@3.5.1","maintainers":[{"name":"lauriejim","email":"j.laurie6993@gmail.com"},{"name":"pierreburgy","email":"pierre.burgy@gmail.com"},{"name":"soupette","email":"cyril.lpz@gmail.com"},{"name":"aurelsicoko","email":"aurelsicoko@gmail.com"},{"name":"hichamelbsi","email":"elabbassih@gmail.com"},{"name":"alexandrebodin","email":"bodin.alex@gmail.com"},{"name":"petersg83","email":"petersg83@gmail.com"},{"name":"convly","email":"jean-sebastien.herbaux@hotmail.fr"}],"dist":{"shasum":"34bf7f529f755a8c9235acce7a8f2a0a680ace99","tarball":"https://registry.npmjs.org/strapi-plugin-sentry/-/strapi-plugin-sentry-3.5.1.tgz","fileCount":39,"integrity":"sha512-gGYJxNHpM71Fw9XQzugJ9aeeYO1bG9ZMscgQWWsRcLIGlcEPIdKlkZeHJMubL8suzqmtdoF4umNzsfvC4wnVig==","signatures":[{"sig":"MEUCIQDMY9wnbl9SQre4A+qTfiLufvf60vWxt5Fx1eL0gNQf8AIgOYocHkmOSVNK0Br1xG+gEhmZnhcwfHCCuXfAL8WhgTY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16986,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgNNeoCRA9TVsSAnZWagAA0ogQAIuTo/77QmvOUx+QokGG\nv6x2NINSgw/uHmScn5mvbtFoV5kTJEQ1HEhlmIfhNd4V7TLaRT1OoG4hCmTf\nUx7woREy1nBoWNWR2TMgH1NHDEgs/oBZNLQcBcBtHF1gssHgZ7a/2L/Mc/ym\nM7PKGzV+dIG07UtUphjtSeLM9NTfwz2j4buOtsQCgC3F2dFx09t1JhdCN43r\naPhjl4ovmAL/J3jZ0xVcT4tXo7ZrL5+bXmAF7QQsi9JAX7JTQJee3T3QM0BR\nchdxVUOTbh0zXZTVxzhlCRLVLx+bKddlIJFLSePsGtuhD7X0rB7Rc+zMtPQR\nuPdSoHiZkNwgBrzEW8v6+Lq75aXX1ZRI0lYfFioNK8VEt5gbekd2E4VJojt+\nYkVyXy2cNOOV/vDMbpZkLLPa4HN4RFFk3FCp8zLwsVgf1I5vc09oh1ye86+w\nFX9lGLoqhZaeN3dSfLmz+McReF2YiTtsX4pkW9kASUp7P3673uPdB7ayR8ip\n/t/rSCVa6VKsqnhAwzQ/35+mEFAJVoTKgN4oJSwbr64mGdjlWl59XFKwBA9J\neMfrHh6WGXWxkMSvKBmdMMJIZ1DdKw3Yt7bAEuxWLlRB30lj3cChiQKYRIs/\nqmVQNwEE+9kdnQUZut2CQgRNjm2DeJ2Y5f6y+5K3YRz59pikc+ZcFLKCy4sR\nqijc\r\n=y8yc\r\n-----END PGP SIGNATURE-----\r\n"},"strapi":{"icon":"plug","name":"Sentry","description":"sentry.plugin.description"},"engines":{"npm":">=6.0.0","node":">=10.16.0 <=14.x.x"},"gitHead":"3cc49c4ea8a2ee454bdeb4da234dafee13eabfc4","_npmUser":{"name":"convly","email":"jean-sebastien.herbaux@hotmail.fr"},"deprecated":"Strapi V3 is no longer maintained","_npmVersion":"lerna/3.22.1/node@v12.18.4+x64 (linux)","description":"Send Strapi error events to Sentry","directories":{},"_nodeVersion":"12.18.4","dependencies":{"@sentry/node":"6.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-sentry_3.5.1_1614075815954_0.7054220149113395","host":"s3://npm-registry-packages"}},"3.5.2":{"name":"strapi-plugin-sentry","version":"3.5.2","author":{"name":"A Strapi developer"},"license":"SEE LICENSE IN LICENSE","_id":"strapi-plugin-sentry@3.5.2","maintainers":[{"name":"lauriejim","email":"j.laurie6993@gmail.com"},{"name":"pierreburgy","email":"pierre.burgy@gmail.com"},{"name":"soupette","email":"cyril.lpz@gmail.com"},{"name":"aurelsicoko","email":"aurelsicoko@gmail.com"},{"name":"hichamelbsi","email":"elabbassih@gmail.com"},{"name":"alexandrebodin","email":"bodin.alex@gmail.com"},{"name":"petersg83","email":"petersg83@gmail.com"},{"name":"convly","email":"jean-sebastien.herbaux@hotmail.fr"}],"dist":{"shasum":"1bd731d058f4ddd531c22ef550a0ea02b13e9eaf","tarball":"https://registry.npmjs.org/strapi-plugin-sentry/-/strapi-plugin-sentry-3.5.2.tgz","fileCount":39,"integrity":"sha512-UkhSj3u4PsH896XmBdGBh6Y3Iq/Ju107ALQPfbHjboKa7g1l4nevVRkjNoGkGvKVFF6Ukc73rlEVRkMEiGUMNw==","signatures":[{"sig":"MEYCIQClj0tNYT/QNQrSdCTkhdUMHhd4o6c9XE00AtnFvbYyygIhAKDL204cotlWjf9nsLUue42qWRmSfqoQBQneuGIxoxcC","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16986,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgPMEDCRA9TVsSAnZWagAAe2EP/AgaXzbPkDf4MbMqw09g\niKRXrFUFbpOffXevU1Qk9XB8Xb2VEp83kwwfSYeZ/JGYCh4wmWTOuf3bmKNw\nj5DadpZunfCq3MfLdMaAwuzg575bwq4shTQVNb87LOCW+QLOYZEhfFgFygVY\n37rUVu59XRLMKt7ItJFGJCg0DfqEA8TKdAGRCT9TD8vSa7efJskZ5TFTzzJ4\nYNuOBhARv3K1ShOVBMSXlWIH2LaNDmCqhHRYq3TWfg9AWJ5r4E5hPi/yP1Qg\nWYovEeoFKcmkB7H/symAdxmeR38gmdic3UZatkHTF+qFyuwgvrBThHzmfvaD\nQEPqboW9ajb08QyZy6Rotf3dgl6i8oHycyqloQOSgczWtsPLLmK/FS7cRlwX\nX0aQKSgqhiarBGkJWvLtla5BletLNZYIRZOBHdliD/Av/l4jXS1s8iL5tYyC\n5HWpGhWTMhNpHIq2llHLz0kXeAINlOJl1Bbl9tjTjhL20eKSa3H93w3LidV1\nTjr9Ne/kPdoa2eIkyrhTc8Q2LWzRemTTEC2H1lugFc7TSWrfH1DSZ7h35KHc\nVD3dxu8boRdM+5DM+Sr1V71uZ5R37m9FyKWxhxjGrGJ7gRroSbGpIM1OIMxl\nL5vLWL7Yu9qYJlfDKYZ3iF3dMcpHR/3vr1X7ZH7kWvIkd3f2+EbQmFna5NEZ\nAsaz\r\n=TXbW\r\n-----END PGP SIGNATURE-----\r\n"},"strapi":{"icon":"plug","name":"Sentry","description":"sentry.plugin.description"},"engines":{"npm":">=6.0.0","node":">=10.16.0 <=14.x.x"},"gitHead":"1a472c98a7738ae3746c4a8e535c5e9cfcfe5926","_npmUser":{"name":"alexandrebodin","email":"bodin.alex@gmail.com"},"deprecated":"Strapi V3 is no longer maintained","_npmVersion":"lerna/3.22.1/node@v14.16.0+x64 (darwin)","description":"Send Strapi error events to Sentry","directories":{},"_nodeVersion":"14.16.0","dependencies":{"@sentry/node":"6.2.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-sentry_3.5.2_1614594306900_0.9556764465635346","host":"s3://npm-registry-packages"}},"3.5.3":{"name":"strapi-plugin-sentry","version":"3.5.3","author":{"name":"A Strapi developer"},"license":"SEE LICENSE IN LICENSE","_id":"strapi-plugin-sentry@3.5.3","maintainers":[{"name":"lauriejim","email":"j.laurie6993@gmail.com"},{"name":"pierreburgy","email":"pierre.burgy@gmail.com"},{"name":"soupette","email":"cyril.lpz@gmail.com"},{"name":"aurelsicoko","email":"aurelsicoko@gmail.com"},{"name":"hichamelbsi","email":"elabbassih@gmail.com"},{"name":"alexandrebodin","email":"bodin.alex@gmail.com"},{"name":"petersg83","email":"petersg83@gmail.com"},{"name":"convly","email":"jean-sebastien.herbaux@hotmail.fr"}],"dist":{"shasum":"05befe2f989963f67180359f0d0e44a0923da474","tarball":"https://registry.npmjs.org/strapi-plugin-sentry/-/strapi-plugin-sentry-3.5.3.tgz","fileCount":39,"integrity":"sha512-qm+9LRCMRJhQAUSP2+szNCRlj2G741KIbf7e97ak5lDK1GhHjDVz8Qj0WYADHBJzVOcZU6bnd2BCjqU/J0+Cdg==","signatures":[{"sig":"MEYCIQCxtNpHTEBz8oZCsvVLx+V0LrzOrYF9R7z6J23I8EkeoQIhAIHddXpYtf1pAb141qmrWiplmdNNQKOLb8hMueLCSrYO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16986,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgShpgCRA9TVsSAnZWagAAQmcP/29N1iG8uFGy1Nlnrzaq\nXGh4LGSZbfZ9Yg9IyAYsuR+OLCdWJd9y/jRthxj4eTJ2CpSFCpYM9FCc1mMP\noiCjHlyj/DaqOKtJJLGMHVELcCHWOa0MDpU2nDCjGVE12b4d0PXSLZpCug3D\nVWt7Ds7be27IefqL9mCZgz6Q93DZP6DVufj8547yzyDZC8xuzRnJ+JUODP33\n6VY841FlX2GhKLOP5sP0oirpZKXLkTxIGTZVvk6WHAoGQAxfWxWwt1HxxSyl\nkd5JodoMahvzYzD9zSptmwjuJzSAciIRPGMKiMdWHOYvNEONiT3F2MkJKlE+\n2HjeU/fsrNRrgVrzBhKAUbszq0kQ3IYwv10mT5ON1sDHo/oxiJmXdKBjO9jU\nRCDuu6C5+j0Q0qf0AuojZxi7+MOgBbCLwe1ZO5pFjG4BvJxci1cInoZp2jwx\nCPtfoMPjsCtLz9YIZ55KGI7fIoEU6p5shMg6SoP7j3J7rcDSfpkIbvBt9Wyq\niLWjAZXb5dLXFa4oc+i+3x2op6uIPTNA6xz1zMxjvKE/4EU3zd88944BQnZW\n5hQE2ZERRWep6O5roWCTCHOi7VOhlx+gUDExafqZU7wT5b5DmCWCsszuWMr9\nfi4xTK/sT6cwFocgJVP5LPqOMgu0Vgr3Ku4O6MefOT+HqgAKZ47M6Bd7hvSH\nHGKW\r\n=szk7\r\n-----END PGP SIGNATURE-----\r\n"},"strapi":{"icon":"plug","name":"Sentry","description":"sentry.plugin.description"},"engines":{"npm":">=6.0.0","node":">=10.16.0 <=14.x.x"},"gitHead":"33552e43b856e5358fd0d7bf9f4c2339bab6dc4b","_npmUser":{"name":"alexandrebodin","email":"bodin.alex@gmail.com"},"deprecated":"Strapi V3 is no longer maintained","_npmVersion":"lerna/3.22.1/node@v12.21.0+x64 (darwin)","description":"Send Strapi error events to Sentry","directories":{},"_nodeVersion":"12.21.0","dependencies":{"@sentry/node":"6.2.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-sentry_3.5.3_1615469152021_0.19958693763190727","host":"s3://npm-registry-packages"}},"3.5.4-next.0":{"name":"strapi-plugin-sentry","version":"3.5.4-next.0","author":{"name":"A Strapi developer"},"license":"SEE LICENSE IN LICENSE","_id":"strapi-plugin-sentry@3.5.4-next.0","maintainers":[{"name":"lauriejim","email":"j.laurie6993@gmail.com"},{"name":"pierreburgy","email":"pierre.burgy@gmail.com"},{"name":"soupette","email":"cyril.lpz@gmail.com"},{"name":"aurelsicoko","email":"aurelsicoko@gmail.com"},{"name":"hichamelbsi","email":"elabbassih@gmail.com"},{"name":"alexandrebodin","email":"bodin.alex@gmail.com"},{"name":"petersg83","email":"petersg83@gmail.com"},{"name":"convly","email":"jean-sebastien.herbaux@hotmail.fr"}],"dist":{"shasum":"d85282ad8f0b293a5562849fd53f90073cc9e6a5","tarball":"https://registry.npmjs.org/strapi-plugin-sentry/-/strapi-plugin-sentry-3.5.4-next.0.tgz","fileCount":39,"integrity":"sha512-dnOnfSrNGN/y4TBxA9oHvekVwJZnOxaMlYf/FbqMHkutASxT8KZSDtMx0F0vYxdWa7gTyw+LR4+2YdKs4ZeApA==","signatures":[{"sig":"MEYCIQC5uDZdhjoZjPk8ijoeNpAi5ANru4zCeVF5q6FnyJF7oQIhAODQZA7QmsDoY93MO2BwnPjjWMYjrC3g8zvWZjaBJxl3","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16993,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgXIwcCRA9TVsSAnZWagAASqIP/jkDVyNnm1bh7R1UpFTR\nVo/XS+QLgVveCrWy723sctwZgD1ueYf1kQ67A44lF1OXihMh/BCcpNU9++2u\ngblh8f30Xkl1z9IMIbs27u1x2mqC626J5aCuXkr7OnYfdWCzw02d+JTE74zQ\nWV2N3gcRW7gILtmQxr64gSvMJlasd3f2C3oHo+8q+auZzQa5dE9sm0pLXldm\nK0iYpWX2QAbZ5Y56B6TaRfzRpidkIL/mCUY5FLuwdEnFESWuaTHSQbU+8NxD\n4FvdtEtAQA/cpmk/mvf/3uTHHLo+VC8eawAu73w+d+NM3sSsoiZxvkh/bAqS\nVGVBtPCzhQG4xUy+BrrYv/bO32guw3NfbELFThHLy/YiypsRNaQcB0t6bXDs\n4t99jJw96crPw0Ugkv/8TSHcKA2kgoS7A7MD0ZfSMNkkgx5F9zH3ci+eN4wv\nKo69aHQJU1/WtuRKXANERUfsmKZYt2jSTagArbxPt01DXnf1DWKXP8XGmcfF\nqeqid28etw2xAMGXVvhbds2rJnab0wZ58zX6FHSxyWQA6feZCorhJwn8q1Ek\noqbw+hWrTNKn+DkUUaxzLsPHtuX8lrFrVCbDVY0RILos5S0Ry/TBLAoL1/Dx\nHXFucN+XeZpBZ+bO6U+kTH03nxs03Ou+Pq3/B2zLl4bX1fgY+PilWPUdD3yv\nJc9l\r\n=j+j2\r\n-----END PGP SIGNATURE-----\r\n"},"readme":"# Strapi plugin Sentry\n\nThe official plugin to track Strapi errors with Sentry.\n\n## Features\n\n- Initialize a Sentry instance when your Strapi app starts\n- Send errors encountered in your application's end API to Sentry\n- Attach useful metadata to Sentry events, to help you with debugging\n- Expose a global Sentry service\n\n## Installation\n\nTo install this plugin, you need to add an NPM dependency to your Strapi application.\n\n```sh\n# Using Yarn\nyarn add strapi-plugin-sentry\n\n# Or using NPM\nnpm install strapi-plugin-sentry\n```\n\n## Configuration\n\n| property       | type (default)   | description                                                                                                                                                                              |\n| -------------- | ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `dsn`          | string (`null`)  | Your Sentry data source name ([see Sentry docs](https://docs.sentry.io/product/sentry-basics/dsn-explainer/)).                                                                           |\n| `sendMetadata` | boolean (`true`) | Whether the plugin should attach additional information (like OS, browser, etc.) to the events sent to Sentry.                                                                           |\n| `init`         | object (`{}`)    | A config object that is passed directly to Sentry during the `Sentry.init()`. See all available options [on Sentry's docs](https://docs.sentry.io/platforms/node/configuration/options/) |\n\n**Example**\n\n`./config/plugins.js`\n\n```js\nmodule.exports = ({ env }) => ({\n  // ...\n  sentry: {\n    dsn: env('SENTRY_DSN'),\n    sendMetadata: true,\n  },\n  // ...\n});\n```\n\n## Global Sentry service\n\nYou can access a Sentry service throughout your app.\n\n```js\nconst sentryService = strapi.plugins.sentry.services.sentry;\n```\n\nThis service exposes the following methods:\n\n### `sendError(error, configureScope)`\n\nUse it to manually send errors to Sentry. The `configureScope` is optional, it allows you to customize the error event. Read more about Sentry's scope system [on their docs](https://docs.sentry.io/platforms/node/enriching-events/scopes/#configuring-the-scope).\n\n**Example**\n\n```js\ntry {\n  // Your code here\n} catch (error) {\n  // Either send a simple error\n  strapi.plugins.sentry.services.sentry.sendError(error);\n\n  // Or send an error with a customized Sentry scope\n  strapi.plugins.sentry.services.sentry.sendError(error, (scope, sentryInstance) => {\n    // Customize the scope here\n    scope.setTag('my_custom_tag', 'Tag value');\n  });\n  throw error;\n}\n```\n\n### `getInstance()`\n\nUse it if you need direct access to the Sentry instance, which should already already be initialized. It's useful if `sendError` doesn't suit your needs.\n\n**Example**\n\n```js\nconst sentryInstance = strapi.plugins.sentry.services.sentry.getInstance();\n```\n\n## Disabling\n\n### Disabling only the middleware\n\nBy default, this plugin uses a middleware that logs all your unhandled API errors to Sentry. You can disable this feature by turning off the `sentry` middleware in your app's config.\n\n**Example**\n\n`./config/middleware.js`\n\n```js\nmodule.exports = {\n  //...\n  settings: {\n    sentry: {\n      enabled: false,\n    },\n  },\n};\n```\n\nOnly the middleware will be disabled. You will still have access to the Sentry service.\n\n### Disabling the plugin entirely\n\nYou can also completely disable this plugin (both the middleware and the service). If you omit the `dsn` property of your plugin's settings, or if you give it a null value, the Sentry plugin will be ignored. You can use the `env` utility to disable it depending on the environment.\n\n**Example**\n\n`./config/plugins.js`\n\n```js\nmodule.exports = ({ env }) => ({\n  // ...\n  sentry: {\n    dsn: env('NODE_ENV') === 'development' ? null : env('SENTRY_DSN'),\n  },\n  // ...\n});\n```\n","strapi":{"icon":"plug","name":"Sentry","description":"sentry.plugin.description"},"engines":{"npm":">=6.0.0","node":">=10.16.0 <=14.x.x"},"gitHead":"5505efd304bb27c5e78f4467de676cb70fa02e1e","_npmUser":{"name":"alexandrebodin","email":"bodin.alex@gmail.com"},"_npmVersion":"lerna/3.22.1/node@v12.21.0+x64 (darwin)","description":"Send Strapi error events to Sentry","directories":{},"_nodeVersion":"12.21.0","dependencies":{"@sentry/node":"6.2.3"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-sentry_3.5.4-next.0_1616677915644_0.27548224070448835","host":"s3://npm-registry-packages"}},"3.5.4":{"name":"strapi-plugin-sentry","version":"3.5.4","author":{"name":"A Strapi developer"},"license":"SEE LICENSE IN LICENSE","_id":"strapi-plugin-sentry@3.5.4","maintainers":[{"name":"lauriejim","email":"j.laurie6993@gmail.com"},{"name":"pierreburgy","email":"pierre.burgy@gmail.com"},{"name":"soupette","email":"cyril.lpz@gmail.com"},{"name":"aurelsicoko","email":"aurelsicoko@gmail.com"},{"name":"hichamelbsi","email":"elabbassih@gmail.com"},{"name":"alexandrebodin","email":"bodin.alex@gmail.com"},{"name":"petersg83","email":"petersg83@gmail.com"},{"name":"convly","email":"jean-sebastien.herbaux@hotmail.fr"}],"dist":{"shasum":"1b3eaf657483624399e8bc0f85202747328d0714","tarball":"https://registry.npmjs.org/strapi-plugin-sentry/-/strapi-plugin-sentry-3.5.4.tgz","fileCount":39,"integrity":"sha512-w/5mlQEGJTQzGqAGwRUF8h7ow3KdYGC2mq5QhDHr5XtKJUxS9/0VGS8nHHHKX7qeeXCUZHNX6iMddeDmXVPR0A==","signatures":[{"sig":"MEQCIFvNWL9e8Ez6Lrop79siiIAmDQ1+dh4oHRRs6waLVAxyAiAMmfEelBkqPlv8WEDprFv6kPMVgZ5K36devl3FN5EuFw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16986,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgXJGFCRA9TVsSAnZWagAAQMcP/0u2IDhKQaolEXPiYSCu\nPcZYbxEE3+MuwwHvnEz+5/jn0IIVOfyycvWrAPCvD3trhS49QHQZM+AoFRdU\nXa9SKqgOoAmpGj/mEKY9JQNM2Syc3EKXIlZiHy99xQbZLcPrrWI97qLWsxaJ\nAcuzMW9mmo8sUYMzjuylczWtbqXwFZlaUWStQmHnkpEyO7X/6qDpSd7X5IK1\n/XPah5fqzi22g+2XAfCjMNnKczAl1sQEeN/g2qwVmnplglLZ5ktOteDn5h2N\n3LKnO9KE65ipG5W7693aPRPsL7nLKD4PE9ktr5QXrnFlKmqFOxkIklmisE+u\nDhDwBBHPUMKOMe/9OZxx+Hw5ssPUrOakUa3GprBTF7vUu4utu9JAy/g2+w1I\nPNzVtOACQB/kHeTJ21HjA8Sg4xGDI8Vn0+td3yrlGozwO0rmbM6MtlLHjO4A\n/vRfFUkJTg76EOglnpM5h7CIVdE+FRXRXF0qGitUkxQu3mUXVKXChlTKpUbS\nH9iyubFjhpUzz/C6BUH8qxA4r0QlwIroqoZ0Sw8bkNIYA1G+uwV9trMdsuqW\nlzUVYSkaR+Fidl/Bdn/lQCmWUNEhAZA8pAlpIWFZxbY9F0LbYcvjhpERDyOF\nsZIRmFIMq30jDIsziGp8PpOuduyKQJHnQd45HSotxu6fojXkBblf5HXLmlZ7\n5kW9\r\n=xmlq\r\n-----END PGP SIGNATURE-----\r\n"},"strapi":{"icon":"plug","name":"Sentry","description":"sentry.plugin.description"},"engines":{"npm":">=6.0.0","node":">=10.16.0 <=14.x.x"},"gitHead":"3065d72a4b9ef04a94bb5f3f62683cf59712e69b","_npmUser":{"name":"alexandrebodin","email":"bodin.alex@gmail.com"},"deprecated":"Strapi V3 is no longer maintained","_npmVersion":"lerna/3.22.1/node@v12.21.0+x64 (darwin)","description":"Send Strapi error events to Sentry","directories":{},"_nodeVersion":"12.21.0","dependencies":{"@sentry/node":"6.2.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-sentry_3.5.4_1616679301437_0.3815955834481608","host":"s3://npm-registry-packages"}},"3.6.0-next.0":{"name":"strapi-plugin-sentry","version":"3.6.0-next.0","author":{"name":"A Strapi developer"},"license":"SEE LICENSE IN LICENSE","_id":"strapi-plugin-sentry@3.6.0-next.0","maintainers":[{"name":"lauriejim","email":"j.laurie6993@gmail.com"},{"name":"pierreburgy","email":"pierre.burgy@gmail.com"},{"name":"soupette","email":"cyril.lpz@gmail.com"},{"name":"aurelsicoko","email":"aurelsicoko@gmail.com"},{"name":"hichamelbsi","email":"elabbassih@gmail.com"},{"name":"alexandrebodin","email":"bodin.alex@gmail.com"},{"name":"petersg83","email":"petersg83@gmail.com"},{"name":"convly","email":"jean-sebastien.herbaux@hotmail.fr"}],"dist":{"shasum":"037610fe55f65d1c814a69c6740240639a5b9e33","tarball":"https://registry.npmjs.org/strapi-plugin-sentry/-/strapi-plugin-sentry-3.6.0-next.0.tgz","fileCount":39,"integrity":"sha512-vEwXNAfRgBpvK3+1jxRdC4Q7Cbg+7XmPVouoGMJv959ziAknt6gcYODts6gXVpN0DAQh1INL0BL0rfJTwmLgag==","signatures":[{"sig":"MEYCIQD59I/r8OuC7FOWP9LazUfXslbbMhBC1s08iNe1a4PlFgIhANcO3SqfKIs67xWjvdIRpax/5qJiTZUslJFSx44NafmL","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16993,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgZzoTCRA9TVsSAnZWagAACewQAJeDS3oIESYXlc40Q3Bv\n7+BAPQmyEDgUQDhE1YCYrNvQxGY1ar2bXvYZUxak1jbyXfUh5M2wAZR6Pkus\nrALjavuAsbaqDOdfjrLz0x6w1JQq5kVDEMOHV4XIUhIRts5lz6d39oyQEik5\nWD6qr6s4akOmKYXfe9pxM7jsxn+IGuqQFDxM3kdUOwE62qBts/rQiUL8c+jA\n+H4FzLHtPXPGfY7DkMpf+BeLl2cAbvlxYxA75y+T/+5cQnAhQLoosMJR79oI\nuP4d8kAIlNdm0PFDmXyiFERaX1I9RDBP3KZeTmIEn5mX1QMrJrSWWZ0Ktked\nhEsadK8mJviGnbILZ/PkEZK7aXUOQ/P1hMYU4RK9fcRDGJ1tPgePGTUlYfb4\nOSZZB/zW+H+0Y9KpgD6FLnVryKB7OtmSLITmjQ3MBp2Y8jDczUYGlbVcMk69\ns7kBUUwUpQGwXt18SLdSicvKYen7/Q0I2yFAreho2tpvp8rdf1LwzCbkDJQ0\nNiV7ZCZxQMdsj8RULyort0eqqPJjhddXXOuDVz0iz3SOffJCONuP6j/U5ycu\nkCHbCmkvFBBeLRQZ1hSeusKD1fJUtprzq7+U7ibD/o/K5u48LRyp4c3KgPsb\nhOg8w9Vri0kP6CMLiVNa7udzjhm5gW7/ZKHPq9PIl0A2iBSsMuO63ZIuS85w\nXqK+\r\n=GNGB\r\n-----END PGP SIGNATURE-----\r\n"},"readme":"# Strapi plugin Sentry\n\nThe official plugin to track Strapi errors with Sentry.\n\n## Features\n\n- Initialize a Sentry instance when your Strapi app starts\n- Send errors encountered in your application's end API to Sentry\n- Attach useful metadata to Sentry events, to help you with debugging\n- Expose a global Sentry service\n\n## Installation\n\nTo install this plugin, you need to add an NPM dependency to your Strapi application.\n\n```sh\n# Using Yarn\nyarn add strapi-plugin-sentry\n\n# Or using NPM\nnpm install strapi-plugin-sentry\n```\n\n## Configuration\n\n| property       | type (default)   | description                                                                                                                                                                              |\n| -------------- | ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `dsn`          | string (`null`)  | Your Sentry data source name ([see Sentry docs](https://docs.sentry.io/product/sentry-basics/dsn-explainer/)).                                                                           |\n| `sendMetadata` | boolean (`true`) | Whether the plugin should attach additional information (like OS, browser, etc.) to the events sent to Sentry.                                                                           |\n| `init`         | object (`{}`)    | A config object that is passed directly to Sentry during the `Sentry.init()`. See all available options [on Sentry's docs](https://docs.sentry.io/platforms/node/configuration/options/) |\n\n**Example**\n\n`./config/plugins.js`\n\n```js\nmodule.exports = ({ env }) => ({\n  // ...\n  sentry: {\n    dsn: env('SENTRY_DSN'),\n    sendMetadata: true,\n  },\n  // ...\n});\n```\n\n## Global Sentry service\n\nYou can access a Sentry service throughout your app.\n\n```js\nconst sentryService = strapi.plugins.sentry.services.sentry;\n```\n\nThis service exposes the following methods:\n\n### `sendError(error, configureScope)`\n\nUse it to manually send errors to Sentry. The `configureScope` is optional, it allows you to customize the error event. Read more about Sentry's scope system [on their docs](https://docs.sentry.io/platforms/node/enriching-events/scopes/#configuring-the-scope).\n\n**Example**\n\n```js\ntry {\n  // Your code here\n} catch (error) {\n  // Either send a simple error\n  strapi.plugins.sentry.services.sentry.sendError(error);\n\n  // Or send an error with a customized Sentry scope\n  strapi.plugins.sentry.services.sentry.sendError(error, (scope, sentryInstance) => {\n    // Customize the scope here\n    scope.setTag('my_custom_tag', 'Tag value');\n  });\n  throw error;\n}\n```\n\n### `getInstance()`\n\nUse it if you need direct access to the Sentry instance, which should already already be initialized. It's useful if `sendError` doesn't suit your needs.\n\n**Example**\n\n```js\nconst sentryInstance = strapi.plugins.sentry.services.sentry.getInstance();\n```\n\n## Disabling\n\n### Disabling only the middleware\n\nBy default, this plugin uses a middleware that logs all your unhandled API errors to Sentry. You can disable this feature by turning off the `sentry` middleware in your app's config.\n\n**Example**\n\n`./config/middleware.js`\n\n```js\nmodule.exports = {\n  //...\n  settings: {\n    sentry: {\n      enabled: false,\n    },\n  },\n};\n```\n\nOnly the middleware will be disabled. You will still have access to the Sentry service.\n\n### Disabling the plugin entirely\n\nYou can also completely disable this plugin (both the middleware and the service). If you omit the `dsn` property of your plugin's settings, or if you give it a null value, the Sentry plugin will be ignored. You can use the `env` utility to disable it depending on the environment.\n\n**Example**\n\n`./config/plugins.js`\n\n```js\nmodule.exports = ({ env }) => ({\n  // ...\n  sentry: {\n    dsn: env('NODE_ENV') === 'development' ? null : env('SENTRY_DSN'),\n  },\n  // ...\n});\n```\n","strapi":{"icon":"plug","name":"Sentry","description":"sentry.plugin.description"},"engines":{"npm":">=6.0.0","node":">=10.16.0 <=14.x.x"},"gitHead":"fd18d2a67aec0bd2c76a375297ac30d4c3c0dfb7","_npmUser":{"name":"alexandrebodin","email":"bodin.alex@gmail.com"},"_npmVersion":"lerna/3.22.1/node@v12.21.0+x64 (darwin)","description":"Send Strapi error events to Sentry","directories":{},"_nodeVersion":"12.21.0","dependencies":{"@sentry/node":"6.2.3"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-sentry_3.6.0-next.0_1617377810730_0.4159735608953752","host":"s3://npm-registry-packages"}},"3.6.0-beta.0":{"name":"strapi-plugin-sentry","version":"3.6.0-beta.0","author":{"name":"A Strapi developer"},"license":"SEE LICENSE IN LICENSE","_id":"strapi-plugin-sentry@3.6.0-beta.0","maintainers":[{"name":"lauriejim","email":"j.laurie6993@gmail.com"},{"name":"pierreburgy","email":"pierre.burgy@gmail.com"},{"name":"soupette","email":"cyril.lpz@gmail.com"},{"name":"aurelsicoko","email":"aurelsicoko@gmail.com"},{"name":"hichamelbsi","email":"elabbassih@gmail.com"},{"name":"alexandrebodin","email":"bodin.alex@gmail.com"},{"name":"petersg83","email":"petersg83@gmail.com"},{"name":"convly","email":"jean-sebastien.herbaux@hotmail.fr"}],"dist":{"shasum":"0a8b9b7670fd6f9c42590f6ca0257eba840c1d2d","tarball":"https://registry.npmjs.org/strapi-plugin-sentry/-/strapi-plugin-sentry-3.6.0-beta.0.tgz","fileCount":39,"integrity":"sha512-zu6/9Ja0t/ITIK9HpmEF4D6zMSssVmol1ToV6Fq2Xe9nQ/4ji3+4R0JuGF1yIB9VCaT964o6YU83lUDrxKqczw==","signatures":[{"sig":"MEUCIETZLBErC/pjhLHpBgWPGemMuEThewa1fzQHaRp4ArkmAiEAgDWui/RrJgyd3J5mBnHir8UPp0Vz0qxursOXR+hMsCU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16993,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgZz0kCRA9TVsSAnZWagAAQW8P/3F8qMH/RWC94Psjjyx+\nPAhxmFfTjezqMDM72LGqxNcTksInBLMnD88z4/m40oS7q3Mkg18WJ24EDqow\ntHIrwk1tqRqaY5sn7Q9q4e11WMXyIrDtpHfblWk41Jz2UjNqG06VYnsWOZOL\n7I2X3oGwlK4a0kCztAXGKw8jMZXYyplgN8d2dKAsEYWY0bLPP5kl4ZlMkMKT\ni2tnPNqn4dCECNnJsKYrGZL9oRBSttuzVJRaC9C8gt8WE3U+E0jZVkGY2hiB\nJjRoIp4j0Fwgxr6jIR33uyLmuEdDUp3YO5N7gC5kNyfweKUcYAQgOy0LAR+w\n/b8G9uTPFagQq0hgP0XtG25dodpcDx6fzLMPnHYHKXgcEbjEQZd/LG3j0Z4d\nWLA83TsmHG6L64xLR8d0PpQ8itODFWuBI8M991irX/sN4wmSCWmUPHbfAN7b\n4+fec7OdjNFLE8o+MBC42mqt0NNMAFo/+DEbq3cBYL0qSh1kd5j8Kd5q6OcC\nLSMtcb27QLBEHD6O3bCQrZXdldo6jhAMipORdejc1gtAKLR62X/E9DdMWozv\n9wt20UToqSDND6hyAv7wIeYpKvAq30AfjXVPNdsok5mDnr5kq11+U6GIerQo\nBqnSwDsls5tUQTeJBlGeNjdhUDd7yNtwBgI3Dw128s5jkXRBV/CD0LrOVZ1v\nAXHx\r\n=Zjnw\r\n-----END PGP SIGNATURE-----\r\n"},"readme":"# Strapi plugin Sentry\n\nThe official plugin to track Strapi errors with Sentry.\n\n## Features\n\n- Initialize a Sentry instance when your Strapi app starts\n- Send errors encountered in your application's end API to Sentry\n- Attach useful metadata to Sentry events, to help you with debugging\n- Expose a global Sentry service\n\n## Installation\n\nTo install this plugin, you need to add an NPM dependency to your Strapi application.\n\n```sh\n# Using Yarn\nyarn add strapi-plugin-sentry\n\n# Or using NPM\nnpm install strapi-plugin-sentry\n```\n\n## Configuration\n\n| property       | type (default)   | description                                                                                                                                                                              |\n| -------------- | ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `dsn`          | string (`null`)  | Your Sentry data source name ([see Sentry docs](https://docs.sentry.io/product/sentry-basics/dsn-explainer/)).                                                                           |\n| `sendMetadata` | boolean (`true`) | Whether the plugin should attach additional information (like OS, browser, etc.) to the events sent to Sentry.                                                                           |\n| `init`         | object (`{}`)    | A config object that is passed directly to Sentry during the `Sentry.init()`. See all available options [on Sentry's docs](https://docs.sentry.io/platforms/node/configuration/options/) |\n\n**Example**\n\n`./config/plugins.js`\n\n```js\nmodule.exports = ({ env }) => ({\n  // ...\n  sentry: {\n    dsn: env('SENTRY_DSN'),\n    sendMetadata: true,\n  },\n  // ...\n});\n```\n\n## Global Sentry service\n\nYou can access a Sentry service throughout your app.\n\n```js\nconst sentryService = strapi.plugins.sentry.services.sentry;\n```\n\nThis service exposes the following methods:\n\n### `sendError(error, configureScope)`\n\nUse it to manually send errors to Sentry. The `configureScope` is optional, it allows you to customize the error event. Read more about Sentry's scope system [on their docs](https://docs.sentry.io/platforms/node/enriching-events/scopes/#configuring-the-scope).\n\n**Example**\n\n```js\ntry {\n  // Your code here\n} catch (error) {\n  // Either send a simple error\n  strapi.plugins.sentry.services.sentry.sendError(error);\n\n  // Or send an error with a customized Sentry scope\n  strapi.plugins.sentry.services.sentry.sendError(error, (scope, sentryInstance) => {\n    // Customize the scope here\n    scope.setTag('my_custom_tag', 'Tag value');\n  });\n  throw error;\n}\n```\n\n### `getInstance()`\n\nUse it if you need direct access to the Sentry instance, which should already already be initialized. It's useful if `sendError` doesn't suit your needs.\n\n**Example**\n\n```js\nconst sentryInstance = strapi.plugins.sentry.services.sentry.getInstance();\n```\n\n## Disabling\n\n### Disabling only the middleware\n\nBy default, this plugin uses a middleware that logs all your unhandled API errors to Sentry. You can disable this feature by turning off the `sentry` middleware in your app's config.\n\n**Example**\n\n`./config/middleware.js`\n\n```js\nmodule.exports = {\n  //...\n  settings: {\n    sentry: {\n      enabled: false,\n    },\n  },\n};\n```\n\nOnly the middleware will be disabled. You will still have access to the Sentry service.\n\n### Disabling the plugin entirely\n\nYou can also completely disable this plugin (both the middleware and the service). If you omit the `dsn` property of your plugin's settings, or if you give it a null value, the Sentry plugin will be ignored. You can use the `env` utility to disable it depending on the environment.\n\n**Example**\n\n`./config/plugins.js`\n\n```js\nmodule.exports = ({ env }) => ({\n  // ...\n  sentry: {\n    dsn: env('NODE_ENV') === 'development' ? null : env('SENTRY_DSN'),\n  },\n  // ...\n});\n```\n","strapi":{"icon":"plug","name":"Sentry","description":"sentry.plugin.description"},"engines":{"npm":">=6.0.0","node":">=10.16.0 <=14.x.x"},"gitHead":"fd18d2a67aec0bd2c76a375297ac30d4c3c0dfb7","_npmUser":{"name":"alexandrebodin","email":"bodin.alex@gmail.com"},"_npmVersion":"lerna/3.22.1/node@v12.21.0+x64 (darwin)","description":"Send Strapi error events to Sentry","directories":{},"_nodeVersion":"12.21.0","dependencies":{"@sentry/node":"6.2.3"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-sentry_3.6.0-beta.0_1617378596016_0.33295906936185515","host":"s3://npm-registry-packages"}},"3.6.0-beta.1":{"name":"strapi-plugin-sentry","version":"3.6.0-beta.1","author":{"name":"A Strapi developer"},"license":"SEE LICENSE IN LICENSE","_id":"strapi-plugin-sentry@3.6.0-beta.1","maintainers":[{"name":"lauriejim","email":"j.laurie6993@gmail.com"},{"name":"pierreburgy","email":"pierre.burgy@gmail.com"},{"name":"soupette","email":"cyril.lpz@gmail.com"},{"name":"aurelsicoko","email":"aurelsicoko@gmail.com"},{"name":"hichamelbsi","email":"elabbassih@gmail.com"},{"name":"alexandrebodin","email":"bodin.alex@gmail.com"},{"name":"petersg83","email":"petersg83@gmail.com"},{"name":"convly","email":"jean-sebastien.herbaux@hotmail.fr"}],"dist":{"shasum":"77a6101a8cedd1a9acbd6ee9262b17cae825aaa3","tarball":"https://registry.npmjs.org/strapi-plugin-sentry/-/strapi-plugin-sentry-3.6.0-beta.1.tgz","fileCount":39,"integrity":"sha512-fyIQKrp74Pzja00zzV9f/PjhIu6DdiVATXGG3gYIQt2wCKzQLEFXcKeZZixvfuk1g/qrlxvcWO8SMn4UEQF8hA==","signatures":[{"sig":"MEYCIQDx0GBXaAcru2JCIOeaRv1mr5FtiA1cCRr8LizYW+k9qgIhAPaMGFtCeEzLXghMN1dNgYJf4+XZdoQHrGUbeCcckBwh","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16993,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgb0L7CRA9TVsSAnZWagAAY1MQAJz6AmpijzSVrga/A9Jh\n64yyC3JVK0zVRcgRhqoBRT+k7LtY1PmhVudwN6o3FnRQRKTS9NY2YOgxzdkA\nHr7h330sMmbC7e5Q2OB/KZulNfoThmcdSfclkBqNWpuGV3lcHOj519RE+4j9\n+D1M2923BRw2WK/UhkT2pbCkcY+9ILSXF4cpbqfU8TThvHONCdSBdMCLZ4Qp\nGOxICI5TlP5nDzNplhlt2NtDBKtugCc2Ar35a483eW5S7WFYtzf7D91HaHSp\nawXcTK7QommbVS4JdFYeVREM2B6wz27hStmS5Qad7KOpiwSBNyzVVmOs6zmm\nHshJSjJBJtuS6c5JDv9AGUbrnd/tkDb1xxc+Flxw20YCZnvoWipBP59CtYWN\n6IZcSb17v+bmHM2YJsoB6SAr++egp0bOC4zGG5o/RJqVQTL/DGjHD6G9104Q\n+lfsRrU17tpewuk0lamfqCIHo16iy1qiogDbdSLp1N8aIdjfWruIiKvSvUeo\njIKLP9rZA87F8INr2h2etPm2I0bFf+AOxjEIwsEz8y4p9r6TR4HiJSKJ+Tw+\nf0ywQJ6Iohq47NzcNY8JfU+4TNqYAZbICUq1qRMvl3cYvAqmbs0E941N/oRQ\nqhtiHziSCnaZGVkQcXN3f/Odt9b9JyT3t0AK6OjZH6/lPgLfRv0ngkaoREMU\ncLa2\r\n=GJy0\r\n-----END PGP SIGNATURE-----\r\n"},"readme":"# Strapi plugin Sentry\n\nThe official plugin to track Strapi errors with Sentry.\n\n## Features\n\n- Initialize a Sentry instance when your Strapi app starts\n- Send errors encountered in your application's end API to Sentry\n- Attach useful metadata to Sentry events, to help you with debugging\n- Expose a global Sentry service\n\n## Installation\n\nTo install this plugin, you need to add an NPM dependency to your Strapi application.\n\n```sh\n# Using Yarn\nyarn add strapi-plugin-sentry\n\n# Or using NPM\nnpm install strapi-plugin-sentry\n```\n\n## Configuration\n\n| property       | type (default)   | description                                                                                                                                                                              |\n| -------------- | ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `dsn`          | string (`null`)  | Your Sentry data source name ([see Sentry docs](https://docs.sentry.io/product/sentry-basics/dsn-explainer/)).                                                                           |\n| `sendMetadata` | boolean (`true`) | Whether the plugin should attach additional information (like OS, browser, etc.) to the events sent to Sentry.                                                                           |\n| `init`         | object (`{}`)    | A config object that is passed directly to Sentry during the `Sentry.init()`. See all available options [on Sentry's docs](https://docs.sentry.io/platforms/node/configuration/options/) |\n\n**Example**\n\n`./config/plugins.js`\n\n```js\nmodule.exports = ({ env }) => ({\n  // ...\n  sentry: {\n    dsn: env('SENTRY_DSN'),\n    sendMetadata: true,\n  },\n  // ...\n});\n```\n\n## Global Sentry service\n\nYou can access a Sentry service throughout your app.\n\n```js\nconst sentryService = strapi.plugins.sentry.services.sentry;\n```\n\nThis service exposes the following methods:\n\n### `sendError(error, configureScope)`\n\nUse it to manually send errors to Sentry. The `configureScope` is optional, it allows you to customize the error event. Read more about Sentry's scope system [on their docs](https://docs.sentry.io/platforms/node/enriching-events/scopes/#configuring-the-scope).\n\n**Example**\n\n```js\ntry {\n  // Your code here\n} catch (error) {\n  // Either send a simple error\n  strapi.plugins.sentry.services.sentry.sendError(error);\n\n  // Or send an error with a customized Sentry scope\n  strapi.plugins.sentry.services.sentry.sendError(error, (scope, sentryInstance) => {\n    // Customize the scope here\n    scope.setTag('my_custom_tag', 'Tag value');\n  });\n  throw error;\n}\n```\n\n### `getInstance()`\n\nUse it if you need direct access to the Sentry instance, which should already already be initialized. It's useful if `sendError` doesn't suit your needs.\n\n**Example**\n\n```js\nconst sentryInstance = strapi.plugins.sentry.services.sentry.getInstance();\n```\n\n## Disabling\n\n### Disabling only the middleware\n\nBy default, this plugin uses a middleware that logs all your unhandled API errors to Sentry. You can disable this feature by turning off the `sentry` middleware in your app's config.\n\n**Example**\n\n`./config/middleware.js`\n\n```js\nmodule.exports = {\n  //...\n  settings: {\n    sentry: {\n      enabled: false,\n    },\n  },\n};\n```\n\nOnly the middleware will be disabled. You will still have access to the Sentry service.\n\n### Disabling the plugin entirely\n\nYou can also completely disable this plugin (both the middleware and the service). If you omit the `dsn` property of your plugin's settings, or if you give it a null value, the Sentry plugin will be ignored. You can use the `env` utility to disable it depending on the environment.\n\n**Example**\n\n`./config/plugins.js`\n\n```js\nmodule.exports = ({ env }) => ({\n  // ...\n  sentry: {\n    dsn: env('NODE_ENV') === 'development' ? null : env('SENTRY_DSN'),\n  },\n  // ...\n});\n```\n","strapi":{"icon":"plug","name":"Sentry","description":"sentry.plugin.description"},"engines":{"npm":">=6.0.0","node":">=10.16.0 <=14.x.x"},"gitHead":"f42f685a0a546f59fc4b78fd63db45e7ff30aee2","_npmUser":{"name":"alexandrebodin","email":"bodin.alex@gmail.com"},"_npmVersion":"lerna/3.22.1/node@v12.21.0+x64 (darwin)","description":"Send Strapi error events to Sentry","directories":{},"_nodeVersion":"12.21.0","dependencies":{"@sentry/node":"6.2.3"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-sentry_3.6.0-beta.1_1617904378881_0.9914259820928206","host":"s3://npm-registry-packages"}},"3.6.0-beta.2":{"name":"strapi-plugin-sentry","version":"3.6.0-beta.2","author":{"name":"A Strapi developer"},"license":"SEE LICENSE IN LICENSE","_id":"strapi-plugin-sentry@3.6.0-beta.2","maintainers":[{"name":"lauriejim","email":"j.laurie6993@gmail.com"},{"name":"pierreburgy","email":"pierre.burgy@gmail.com"},{"name":"soupette","email":"cyril.lpz@gmail.com"},{"name":"aurelsicoko","email":"aurelsicoko@gmail.com"},{"name":"hichamelbsi","email":"elabbassih@gmail.com"},{"name":"alexandrebodin","email":"bodin.alex@gmail.com"},{"name":"petersg83","email":"petersg83@gmail.com"},{"name":"convly","email":"jean-sebastien.herbaux@hotmail.fr"}],"dist":{"shasum":"8cbcec472109425d788176867a29bd35391776ce","tarball":"https://registry.npmjs.org/strapi-plugin-sentry/-/strapi-plugin-sentry-3.6.0-beta.2.tgz","fileCount":39,"integrity":"sha512-Aki2cCXXaf59rpE1I1rlBxikQ26olbW387kOPL5Y3iapAJ+Kqgj/NvDrargnr/bDe7iQwGFMGNf3UffQBKZvlw==","signatures":[{"sig":"MEYCIQCc1Wf/Paseaay7Czp/ZTlcUq1AeqWck+s0gcmj2L6QNQIhAJ8KG0UFUbACp2Qf7VjHq/SclTGLvlcEqFWFnFPnChSE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16993,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgcHbYCRA9TVsSAnZWagAAeSEP/RjZjI2k4Tu4Ilp+o5Uv\n0OsRhKieKdGeJwiBA2j/loGkHksC8pDXl1qtfCqHD+hjZocQ9I1DRCDUr9ED\n4MksaxkUSIb8k84TnKLjTsX62TDe0P+aJa+hMwF9dSGxHyZU7V4aX2Wtsx6k\nUDrUmLtxx/PEkkBXw1Ea+vJoOFuVcEgAe3j6AFEReQm3/sJLLgCsd3T9EQ1Z\nBfWY75MejspRehct+8Ufto84mC95Do73oZzR7PnW90I6MUoewybshPG2XvkJ\n6o5gi/q/VisN8alfL35EcAsGAMRxqRPS/BY1l2z8QnCmxyANI4Oi6D0Ofrns\nLx18EX70rAom2MkYKlfgRJDYO+TwAOG/r+1NICp5SEWmjF++c8mZ5j0rGKoD\nv9rqRG1jGrJEjiqOMvd8s+I+Mpz6VnbOpoPvZJOl82EDn2+oBuO9Lswas1HV\nHkrA16jRpIanHDGDY9ppQvTA5om/nc8uaZHrsy9lePy+5Oo21z3uVu2opbj7\n2RMcmNifziC3LKvR4tvFF4O2+7qQEpnrKSOFVLAsj+s7O2HCK8j3xvDA4/cy\n/BIDLKnycPDRzndxTlQKYVdW1xqksTYA/VCUjR6pIi9PlX7tofJ6RtQc3qfn\ntQjtMzSoxxp22IDYzMOl6neSsb2gEYzLk8qM75gSuADvrbHEycluyzEsuIY3\nKmzs\r\n=VSbH\r\n-----END PGP SIGNATURE-----\r\n"},"readme":"# Strapi plugin Sentry\n\nThe official plugin to track Strapi errors with Sentry.\n\n## Features\n\n- Initialize a Sentry instance when your Strapi app starts\n- Send errors encountered in your application's end API to Sentry\n- Attach useful metadata to Sentry events, to help you with debugging\n- Expose a global Sentry service\n\n## Installation\n\nTo install this plugin, you need to add an NPM dependency to your Strapi application.\n\n```sh\n# Using Yarn\nyarn add strapi-plugin-sentry\n\n# Or using NPM\nnpm install strapi-plugin-sentry\n```\n\n## Configuration\n\n| property       | type (default)   | description                                                                                                                                                                              |\n| -------------- | ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `dsn`          | string (`null`)  | Your Sentry data source name ([see Sentry docs](https://docs.sentry.io/product/sentry-basics/dsn-explainer/)).                                                                           |\n| `sendMetadata` | boolean (`true`) | Whether the plugin should attach additional information (like OS, browser, etc.) to the events sent to Sentry.                                                                           |\n| `init`         | object (`{}`)    | A config object that is passed directly to Sentry during the `Sentry.init()`. See all available options [on Sentry's docs](https://docs.sentry.io/platforms/node/configuration/options/) |\n\n**Example**\n\n`./config/plugins.js`\n\n```js\nmodule.exports = ({ env }) => ({\n  // ...\n  sentry: {\n    dsn: env('SENTRY_DSN'),\n    sendMetadata: true,\n  },\n  // ...\n});\n```\n\n## Global Sentry service\n\nYou can access a Sentry service throughout your app.\n\n```js\nconst sentryService = strapi.plugins.sentry.services.sentry;\n```\n\nThis service exposes the following methods:\n\n### `sendError(error, configureScope)`\n\nUse it to manually send errors to Sentry. The `configureScope` is optional, it allows you to customize the error event. Read more about Sentry's scope system [on their docs](https://docs.sentry.io/platforms/node/enriching-events/scopes/#configuring-the-scope).\n\n**Example**\n\n```js\ntry {\n  // Your code here\n} catch (error) {\n  // Either send a simple error\n  strapi.plugins.sentry.services.sentry.sendError(error);\n\n  // Or send an error with a customized Sentry scope\n  strapi.plugins.sentry.services.sentry.sendError(error, (scope, sentryInstance) => {\n    // Customize the scope here\n    scope.setTag('my_custom_tag', 'Tag value');\n  });\n  throw error;\n}\n```\n\n### `getInstance()`\n\nUse it if you need direct access to the Sentry instance, which should already already be initialized. It's useful if `sendError` doesn't suit your needs.\n\n**Example**\n\n```js\nconst sentryInstance = strapi.plugins.sentry.services.sentry.getInstance();\n```\n\n## Disabling\n\n### Disabling only the middleware\n\nBy default, this plugin uses a middleware that logs all your unhandled API errors to Sentry. You can disable this feature by turning off the `sentry` middleware in your app's config.\n\n**Example**\n\n`./config/middleware.js`\n\n```js\nmodule.exports = {\n  //...\n  settings: {\n    sentry: {\n      enabled: false,\n    },\n  },\n};\n```\n\nOnly the middleware will be disabled. You will still have access to the Sentry service.\n\n### Disabling the plugin entirely\n\nYou can also completely disable this plugin (both the middleware and the service). If you omit the `dsn` property of your plugin's settings, or if you give it a null value, the Sentry plugin will be ignored. You can use the `env` utility to disable it depending on the environment.\n\n**Example**\n\n`./config/plugins.js`\n\n```js\nmodule.exports = ({ env }) => ({\n  // ...\n  sentry: {\n    dsn: env('NODE_ENV') === 'development' ? null : env('SENTRY_DSN'),\n  },\n  // ...\n});\n```\n","strapi":{"icon":"plug","name":"Sentry","description":"sentry.plugin.description"},"engines":{"npm":">=6.0.0","node":">=10.16.0 <=14.x.x"},"gitHead":"614ce35d3708d7ced3f96e4236187e8f7ea55884","_npmUser":{"name":"alexandrebodin","email":"bodin.alex@gmail.com"},"_npmVersion":"lerna/3.22.1/node@v12.21.0+x64 (darwin)","description":"Send Strapi error events to Sentry","directories":{},"_nodeVersion":"12.21.0","dependencies":{"@sentry/node":"6.2.5"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-sentry_3.6.0-beta.2_1617983192260_0.6724689279996992","host":"s3://npm-registry-packages"}},"3.6.0-beta.3":{"name":"strapi-plugin-sentry","version":"3.6.0-beta.3","author":{"name":"A Strapi developer"},"license":"SEE LICENSE IN LICENSE","_id":"strapi-plugin-sentry@3.6.0-beta.3","maintainers":[{"name":"lauriejim","email":"j.laurie6993@gmail.com"},{"name":"pierreburgy","email":"pierre.burgy@gmail.com"},{"name":"soupette","email":"cyril.lpz@gmail.com"},{"name":"aurelsicoko","email":"aurelsicoko@gmail.com"},{"name":"hichamelbsi","email":"elabbassih@gmail.com"},{"name":"alexandrebodin","email":"bodin.alex@gmail.com"},{"name":"petersg83","email":"petersg83@gmail.com"},{"name":"convly","email":"jean-sebastien.herbaux@hotmail.fr"}],"dist":{"shasum":"3663bc0dc833027e18c54233d4245fcf502dbe82","tarball":"https://registry.npmjs.org/strapi-plugin-sentry/-/strapi-plugin-sentry-3.6.0-beta.3.tgz","fileCount":39,"integrity":"sha512-+Jzvo5D6MCZRxRGEsKWI9c8o/oyIrF6oquWEodt7gsOwDQfjATh+k0P1vMpcExhPVbkRpiN2Uyiw9ZNLUNiwQQ==","signatures":[{"sig":"MEYCIQDjggzvKOcWcxkoUloQLTaj5DQhNLtuqq8Gz9VS9cIIPwIhAN1IHcx0V7I/VUQbv/M40VWlHAJnMm7aNXFdDoOgEBML","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16993,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgfbpZCRA9TVsSAnZWagAAHLgP/3tzfVRuTnuxz2qpMqja\nEcn0psEOlt1WCx4DfyQownW1sMuyVmn2mpNX1jWMtwVt3AvmsFDZBVPPCiLm\nlxiEhPkfF53+zKk+7zaV2RoszSs6V7mRqShHKRwtksSlmvDsVhaXIpNMUlTq\ntNLhzpQfNOg+T2vZlEMplFx+hUkBj/KT9bcMXOLsFHpkfIoAqGsrZJ+Q23yP\n2afB/m6RLEUC797FW91cwi2pE4Te0qhZE7C4s5ucilGz1eXfSDY1DCbfhyvE\njq8uRkNvKnt2FYpByfT/yhJZe5cA88WWRGxYkjbNcYUU3hDRkQkKV2rBcByU\nJ7E80/FLKfT8u7XxsYAvOlyj5Uvxuoq8tZ9nt+a1OhwPTrqU6FbRbrGJxAH/\nprAiyuUjGd5XYFl/xSDJuC/Y0GxGEefbL8XNmzcS12xIYQDmvVGqMKlIhWng\nUin8GJTSMUIQBspSwtUuoHeEwrd0C3IwD8U4LeCoeDf6/m1j5bqi0yZULGNd\n/mUPUgyVWE1pbHKYku+4Vo8AHMZsR5m3lVNK9c1lu3v8ucxjC9tybB3H7kcr\nDbF3NSC5gYLAvR9Jb8HNhMttFIoKnggQ7pFS7+5YvKnnNh46+59aHj5E/HWe\nY9HMjVyz0QA7WuR3S+VVzdYBOy5EU03iYRYkFRsBHkuHHKdVv2xHHT5My2nk\nwnaz\r\n=PpJO\r\n-----END PGP SIGNATURE-----\r\n"},"readme":"# Strapi plugin Sentry\n\nThe official plugin to track Strapi errors with Sentry.\n\n## Features\n\n- Initialize a Sentry instance when your Strapi app starts\n- Send errors encountered in your application's end API to Sentry\n- Attach useful metadata to Sentry events, to help you with debugging\n- Expose a global Sentry service\n\n## Installation\n\nTo install this plugin, you need to add an NPM dependency to your Strapi application.\n\n```sh\n# Using Yarn\nyarn add strapi-plugin-sentry\n\n# Or using NPM\nnpm install strapi-plugin-sentry\n```\n\n## Configuration\n\n| property       | type (default)   | description                                                                                                                                                                              |\n| -------------- | ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `dsn`          | string (`null`)  | Your Sentry data source name ([see Sentry docs](https://docs.sentry.io/product/sentry-basics/dsn-explainer/)).                                                                           |\n| `sendMetadata` | boolean (`true`) | Whether the plugin should attach additional information (like OS, browser, etc.) to the events sent to Sentry.                                                                           |\n| `init`         | object (`{}`)    | A config object that is passed directly to Sentry during the `Sentry.init()`. See all available options [on Sentry's docs](https://docs.sentry.io/platforms/node/configuration/options/) |\n\n**Example**\n\n`./config/plugins.js`\n\n```js\nmodule.exports = ({ env }) => ({\n  // ...\n  sentry: {\n    dsn: env('SENTRY_DSN'),\n    sendMetadata: true,\n  },\n  // ...\n});\n```\n\n## Global Sentry service\n\nYou can access a Sentry service throughout your app.\n\n```js\nconst sentryService = strapi.plugins.sentry.services.sentry;\n```\n\nThis service exposes the following methods:\n\n### `sendError(error, configureScope)`\n\nUse it to manually send errors to Sentry. The `configureScope` is optional, it allows you to customize the error event. Read more about Sentry's scope system [on their docs](https://docs.sentry.io/platforms/node/enriching-events/scopes/#configuring-the-scope).\n\n**Example**\n\n```js\ntry {\n  // Your code here\n} catch (error) {\n  // Either send a simple error\n  strapi.plugins.sentry.services.sentry.sendError(error);\n\n  // Or send an error with a customized Sentry scope\n  strapi.plugins.sentry.services.sentry.sendError(error, (scope, sentryInstance) => {\n    // Customize the scope here\n    scope.setTag('my_custom_tag', 'Tag value');\n  });\n  throw error;\n}\n```\n\n### `getInstance()`\n\nUse it if you need direct access to the Sentry instance, which should already already be initialized. It's useful if `sendError` doesn't suit your needs.\n\n**Example**\n\n```js\nconst sentryInstance = strapi.plugins.sentry.services.sentry.getInstance();\n```\n\n## Disabling\n\n### Disabling only the middleware\n\nBy default, this plugin uses a middleware that logs all your unhandled API errors to Sentry. You can disable this feature by turning off the `sentry` middleware in your app's config.\n\n**Example**\n\n`./config/middleware.js`\n\n```js\nmodule.exports = {\n  //...\n  settings: {\n    sentry: {\n      enabled: false,\n    },\n  },\n};\n```\n\nOnly the middleware will be disabled. You will still have access to the Sentry service.\n\n### Disabling the plugin entirely\n\nYou can also completely disable this plugin (both the middleware and the service). If you omit the `dsn` property of your plugin's settings, or if you give it a null value, the Sentry plugin will be ignored. You can use the `env` utility to disable it depending on the environment.\n\n**Example**\n\n`./config/plugins.js`\n\n```js\nmodule.exports = ({ env }) => ({\n  // ...\n  sentry: {\n    dsn: env('NODE_ENV') === 'development' ? null : env('SENTRY_DSN'),\n  },\n  // ...\n});\n```\n","strapi":{"icon":"plug","name":"Sentry","description":"sentry.plugin.description"},"engines":{"npm":">=6.0.0","node":">=10.16.0 <=14.x.x"},"gitHead":"321ceede805a37ee73c87d0dab711d19f173b53c","_npmUser":{"name":"alexandrebodin","email":"bodin.alex@gmail.com"},"_npmVersion":"lerna/3.22.1/node@v14.16.1+x64 (darwin)","description":"Send Strapi error events to Sentry","directories":{},"_nodeVersion":"14.16.1","dependencies":{"@sentry/node":"6.2.5"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-sentry_3.6.0-beta.3_1618852441449_0.36582274298662165","host":"s3://npm-registry-packages"}},"3.6.0-beta.4":{"name":"strapi-plugin-sentry","version":"3.6.0-beta.4","author":{"name":"A Strapi developer"},"license":"SEE LICENSE IN LICENSE","_id":"strapi-plugin-sentry@3.6.0-beta.4","maintainers":[{"name":"lauriejim","email":"j.laurie6993@gmail.com"},{"name":"pierreburgy","email":"pierre.burgy@gmail.com"},{"name":"soupette","email":"cyril.lpz@gmail.com"},{"name":"aurelsicoko","email":"aurelsicoko@gmail.com"},{"name":"hichamelbsi","email":"elabbassih@gmail.com"},{"name":"alexandrebodin","email":"bodin.alex@gmail.com"},{"name":"petersg83","email":"petersg83@gmail.com"},{"name":"convly","email":"jean-sebastien.herbaux@hotmail.fr"}],"dist":{"shasum":"7359fcd8028c47f428e8e13223e301307d3b97f1","tarball":"https://registry.npmjs.org/strapi-plugin-sentry/-/strapi-plugin-sentry-3.6.0-beta.4.tgz","fileCount":39,"integrity":"sha512-YmGp+FIaYvLqDGu5Cd4M0jCjfLW7A/+0mQS9x0N7SoBPlHvSolKNLde+7t+cBAKkQN796joipPOyl13BKrqYIA==","signatures":[{"sig":"MEYCIQD/ziWfGqgSklqJ/dcai21eywOTK4sZiqJtslZhNnex5QIhALHsJ95HOneAvqALB7SB3VssNzOon3VIxaZoIAaIWEB3","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16993,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgfspwCRA9TVsSAnZWagAAzNkQAJpuR5+JYbFkK1FjzBhQ\nbjty/jjkiUUXfeY9oPMfIb8EKLG0prPg3lLdZeVn+FLK/0/3I2YYeB88RbJf\nX3Xhy6ckzYQ8GPJ++JNmhKX/WmMUMaqzIVpH6JR/78243ByKB2zAZ9MMc2vZ\nav4oP8vi6Zv8+kA4m1fgFmcozB1XfFF3MYztFEsSSaP660kqRkurKSByXBWx\n/KqLa9Na0YS8mzGCizul1dw4QPf97IePGR4/iJpL2IIc4W4PPG0SSUyeB/Za\nwMKxAKsPftE5IH+giCXwyCBtYBCzOtrV4VqNC6stih0TfbOv7KVo5QvD2TJo\nTaK7ULRXvrZqZhVDQ2DDTRmuxcyOXyUgIgTtcOAKYoMlP0EcbbRgDQO2kPUh\nj80kue2ag9DRx/qyNcw+Cay/rX3Z3cabKKLbIdHCukCs0+4x7EwUmecxliVA\nXaob3kwzwzvMaUGxd0MqbmtiC6W7SBITXaiNjhXfxts5v+4wnqbbGJxCV6hD\nhJwyE6gJd/x/2azifANJphOvs5ZCH2oTE0SlXoiH4T4CtwcAZyhUUN1kx0cB\ntpIfxN1a7gg6oyd6as1CaKj43z+VWdb2kZQXoFQqBh2K/1ludsby7kq8ed+X\nq8uDpdMyrf9/3ggi3bcXFI6Z7QfunxfunfhtidmqGEmv80PnkG0fgZ1dsMOh\nUlCL\r\n=5czP\r\n-----END PGP SIGNATURE-----\r\n"},"readme":"# Strapi plugin Sentry\n\nThe official plugin to track Strapi errors with Sentry.\n\n## Features\n\n- Initialize a Sentry instance when your Strapi app starts\n- Send errors encountered in your application's end API to Sentry\n- Attach useful metadata to Sentry events, to help you with debugging\n- Expose a global Sentry service\n\n## Installation\n\nTo install this plugin, you need to add an NPM dependency to your Strapi application.\n\n```sh\n# Using Yarn\nyarn add strapi-plugin-sentry\n\n# Or using NPM\nnpm install strapi-plugin-sentry\n```\n\n## Configuration\n\n| property       | type (default)   | description                                                                                                                                                                              |\n| -------------- | ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `dsn`          | string (`null`)  | Your Sentry data source name ([see Sentry docs](https://docs.sentry.io/product/sentry-basics/dsn-explainer/)).                                                                           |\n| `sendMetadata` | boolean (`true`) | Whether the plugin should attach additional information (like OS, browser, etc.) to the events sent to Sentry.                                                                           |\n| `init`         | object (`{}`)    | A config object that is passed directly to Sentry during the `Sentry.init()`. See all available options [on Sentry's docs](https://docs.sentry.io/platforms/node/configuration/options/) |\n\n**Example**\n\n`./config/plugins.js`\n\n```js\nmodule.exports = ({ env }) => ({\n  // ...\n  sentry: {\n    dsn: env('SENTRY_DSN'),\n    sendMetadata: true,\n  },\n  // ...\n});\n```\n\n## Global Sentry service\n\nYou can access a Sentry service throughout your app.\n\n```js\nconst sentryService = strapi.plugins.sentry.services.sentry;\n```\n\nThis service exposes the following methods:\n\n### `sendError(error, configureScope)`\n\nUse it to manually send errors to Sentry. The `configureScope` is optional, it allows you to customize the error event. Read more about Sentry's scope system [on their docs](https://docs.sentry.io/platforms/node/enriching-events/scopes/#configuring-the-scope).\n\n**Example**\n\n```js\ntry {\n  // Your code here\n} catch (error) {\n  // Either send a simple error\n  strapi.plugins.sentry.services.sentry.sendError(error);\n\n  // Or send an error with a customized Sentry scope\n  strapi.plugins.sentry.services.sentry.sendError(error, (scope, sentryInstance) => {\n    // Customize the scope here\n    scope.setTag('my_custom_tag', 'Tag value');\n  });\n  throw error;\n}\n```\n\n### `getInstance()`\n\nUse it if you need direct access to the Sentry instance, which should already already be initialized. It's useful if `sendError` doesn't suit your needs.\n\n**Example**\n\n```js\nconst sentryInstance = strapi.plugins.sentry.services.sentry.getInstance();\n```\n\n## Disabling\n\n### Disabling only the middleware\n\nBy default, this plugin uses a middleware that logs all your unhandled API errors to Sentry. You can disable this feature by turning off the `sentry` middleware in your app's config.\n\n**Example**\n\n`./config/middleware.js`\n\n```js\nmodule.exports = {\n  //...\n  settings: {\n    sentry: {\n      enabled: false,\n    },\n  },\n};\n```\n\nOnly the middleware will be disabled. You will still have access to the Sentry service.\n\n### Disabling the plugin entirely\n\nYou can also completely disable this plugin (both the middleware and the service). If you omit the `dsn` property of your plugin's settings, or if you give it a null value, the Sentry plugin will be ignored. You can use the `env` utility to disable it depending on the environment.\n\n**Example**\n\n`./config/plugins.js`\n\n```js\nmodule.exports = ({ env }) => ({\n  // ...\n  sentry: {\n    dsn: env('NODE_ENV') === 'development' ? null : env('SENTRY_DSN'),\n  },\n  // ...\n});\n```\n","strapi":{"icon":"plug","name":"Sentry","description":"sentry.plugin.description"},"engines":{"npm":">=6.0.0","node":">=10.16.0 <=14.x.x"},"gitHead":"009e026c60f27bb548f04d7b447a5866381ed58a","_npmUser":{"name":"alexandrebodin","email":"bodin.alex@gmail.com"},"_npmVersion":"lerna/3.22.1/node@v14.16.1+x64 (darwin)","description":"Send Strapi error events to Sentry","directories":{},"_nodeVersion":"14.16.1","dependencies":{"@sentry/node":"6.2.5"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-sentry_3.6.0-beta.4_1618922096326_0.5848243646587881","host":"s3://npm-registry-packages"}},"3.6.0-beta.5":{"name":"strapi-plugin-sentry","version":"3.6.0-beta.5","author":{"url":"https://strapi.io","name":"Strapi team","email":"hi@strapi.io"},"license":"SEE LICENSE IN LICENSE","_id":"strapi-plugin-sentry@3.6.0-beta.5","maintainers":[{"name":"lauriejim","email":"j.laurie6993@gmail.com"},{"name":"pierreburgy","email":"pierre.burgy@gmail.com"},{"name":"soupette","email":"cyril.lpz@gmail.com"},{"name":"aurelsicoko","email":"aurelsicoko@gmail.com"},{"name":"hichamelbsi","email":"elabbassih@gmail.com"},{"name":"alexandrebodin","email":"bodin.alex@gmail.com"},{"name":"petersg83","email":"petersg83@gmail.com"},{"name":"convly","email":"jean-sebastien.herbaux@hotmail.fr"}],"dist":{"shasum":"943154f9db7cbf02dea0089d474e67ca631c7f83","tarball":"https://registry.npmjs.org/strapi-plugin-sentry/-/strapi-plugin-sentry-3.6.0-beta.5.tgz","fileCount":39,"integrity":"sha512-LgDq4pl7TABg4KjFczunLnpJtlFmfXSiON0Q4K1HdCh8Z+Z6bbGux5VidFY5bOL5mUJq4kJ1P0w79blwDnWQ0A==","signatures":[{"sig":"MEUCIQCmlSh0p1989jp1Oe6iBGMdE0q3uBfxsufpt0ooSm22pQIgbkyQbSJkQpBPlBv7SDzrKtyMsb7s/kYQjTBWRKKfivI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17037,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJggDgjCRA9TVsSAnZWagAAfaUP/iqOnNkOdyVu544VJsVs\noW0FJYDdEhjQ7/DQIFHl8aWixEuvs44+S5JeaHHe2aBYLlYy8vuBy12sVSft\n79etS5/dtuYqTCTTHM+A6cwmeOlUg4yTN5VFUNogWebztGfaBw49nM9+MyeU\nuifKiWoFnWANkiCNFfzFIRAnnUVufDhANbUuR/KrwvefNh+jv/2g6mfxYRfg\n4ubS2Va+1IkW2IDVUVnPprOiWHtUZvFIEl4WgQaYmqML43d78l52q09SkbIe\n6i4ZJ2Sgd9qKsniB+xmeeIR+D+8B+w9cahu5Wc7QEX44f10FQ2iJ0o9KKMCZ\nUdj+e11tPrHVrgOCCgCxlpns8CylCA3/SCVdBgBXyVeY3dGrGsugy9KITYdZ\nXv5uy2zbodTYC2loIxF+2TsxEQDNXXTGBsLhPeCPFgaZFImTjQCsbeQEz2k7\nNctdVfDCf56tY7ksESXcuDDqfZ+cpTI0Dt649bl5eWZDku/S0iGUkl7ENWKD\nvMEc+2/uCzpzA64um0h+GHrKcnBy2dUtBWrF69amvsIetbHsfgyDJ3PX9DtY\nZGNBIMsuSZyDa9k+tKjt0/dHEVp4Ui+q5ZeqVQA+zhMsZ7BmeRRq8jsiohOd\nVbhSmNsz+lEu0WrlV4BIWAe5KKZn/diYhIiL8YQJuaVyQqYxNF7rFVljoguw\nHI8c\r\n=ulGq\r\n-----END PGP SIGNATURE-----\r\n"},"readme":"# Strapi plugin Sentry\n\nThe official plugin to track Strapi errors with Sentry.\n\n## Features\n\n- Initialize a Sentry instance when your Strapi app starts\n- Send errors encountered in your application's end API to Sentry\n- Attach useful metadata to Sentry events, to help you with debugging\n- Expose a global Sentry service\n\n## Installation\n\nTo install this plugin, you need to add an NPM dependency to your Strapi application.\n\n```sh\n# Using Yarn\nyarn add strapi-plugin-sentry\n\n# Or using NPM\nnpm install strapi-plugin-sentry\n```\n\n## Configuration\n\n| property       | type (default)   | description                                                                                                                                                                              |\n| -------------- | ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `dsn`          | string (`null`)  | Your Sentry data source name ([see Sentry docs](https://docs.sentry.io/product/sentry-basics/dsn-explainer/)).                                                                           |\n| `sendMetadata` | boolean (`true`) | Whether the plugin should attach additional information (like OS, browser, etc.) to the events sent to Sentry.                                                                           |\n| `init`         | object (`{}`)    | A config object that is passed directly to Sentry during the `Sentry.init()`. See all available options [on Sentry's docs](https://docs.sentry.io/platforms/node/configuration/options/) |\n\n**Example**\n\n`./config/plugins.js`\n\n```js\nmodule.exports = ({ env }) => ({\n  // ...\n  sentry: {\n    dsn: env('SENTRY_DSN'),\n    sendMetadata: true,\n  },\n  // ...\n});\n```\n\n## Global Sentry service\n\nYou can access a Sentry service throughout your app.\n\n```js\nconst sentryService = strapi.plugins.sentry.services.sentry;\n```\n\nThis service exposes the following methods:\n\n### `sendError(error, configureScope)`\n\nUse it to manually send errors to Sentry. The `configureScope` is optional, it allows you to customize the error event. Read more about Sentry's scope system [on their docs](https://docs.sentry.io/platforms/node/enriching-events/scopes/#configuring-the-scope).\n\n**Example**\n\n```js\ntry {\n  // Your code here\n} catch (error) {\n  // Either send a simple error\n  strapi.plugins.sentry.services.sentry.sendError(error);\n\n  // Or send an error with a customized Sentry scope\n  strapi.plugins.sentry.services.sentry.sendError(error, (scope, sentryInstance) => {\n    // Customize the scope here\n    scope.setTag('my_custom_tag', 'Tag value');\n  });\n  throw error;\n}\n```\n\n### `getInstance()`\n\nUse it if you need direct access to the Sentry instance, which should already already be initialized. It's useful if `sendError` doesn't suit your needs.\n\n**Example**\n\n```js\nconst sentryInstance = strapi.plugins.sentry.services.sentry.getInstance();\n```\n\n## Disabling\n\n### Disabling only the middleware\n\nBy default, this plugin uses a middleware that logs all your unhandled API errors to Sentry. You can disable this feature by turning off the `sentry` middleware in your app's config.\n\n**Example**\n\n`./config/middleware.js`\n\n```js\nmodule.exports = {\n  //...\n  settings: {\n    sentry: {\n      enabled: false,\n    },\n  },\n};\n```\n\nOnly the middleware will be disabled. You will still have access to the Sentry service.\n\n### Disabling the plugin entirely\n\nYou can also completely disable this plugin (both the middleware and the service). If you omit the `dsn` property of your plugin's settings, or if you give it a null value, the Sentry plugin will be ignored. You can use the `env` utility to disable it depending on the environment.\n\n**Example**\n\n`./config/plugins.js`\n\n```js\nmodule.exports = ({ env }) => ({\n  // ...\n  sentry: {\n    dsn: env('NODE_ENV') === 'development' ? null : env('SENTRY_DSN'),\n  },\n  // ...\n});\n```\n","strapi":{"icon":"plug","name":"Sentry","description":"sentry.plugin.description"},"engines":{"npm":">=6.0.0","node":">=10.16.0 <=14.x.x"},"gitHead":"00637a801a093b3b39387fa5645a30162170525d","_npmUser":{"name":"alexandrebodin","email":"bodin.alex@gmail.com"},"_npmVersion":"lerna/3.22.1/node@v12.21.0+x64 (darwin)","description":"Send Strapi error events to Sentry","directories":{},"_nodeVersion":"12.21.0","dependencies":{"@sentry/node":"6.2.5"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-sentry_3.6.0-beta.5_1619015715044_0.7190364270474983","host":"s3://npm-registry-packages"}},"3.6.0":{"name":"strapi-plugin-sentry","version":"3.6.0","author":{"url":"https://strapi.io","name":"Strapi team","email":"hi@strapi.io"},"license":"SEE LICENSE IN LICENSE","_id":"strapi-plugin-sentry@3.6.0","maintainers":[{"name":"lauriejim","email":"j.laurie6993@gmail.com"},{"name":"pierreburgy","email":"pierre.burgy@gmail.com"},{"name":"soupette","email":"cyril.lpz@gmail.com"},{"name":"aurelsicoko","email":"aurelsicoko@gmail.com"},{"name":"hichamelbsi","email":"elabbassih@gmail.com"},{"name":"alexandrebodin","email":"bodin.alex@gmail.com"},{"name":"petersg83","email":"petersg83@gmail.com"},{"name":"convly","email":"jean-sebastien.herbaux@hotmail.fr"}],"dist":{"shasum":"ec23ad1e4efbef84071161cff2f897e0fd9ca621","tarball":"https://registry.npmjs.org/strapi-plugin-sentry/-/strapi-plugin-sentry-3.6.0.tgz","fileCount":39,"integrity":"sha512-dE5eFDDqo6muwo+J1wuPLzpqLAsT3duefT9Q2H6Agq6K3ULf8rbrYXQ7kruoS+ld77gTgbK5NuIaMEyRkxXXZw==","signatures":[{"sig":"MEQCIE2IYbXBLB9KDWoTl7zerANPQMRQyjsU/7ZzdpEftdPnAiA/5EjorNg13thWgSZjMUmNLfW6PBLUeU91BjrqdtlphQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17030,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJggD49CRA9TVsSAnZWagAAwsgP/3fMDOUnaO8fci1KvLri\nE7zeTNBda9iZN2Y3co+mQlcQLFyL1I4T5FV1u7s9vaArDrwuxgqtrkkp6nWh\nNqZW8ZNSC22YUHVGiGo8RE/Gs2umfsMkuFmsHXAvXsEN6ka1WEnme1leb48+\nMGAsMmWKZNwUPhjimySNd5P5xDyRs6QhexfoPNbmOJVYZQYixLE3LXNhcY7h\nKi8e8YTdgnpl64dZ62VXtDbd8SkTYg78hGdyc3ZuIAOiPBY49wxmbe9Y6zar\nKtZ8UfnoaNwof8pdquhh3+cQ3ssfMdjKuNkfMsJviQ2QGrx+20++aOn/UpSO\nUxRlfKiqk4xkcTfjS3jplO1gmMREi3Dxqni2UbAGDvhBUSmGTj25jiTEvmvT\ni/RlvxtIuy1fCXQtZIqd0340IcmZYLGybXbiZbmNvku90TYxqxpxcB6MozWQ\n7/BlUAUf9z/04wZk8IHub2tTjWPqbVyly7Im8rbZpGtH/We9nUuXooXIbw2R\nrodkRYjWNThPTewIjJLLbqHSuDowe60/k3elgETxmJcUj+To457IljUVOd13\njkvrF/Pb3GqKtTcFHgYSSN4BTh5bURPVjMH9QdtBr+BJ8GevGo/DPu16Lvck\nql6VeumWyHp1bK3FhMHWD4M8ZXRze7o9RQk/TcL2Dl8a5gcZqKJ2xr3AF4Te\nEOUW\r\n=f4tw\r\n-----END PGP SIGNATURE-----\r\n"},"strapi":{"icon":"plug","name":"Sentry","description":"sentry.plugin.description"},"engines":{"npm":">=6.0.0","node":">=10.16.0 <=14.x.x"},"gitHead":"4ab210eec65d7f1a4f6334cdef4c797b4e6b9531","_npmUser":{"name":"alexandrebodin","email":"bodin.alex@gmail.com"},"deprecated":"Strapi V3 is no longer maintained","_npmVersion":"lerna/3.22.1/node@v12.21.0+x64 (darwin)","description":"Send Strapi error events to Sentry","directories":{},"_nodeVersion":"12.21.0","dependencies":{"@sentry/node":"6.2.5"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-sentry_3.6.0_1619017277098_0.18721947664109617","host":"s3://npm-registry-packages"}},"3.6.1":{"name":"strapi-plugin-sentry","version":"3.6.1","author":{"url":"https://strapi.io","name":"Strapi team","email":"hi@strapi.io"},"license":"SEE LICENSE IN LICENSE","_id":"strapi-plugin-sentry@3.6.1","maintainers":[{"name":"lauriejim","email":"j.laurie6993@gmail.com"},{"name":"pierreburgy","email":"pierre.burgy@gmail.com"},{"name":"soupette","email":"cyril.lpz@gmail.com"},{"name":"aurelsicoko","email":"aurelsicoko@gmail.com"},{"name":"hichamelbsi","email":"elabbassih@gmail.com"},{"name":"alexandrebodin","email":"bodin.alex@gmail.com"},{"name":"petersg83","email":"petersg83@gmail.com"},{"name":"convly","email":"jean-sebastien.herbaux@hotmail.fr"}],"dist":{"shasum":"7ec629b33d4412ea0d7b8329664ce90acbe47e09","tarball":"https://registry.npmjs.org/strapi-plugin-sentry/-/strapi-plugin-sentry-3.6.1.tgz","fileCount":39,"integrity":"sha512-+Tcptv3K04C8+6slApWV7cTpRunYTldqyoG4M08tCosy21X2dDRtUlUfDqI8AsxX3KRbZZkgrrdvgEKy77uYqQ==","signatures":[{"sig":"MEQCIAaDluEXTSIxF+uo8mtXHAsArCrGaWkGGnI+tZbEzTLMAiABws+5ub5EnzWYjAwR5fD6HmBr7+AJrJ31m0bXdUT9tQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17030,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgiqfxCRA9TVsSAnZWagAACCwP+gKC+3Z1SIxF3XQZ/OXA\n5qg5y9hLf1bXXoNhcS4bXm+sNKPsxiX1wTwjIGLgQi+kHvo35yY8UcaOJXm7\nXkFZiKiwtK5JEHPD5nuyaN9pazkiGMz1lWSOV6JMMOe/L7Ea9zCQe9VEJ53f\nZZBL8p31xtSBzivdqXoDFkeqPoAWyLUroiW8MLqEiCkPci/zp1oxaWY4rRRF\nez4nztoO/NXCpuBXXwyCkbKDjDXpjmsB04GsFSAdFx1gDHSqIxgQWQv+1wqn\nBA79e83WsLmzW3OUKuN4D9gWvWk+72iJH7MYPHVpd3zybqpZ7sAsJfOZzq/F\nNxaytx8Cx+0cbh09JZ9X9OF6OFzXvOFgFTcoehfDh2xfSykEoOwTs3OkquAK\nAfwEmCstLpigYLEvviLUe86EOM7+pzycDrWE9Qod2j5Dwq/tp3pAvP191RLx\nkOsinKuzityrxKRzenbgt1zb4H2zPm0ukho2XBCf81/EJb/Z9XzVb86/8fAK\nXcKZN89Zlz7B5WMC2nOkKTnxBS2CnfRcNgQJqHNFVvUsYaMy4IYJ8m0P8ZNV\nP+by8PMMmsMlen8tYe4zqzmp3KYeY3tn9SPjoIyYwPvinppFlm/Fsa+gj0do\nQ9DUTIE1rJgjgFtuJmvwMyyaVR5XmwKIEBrnEBYcuEQlw4pY4y2t+9E8oQQQ\nD52S\r\n=d6A3\r\n-----END PGP SIGNATURE-----\r\n"},"strapi":{"icon":"plug","name":"Sentry","description":"sentry.plugin.description"},"engines":{"npm":">=6.0.0","node":">=10.16.0 <=14.x.x"},"gitHead":"2fd29041f87d709f38517780743d2fac5e78485b","_npmUser":{"name":"alexandrebodin","email":"bodin.alex@gmail.com"},"deprecated":"Strapi V3 is no longer maintained","_npmVersion":"lerna/3.22.1/node@v12.21.0+x64 (darwin)","description":"Send Strapi error events to Sentry","directories":{},"_nodeVersion":"12.21.0","dependencies":{"@sentry/node":"6.3.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-sentry_3.6.1_1619699696580_0.533303833327283","host":"s3://npm-registry-packages"}},"3.6.2":{"name":"strapi-plugin-sentry","version":"3.6.2","author":{"url":"https://strapi.io","name":"Strapi team","email":"hi@strapi.io"},"license":"SEE LICENSE IN LICENSE","_id":"strapi-plugin-sentry@3.6.2","maintainers":[{"name":"lauriejim","email":"j.laurie6993@gmail.com"},{"name":"pierreburgy","email":"pierre.burgy@gmail.com"},{"name":"soupette","email":"cyril.lpz@gmail.com"},{"name":"aurelsicoko","email":"aurelsicoko@gmail.com"},{"name":"hichamelbsi","email":"elabbassih@gmail.com"},{"name":"alexandrebodin","email":"bodin.alex@gmail.com"},{"name":"petersg83","email":"petersg83@gmail.com"},{"name":"convly","email":"jean-sebastien.herbaux@hotmail.fr"}],"dist":{"shasum":"5ab6e0ede28eb0ecc450ea7bb33b577921d76d09","tarball":"https://registry.npmjs.org/strapi-plugin-sentry/-/strapi-plugin-sentry-3.6.2.tgz","fileCount":39,"integrity":"sha512-v8hfnAC3+ej5x46ZYN8qbbkD3v0wBeo1Wrskq/rlAPc1NSZMtrnGhtYrBI12wcfjPzoMR6l+ov/6dq3ehyvb4g==","signatures":[{"sig":"MEQCIFY1nl4PdnapSOMroTDfa3AwuGKWFOC7u4raUzycKzwWAiAuOLoEGrO8ve2LwgfVUH4RZyC2ifu1wgM7nxHjcgnvqw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17030,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgmlHbCRA9TVsSAnZWagAAh+IP/3hS3mO18EPzolzDKAWy\naijxucHPQnpn0vGbmW6Qs/ALma2c8VEHQJpBDFW9aEqwHCQtTgV9NNzJvlD3\nWIxl9SRg/poOIwpKac2kYuxQn2+GfbQyDj26s115g/hgHYk1sUXZtdoTz0sT\niksZo8nivL8WtO8h+kWRYMj/mnwlKK32HWFFGaQV4SDN1JosshJCIkuze9Hm\n8+M/Wwy8uaa+Sire4KR+ve5Jgd6RYwzAzhVgQMRoCBOxgKnxdcASSIil/X2Y\n9xRMg7cQtVVI/TdDs0v79Drhi1N8S3YPXrqLYz+/+liZIytyrmjrjMDChiIz\n2WREmfwZKql8GA1/kd/k1wcc2ylvC7FGjTLkZia4jK1cn7AtmYH4CpxM10Ok\nCMq4Yp+OyAInj7cXp4NvLmmV8N7iUBevVocQPYXHX/O8WMnep9k47tYlD8PG\nHvt7C4ygACH8/xOEx+iRHScDYYqaEVKxMxnp8M5h7mH+AY9bpbRh+jaTAytr\n22f6NM/s2lmWaRP0N+8bvAEMINiJMd+dZiu5QIovbq1vuetDEZIJqPKV+bA2\n1+IUFGtUyTC8tQ7Y013HmnIvuWsjaCKhDkBuASIfGFzihJup1bVOqz6DyzBd\nAKR7AMoLjkDq/6z8DVXCVd81sKGvM/TZOjQcyi+V74q2Oy2XuBkNi0A6eC9+\nO9Qn\r\n=FEdu\r\n-----END PGP SIGNATURE-----\r\n"},"strapi":{"icon":"plug","name":"Sentry","description":"sentry.plugin.description"},"engines":{"npm":">=6.0.0","node":">=10.16.0 <=14.x.x"},"gitHead":"43b947b2ba2f153dd6056e0710d7dcd92fb9bc7c","_npmUser":{"name":"alexandrebodin","email":"bodin.alex@gmail.com"},"deprecated":"Strapi V3 is no longer maintained","_npmVersion":"lerna/3.22.1/node@v12.21.0+x64 (darwin)","description":"Send Strapi error events to Sentry","directories":{},"_nodeVersion":"12.21.0","dependencies":{"@sentry/node":"6.3.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-sentry_3.6.2_1620726234755_0.2898852151621083","host":"s3://npm-registry-packages"}},"3.6.3":{"name":"strapi-plugin-sentry","version":"3.6.3","author":{"url":"https://strapi.io","name":"Strapi team","email":"hi@strapi.io"},"license":"SEE LICENSE IN LICENSE","_id":"strapi-plugin-sentry@3.6.3","maintainers":[{"name":"remidej","email":"remi@hey.com"},{"name":"lauriejim","email":"j.laurie6993@gmail.com"},{"name":"pierreburgy","email":"pierre.burgy@gmail.com"},{"name":"soupette","email":"cyril.lpz@gmail.com"},{"name":"aurelsicoko","email":"aurelsicoko@gmail.com"},{"name":"hichamelbsi","email":"elabbassih@gmail.com"},{"name":"alexandrebodin","email":"bodin.alex@gmail.com"},{"name":"petersg83","email":"petersg83@gmail.com"},{"name":"convly","email":"jean-sebastien.herbaux@hotmail.fr"}],"dist":{"shasum":"d929e817d16504a6a7ff6e8de23abba751d75428","tarball":"https://registry.npmjs.org/strapi-plugin-sentry/-/strapi-plugin-sentry-3.6.3.tgz","fileCount":39,"integrity":"sha512-6KhmljXSPVNHklXHxTv8UQlBdGm04w6ZSm4pLOX0Dq9s1Sn7WJKJ0KPOrHpZoBNbhm01XQ8elMq0aLnMii7xcQ==","signatures":[{"sig":"MEQCIF7BPpDH/C1BHwX/Vpa0bRXe6G0khJxLAazTWClR95qjAiBAVavoYeOMSTnegP0F2ZKOQl2JgbyBr54vr2V2707sMA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17030,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgt5TNCRA9TVsSAnZWagAAJ0UP/RkEydYPVvPWMOP6tXi1\nIWVrVCoLJpfKuWTzaJKNxq1s0el6mjm57leyIHJ/nW+w3xk5cvD/+Ff95d9b\npbrHzhUbzGRrc+xfzDaHZgxVRqEOcB0egvmb+pVcAmnIgSGgJPQgFMyohNf3\nuKf2cMJSb3lBraUz2uRjaO1iT+wVVapSo04u2d3ulTg2Qqh90swDaPVniTey\nLR+Y9/SjJr8O1lAjRUfL59917GHzLSnH0ralITEMrrV2flLTF1CCh5+f3FE7\nKgzsj9sIRrTw0fZXh7ZFAYK1H0b9R0vHfGPmFOlvTUJ2+ZF+IcBz9feuwC9l\nOAdBLmQ8pq5xZX54hWtC9ZevaioIAU1X2eQT3MHnI5eOC3lT33wi+vYSuAXr\nFJG0YSlTnmI1UZycwn8H/1bTvoxoqipSANkkBnv92lBW1TLnkh1XUUomtcS5\nAfMiFcSI2gAxyYM4zef2eoMZ6AqkA3MjM5ZOggQZCQ/E9DhntX3eV7O8129F\n4qsmFUYxQwnNheYkeCKA9HQUmVeV4EVFZ0QHNAGIZoz0pGi91RzTv97rUnr/\nzVnf0jZPi7aRBXYYBKeYoaYJilcPWhcTlSa0uJEL/c543uVChBAtlkpX2sbP\nQZydtYmFYOrV7PVceZiL9kqvqRcjFior2G7a5cUs/jW4LiXtL+PxRKpyTBwI\n/u3a\r\n=T35b\r\n-----END PGP SIGNATURE-----\r\n"},"strapi":{"icon":"plug","name":"Sentry","description":"sentry.plugin.description"},"engines":{"npm":">=6.0.0","node":">=10.16.0 <=14.x.x"},"gitHead":"0ab3503e3c68c0e794878324a866ce9e6cfe5d47","_npmUser":{"name":"alexandrebodin","email":"bodin.alex@gmail.com"},"deprecated":"Strapi V3 is no longer maintained","_npmVersion":"lerna/3.22.1/node@v14.17.0+x64 (darwin)","description":"Send Strapi error events to Sentry","directories":{},"_nodeVersion":"14.17.0","dependencies":{"@sentry/node":"6.3.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-sentry_3.6.3_1622643917667_0.23431090568063695","host":"s3://npm-registry-packages"}},"3.6.4":{"name":"strapi-plugin-sentry","version":"3.6.4","author":{"url":"https://strapi.io","name":"Strapi team","email":"hi@strapi.io"},"license":"SEE LICENSE IN LICENSE","_id":"strapi-plugin-sentry@3.6.4","maintainers":[{"name":"remidej","email":"remi@hey.com"},{"name":"lauriejim","email":"j.laurie6993@gmail.com"},{"name":"pierreburgy","email":"pierre.burgy@gmail.com"},{"name":"soupette","email":"cyril.lpz@gmail.com"},{"name":"aurelsicoko","email":"aurelsicoko@gmail.com"},{"name":"hichamelbsi","email":"elabbassih@gmail.com"},{"name":"alexandrebodin","email":"bodin.alex@gmail.com"},{"name":"petersg83","email":"petersg83@gmail.com"},{"name":"convly","email":"jean-sebastien.herbaux@hotmail.fr"}],"dist":{"shasum":"dd089ea503420706e3148add119f9360faf20cc7","tarball":"https://registry.npmjs.org/strapi-plugin-sentry/-/strapi-plugin-sentry-3.6.4.tgz","fileCount":39,"integrity":"sha512-oqqbYPA6Mze7qcLx/m8FWpPMaToYXIrqyOhcHDwJfMxnL2ODCkg93SxcX8hM38anx+VM3AjFi5k236K4F9QcbA==","signatures":[{"sig":"MEUCIFl3aMmP8Jf8rAQHRyvTMdGA7ZKqzfz+nQjVqeqg8nwmAiEAp24H3FVhqxU3+vqBmTmGGHPyI4nkMGbmr18AFsDJ9eQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17030,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg0zTjCRA9TVsSAnZWagAABRcP/iFpY4VczgKat9YLGmi2\nENQHQG8LWB+hbllzpWP9qqU/XS6T4y2KPNuEriUfSqgncJhsYMoxbK7rcRXg\nOyRUwRGmMvsK+Jr89LeDXuRCiHMf2haTgH+53GXdnII6ceXONuuIf+q0aA/m\nX3bzrEI+ocHcOgQTf/f2vyQ/DxHLOBjDIfc0d10nRsJaBk4Whs17F8s9vim9\nFzy0/j3RIIwTIFJ54d1nlJxsjHqkDtqtLyB5dScEw7EZY4vozd4ZbW47UbmJ\n7mKmUwbOqMsJYcWAvz1ge5AWSsxG8FkG8UCDMNA6e+3Sf8Jsi7E++jVD/M3O\nApGf3soE6LxIVcV/N+1Z7N/yW8+vwXFcpRc8EV/V7mizh6eFdEvIfYsCR964\nST/CskIlk7Q6ApaDkvJAja7x6IqKeKzK9RN1G3jZg4vqQePF4cnaJKr0/v7k\n7jhL01clRtmUeXPFLhZFWmkVlDc6fWQgMP48okhwWHhyB+K9fGuJmaUYcYXv\nyt/Cc7NSGo/92EJwXZFYYkuUJGEfl+vbKbQRsWgeS8ss1OeErj5HQq0nAfQu\nB0OHQpLP4iD/fq2s85ZDFQ7NCotx743zQOImPzaR+1zlanxO2JaGUQXcNGIM\neN5j+z3lj9F3RcYYUECsyGr5tjxmrS1F9QI9iWytbhCfRzbGXDoPS74Fai/a\nPm0I\r\n=z7fX\r\n-----END PGP SIGNATURE-----\r\n"},"strapi":{"icon":"plug","name":"Sentry","description":"sentry.plugin.description"},"engines":{"npm":">=6.0.0","node":">=10.16.0 <=14.x.x"},"gitHead":"37de70c4f95702ed5fa3ac0f7ea56a493445e436","_npmUser":{"name":"alexandrebodin","email":"bodin.alex@gmail.com"},"deprecated":"Strapi V3 is no longer maintained","_npmVersion":"lerna/3.22.1/node@v14.17.1+x64 (darwin)","description":"Send Strapi error events to Sentry","directories":{},"_nodeVersion":"14.17.1","dependencies":{"@sentry/node":"6.7.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-sentry_3.6.4_1624454370657_0.48895410711519616","host":"s3://npm-registry-packages"}},"3.6.5":{"name":"strapi-plugin-sentry","version":"3.6.5","author":{"url":"https://strapi.io","name":"Strapi team","email":"hi@strapi.io"},"license":"SEE LICENSE IN LICENSE","_id":"strapi-plugin-sentry@3.6.5","maintainers":[{"name":"remidej","email":"remi@hey.com"},{"name":"lauriejim","email":"j.laurie6993@gmail.com"},{"name":"pierreburgy","email":"pierre.burgy@gmail.com"},{"name":"soupette","email":"cyril.lpz@gmail.com"},{"name":"aurelsicoko","email":"aurelsicoko@gmail.com"},{"name":"hichamelbsi","email":"elabbassih@gmail.com"},{"name":"alexandrebodin","email":"bodin.alex@gmail.com"},{"name":"petersg83","email":"petersg83@gmail.com"},{"name":"convly","email":"jean-sebastien.herbaux@hotmail.fr"}],"dist":{"shasum":"210c155ed503ecd8dca17eff1da883315271c855","tarball":"https://registry.npmjs.org/strapi-plugin-sentry/-/strapi-plugin-sentry-3.6.5.tgz","fileCount":39,"integrity":"sha512-MaUuwNkR9BOa2V7uVDmrq1hbg65jy1N+T40ErKVYNvsFSo8qIS339FX6G2K2yw4ZQ4N9YMgqrFMRtzGzfAEQ7Q==","signatures":[{"sig":"MEUCIQCotMHflm/2D7bqOsxDNfOQkqxGPrS4lKaJfEfKCWnf0gIgDrRMQeHKSiYaLtZ4rCKZ+D9PM5AOL5P3KteAVzAQqIQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17030,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg0zraCRA9TVsSAnZWagAAjy8P/3tEQG0ZwASWODwFi9fE\nxiKQHbMgLGJ+KdOE3FxsAZPcz/q9e+RCvFb1NK+8uBJ2X/xC72Vdvf2KqHvj\nM3C3YsB1hmOJUn3ZyAVp58sbM995Y664WeHU1liVhblKkj7LSfyofUs1avnP\njCj7/OFDb50+Ng+HASK5yq1q2Nvxrh55USKRDzWZMyOGrUgZ37YaQ7z+gwA4\nKw1SaozGXDIvhK9WT2vSLFgbI/S7KednqGAcjjt+de34n2fo/mHIEPRb6div\noWHhv7DhasPP9nzrDL9D4kv5BDhPQial/Vo5oTJzWhLIOnC7/Q1BoeEMm6sh\nZgzNdxcNb/yDb2JqUA879tH7I1TlCrYdd5qfyaZQeoy/kWtiQFjLEczXv5q6\nro4NbuN3+7TpVpWjuNqWLoIYy9NToY5teZL2Ww+xlR8yiae6sGuOwAe4s4ry\nWq1YS6TfydyLCCpiLNG2W9oRK5dFP1Tkk2mdUtRiuy9m+IrJQNyK4oTcKWh1\nCqtWBm4wdXIB6QuCQZerQEKZfp0xuVMCHvq5WVo+eJlg8yeI6SUNcFJMMqwF\nghWKXYLJ4M6fvK0TcwxHxCyq+g8WeCJnwbjAfVV+Ezoit6+hZghtjWtb7c2F\nYW9jwXiW2aVcjPkQUvjSkEQxf4N4xqn0i1EBCjOIWt07gODZ4Phs+3LMdqJ+\nOdQ/\r\n=nkPV\r\n-----END PGP SIGNATURE-----\r\n"},"strapi":{"icon":"plug","name":"Sentry","description":"sentry.plugin.description"},"engines":{"npm":">=6.0.0","node":">=10.16.0 <=14.x.x"},"gitHead":"6f7e0c27e72aacd2824471f7d931d850f36524c6","_npmUser":{"name":"alexandrebodin","email":"bodin.alex@gmail.com"},"deprecated":"Strapi V3 is no longer maintained","_npmVersion":"lerna/3.22.1/node@v14.17.1+x64 (darwin)","description":"Send Strapi error events to Sentry","directories":{},"_nodeVersion":"14.17.1","dependencies":{"@sentry/node":"6.7.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-sentry_3.6.5_1624455897714_0.23915924829215363","host":"s3://npm-registry-packages"}},"3.6.6":{"name":"strapi-plugin-sentry","version":"3.6.6","author":{"url":"https://strapi.io","name":"Strapi team","email":"hi@strapi.io"},"license":"SEE LICENSE IN LICENSE","_id":"strapi-plugin-sentry@3.6.6","maintainers":[{"name":"lauriejim","email":"j.laurie6993@gmail.com"},{"name":"pierreburgy","email":"pierre.burgy@gmail.com"},{"name":"soupette","email":"cyril.lpz@gmail.com"},{"name":"aurelsicoko","email":"aurelsicoko@gmail.com"},{"name":"hichamelbsi","email":"elabbassih@gmail.com"},{"name":"alexandrebodin","email":"bodin.alex@gmail.com"},{"name":"petersg83","email":"petersg83@gmail.com"},{"name":"convly","email":"jean-sebastien.herbaux@hotmail.fr"},{"name":"remidej","email":"remi@hey.com"}],"dist":{"shasum":"09d8f61f2338717004d270769f10aa9f3f9481a9","tarball":"https://registry.npmjs.org/strapi-plugin-sentry/-/strapi-plugin-sentry-3.6.6.tgz","fileCount":39,"integrity":"sha512-0bI9IPuGUkSM1BlDLPxEEkOrg8jWKxkf3r8A1P9dK4lyxHR0BZ1CzZ39L7j0DQx+bXxgxVx6b6jmRpGLbL1fNQ==","signatures":[{"sig":"MEQCIBhD/pve+0KbRtCv6DIcdFHsDRJkp3cVhXmzT7mx8UG0AiAV5dkkzKe6LpI6VqH9beuGMZym8Okk2gQVNG2n7Yxhnw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17030,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhCq0dCRA9TVsSAnZWagAAkRYQAJrqRh6UpOctCavkNhj8\nUoaJV8oZO7YAmxdarX9S2btrUrOp21C6X9O27JzOasbKKPZxkDjk3On22bv1\nLBSvdlRp2z0p00B2iPzNm3bVAQbjkPv4N974b/uhh5h8ITYdxhGTS2ZShwIx\nAa7M6OLd+b4B5zJoTVczMPzntmag0UqA/rK3WO1a8Xy3RIqvU5qWu/T5Gahd\n94dUO8L/7b2MsPrN4T9P4eSd42IYyo+6J9ZjEqoUOCSZ03T1A74mgrv51/5J\nmtjjGEltz36tzsz1g2Jfl5ENTkpcq1mMVLRRyWBRiqoycq8thGjyt2swI58z\n+8+u7wcQsNKoD7GZlpTvPTN07tX7c8LbWriB/GcdwBbScNx7WbqMxCFeBaEj\nF45G6TNB00vv2A0pw4QLsBKEYav6JDSD91QgmSAawC2K7M+PNbRH9lBwAUK0\nCFdCpbZRQRR9b65Wz9hgi1cXiyY5sYSR+2F3mSBN2WAqD8OAOxFfyZoaeNnV\nYDJh9nFV+7Wt1Nn3eFb/zJXnOeovSzzRDChcVNZcaWX4WMatedsB+BBTaP3R\nBoALkhXUPb8SB4fwtx+oI6I2lG9NqUwp3qTkQ7p/eMLhvQpUBh5b1bo3FguC\nLMy8bO/m50+ge1YBIO2LlO/ln96UEJYtdHwY0/eyCnD/AmApVDB/6KEFpgO2\ntlM9\r\n=PEuP\r\n-----END PGP SIGNATURE-----\r\n"},"strapi":{"icon":"plug","name":"Sentry","description":"sentry.plugin.description"},"engines":{"npm":">=6.0.0","node":">=10.16.0 <=14.x.x"},"gitHead":"e63fb9d5093de3c099a487e7d87f48ffb8029a24","_npmUser":{"name":"alexandrebodin","email":"bodin.alex@gmail.com"},"deprecated":"Strapi V3 is no longer maintained","_npmVersion":"lerna/3.22.1/node@v14.17.1+x64 (darwin)","description":"Send Strapi error events to Sentry","directories":{},"_nodeVersion":"14.17.1","dependencies":{"@sentry/node":"6.7.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-sentry_3.6.6_1628089629611_0.5927338016870556","host":"s3://npm-registry-packages"}},"3.6.7":{"name":"strapi-plugin-sentry","version":"3.6.7","author":{"url":"https://strapi.io","name":"Strapi team","email":"hi@strapi.io"},"license":"SEE LICENSE IN LICENSE","_id":"strapi-plugin-sentry@3.6.7","maintainers":[{"name":"skahrz","email":"marvin.frachet@gmail.com"},{"name":"lauriejim","email":"j.laurie6993@gmail.com"},{"name":"pierreburgy","email":"pierre.burgy@gmail.com"},{"name":"soupette","email":"cyril.lpz@gmail.com"},{"name":"aurelsicoko","email":"aurelsicoko@gmail.com"},{"name":"hichamelbsi","email":"elabbassih@gmail.com"},{"name":"alexandrebodin","email":"bodin.alex@gmail.com"},{"name":"petersg83","email":"petersg83@gmail.com"},{"name":"convly","email":"jean-sebastien.herbaux@hotmail.fr"},{"name":"remidej","email":"remi@hey.com"}],"dist":{"shasum":"d790cd4df8e108f411dc29e2a308c33976d8e16e","tarball":"https://registry.npmjs.org/strapi-plugin-sentry/-/strapi-plugin-sentry-3.6.7.tgz","fileCount":39,"integrity":"sha512-4Bgi30b12MJBsyuopgPmapI9YPARax1T5rCM1MiImPl6iU/yXQ0F/TogRoPDQmacExDe7qKnmz7rwcuCPocGbQ==","signatures":[{"sig":"MEYCIQCDrfMIHcwSoMMsstDajmh07+KfJkgySHcsJxMj96aBPwIhAIOGh4FKbsrM3ftnwDgmu8Bidu1RlFrfnfT4ApNk8ca3","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17030,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhHgkOCRA9TVsSAnZWagAAQSIP/2DsLvFuQKqC5RO4gYYA\n72TRk5273TstnN1Dqf01QuC5fTayAgXbkHmcdV+n/aIHvJ6HwgvVMAP0VUfq\nqKmD0A4UMBMwUW82Kzt8y4txkUmToRDCqSPyeKKkcFsI/8pOrKKvfjQ5NWPx\npcYc3vKQr1Z04uAe68fVjWazVF1FtEDYVvfwWqIUN9N6uCV2gFPRlF3yhbVZ\nvoXwqlvaAHyxWZgrpzWq5yKkhOtb7FxbjGYkGfe0BDRl4roKro6pt7zQ++kO\n99u7fPiaVx+Z+kWFiUug0oaGHV8jcY8YgdQmNy4DRA1liXbgIFfsCcpevnWZ\nKApsw1jnEJsqk/Ze+kf+PX8vLArXqhAY5JJSMSwNOK+zXSlitwLcBBuEoXyn\nO7mMb5jn3qiFEefUlg9x78oiPVhP7D1jNmK0JaTbCU5Kf8Coax/dQKQdUPxM\nIjopv4zKQZ5MBoap/X042esq6Sjq2s0VETHEIau7SGxBA6mArc8LjOPGX8cw\nA+Cq/KUiefBlS295er1zShtqK+EyE8VuNo9QjSufvKDK7NlhvLkxABU89gA3\nf8t9sqh17KAzVddped6PVSYF7fwWK88Z+c4359Yz5BuWRxyo3N4XWWCnzujB\nMkQQ8dJGp4BtcMykYPDQQwn5EaZO+afJfbgaxh2ndZ7M6foSdKXklvzp4XXF\nbXIh\r\n=CU9z\r\n-----END PGP SIGNATURE-----\r\n"},"strapi":{"icon":"plug","name":"Sentry","description":"sentry.plugin.description"},"engines":{"npm":">=6.0.0","node":">=10.16.0 <=14.x.x"},"gitHead":"5202c4ed5c96d5e39823e8e6e936bb75c2c59a33","_npmUser":{"name":"alexandrebodin","email":"bodin.alex@gmail.com"},"deprecated":"Strapi V3 is no longer maintained","_npmVersion":"lerna/3.22.1/node@v14.17.4+x64 (darwin)","description":"Send Strapi error events to Sentry","directories":{},"_nodeVersion":"14.17.4","dependencies":{"@sentry/node":"6.7.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-sentry_3.6.7_1629358350588_0.08750977508553515","host":"s3://npm-registry-packages"}},"3.6.8":{"name":"strapi-plugin-sentry","version":"3.6.8","author":{"url":"https://strapi.io","name":"Strapi team","email":"hi@strapi.io"},"license":"SEE LICENSE IN LICENSE","_id":"strapi-plugin-sentry@3.6.8","maintainers":[{"name":"skahrz","email":"marvin.frachet@gmail.com"},{"name":"lauriejim","email":"j.laurie6993@gmail.com"},{"name":"pierreburgy","email":"pierre.burgy@gmail.com"},{"name":"soupette","email":"cyril.lpz@gmail.com"},{"name":"aurelsicoko","email":"aurelsicoko@gmail.com"},{"name":"hichamelbsi","email":"elabbassih@gmail.com"},{"name":"alexandrebodin","email":"bodin.alex@gmail.com"},{"name":"petersg83","email":"petersg83@gmail.com"},{"name":"convly","email":"jean-sebastien.herbaux@hotmail.fr"},{"name":"remidej","email":"remi@hey.com"}],"dist":{"shasum":"f3d1e9ee18f22a13a19676c8cfa5db34457b2596","tarball":"https://registry.npmjs.org/strapi-plugin-sentry/-/strapi-plugin-sentry-3.6.8.tgz","fileCount":39,"integrity":"sha512-EPS+lq/uSiw4KqtA6P0miqJ2t0GyanQuyuT8wP/CTXnw7nD/k+Wq30jY5xCkzDEXd61Q5RU8oLhOyG3KBCMRpQ==","signatures":[{"sig":"MEYCIQD17eV/hWM3UmrHE6I5T4oJcZnZ+ZH9jlKLd9wnnN12qwIhAPvcZcXEu3ny2pMx5IUohAsmFa/7jAEJwacYgaecNxB2","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17030,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJLVOCRA9TVsSAnZWagAAFnAP/iVIEbIwMUJKY4MNs+ly\nFXk6AnG4I+yl9YUstVL/KqtLXjhTIA2ytNQZOA1M89j0MYrOCijGartVtm74\ntufvkunX0z13apHCx9w/F0n4ahw0vFZ6MxJXTOKdL++TGaG6i3IUdvunq+Bl\nSC+EbOMj3EXzfGjntgEhn0czDsvetGPP5Ue+eYACBxuES2Jes2HkZ7m9IJ+w\nmcaT1lnXIahZoImwIHLplx+pPfgx9IP38cdbU5ObQkrLWX9Zftlsyz5s6xPy\ntjqv4cGRgjL5SrqrpKEd4EdUy1rccS8SkiTkiqFRVWV8i2eEsdEq1n314Sny\nVMOuHH/3BV3ynXDIPqX6Nfr8BcCKF3twb7GyxNk8vXaStOnsn7NONztRg3dq\nvz7eXIrdoMGd7cN3aF2Uq/9Z+2cM+lJpdMCoInk4kwEdVDkO0vvVauopN510\nFKHNWw16EgvHGoo9EzKjMc8tDoSUDgCKAiVkU7GfJbgCsjIQDy0JJx3mpbAV\nb+NWbe+3HCGIXtQ0CCg+w8ZeIxcwj8O83cMIfPNcqVLnPJpLlPZWW0DLQ8iS\nBxSy2jyG7hAEmHI1AIJiaGa2VEEquBzXIlscma+te7Qrf+I+gdd9PdLY1Q08\nMrIcQxr+wRRxaqWxiFxD5ZbGexVxVav3X/VOozps5lVeZ8okWDuW31BVH31e\n/O22\r\n=EX/F\r\n-----END PGP SIGNATURE-----\r\n"},"strapi":{"icon":"plug","name":"Sentry","description":"sentry.plugin.description"},"engines":{"npm":">=6.0.0","node":">=10.16.0 <=14.x.x"},"gitHead":"8972d78e8d1783ded6089d0318bfb62aff8e6962","_npmUser":{"name":"alexandrebodin","email":"bodin.alex@gmail.com"},"deprecated":"Strapi V3 is no longer maintained","_npmVersion":"lerna/3.22.1/node@v14.17.4+x64 (darwin)","description":"Send Strapi error events to Sentry","directories":{},"_nodeVersion":"14.17.4","dependencies":{"@sentry/node":"6.7.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-sentry_3.6.8_1629795661882_0.8596599335016202","host":"s3://npm-registry-packages"}},"3.6.9":{"name":"strapi-plugin-sentry","version":"3.6.9","author":{"url":"https://strapi.io","name":"Strapi team","email":"hi@strapi.io"},"license":"SEE LICENSE IN LICENSE","_id":"strapi-plugin-sentry@3.6.9","maintainers":[{"name":"lauriejim","email":"j.laurie6993@gmail.com"},{"name":"pierreburgy","email":"pierre.burgy@gmail.com"},{"name":"soupette","email":"cyril.lpz@gmail.com"},{"name":"aurelsicoko","email":"aurelsicoko@gmail.com"},{"name":"hichamelbsi","email":"elabbassih@gmail.com"},{"name":"alexandrebodin","email":"bodin.alex@gmail.com"},{"name":"petersg83","email":"petersg83@gmail.com"},{"name":"convly","email":"jean-sebastien.herbaux@hotmail.fr"}],"homepage":"https://github.com/strapi/strapi#readme","bugs":{"url":"https://github.com/strapi/strapi/issues"},"dist":{"shasum":"6b7f80ceb2693a5f0b9ec7e4b1d0fb6ccb73d8bf","tarball":"https://registry.npmjs.org/strapi-plugin-sentry/-/strapi-plugin-sentry-3.6.9.tgz","fileCount":39,"integrity":"sha512-O2YEJmj3NGadmwFxc5C7pDOgj2+yjWZlfFJB9fqt6jHSq9DvM1fgo1vO/GcZNLD9RnIRPP/E/9Up4l9HaQPdug==","signatures":[{"sig":"MEUCIQCkF90fNGVMtHuxPpQPOMyoTTBLvpC5LzLOq++zVA+lvgIgcyywY4f/Z7ZIgZyewDD7Gvr30LIbT9a/36SPdUgKw/k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18086,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiDSWzCRA9TVsSAnZWagAA9sAP/0paU3e4nQ/nCrVvt05w\nGqmqs/l++NRF9F7mi/FLATIg/Ox1xoO/5r9AADisaHEcVLo9iDFnoq0r8fNj\n9yt2t96/ycAdQQcASLPj39nCH7VptgV8MtZ7dsKhDh8iZsFXuwgQaMv9s1y8\nGoQj2qKZ77E1HK8qp/n+K2+5kvQx+4OtCvuzwePhwpX4880uqe0mlx/WNZh3\nfHid3KLxglXc/ACxEkBhT1mH+y45spZQJ7eAJydz6fDEUEK74lPEeb15480g\n3NX0F3mHYiReC6TNXv6WzE/44wpybzh4KqOKDGmpSbN+nph1kvBKIIOAoFsf\n9ig3/DYyyhEfHjQ6gioI/6blTemRzL5xOadlkW4Qe4P9jdC5VHnTr4QOA+Db\n8r+Hqn6zv0mKi8A73SEH+maEoHWaASJkY+b3BkLJtLyVsT4sZDgcnFyiFyBw\nQa0/zMV7xKwXn1WbHY5JCwiaAm6SIkNbzDIJtfsTKfllR65JKIkxrDvF9u0+\nOuAgkxOwBwrGwTEoBbpj5f14AQjcXpL8VDNp6F2DD3U6nGocua6R0evs74HS\nyi/2wsiuImF7V81skSTz5J0Y6+QAACXTf/jsSkej0WRnH+AMySLZ++FaUgwn\ncSYZD3Kc1JgYxYJ8T76sR3UuQNrPzkESoz15OlXwfUdi7G7xmEUkb/6fTwwk\n43WH\r\n=lcHm\r\n-----END PGP SIGNATURE-----\r\n"},"readme":"# Strapi plugin Sentry\n\nThe official plugin to track Strapi errors with Sentry.\n\n---\n\n## Deprecation Warning :warning:\n\nHello! We have some news to share,\n\nWe’ve decided it’ll soon be time to end the support for `strapi-plugin-sentry`.\n\nAfter years of iterations, Strapi is going to V4 and we won’t maintain V3 packages when it’ll reach its end-of-support milestone (~end of Q3 2022).\n\nIf you’ve been using `strapi-plugin-sentry` and have migrated to V4 (or if you want to), you can find the equivalent and updated version of this package at this [URL](https://github.com/strapi/strapi/tree/master/packages/plugins/sentry) and with the following name on NPM: `@strapi/plugin-sentry`.\n\nIf you’ve contributed to the development of this package, thank you again for that! We hope to see you on the V4 soon.\n\nThe Strapi team\n\n---\n\n## Features\n\n- Initialize a Sentry instance when your Strapi app starts\n- Send errors encountered in your application's end API to Sentry\n- Attach useful metadata to Sentry events, to help you with debugging\n- Expose a global Sentry service\n\n## Installation\n\nTo install this plugin, you need to add an NPM dependency to your Strapi application.\n\n```sh\n# Using Yarn\nyarn add strapi-plugin-sentry\n\n# Or using NPM\nnpm install strapi-plugin-sentry\n```\n\n## Configuration\n\n| property       | type (default)   | description                                                                                                                                                                              |\n| -------------- | ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `dsn`          | string (`null`)  | Your Sentry data source name ([see Sentry docs](https://docs.sentry.io/product/sentry-basics/dsn-explainer/)).                                                                           |\n| `sendMetadata` | boolean (`true`) | Whether the plugin should attach additional information (like OS, browser, etc.) to the events sent to Sentry.                                                                           |\n| `init`         | object (`{}`)    | A config object that is passed directly to Sentry during the `Sentry.init()`. See all available options [on Sentry's docs](https://docs.sentry.io/platforms/node/configuration/options/) |\n\n**Example**\n\n`./config/plugins.js`\n\n```js\nmodule.exports = ({ env }) => ({\n  // ...\n  sentry: {\n    dsn: env('SENTRY_DSN'),\n    sendMetadata: true,\n  },\n  // ...\n});\n```\n\n## Global Sentry service\n\nYou can access a Sentry service throughout your app.\n\n```js\nconst sentryService = strapi.plugins.sentry.services.sentry;\n```\n\nThis service exposes the following methods:\n\n### `sendError(error, configureScope)`\n\nUse it to manually send errors to Sentry. The `configureScope` is optional, it allows you to customize the error event. Read more about Sentry's scope system [on their docs](https://docs.sentry.io/platforms/node/enriching-events/scopes/#configuring-the-scope).\n\n**Example**\n\n```js\ntry {\n  // Your code here\n} catch (error) {\n  // Either send a simple error\n  strapi.plugins.sentry.services.sentry.sendError(error);\n\n  // Or send an error with a customized Sentry scope\n  strapi.plugins.sentry.services.sentry.sendError(error, (scope, sentryInstance) => {\n    // Customize the scope here\n    scope.setTag('my_custom_tag', 'Tag value');\n  });\n  throw error;\n}\n```\n\n### `getInstance()`\n\nUse it if you need direct access to the Sentry instance, which should already already be initialized. It's useful if `sendError` doesn't suit your needs.\n\n**Example**\n\n```js\nconst sentryInstance = strapi.plugins.sentry.services.sentry.getInstance();\n```\n\n## Disabling\n\n### Disabling only the middleware\n\nBy default, this plugin uses a middleware that logs all your unhandled API errors to Sentry. You can disable this feature by turning off the `sentry` middleware in your app's config.\n\n**Example**\n\n`./config/middleware.js`\n\n```js\nmodule.exports = {\n  //...\n  settings: {\n    sentry: {\n      enabled: false,\n    },\n  },\n};\n```\n\nOnly the middleware will be disabled. You will still have access to the Sentry service.\n\n### Disabling the plugin entirely\n\nYou can also completely disable this plugin (both the middleware and the service). If you omit the `dsn` property of your plugin's settings, or if you give it a null value, the Sentry plugin will be ignored. You can use the `env` utility to disable it depending on the environment.\n\n**Example**\n\n`./config/plugins.js`\n\n```js\nmodule.exports = ({ env }) => ({\n  // ...\n  sentry: {\n    dsn: env('NODE_ENV') === 'development' ? null : env('SENTRY_DSN'),\n  },\n  // ...\n});\n```\n","strapi":{"icon":"plug","name":"Sentry","description":"sentry.plugin.description"},"engines":{"npm":">=6.0.0","node":">=10.16.0 <=14.x.x"},"gitHead":"db6a77697779dcd3434e295f5689faa15080c775","_npmUser":{"name":"convly","email":"jean-sebastien.herbaux@hotmail.fr"},"deprecated":"Strapi V3 is no longer maintained","repository":{"url":"git+https://github.com/strapi/strapi.git","type":"git","directory":"packages/strapi-plugin-sentry"},"_npmVersion":"lerna/3.22.1/node@v12.22.4+x64 (linux)","description":"Send Strapi error events to Sentry","directories":{},"_nodeVersion":"12.22.4","dependencies":{"@sentry/node":"6.7.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-sentry_3.6.9_1645028786959_0.7394592795507182","host":"s3://npm-registry-packages"}},"3.6.10":{"name":"strapi-plugin-sentry","version":"3.6.10","author":{"url":"https://strapi.io","name":"Strapi team","email":"hi@strapi.io"},"license":"SEE LICENSE IN LICENSE","_id":"strapi-plugin-sentry@3.6.10","maintainers":[{"name":"lauriejim","email":"j.laurie6993@gmail.com"},{"name":"pierreburgy","email":"pierre.burgy@gmail.com"},{"name":"soupette","email":"cyril.lpz@gmail.com"},{"name":"aurelsicoko","email":"aurelsicoko@gmail.com"},{"name":"hichamelbsi","email":"elabbassih@gmail.com"},{"name":"alexandrebodin","email":"bodin.alex@gmail.com"},{"name":"petersg83","email":"petersg83@gmail.com"},{"name":"convly","email":"jean-sebastien.herbaux@hotmail.fr"}],"homepage":"https://github.com/strapi/strapi#readme","bugs":{"url":"https://github.com/strapi/strapi/issues"},"dist":{"shasum":"10dd75139fa851bf92967937139c41fa2ff7da6e","tarball":"https://registry.npmjs.org/strapi-plugin-sentry/-/strapi-plugin-sentry-3.6.10.tgz","fileCount":39,"integrity":"sha512-57N7YHkEq3Y3/AMr2EFVTyNM23TpTjbKgD0R4s9o3GP/RdYKNEIWB/Kkt29jGTFw27LNs/BRzouJSpk4qVtTCQ==","signatures":[{"sig":"MEUCIAoCEC6zfKI1rldPzv1ShAVXvqnV1nkZ6RpQevEUh1yvAiEApycxEqu5DnptNo4vcTyuGzVPJFNtlp1UZJLRg6yihMw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18087,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJie8e9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpy0A//UBY44a7D+2HQ+j/X8nvXkf+O7D+DqXpsrRJIsdavfft1ew1L\r\nK+P6h/mVbRhwpTA7lmyeIOyytQ61vSNMpZIv59E7wW+LaibrEEQraOvgERYa\r\noHZf86A+UYhw3iM8UIDmaQP3OuUeUJHWK5paxnDypCBCbDL8PrIW7QmcdDXO\r\n8j8BMUDlnlRMBPW68Ny8ucVBmGac77wNgATpJP2d0aly/hSr8mxWdHQGRRUl\r\n82h/U69+V5zN7Lf7bijFN7xxPm9GW2LpYuQ9OuS5CXbLOEGymY9rsr6aK8Fz\r\nkSj/5ncl11smcaeERCsssK59X+QDhFJYyBvEajSQZskHoD044R3durZKx/bO\r\nfPtPzZtgDNQh9bmSfpG5kZPEGMNRyRPp+yNoLdwRKkjGBK02C6ZN7za2MAwV\r\n1zb90NeECnSd4MOBxIGypFzOZJ3OI1jBp8xPKOxwsw84wnBT0YG4bdaYRLos\r\nU8Ez6Q/6JETCUd9JfXcyzQrWez53ksmxc4I4A9aZ4JTkjr84goycRXsXZQOX\r\nSUiEKjboDAHp8R8Y3E0dYktlfWskmvodOdsJc291s3gr7SVwJTR90zoj0csC\r\nlxSKeqf/sfrPZQenu9VjH7GplbcNI17Y3UNmb4aZMqPIy3r9AVFlZP5ozyn3\r\not6TNtzUTlaZO7LlQVp27BG3zToBHYEB8x0=\r\n=P0Rw\r\n-----END PGP SIGNATURE-----\r\n"},"strapi":{"icon":"plug","name":"Sentry","description":"sentry.plugin.description"},"engines":{"npm":">=6.0.0","node":">=10.16.0 <=14.x.x"},"gitHead":"86f882bc154e16321fbc83d0086e0d956bb5e82a","_npmUser":{"name":"convly","email":"jean-sebastien.herbaux@hotmail.fr"},"deprecated":"Strapi V3 is no longer maintained","repository":{"url":"git+https://github.com/strapi/strapi.git","type":"git","directory":"packages/strapi-plugin-sentry"},"_npmVersion":"lerna/3.22.1/node@v14.19.1+x64 (linux)","description":"Send Strapi error events to Sentry","directories":{},"_nodeVersion":"14.19.1","dependencies":{"@sentry/node":"6.7.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-sentry_3.6.10_1652279229115_0.7254887432597779","host":"s3://npm-registry-packages"}},"3.6.11":{"name":"strapi-plugin-sentry","version":"3.6.11","author":{"url":"https://strapi.io","name":"Strapi team","email":"hi@strapi.io"},"license":"SEE LICENSE IN LICENSE","_id":"strapi-plugin-sentry@3.6.11","maintainers":[{"name":"lauriejim","email":"j.laurie6993@gmail.com"},{"name":"pierreburgy","email":"pierre.burgy@gmail.com"},{"name":"aurelsicoko","email":"aurelsicoko@gmail.com"},{"name":"alexandrebodin","email":"bodin.alex@gmail.com"},{"name":"petersg83","email":"petersg83@gmail.com"},{"name":"convly","email":"jean-sebastien.herbaux@hotmail.fr"}],"homepage":"https://github.com/strapi/strapi#readme","bugs":{"url":"https://github.com/strapi/strapi/issues"},"dist":{"shasum":"7776dbf7ca00f56111724c144c39cc4d1b0ba1a3","tarball":"https://registry.npmjs.org/strapi-plugin-sentry/-/strapi-plugin-sentry-3.6.11.tgz","fileCount":39,"integrity":"sha512-xYsz7PQhly0sVuQmXtWhPmdiYyA/kQxotXvf9ZXUtn4OAW8HIXijmfRab6/E46yX8C4v48WgcA4eUEllTT43Vw==","signatures":[{"sig":"MEQCIAPpp5KbJ0r+To0WpuAz4CY2InN9rZjiUM2dCBim+waLAiBJy0Xx45w2a6Zgv4XMoyv/kQlWbY15lOw5fcApQJtZVA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18087,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjfOt0ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpBlBAAgp0EtrGKPJ4uivn+AFQvk4WQe8g4I3kTfqt52J1yIIdBd1Kl\r\n+5l1WDjFJhuJRbV69iJPY9n1KfaEYVIbjndkHFfIff/nnYkNdX5ofA4f1IIV\r\nMBVc0jip4UY05y9G82GWENF8seVp3eV+/6gK83UwCNtrzJ7Lh3oYKhe08oW0\r\nbiY6vt61pfX0SeccXu7OWu//etRKGFYG2cCNMoNTns6Nl/MlaTrD0hXx0Yfc\r\nAUm4VV+B9rXJ6jdqwfRismoKQZh4yTs8y0cB5hvCmQrDH0xaGSlabtmvmk/P\r\nW47HzpG7M3xVhnxYBZ56AsXU8SALEnwGFhNIcuWCgwe0ZMmuUbW3EWyS6/7B\r\n7gkYCl83Q0XxAwiMVxKZ6oRb1sWQdS6GuBIfQFqpJtcw/2xdghurhhP3El8I\r\nQPIqNjQ00DpLw6r3kPvPfKhxpZD+KEz7yPyfdb5DwHZwLWd4Pe8dC+ax7kmN\r\nyEVYy3XOBE3W1H/V4ZTJphGZsGqdbUUE+1pe27PvLqEzqVWmzCICpkbZK2xo\r\nN7yHP6XJsharv0LvDPYHVhWCZw6qtpcQnYz3Wt1orWjm+ZnrRsKMN51DLmph\r\nMfNzmRSPN7DfSuPn9oO1JZ7KPlFMcVvmEompLn7D4oXwnWdJg7hPiE8zAlWt\r\ngM3ECHoeyaXOuplE3AANzwI8ZVVBUTLo0+k=\r\n=daRz\r\n-----END PGP SIGNATURE-----\r\n"},"strapi":{"icon":"plug","name":"Sentry","description":"sentry.plugin.description"},"engines":{"npm":">=6.0.0","node":">=10.16.0 <=14.x.x"},"gitHead":"62b3ff560e0d1749c4bcf93e5d357501edd9dddb","_npmUser":{"name":"alexandrebodin","email":"bodin.alex@gmail.com"},"deprecated":"Strapi V3 is no longer maintained","repository":{"url":"git+https://github.com/strapi/strapi.git","type":"git","directory":"packages/strapi-plugin-sentry"},"_npmVersion":"lerna/3.22.1/node@v14.21.1+x64 (darwin)","description":"Send Strapi error events to Sentry","directories":{},"_nodeVersion":"14.21.1","dependencies":{"@sentry/node":"6.7.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-sentry_3.6.11_1669131124699_0.9584649854929379","host":"s3://npm-registry-packages"}}},"time":{"created":"2017-11-08T13:42:51.677Z","modified":"2026-06-23T11:52:39.262Z","0.0.0":"2017-11-08T13:42:51.677Z","3.5.0-rc.0":"2021-02-16T16:44:40.984Z","3.5.0-next.0":"2021-02-17T17:34:27.109Z","3.5.0-next.3":"2021-02-17T17:35:39.404Z","3.5.0":"2021-02-18T10:28:44.469Z","3.5.1":"2021-02-23T10:23:36.107Z","3.5.2":"2021-03-01T10:25:07.012Z","3.5.3":"2021-03-11T13:25:52.221Z","3.5.4-next.0":"2021-03-25T13:11:55.842Z","3.5.4":"2021-03-25T13:35:01.579Z","3.6.0-next.0":"2021-04-02T15:36:50.916Z","3.6.0-beta.0":"2021-04-02T15:49:56.193Z","3.6.0-beta.1":"2021-04-08T17:52:59.050Z","3.6.0-beta.2":"2021-04-09T15:46:32.399Z","3.6.0-beta.3":"2021-04-19T17:14:01.647Z","3.6.0-beta.4":"2021-04-20T12:34:56.421Z","3.6.0-beta.5":"2021-04-21T14:35:15.179Z","3.6.0":"2021-04-21T15:01:17.284Z","3.6.1":"2021-04-29T12:34:56.732Z","3.6.2":"2021-05-11T09:43:54.862Z","3.6.3":"2021-06-02T14:25:17.799Z","3.6.4":"2021-06-23T13:19:30.805Z","3.6.5":"2021-06-23T13:44:58.101Z","3.6.6":"2021-08-04T15:07:09.732Z","3.6.7":"2021-08-19T07:32:30.760Z","3.6.8":"2021-08-24T09:01:02.045Z","3.6.9":"2022-02-16T16:26:27.133Z","3.6.10":"2022-05-11T14:27:09.249Z","3.6.11":"2022-11-22T15:32:04.866Z"},"bugs":{"url":"https://github.com/strapi/strapi/issues"},"author":{"url":"https://strapi.io","name":"Strapi team","email":"hi@strapi.io"},"license":"SEE LICENSE IN LICENSE","homepage":"https://github.com/strapi/strapi#readme","repository":{"url":"git+https://github.com/strapi/strapi.git","type":"git","directory":"packages/strapi-plugin-sentry"},"description":"Send Strapi error events to Sentry","maintainers":[{"email":"pierre.burgy@gmail.com","name":"pierreburgy"},{"email":"aurelsicoko@gmail.com","name":"aurelsicoko"},{"email":"bodin.alex@gmail.com","name":"alexandrebodin"},{"email":"jean-sebastien.herbaux@hotmail.fr","name":"convly"},{"email":"nicolas.andre@strapi.io","name":"nico-strapi"},{"email":"adrien.lepoutre@strapi.io","name":"strapi.adzouz"},{"email":"simon.norris@strapi.io","name":"cache-your-dreams"},{"email":"ben.irvin@gmail.com","name":"baronvoninternet"},{"email":"marc.roig.campos@strapi.io","name":"marc-roig-strapi"},{"email":"jhoward1994@gmail.com","name":"jhoward1994"},{"email":"basselkanso82@gmail.com","name":"bassel17"}],"readme":"# Strapi plugin Sentry\n\nThe official plugin to track Strapi errors with Sentry.\n\n---\n\n## Deprecation Warning :warning:\n\nHello! We have some news to share,\n\nWe’ve decided it’ll soon be time to end the support for `strapi-plugin-sentry`.\n\nAfter years of iterations, Strapi is going to V4 and we won’t maintain V3 packages when it’ll reach its end-of-support milestone (~end of Q3 2022).\n\nIf you’ve been using `strapi-plugin-sentry` and have migrated to V4 (or if you want to), you can find the equivalent and updated version of this package at this [URL](https://github.com/strapi/strapi/tree/master/packages/plugins/sentry) and with the following name on NPM: `@strapi/plugin-sentry`.\n\nIf you’ve contributed to the development of this package, thank you again for that! We hope to see you on the V4 soon.\n\nThe Strapi team\n\n---\n\n## Features\n\n- Initialize a Sentry instance when your Strapi app starts\n- Send errors encountered in your application's end API to Sentry\n- Attach useful metadata to Sentry events, to help you with debugging\n- Expose a global Sentry service\n\n## Installation\n\nTo install this plugin, you need to add an NPM dependency to your Strapi application.\n\n```sh\n# Using Yarn\nyarn add strapi-plugin-sentry\n\n# Or using NPM\nnpm install strapi-plugin-sentry\n```\n\n## Configuration\n\n| property       | type (default)   | description                                                                                                                                                                              |\n| -------------- | ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `dsn`          | string (`null`)  | Your Sentry data source name ([see Sentry docs](https://docs.sentry.io/product/sentry-basics/dsn-explainer/)).                                                                           |\n| `sendMetadata` | boolean (`true`) | Whether the plugin should attach additional information (like OS, browser, etc.) to the events sent to Sentry.                                                                           |\n| `init`         | object (`{}`)    | A config object that is passed directly to Sentry during the `Sentry.init()`. See all available options [on Sentry's docs](https://docs.sentry.io/platforms/node/configuration/options/) |\n\n**Example**\n\n`./config/plugins.js`\n\n```js\nmodule.exports = ({ env }) => ({\n  // ...\n  sentry: {\n    dsn: env('SENTRY_DSN'),\n    sendMetadata: true,\n  },\n  // ...\n});\n```\n\n## Global Sentry service\n\nYou can access a Sentry service throughout your app.\n\n```js\nconst sentryService = strapi.plugins.sentry.services.sentry;\n```\n\nThis service exposes the following methods:\n\n### `sendError(error, configureScope)`\n\nUse it to manually send errors to Sentry. The `configureScope` is optional, it allows you to customize the error event. Read more about Sentry's scope system [on their docs](https://docs.sentry.io/platforms/node/enriching-events/scopes/#configuring-the-scope).\n\n**Example**\n\n```js\ntry {\n  // Your code here\n} catch (error) {\n  // Either send a simple error\n  strapi.plugins.sentry.services.sentry.sendError(error);\n\n  // Or send an error with a customized Sentry scope\n  strapi.plugins.sentry.services.sentry.sendError(error, (scope, sentryInstance) => {\n    // Customize the scope here\n    scope.setTag('my_custom_tag', 'Tag value');\n  });\n  throw error;\n}\n```\n\n### `getInstance()`\n\nUse it if you need direct access to the Sentry instance, which should already already be initialized. It's useful if `sendError` doesn't suit your needs.\n\n**Example**\n\n```js\nconst sentryInstance = strapi.plugins.sentry.services.sentry.getInstance();\n```\n\n## Disabling\n\n### Disabling only the middleware\n\nBy default, this plugin uses a middleware that logs all your unhandled API errors to Sentry. You can disable this feature by turning off the `sentry` middleware in your app's config.\n\n**Example**\n\n`./config/middleware.js`\n\n```js\nmodule.exports = {\n  //...\n  settings: {\n    sentry: {\n      enabled: false,\n    },\n  },\n};\n```\n\nOnly the middleware will be disabled. You will still have access to the Sentry service.\n\n### Disabling the plugin entirely\n\nYou can also completely disable this plugin (both the middleware and the service). If you omit the `dsn` property of your plugin's settings, or if you give it a null value, the Sentry plugin will be ignored. You can use the `env` utility to disable it depending on the environment.\n\n**Example**\n\n`./config/plugins.js`\n\n```js\nmodule.exports = ({ env }) => ({\n  // ...\n  sentry: {\n    dsn: env('NODE_ENV') === 'development' ? null : env('SENTRY_DSN'),\n  },\n  // ...\n});\n```\n","readmeFilename":"README.md"}