Skip to content

Commit 3efe111

Browse files
committed
ref(browser): Remove backend
1 parent 6de9bb7 commit 3efe111

File tree

5 files changed

+78
-89
lines changed

5 files changed

+78
-89
lines changed

packages/browser/src/backend.ts

Lines changed: 0 additions & 77 deletions
This file was deleted.

packages/browser/src/client.ts

Lines changed: 74 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,45 @@
11
import { BaseClient, Scope, SDK_VERSION } from '@sentry/core';
2-
import { Event, EventHint } from '@sentry/types';
3-
import { getGlobalObject, logger } from '@sentry/utils';
2+
import { Event, EventHint, Options, SeverityLevel, Transport } from '@sentry/types';
3+
import { getGlobalObject, logger, supportsFetch } from '@sentry/utils';
44

5-
import { BrowserBackend, BrowserOptions } from './backend';
5+
import { eventFromException, eventFromMessage } from './eventbuilder';
66
import { injectReportDialog, ReportDialogOptions } from './helpers';
77
import { Breadcrumbs } from './integrations';
8+
import { FetchTransport, XHRTransport } from './transports';
9+
10+
/**
11+
* Configuration options for the Sentry Browser SDK.
12+
* @see BrowserClient for more information.
13+
*/
14+
export interface BrowserOptions extends Options {
15+
/**
16+
* A pattern for error URLs which should exclusively be sent to Sentry.
17+
* This is the opposite of {@link Options.denyUrls}.
18+
* By default, all errors will be sent.
19+
*/
20+
allowUrls?: Array<string | RegExp>;
21+
22+
/**
23+
* A pattern for error URLs which should not be sent to Sentry.
24+
* To allow certain errors instead, use {@link Options.allowUrls}.
25+
* By default, all errors will be sent.
26+
*/
27+
denyUrls?: Array<string | RegExp>;
28+
29+
/** @deprecated use {@link Options.allowUrls} instead. */
30+
whitelistUrls?: Array<string | RegExp>;
31+
32+
/** @deprecated use {@link Options.denyUrls} instead. */
33+
blacklistUrls?: Array<string | RegExp>;
34+
}
835

936
/**
1037
* The Sentry Browser SDK Client.
1138
*
1239
* @see BrowserOptions for documentation on configuration options.
1340
* @see SentryClient for usage documentation.
1441
*/
15-
export class BrowserClient extends BaseClient<BrowserBackend, BrowserOptions> {
42+
export class BrowserClient extends BaseClient<BrowserOptions> {
1643
/**
1744
* Creates a new Browser SDK instance.
1845
*
@@ -31,7 +58,7 @@ export class BrowserClient extends BaseClient<BrowserBackend, BrowserOptions> {
3158
version: SDK_VERSION,
3259
};
3360

34-
super(BrowserBackend, options);
61+
super(options);
3562
}
3663

3764
/**
@@ -73,6 +100,47 @@ export class BrowserClient extends BaseClient<BrowserBackend, BrowserOptions> {
73100
if (integration) {
74101
integration.addSentryBreadcrumb(event);
75102
}
76-
super._sendEvent(event);
103+
super.sendEvent(event);
104+
}
105+
106+
/**
107+
* @inheritDoc
108+
*/
109+
// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types
110+
protected _eventFromException(exception: any, hint?: EventHint): PromiseLike<Event> {
111+
return eventFromException(this._options, exception, hint);
112+
}
113+
114+
/**
115+
* @inheritDoc
116+
*/
117+
protected _eventFromMessage(message: string, level: SeverityLevel = 'info', hint?: EventHint): PromiseLike<Event> {
118+
return eventFromMessage(this._options, message, level, hint);
119+
}
120+
121+
/**
122+
* @inheritDoc
123+
*/
124+
protected _setupTransport(): Transport {
125+
if (!this._options.dsn) {
126+
// We return the noop transport here in case there is no Dsn.
127+
return super._setupTransport();
128+
}
129+
130+
const transportOptions = {
131+
...this._options.transportOptions,
132+
dsn: this._options.dsn,
133+
tunnel: this._options.tunnel,
134+
sendClientReports: this._options.sendClientReports,
135+
_metadata: this._options._metadata,
136+
};
137+
138+
if (this._options.transport) {
139+
return new this._options.transport(transportOptions);
140+
}
141+
if (supportsFetch()) {
142+
return new FetchTransport(transportOptions);
143+
}
144+
return new XHRTransport(transportOptions);
77145
}
78146
}

packages/browser/src/exports.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,7 @@ export {
3838
withScope,
3939
} from '@sentry/core';
4040

41-
export { BrowserOptions } from './backend';
42-
export { BrowserClient } from './client';
41+
export { BrowserClient, BrowserOptions } from './client';
4342
export { injectReportDialog, ReportDialogOptions } from './helpers';
4443
export { eventFromException, eventFromMessage } from './eventbuilder';
4544
export { defaultIntegrations, forceLoad, init, lastEventId, onLoad, showReportDialog, flush, close, wrap } from './sdk';

packages/browser/src/sdk.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
import { getCurrentHub, initAndBind, Integrations as CoreIntegrations } from '@sentry/core';
22
import { addInstrumentationHandler, getGlobalObject, logger, resolvedSyncPromise } from '@sentry/utils';
33

4-
import { BrowserOptions } from './backend';
5-
import { BrowserClient } from './client';
4+
import { BrowserClient, BrowserOptions } from './client';
65
import { ReportDialogOptions, wrap as internalWrap } from './helpers';
76
import { Breadcrumbs, Dedupe, GlobalHandlers, LinkedErrors, TryCatch, UserAgent } from './integrations';
87

packages/core/src/baseclient.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -624,12 +624,12 @@ export abstract class BaseClient<O extends Options> implements Client<O> {
624624
* @inheritDoc
625625
*/
626626
// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types
627-
protected abstract _eventFromException(_exception: any, _hint?: EventHint): PromiseLike<Event>;
627+
protected abstract _eventFromException(exception: any, hint?: EventHint): PromiseLike<Event>;
628628

629629
/**
630630
* @inheritDoc
631631
*/
632-
protected abstract _eventFromMessage(_message: string, _level?: SeverityLevel, _hint?: EventHint): PromiseLike<Event>;
632+
protected abstract _eventFromMessage(message: string, level?: SeverityLevel, hint?: EventHint): PromiseLike<Event>;
633633
}
634634

635635
/**

0 commit comments

Comments
 (0)