rsnext/examples/with-sentry
James Russo a7e96706fc Update with-sentry example to not use sentry-testkit (#9777)
With an update to sentry-testkit to depend on native node modules
this example no longer works in the browser. Sentry-testkit is made
for a node server not to work in the browser. However, with this
change we no longer require sentry-testkit in our setup for sentry.
Before this change with the update of sentry-testkit to 3.1 we were
encountering errors when trying to run the next.js local development
server because it was trying to load sentry-testkit in the browser.

Thank you to @ohana54 for his example found here https://github.com/wix/sentry-testkit/issues/43
this will now close this issue https://github.com/zeit/next.js/issues/9768
as well.
2019-12-18 17:51:46 +01:00
..
pages Improve linting rules to catch more errors (#9374) 2019-11-10 19:24:53 -08:00
utils Update with-sentry example to not use sentry-testkit (#9777) 2019-12-18 17:51:46 +01:00
next.config.js Improve linting rules to catch more errors (#9374) 2019-11-10 19:24:53 -08:00
package.json Update Sentry to v5 and add @sentry/integrations (#6873) 2019-04-03 12:32:36 +02:00
README.md Replace the deprecated Create Next App URL (#9032) 2019-10-10 23:34:14 -04:00
server.js Improve linting rules to catch more errors (#9374) 2019-11-10 19:24:53 -08:00

Sentry example

How to use

Using create-next-app

Execute create-next-app with Yarn or npx to bootstrap the example:

npx create-next-app --example with-sentry with-sentry-app
# or
yarn create next-app --example with-sentry with-sentry-app

Download manually

Download the example:

Install it and run:

npm

npm install
npm run dev

yarn

yarn
yarn dev

Deploy it to the cloud with now (download)

now

About example

An example showing use of Sentry to catch & report errors on both client + server side.

Configuration

You will need a Sentry DSN for your project. You can get it from the Settings of your Project, in Client Keys (DSN), and copy the string labeled DSN (Public).

The Sentry DSN should then be added as an environment variable when running the dev, build, and start scripts in package.json:

{
  "scripts": {
    "dev": "SENTRY_DSN=<dsn> node server.js",
    "build": "SENTRY_DSN=<dsn> next build",
    "start": "SENTRY_DSN=<dsn> NODE_ENV=production node server.js"
  }
}

Note: Setting environment variables in a package.json is not secure, it is done here only for demo purposes. See the with-dotenv example for an example of how to set environment variables safely.