Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions packages/core/src/hub.ts
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,7 @@ export interface Carrier {
* themselves and will also be removed in version 8. More information:
* - [Migration Guide](https://github.com/getsentry/sentry-javascript/blob/develop/MIGRATION.md#deprecate-hub)
*/
// eslint-disable-next-line deprecation/deprecation
export class Hub implements HubInterface {
/** Is a {@link Layer}[] containing the client and scope */
private readonly _stack: Layer[];
Expand Down
2 changes: 2 additions & 0 deletions packages/core/src/utils/isSentryRequestUrl.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import type { Client, DsnComponents, Hub } from '@sentry/types';
*
* TODO(v8): Remove Hub fallback type
*/
// eslint-disable-next-line deprecation/deprecation
export function isSentryRequestUrl(url: string, hubOrClient: Hub | Client | undefined): boolean {
const client =
hubOrClient && isHub(hubOrClient)
Expand Down Expand Up @@ -34,6 +35,7 @@ function removeTrailingSlash(str: string): string {
return str[str.length - 1] === '/' ? str.slice(0, -1) : str;
}

// eslint-disable-next-line deprecation/deprecation
function isHub(hubOrClient: Hub | Client | undefined): hubOrClient is Hub {
// eslint-disable-next-line deprecation/deprecation
return (hubOrClient as Hub).getClient !== undefined;
Expand Down
1 change: 1 addition & 0 deletions packages/core/test/lib/utils/isSentryRequestUrl.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ describe('isSentryRequestUrl', () => {
getClient: () => {
return client;
},
// eslint-disable-next-line deprecation/deprecation
} as unknown as Hub;

// Works with hub passed
Expand Down
1 change: 1 addition & 0 deletions packages/integrations/test/reportingobserver.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ const withScope = jest.fn(callback => {

const captureMessage = jest.fn();

// eslint-disable-next-line deprecation/deprecation
const mockHub = {} as unknown as Hub;

const mockReportingObserverConstructor = jest.fn();
Expand Down
1 change: 1 addition & 0 deletions packages/node-experimental/src/integrations/http.ts
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,7 @@ export class Http implements Integration {
/**
* @inheritDoc
*/
// eslint-disable-next-line deprecation/deprecation
public setupOnce(_addGlobalEventProcessor: (callback: EventProcessor) => void, _getCurrentHub: () => Hub): void {
// No need to instrument if we don't want to track anything
if (!this._breadcrumbs && this._spans === false) {
Expand Down
2 changes: 1 addition & 1 deletion packages/node-experimental/src/sdk/globals.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ export function getGlobalCarrier(): SentryCarrier {
* Calls global extension method and binding current instance to the function call
*/
// @ts-expect-error Function lacks ending return statement and return type does not include 'undefined'. ts(2366)
// eslint-disable-next-line @typescript-eslint/no-explicit-any
// eslint-disable-next-line @typescript-eslint/no-explicit-any,deprecation/deprecation
export function callExtensionMethod<T>(hub: Hub, method: string, ...args: any[]): T {
const carrier = getGlobalCarrier();

Expand Down
3 changes: 3 additions & 0 deletions packages/node-experimental/src/sdk/hub.ts
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ export function setupGlobalHub(): void {
/**
* This is for legacy reasons, and returns a proxy object instead of a hub to be used.
*/
// eslint-disable-next-line deprecation/deprecation
export function getCurrentHub(): Hub {
return {
isOlderThan(_version: number): boolean {
Expand Down Expand Up @@ -88,6 +89,7 @@ export function getCurrentHub(): Hub {
// eslint-disable-next-line deprecation/deprecation
configureScope: configureScope,

// eslint-disable-next-line deprecation/deprecation
run(callback: (hub: Hub) => void): void {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
return withScope(() => callback(this as any));
Expand Down Expand Up @@ -142,6 +144,7 @@ export function getCurrentHub(): Hub {
*
* @returns The old replaced hub
*/
// eslint-disable-next-line deprecation/deprecation
export function makeMain(hub: Hub): Hub {
// eslint-disable-next-line no-console
console.warn('makeMain is a noop in @sentry/node-experimental. Use `setCurrentClient` instead.');
Expand Down
2 changes: 2 additions & 0 deletions packages/node-experimental/src/sdk/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ export interface AsyncContextStrategy {
getScopes: () => CurrentScopes | undefined;

/** This is here for legacy reasons. */
// eslint-disable-next-line deprecation/deprecation
getCurrentHub: () => Hub;

/**
Expand All @@ -67,6 +68,7 @@ export interface SentryCarrier {
acs?: AsyncContextStrategy;

// hub is here for legacy reasons
// eslint-disable-next-line deprecation/deprecation
hub?: Hub;

extensions?: {
Expand Down
1 change: 1 addition & 0 deletions packages/node/test/eventbuilders.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ describe('eventFromUnknownInput', () => {
return { normalizeDepth: 6 };
},
}),
// eslint-disable-next-line deprecation/deprecation
} as unknown as Hub;
});

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import { isString } from '@sentry/utils';
* Maybe capture a Sentry exception for an OTEL timed event.
* This will check if the event is exception-like and in that case capture it as an exception.
*/
// eslint-disable-next-line deprecation/deprecation
export function maybeCaptureExceptionForTimedEvent(hub: Hub, event: TimedEvent, otelSpan?: OtelSpan): void {
if (event.name !== 'exception') {
return;
Expand Down
1 change: 1 addition & 0 deletions packages/opentelemetry/src/custom/transaction.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import { uuid4 } from '@sentry/utils';
* This is a fork of core's tracing/hubextensions.ts _startTransaction,
* with some OTEL specifics.
*/
// eslint-disable-next-line deprecation/deprecation
export function startTransaction(hub: HubInterface, transactionContext: TransactionContext): Transaction {
// eslint-disable-next-line deprecation/deprecation
const client = hub.getClient();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import { isString } from '@sentry/utils';
* Maybe capture a Sentry exception for an OTEL timed event.
* This will check if the event is exception-like and in that case capture it as an exception.
*/
// eslint-disable-next-line deprecation/deprecation
export function maybeCaptureExceptionForTimedEvent(hub: Hub, event: TimedEvent, otelSpan?: OtelSpan): void {
if (event.name !== 'exception') {
return;
Expand Down
3 changes: 3 additions & 0 deletions packages/opentelemetry/src/utils/contextData.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,17 @@ export function setPropagationContextOnContext(context: Context, propagationCont
* Try to get the Hub from the given OTEL context.
* This requires a Context Manager that was wrapped with getWrappedContextManager.
*/
// eslint-disable-next-line deprecation/deprecation
export function getHubFromContext(context: Context): Hub | undefined {
// eslint-disable-next-line deprecation/deprecation
return context.getValue(SENTRY_HUB_CONTEXT_KEY) as Hub | undefined;
}

/**
* Set a Hub on an OTEL context..
* This will return a forked context with the Propagation Context set.
*/
// eslint-disable-next-line deprecation/deprecation
export function setHubOnContext(context: Context, hub: Hub): Context {
return context.setValue(SENTRY_HUB_CONTEXT_KEY, hub);
}
3 changes: 3 additions & 0 deletions packages/opentelemetry/src/utils/spanData.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import type { AbstractSpan } from '../types';
// and since we are using weakmaps, we do not need to clean up after ourselves
const SpanScope = new WeakMap<AbstractSpan, Scope>();
const SpanFinishScope = new WeakMap<AbstractSpan, Scope>();
// eslint-disable-next-line deprecation/deprecation
const SpanHub = new WeakMap<AbstractSpan, Hub>();
const SpanParent = new WeakMap<AbstractSpan, Span>();
const SpanMetadata = new WeakMap<AbstractSpan, Partial<TransactionMetadata>>();
Expand All @@ -23,11 +24,13 @@ export function getSpanScope(span: AbstractSpan): Scope | undefined {
}

/** Set the Sentry hub on an OTEL span. */
// eslint-disable-next-line deprecation/deprecation
export function setSpanHub(span: AbstractSpan, hub: Hub): void {
SpanHub.set(span, hub);
}

/** Get the Sentry hub of an OTEL span. */
// eslint-disable-next-line deprecation/deprecation
export function getSpanHub(span: AbstractSpan): Hub | undefined {
return SpanHub.get(span);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ describe('maybeCaptureExceptionForTimedEvent', () => {
const captureException = jest.fn();
const hub = {
captureException,
// eslint-disable-next-line deprecation/deprecation
} as unknown as Hub;

maybeCaptureExceptionForTimedEvent(hub, event);
Expand All @@ -30,6 +31,7 @@ describe('maybeCaptureExceptionForTimedEvent', () => {
const captureException = jest.fn();
const hub = {
captureException,
// eslint-disable-next-line deprecation/deprecation
} as unknown as Hub;

maybeCaptureExceptionForTimedEvent(hub, event);
Expand All @@ -49,6 +51,7 @@ describe('maybeCaptureExceptionForTimedEvent', () => {
const captureException = jest.fn();
const hub = {
captureException,
// eslint-disable-next-line deprecation/deprecation
} as unknown as Hub;

maybeCaptureExceptionForTimedEvent(hub, event);
Expand Down Expand Up @@ -76,6 +79,7 @@ describe('maybeCaptureExceptionForTimedEvent', () => {
const captureException = jest.fn();
const hub = {
captureException,
// eslint-disable-next-line deprecation/deprecation
} as unknown as Hub;

maybeCaptureExceptionForTimedEvent(hub, event);
Expand Down Expand Up @@ -119,6 +123,7 @@ describe('maybeCaptureExceptionForTimedEvent', () => {
const captureException = jest.fn();
const hub = {
captureException,
// eslint-disable-next-line deprecation/deprecation
} as unknown as Hub;

maybeCaptureExceptionForTimedEvent(hub, event, span);
Expand Down
2 changes: 2 additions & 0 deletions packages/profiling-node/src/hubextensions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import { isValidSampleRate } from './utils';
export const MAX_PROFILE_DURATION_MS = 30 * 1000;

type StartTransaction = (
// eslint-disable-next-line deprecation/deprecation
this: Hub,
transactionContext: TransactionContext,
customSamplingContext?: CustomSamplingContext,
Expand Down Expand Up @@ -142,6 +143,7 @@ export function stopTransactionProfile(
*/
export function __PRIVATE__wrapStartTransactionWithProfiling(startTransaction: StartTransaction): StartTransaction {
return function wrappedStartTransaction(
// eslint-disable-next-line deprecation/deprecation
this: Hub,
transactionContext: TransactionContext,
customSamplingContext?: CustomSamplingContext,
Expand Down
2 changes: 2 additions & 0 deletions packages/profiling-node/src/integration.ts
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ export class ProfilingIntegration implements Integration {
* @inheritDoc
*/
public readonly name: string;
// eslint-disable-next-line deprecation/deprecation
public getCurrentHub?: () => Hub;

public constructor() {
Expand All @@ -64,6 +65,7 @@ export class ProfilingIntegration implements Integration {
/**
* @inheritDoc
*/
// eslint-disable-next-line deprecation/deprecation
public setupOnce(addGlobalEventProcessor: (callback: EventProcessor) => void, getCurrentHub: () => Hub): void {
this.getCurrentHub = getCurrentHub;
// eslint-disable-next-line deprecation/deprecation
Expand Down
2 changes: 2 additions & 0 deletions packages/profiling-node/test/hubextensions.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ function makeHubMock({
}: {
profilesSampleRate: number | undefined;
client?: Partial<NodeClient>;
// eslint-disable-next-line deprecation/deprecation
}): Hub {
return {
getClient: jest.fn().mockImplementation(() => {
Expand All @@ -59,6 +60,7 @@ function makeHubMock({
...(client ?? {}),
};
}),
// eslint-disable-next-line deprecation/deprecation
} as unknown as Hub;
}

Expand Down
14 changes: 14 additions & 0 deletions packages/profiling-node/test/integration.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ describe('ProfilingIntegration', () => {
// eslint-disable-next-line deprecation/deprecation
const integration = new ProfilingIntegration();

// eslint-disable-next-line deprecation/deprecation
const getCurrentHub = jest.fn((): Hub => {
return {
getClient: () => {
Expand All @@ -86,6 +87,7 @@ describe('ProfilingIntegration', () => {
getTransport: () => transport,
};
},
// eslint-disable-next-line deprecation/deprecation
} as Hub;
});
const addGlobalEventProcessor = () => void 0;
Expand All @@ -106,7 +108,9 @@ describe('ProfilingIntegration', () => {
// eslint-disable-next-line deprecation/deprecation
const integration = new ProfilingIntegration();

// eslint-disable-next-line deprecation/deprecation
const getCurrentHub = jest.fn((): Hub => {
// eslint-disable-next-line deprecation/deprecation
return { getClient: () => undefined } as Hub;
});
const addGlobalEventProcessor = () => void 0;
Expand All @@ -122,13 +126,15 @@ describe('ProfilingIntegration', () => {
// eslint-disable-next-line deprecation/deprecation
const integration = new ProfilingIntegration();

// eslint-disable-next-line deprecation/deprecation
const getCurrentHub = jest.fn((): Hub => {
return {
getClient: () => {
return {
getDsn: () => undefined,
};
},
// eslint-disable-next-line deprecation/deprecation
} as Hub;
});
const addGlobalEventProcessor = () => void 0;
Expand All @@ -144,6 +150,7 @@ describe('ProfilingIntegration', () => {
// eslint-disable-next-line deprecation/deprecation
const integration = new ProfilingIntegration();

// eslint-disable-next-line deprecation/deprecation
const getCurrentHub = jest.fn((): Hub => {
return {
getClient: () => {
Expand All @@ -154,6 +161,7 @@ describe('ProfilingIntegration', () => {
getTransport: () => undefined,
};
},
// eslint-disable-next-line deprecation/deprecation
} as Hub;
});
const addGlobalEventProcessor = () => void 0;
Expand All @@ -174,6 +182,7 @@ describe('ProfilingIntegration', () => {
// eslint-disable-next-line deprecation/deprecation
const integration = new ProfilingIntegration();

// eslint-disable-next-line deprecation/deprecation
const getCurrentHub = jest.fn((): Hub => {
return {
getClient: () => {
Expand All @@ -189,6 +198,7 @@ describe('ProfilingIntegration', () => {
getTransport: () => transport,
};
},
// eslint-disable-next-line deprecation/deprecation
} as Hub;
});
const addGlobalEventProcessor = () => void 0;
Expand All @@ -209,6 +219,7 @@ describe('ProfilingIntegration', () => {
const integration = new ProfilingIntegration();
const emitter = new EventEmitter();

// eslint-disable-next-line deprecation/deprecation
const getCurrentHub = jest.fn((): Hub => {
return {
getClient: () => {
Expand All @@ -226,6 +237,7 @@ describe('ProfilingIntegration', () => {
getTransport: () => transport,
} as any;
},
// eslint-disable-next-line deprecation/deprecation
} as Hub;
});

Expand All @@ -245,6 +257,7 @@ describe('ProfilingIntegration', () => {
const integration = new ProfilingIntegration();
const emitter = new EventEmitter();

// eslint-disable-next-line deprecation/deprecation
const getCurrentHub = jest.fn((): Hub => {
return {
getClient: () => {
Expand All @@ -262,6 +275,7 @@ describe('ProfilingIntegration', () => {
getTransport: () => transport,
} as any;
},
// eslint-disable-next-line deprecation/deprecation
} as Hub;
});

Expand Down
1 change: 1 addition & 0 deletions packages/tracing-internal/src/node/integrations/express.ts
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,7 @@ export class Express implements Integration {
/**
* @inheritDoc
*/
// eslint-disable-next-line deprecation/deprecation
public setupOnce(_: unknown, getCurrentHub: () => Hub): void {
if (!this._router) {
DEBUG_BUILD && logger.error('ExpressIntegration is missing an Express instance');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import type { Hub } from '@sentry/types';
* @param getCurrentHub A method to fetch the current hub
* @returns boolean
*/
// eslint-disable-next-line deprecation/deprecation
export function shouldDisableAutoInstrumentation(getCurrentHub: () => Hub): boolean {
// eslint-disable-next-line deprecation/deprecation
const clientOptions = getCurrentHub().getClient()?.getOptions();
Expand Down
7 changes: 7 additions & 0 deletions packages/types/src/hub.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,12 @@ import type { User } from './user';
/**
* Internal class used to make sure we always have the latest internal functions
* working in case we have a version conflict.
*
* @deprecated The `Hub` interface will be removed in a future major version of the SDK in favour of
* `Scope` and `Client` objects and APIs.
*
* Most APIs referencing `Hub` are themselves and will be removed in version 8 of the SDK. More information:
* - [Migration Guide](https://github.com/getsentry/sentry-javascript/blob/develop/MIGRATION.md#deprecate-hub)
*/
export interface Hub {
/**
Expand Down Expand Up @@ -226,6 +232,7 @@ export interface Hub {
*
* TODO v8: This will be merged with `withScope()`
*/
// eslint-disable-next-line deprecation/deprecation
run(callback: (hub: Hub) => void): void;

/**
Expand Down
Loading