summaryrefslogtreecommitdiff
path: root/frontend
diff options
context:
space:
mode:
Diffstat (limited to 'frontend')
-rw-r--r--frontend/Dockerfile2
-rw-r--r--frontend/package.json2
-rw-r--r--frontend/src/index.js12
-rw-r--r--frontend/yarn.lock80
4 files changed, 96 insertions, 0 deletions
diff --git a/frontend/Dockerfile b/frontend/Dockerfile
index d20f0232..20e16b08 100644
--- a/frontend/Dockerfile
+++ b/frontend/Dockerfile
@@ -10,12 +10,14 @@ FROM node:14 AS build
ARG OPENDC_OAUTH_CLIENT_ID
ARG OPENDC_API_BASE_URL
+ARG OPENDC_FRONTEND_SENTRY_DSN
COPY ./ /opendc
COPY --from=staging /opendc/node_modules /opendc/node_modules
RUN cd /opendc/ \
&& export REACT_APP_OAUTH_CLIENT_ID=$OPENDC_OAUTH_CLIENT_ID \
&& export REACT_APP_API_BASE_URL=$OPENDC_API_BASE_URL \
+ && export REACT_APP_SENTRY_DSN=$OPENDC_FRONTEND_SENTRY_DSN \
&& yarn build
# Setup nginx to serve the frontend
diff --git a/frontend/package.json b/frontend/package.json
index 16732995..0cdce949 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -18,6 +18,8 @@
"private": true,
"proxy": "http://localhost:8081",
"dependencies": {
+ "@sentry/react": "^5.27.3",
+ "@sentry/tracing": "^5.27.3",
"approximate-number": "~2.0.0",
"bootstrap": "4.5.3",
"classnames": "~2.2.5",
diff --git a/frontend/src/index.js b/frontend/src/index.js
index 0971b1e6..fe119dfb 100644
--- a/frontend/src/index.js
+++ b/frontend/src/index.js
@@ -1,5 +1,7 @@
import React from 'react'
import ReactDOM from 'react-dom'
+import * as Sentry from '@sentry/react'
+import { Integrations } from '@sentry/tracing'
import { Provider } from 'react-redux'
import { setupSocketConnection } from './api/socket'
import './index.sass'
@@ -9,6 +11,16 @@ import configureStore from './store/configure-store'
setupSocketConnection(() => {
const store = configureStore()
+ // Initialize Sentry if the user has configured a DSN
+ if (process.env.REACT_APP_SENTRY_DSN) {
+ Sentry.init({
+ environment: process.env.NODE_ENV,
+ dsn: process.env.REACT_APP_SENTRY_DSN,
+ integrations: [new Integrations.BrowserTracing()],
+ tracesSampleRate: 0.5,
+ })
+ }
+
ReactDOM.render(
<Provider store={store}>
<Routes />
diff --git a/frontend/yarn.lock b/frontend/yarn.lock
index 7398bf38..9c522e42 100644
--- a/frontend/yarn.lock
+++ b/frontend/yarn.lock
@@ -1371,6 +1371,81 @@
resolved "https://registry.yarnpkg.com/@redux-saga/types/-/types-1.1.0.tgz#0e81ce56b4883b4b2a3001ebe1ab298b84237204"
integrity sha512-afmTuJrylUU/0OtqzaRkbyYFFNgCF73Bvel/sw90pvGrWIZ+vyoIJqA6eMSoA6+nb443kTmulmBtC9NerXboNg==
+"@sentry/browser@5.27.3":
+ version "5.27.3"
+ resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-5.27.3.tgz#02e78a4502ee99988d3cbb0075a11ec44b503871"
+ integrity sha512-vczS+XTW4Nk2A7TIpAw8IVFHpp+NK6mV9euBG2I61Bs2QbQY9yKLfbjiln/yH2Q8X4THX6MKa0GuiPoCEeq3uw==
+ dependencies:
+ "@sentry/core" "5.27.3"
+ "@sentry/types" "5.27.3"
+ "@sentry/utils" "5.27.3"
+ tslib "^1.9.3"
+
+"@sentry/core@5.27.3":
+ version "5.27.3"
+ resolved "https://registry.yarnpkg.com/@sentry/core/-/core-5.27.3.tgz#d7a175b71596b7eb4b2e8b4cd1858a60d95813bb"
+ integrity sha512-yqepQO88jSt5hy0awpk61AxI4oHB09LjVbUEk4nJDg+1YXuND23cuZvH+Sp2jCZX2vrsw2tefwflToYfA8/U2w==
+ dependencies:
+ "@sentry/hub" "5.27.3"
+ "@sentry/minimal" "5.27.3"
+ "@sentry/types" "5.27.3"
+ "@sentry/utils" "5.27.3"
+ tslib "^1.9.3"
+
+"@sentry/hub@5.27.3":
+ version "5.27.3"
+ resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-5.27.3.tgz#f509c2fd38f500afef6030504e82510dbd0649d6"
+ integrity sha512-icEH3hr6NVQkpowXZcPOs9IgJZP5lMKtvud4mVioSpkd+NxtRdKrGEX4eF2TCviOJc9Md0mV4K+aL5Au7hxggQ==
+ dependencies:
+ "@sentry/types" "5.27.3"
+ "@sentry/utils" "5.27.3"
+ tslib "^1.9.3"
+
+"@sentry/minimal@5.27.3":
+ version "5.27.3"
+ resolved "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-5.27.3.tgz#c9263bdd6270bfeae64137177448911dff568e53"
+ integrity sha512-ng01cM0rsE1RMjqVTpPLN0ZVkTo0I675usM1krkpQe8ddW6tfQ6EJWpt02/BrpQZRQzTtfWp6/RyB1KFXg6icg==
+ dependencies:
+ "@sentry/hub" "5.27.3"
+ "@sentry/types" "5.27.3"
+ tslib "^1.9.3"
+
+"@sentry/react@^5.27.3":
+ version "5.27.3"
+ resolved "https://registry.yarnpkg.com/@sentry/react/-/react-5.27.3.tgz#aefff1cb2249a4e7f123c7467d1da205d5c02e92"
+ integrity sha512-p7E+djSUVKz02HoRVDX+zamjV8+RL4bqoPnS9JQESweB0sRTYlpvi+CqWLYWNWnamWQWOl97hOw/lLDpo4kUSA==
+ dependencies:
+ "@sentry/browser" "5.27.3"
+ "@sentry/minimal" "5.27.3"
+ "@sentry/types" "5.27.3"
+ "@sentry/utils" "5.27.3"
+ hoist-non-react-statics "^3.3.2"
+ tslib "^1.9.3"
+
+"@sentry/tracing@^5.27.3":
+ version "5.27.3"
+ resolved "https://registry.yarnpkg.com/@sentry/tracing/-/tracing-5.27.3.tgz#787e57a2f7071e375f4fad0f3c3a5ff3381928e7"
+ integrity sha512-UWrHMdGxPfx1u558CWm1tptc2z0BuqCHVe2+BNN7POahq5BkpbGqaotyPQTBHbfmcs6QGfsMG57ou8HQFrBxyA==
+ dependencies:
+ "@sentry/hub" "5.27.3"
+ "@sentry/minimal" "5.27.3"
+ "@sentry/types" "5.27.3"
+ "@sentry/utils" "5.27.3"
+ tslib "^1.9.3"
+
+"@sentry/types@5.27.3":
+ version "5.27.3"
+ resolved "https://registry.yarnpkg.com/@sentry/types/-/types-5.27.3.tgz#d377508769bc658d672c287166c7f6c5db45660c"
+ integrity sha512-PkWhMArFMxBb1g3HtMEL8Ea9PYae2MU0z9CMIWiqzerFy2ZpKG98IU3pt8ic4JkmKQdwB8hDiZpRPMHhW0WYwQ==
+
+"@sentry/utils@5.27.3":
+ version "5.27.3"
+ resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-5.27.3.tgz#1fc45dfad1f1e4398bee58684d8947666d8d3003"
+ integrity sha512-R9WvFrRBALZvCzu/9BsuXBCfkNxz4MwdBNSXaBsJo4afQw1ljkjIc9DpHzlL9S9goIwXo81Buwmr5gGDO6aH+Q==
+ dependencies:
+ "@sentry/types" "5.27.3"
+ tslib "^1.9.3"
+
"@svgr/babel-plugin-add-jsx-attribute@^4.2.0":
version "4.2.0"
resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-4.2.0.tgz#dadcb6218503532d6884b210e7f3c502caaa44b1"
@@ -11366,6 +11441,11 @@ tslib@^1.10.0, tslib@^1.8.1, tslib@^1.9.0:
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043"
integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==
+tslib@^1.9.3:
+ version "1.14.1"
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
+ integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
+
tsutils@^3.17.1:
version "3.17.1"
resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759"