import * as Sentry from '@sentry/browser'; const { key, enabled, user, environment, browser } = gon.sentry || {}; // We need to check for key presence here as we do not have a dsn for browser yet if (enabled && key) { Sentry.init({ dsn: key, environment, ignoreErrors: [ // Ignore errors generated by a Microsoft crawler. // See https://forum.sentry.io/t/unhandledrejection-non-error-promise-rejection-captured-with-value/14062 'Non-error promise rejection captured with keys', 'Non-Error promise rejection captured with value' ] }); Sentry.configureScope((scope) => { scope.setUser(user); scope.setExtra('browser', browser.modern ? 'modern' : 'legacy'); }); // Register a way to explicitely capture messages from a different bundle. addEventListener('sentry:capture-exception', (event) => { const error = event.detail; Sentry.captureException(error); }); }