@sentry/remix
Version:
Official Sentry SDK for Remix
40 lines (32 loc) • 1.1 kB
JavaScript
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
const react = require('@sentry/react');
const performance = require('./performance.js');
/**
* Creates a browser tracing integration for Remix applications.
* This integration will create pageload and navigation spans.
*/
function browserTracingIntegration(options) {
const { instrumentPageLoad = true, instrumentNavigation = true, useEffect, useLocation, useMatches } = options;
performance.setGlobals({
useEffect,
useLocation,
useMatches,
instrumentNavigation,
});
const browserTracingIntegrationInstance = react.browserTracingIntegration({
...options,
instrumentPageLoad: false,
instrumentNavigation: false,
});
return {
...browserTracingIntegrationInstance,
afterAllSetup(client) {
browserTracingIntegrationInstance.afterAllSetup(client);
if (instrumentPageLoad) {
performance.startPageloadSpan(client);
}
},
};
}
exports.browserTracingIntegration = browserTracingIntegration;
//# sourceMappingURL=browserTracingIntegration.js.map