Skip to content

Commit 2cf6f94

Browse files
authored
feat: Undeprecate Severity Enum (getsentry#4412)
In getsentry#4280, specifically in commit dd3aa70, we deprecated the `Severity` enum in favour of using a string union type, `SeverityLevel`. It's important to note that this change affected the type signature of one of our public API methods, `captureMessage`. The change to deprecate the `Severity` enum was done for bundle size reasons. After releasing the beta with these changes, it was found that deprecating the `Severity` enum and replacing it with `SeverityLevel` was quite the disruptive change, which would make upgrading to the minor version a hassle for users. As a result, this patch undeprecates the `Severity` enum. The `Severity` enum will be removed in the upcoming major release instead, as a breaking change.
1 parent 09cc3af commit 2cf6f94

File tree

27 files changed

+70
-67
lines changed

27 files changed

+70
-67
lines changed

packages/browser/src/backend.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { BaseBackend } from '@sentry/core';
2-
import { Event, EventHint, Options, SeverityLevel, Transport } from '@sentry/types';
2+
import { Event, EventHint, Options, Severity, Transport } from '@sentry/types';
33
import { supportsFetch } from '@sentry/utils';
44

55
import { eventFromException, eventFromMessage } from './eventbuilder';
@@ -45,7 +45,7 @@ export class BrowserBackend extends BaseBackend<BrowserOptions> {
4545
/**
4646
* @inheritDoc
4747
*/
48-
public eventFromMessage(message: string, level: SeverityLevel = 'info', hint?: EventHint): PromiseLike<Event> {
48+
public eventFromMessage(message: string, level: Severity = Severity.Info, hint?: EventHint): PromiseLike<Event> {
4949
return eventFromMessage(this._options, message, level, hint);
5050
}
5151

packages/browser/src/eventbuilder.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Event, EventHint, Options, SeverityLevel } from '@sentry/types';
1+
import { Event, EventHint, Options, Severity } from '@sentry/types';
22
import {
33
addExceptionMechanism,
44
addExceptionTypeValue,
@@ -24,7 +24,7 @@ export function eventFromException(options: Options, exception: unknown, hint?:
2424
attachStacktrace: options.attachStacktrace,
2525
});
2626
addExceptionMechanism(event); // defaults to { type: 'generic', handled: true }
27-
event.level = 'error';
27+
event.level = Severity.Error;
2828
if (hint && hint.event_id) {
2929
event.event_id = hint.event_id;
3030
}
@@ -38,7 +38,7 @@ export function eventFromException(options: Options, exception: unknown, hint?:
3838
export function eventFromMessage(
3939
options: Options,
4040
message: string,
41-
level: SeverityLevel = 'info',
41+
level: Severity = Severity.Info,
4242
hint?: EventHint,
4343
): PromiseLike<Event> {
4444
const syntheticException = (hint && hint.syntheticException) || undefined;

packages/browser/src/exports.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ export {
88
EventStatus,
99
Exception,
1010
Response,
11+
Severity,
1112
SeverityLevel,
1213
StackFrame,
1314
Stacktrace,

packages/browser/src/integrations/breadcrumbs.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
22
/* eslint-disable max-lines */
33
import { getCurrentHub } from '@sentry/core';
4-
import { Event, Integration } from '@sentry/types';
4+
import { Event, Integration, Severity } from '@sentry/types';
55
import {
66
addInstrumentationHandler,
77
getEventDescription,
@@ -230,7 +230,7 @@ function _fetchBreadcrumb(handlerData: { [key: string]: any }): void {
230230
{
231231
category: 'fetch',
232232
data: handlerData.fetchData,
233-
level: 'error',
233+
level: Severity.Error,
234234
type: 'http',
235235
},
236236
{

packages/browser/src/integrations/globalhandlers.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
22
import { getCurrentHub } from '@sentry/core';
3-
import { Event, EventHint, Hub, Integration, Primitive } from '@sentry/types';
3+
import { Event, EventHint, Hub, Integration, Primitive, Severity } from '@sentry/types';
44
import {
55
addExceptionMechanism,
66
addInstrumentationHandler,
@@ -148,7 +148,7 @@ function _installGlobalOnUnhandledRejectionHandler(): void {
148148
isRejection: true,
149149
});
150150

151-
event.level = 'error';
151+
event.level = Severity.Error;
152152

153153
addMechanismAndCapture(hub, error, event, 'onunhandledrejection');
154154
return;

packages/core/src/basebackend.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Event, EventHint, Options, Session, SeverityLevel, Transport } from '@sentry/types';
1+
import { Event, EventHint, Options, Session, Severity, Transport } from '@sentry/types';
22
import { isDebugBuild, logger, SentryError } from '@sentry/utils';
33

44
import { NoopTransport } from './transports/noop';
@@ -29,7 +29,7 @@ export interface Backend {
2929
eventFromException(exception: any, hint?: EventHint): PromiseLike<Event>;
3030

3131
/** Creates an {@link Event} from primitive inputs to `captureMessage`. */
32-
eventFromMessage(message: string, level?: SeverityLevel, hint?: EventHint): PromiseLike<Event>;
32+
eventFromMessage(message: string, level?: Severity, hint?: EventHint): PromiseLike<Event>;
3333

3434
/** Submits the event to Sentry */
3535
sendEvent(event: Event): void;
@@ -83,7 +83,7 @@ export abstract class BaseBackend<O extends Options> implements Backend {
8383
/**
8484
* @inheritDoc
8585
*/
86-
public eventFromMessage(_message: string, _level?: SeverityLevel, _hint?: EventHint): PromiseLike<Event> {
86+
public eventFromMessage(_message: string, _level?: Severity, _hint?: EventHint): PromiseLike<Event> {
8787
throw new SentryError('Backend has to implement `eventFromMessage` method');
8888
}
8989

packages/core/src/baseclient.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import {
88
Integration,
99
IntegrationClass,
1010
Options,
11-
SeverityLevel,
11+
Severity,
1212
Transport,
1313
} from '@sentry/types';
1414
import {
@@ -129,7 +129,7 @@ export abstract class BaseClient<B extends Backend, O extends Options> implement
129129
/**
130130
* @inheritDoc
131131
*/
132-
public captureMessage(message: string, level?: SeverityLevel, hint?: EventHint, scope?: Scope): string | undefined {
132+
public captureMessage(message: string, level?: Severity, hint?: EventHint, scope?: Scope): string | undefined {
133133
let eventId: string | undefined = hint && hint.event_id;
134134

135135
const promisedEvent = isPrimitive(message)

packages/core/test/mocks/backend.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { Session } from '@sentry/hub';
2-
import { Event, Options, SeverityLevel, Transport } from '@sentry/types';
2+
import { Event, Options, Severity, Transport } from '@sentry/types';
33
import { resolvedSyncPromise } from '@sentry/utils';
44

55
import { BaseBackend } from '../../src/basebackend';
@@ -38,7 +38,7 @@ export class TestBackend extends BaseBackend<TestOptions> {
3838
});
3939
}
4040

41-
public eventFromMessage(message: string, level: SeverityLevel = 'info'): PromiseLike<Event> {
41+
public eventFromMessage(message: string, level: Severity = Severity.Info): PromiseLike<Event> {
4242
return resolvedSyncPromise({ message, level });
4343
}
4444

packages/hub/src/hub.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import {
1313
IntegrationClass,
1414
Primitive,
1515
SessionContext,
16-
SeverityLevel,
16+
Severity,
1717
Span,
1818
SpanContext,
1919
Transaction,
@@ -215,7 +215,7 @@ export class Hub implements HubInterface {
215215
/**
216216
* @inheritDoc
217217
*/
218-
public captureMessage(message: string, level?: SeverityLevel, hint?: EventHint): string {
218+
public captureMessage(message: string, level?: Severity, hint?: EventHint): string {
219219
const eventId = (this._lastEventId = uuid4());
220220
let finalHint = hint;
221221

packages/hub/src/scope.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import {
1313
RequestSession,
1414
Scope as ScopeInterface,
1515
ScopeContext,
16-
SeverityLevel,
16+
Severity,
1717
Span,
1818
Transaction,
1919
User,
@@ -61,7 +61,7 @@ export class Scope implements ScopeInterface {
6161
protected _fingerprint?: string[];
6262

6363
/** Severity */
64-
protected _level?: SeverityLevel;
64+
protected _level?: Severity;
6565

6666
/** Transaction Name */
6767
protected _transactionName?: string;
@@ -208,7 +208,7 @@ export class Scope implements ScopeInterface {
208208
/**
209209
* @inheritDoc
210210
*/
211-
public setLevel(level: SeverityLevel): this {
211+
public setLevel(level: Severity): this {
212212
this._level = level;
213213
this._notifyScopeListeners();
214214
return this;

0 commit comments

Comments
 (0)