gatsby-plugin-sentry
Advanced tools
Comparing version 0.1.0 to 1.0.0
exports.onClientEntry = function(_, pluginParams) { | ||
if (process.env.NODE_ENV === 'production') { | ||
require.ensure(['raven-js'], function(require) { | ||
const Raven = require('raven-js'); | ||
if (!Raven.isSetup()) Raven.config(pluginParams.dsn, pluginParams.config).install(); | ||
window.Raven = Raven; | ||
}); | ||
} | ||
require.ensure(['@sentry/browser'], function(require) { | ||
const Sentry = require('@sentry/browser'); | ||
Sentry.init(pluginParams); | ||
window.Sentry = Sentry; | ||
}); | ||
}; |
{ | ||
"name": "gatsby-plugin-sentry", | ||
"description": "Gatsby plugin to add Sentry error tracking to your site.", | ||
"version": "0.1.0", | ||
"version": "1.0.0", | ||
"author": "Jason Stallings <jason.stallin.gs>", | ||
@@ -18,4 +18,4 @@ "repository": { | ||
"dependencies": { | ||
"raven-js": "latest" | ||
"@sentry/browser": "latest" | ||
} | ||
} |
@@ -8,2 +8,3 @@ # gatsby-plugin-sentry | ||
## Install | ||
`npm install --save gatsby-plugin-sentry` | ||
@@ -17,12 +18,43 @@ | ||
{ | ||
resolve: 'gatsby-plugin-sentry', | ||
resolve: "gatsby-plugin-sentry", | ||
options: { | ||
dsn: 'YOUR_SENTRY_DSN_URL', | ||
dsn: "YOUR_SENTRY_DSN_URL", | ||
// Optional settings, see https://docs.sentry.io/clients/node/config/#optional-settings | ||
config: { | ||
environment: 'staging' | ||
} | ||
}, | ||
}, | ||
] | ||
environment: process.env.NODE_ENV, | ||
enabled: (() => ["production", "stage"].indexOf(process.env.NODE_ENV) !== -1)() | ||
} | ||
} | ||
]; | ||
``` | ||
Now `Sentry` is availble in global window object. so you can use it in `react 16` like: | ||
```javascript | ||
export default class ErrorBoundary extends React.Component { | ||
constructor(props) { | ||
super(props); | ||
this.state = { error: null }; | ||
} | ||
componentDidCatch(error, errorInfo) { | ||
this.setState({ error }); | ||
Sentry.configureScope((scope) => { | ||
Object.keys(errorInfo).forEach(key => { | ||
scope.setExtra(key, errorInfo[key]); | ||
}); | ||
}); | ||
Sentry.captureException(error); | ||
} | ||
render() { | ||
if (this.state.error) { | ||
// render fallback UI | ||
return <h1>Something went wrong!</h1>; | ||
} else { | ||
// when there's not an error, render children untouched | ||
return this.props.children; | ||
} | ||
} | ||
} | ||
``` |
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
Trivial Package
Supply chain riskPackages less than 10 lines of code are easily copied into your own project and may not warrant the additional supply chain risk of an external dependency.
Found 1 instance in 1 package
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
5527
6
74
1
59
0
+ Added@sentry/browser@latest
+ Added@sentry-internal/browser-utils@9.0.0(transitive)
+ Added@sentry-internal/feedback@9.0.0(transitive)
+ Added@sentry-internal/replay@9.0.0(transitive)
+ Added@sentry-internal/replay-canvas@9.0.0(transitive)
+ Added@sentry/browser@9.0.0(transitive)
+ Added@sentry/core@9.0.0(transitive)
- Removedraven-js@latest
- Removedraven-js@3.27.2(transitive)