@sentry/browser
Version:
Official Sentry SDK for browsers
66 lines (63 loc) • 3.06 kB
JavaScript
import { inboundFiltersIntegration, functionToStringIntegration, conversationIdIntegration, dedupeIntegration, getIntegrationsToSetup, stackParserFromStackParserOptions, setNormalizeStringifier, initAndBind } from '@sentry/core/browser';
import { BrowserClient } from './client.js';
import { breadcrumbsIntegration } from './integrations/breadcrumbs.js';
import { browserApiErrorsIntegration } from './integrations/browserapierrors.js';
import { browserSessionIntegration } from './integrations/browsersession.js';
import { cultureContextIntegration } from './integrations/culturecontext.js';
import { globalHandlersIntegration } from './integrations/globalhandlers.js';
import { httpContextIntegration } from './integrations/httpcontext.js';
import { linkedErrorsIntegration } from './integrations/linkederrors.js';
import { spotlightBrowserIntegration } from './integrations/spotlight.js';
import { defaultStackParser } from './stack-parsers.js';
import { makeFetchTransport } from './transports/fetch.js';
import { normalizeStringifyValue } from './normalizeStringifyValue.js';
import { checkAndWarnIfIsEmbeddedBrowserExtension } from './utils/detectBrowserExtension.js';
function getDefaultIntegrations(_options) {
return [
// TODO(v11): Replace with `eventFiltersIntegration` once we remove the deprecated `inboundFiltersIntegration`
// eslint-disable-next-line deprecation/deprecation
inboundFiltersIntegration(),
functionToStringIntegration(),
conversationIdIntegration(),
browserApiErrorsIntegration(),
breadcrumbsIntegration(),
globalHandlersIntegration(),
linkedErrorsIntegration(),
dedupeIntegration(),
httpContextIntegration(),
cultureContextIntegration(),
browserSessionIntegration()
];
}
function init(options = {}) {
const shouldDisableBecauseIsBrowserExtenstion = !options.skipBrowserExtensionCheck && checkAndWarnIfIsEmbeddedBrowserExtension();
let defaultIntegrations = options.defaultIntegrations == null ? getDefaultIntegrations() : options.defaultIntegrations;
/*! rollup-include-development-only */
if (options.spotlight) {
if (!defaultIntegrations) {
defaultIntegrations = [];
}
const args = typeof options.spotlight === "string" ? { sidecarUrl: options.spotlight } : void 0;
defaultIntegrations.push(spotlightBrowserIntegration(args));
}
/*! rollup-include-development-only-end */
const clientOptions = {
...options,
enabled: shouldDisableBecauseIsBrowserExtenstion ? false : options.enabled,
stackParser: stackParserFromStackParserOptions(options.stackParser || defaultStackParser),
integrations: getIntegrationsToSetup({
integrations: options.integrations,
defaultIntegrations
}),
transport: options.transport || makeFetchTransport
};
setNormalizeStringifier(normalizeStringifyValue);
return initAndBind(BrowserClient, clientOptions);
}
function forceLoad() {
}
function onLoad(callback) {
callback();
}
export { forceLoad, getDefaultIntegrations, init, onLoad };
//# sourceMappingURL=sdk.js.map