rsnext/examples/with-sentry
Shu Uesugi 6804039e94 Make example READMEs more consistent (#10124)
* npx create → npm init

* Fix inconsistent instructions

* Update amp-first

* Update with-graphql-react

* with-firebase-cloud-messaging

* Update with-higher-order-component

* change create-next-app url

* Update create-next-app instruction

* Update instructions to use npm instead of npx

* Move "the idea behind the example" to top

* Rename

* Rename

* Update contributing.md with a README template
2020-01-16 23:23:56 +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 Make example READMEs more consistent (#10124) 2020-01-16 23:23:56 +01:00
server.js Improve linting rules to catch more errors (#9374) 2019-11-10 19:24:53 -08:00

Sentry example

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

How to use

Using create-next-app

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

npm init 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

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.