diff --git a/packages/tracing-internal/src/common/fetch.ts b/packages/core/src/fetch.ts similarity index 95% rename from packages/tracing-internal/src/common/fetch.ts rename to packages/core/src/fetch.ts index aa50154abc5a..05e9324c8b9f 100644 --- a/packages/tracing-internal/src/common/fetch.ts +++ b/packages/core/src/fetch.ts @@ -1,16 +1,3 @@ -import { - SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, - SPAN_STATUS_ERROR, - getClient, - getCurrentScope, - getDynamicSamplingContextFromClient, - getDynamicSamplingContextFromSpan, - getIsolationScope, - hasTracingEnabled, - setHttpStatus, - spanToTraceHeader, - startInactiveSpan, -} from '@sentry/core'; import type { Client, HandlerDataFetch, Scope, Span, SpanOrigin } from '@sentry/types'; import { BAGGAGE_HEADER_NAME, @@ -18,6 +5,17 @@ import { generateSentryTraceHeader, isInstanceOf, } from '@sentry/utils'; +import { getClient, getCurrentScope, getIsolationScope } from './currentScopes'; +import { SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN } from './semanticAttributes'; +import { + SPAN_STATUS_ERROR, + getDynamicSamplingContextFromClient, + getDynamicSamplingContextFromSpan, + setHttpStatus, + startInactiveSpan, +} from './tracing'; +import { hasTracingEnabled } from './utils/hasTracingEnabled'; +import { spanToTraceHeader } from './utils/spanUtils'; type PolymorphicRequestHeaders = | Record @@ -110,7 +108,6 @@ export function instrumentFetchRequest( // eslint-disable-next-line @typescript-eslint/no-explicit-any const options: { [key: string]: any } = handlerData.args[1]; - // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access options.headers = addTracingHeadersToFetchRequest(request, client, scope, options, span); } diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index b8c451b432cd..c2671aa07ca0 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -113,3 +113,4 @@ export { metrics } from './metrics/exports'; export type { MetricData } from './metrics/exports'; export { metricsDefault } from './metrics/exports-default'; export { BrowserMetricsAggregator } from './metrics/browser-aggregator'; +export { addTracingHeadersToFetchRequest, instrumentFetchRequest } from './fetch'; diff --git a/packages/tracing-internal/src/browser/request.ts b/packages/tracing-internal/src/browser/request.ts index 5bcea7eac108..bf63558665fe 100644 --- a/packages/tracing-internal/src/browser/request.ts +++ b/packages/tracing-internal/src/browser/request.ts @@ -6,6 +6,7 @@ import { getDynamicSamplingContextFromSpan, getIsolationScope, hasTracingEnabled, + instrumentFetchRequest, setHttpStatus, spanToJSON, spanToTraceHeader, @@ -23,7 +24,6 @@ import { stringMatchesSomePattern, } from '@sentry/utils'; -import { instrumentFetchRequest } from '../common/fetch'; import { addPerformanceInstrumentationHandler } from './instrument'; import { WINDOW } from './types'; diff --git a/packages/tracing-internal/src/index.ts b/packages/tracing-internal/src/index.ts index 3dbbba685010..98efc8dc1032 100644 --- a/packages/tracing-internal/src/index.ts +++ b/packages/tracing-internal/src/index.ts @@ -25,6 +25,4 @@ export { addLcpInstrumentationHandler, } from './browser'; -export { addTracingHeadersToFetchRequest, instrumentFetchRequest } from './common/fetch'; - export type { RequestInstrumentationOptions } from './browser'; diff --git a/packages/vercel-edge/package.json b/packages/vercel-edge/package.json index 494972f57ce0..dfb406a8ad61 100644 --- a/packages/vercel-edge/package.json +++ b/packages/vercel-edge/package.json @@ -29,7 +29,6 @@ "access": "public" }, "dependencies": { - "@sentry-internal/tracing": "8.0.0-alpha.2", "@sentry/core": "8.0.0-alpha.2", "@sentry/types": "8.0.0-alpha.2", "@sentry/utils": "8.0.0-alpha.2" diff --git a/packages/vercel-edge/src/integrations/wintercg-fetch.ts b/packages/vercel-edge/src/integrations/wintercg-fetch.ts index 2a6ffa5f749b..3ac2df918989 100644 --- a/packages/vercel-edge/src/integrations/wintercg-fetch.ts +++ b/packages/vercel-edge/src/integrations/wintercg-fetch.ts @@ -1,9 +1,9 @@ -import { instrumentFetchRequest } from '@sentry-internal/tracing'; import { addBreadcrumb, convertIntegrationFnToClass, defineIntegration, getClient, + instrumentFetchRequest, isSentryRequestUrl, } from '@sentry/core'; import type { diff --git a/packages/vercel-edge/test/wintercg-fetch.test.ts b/packages/vercel-edge/test/wintercg-fetch.test.ts index 6439795870f7..bdcb9bedd36f 100644 --- a/packages/vercel-edge/test/wintercg-fetch.test.ts +++ b/packages/vercel-edge/test/wintercg-fetch.test.ts @@ -1,4 +1,3 @@ -import * as internalTracing from '@sentry-internal/tracing'; import * as sentryCore from '@sentry/core'; import type { HandlerDataFetch, Integration } from '@sentry/types'; import * as sentryUtils from '@sentry/utils'; @@ -14,7 +13,7 @@ class FakeClient extends VercelEdgeClient { } const addFetchInstrumentationHandlerSpy = jest.spyOn(sentryUtils, 'addFetchInstrumentationHandler'); -const instrumentFetchRequestSpy = jest.spyOn(internalTracing, 'instrumentFetchRequest'); +const instrumentFetchRequestSpy = jest.spyOn(sentryCore, 'instrumentFetchRequest'); const addBreadcrumbSpy = jest.spyOn(sentryCore, 'addBreadcrumb'); describe('WinterCGFetch instrumentation', () => {