diff --git a/dev-packages/e2e-tests/test-applications/node-exports-test-app/scripts/consistentExports.ts b/dev-packages/e2e-tests/test-applications/node-exports-test-app/scripts/consistentExports.ts index f355654bf6a2..fb32199d4470 100644 --- a/dev-packages/e2e-tests/test-applications/node-exports-test-app/scripts/consistentExports.ts +++ b/dev-packages/e2e-tests/test-applications/node-exports-test-app/scripts/consistentExports.ts @@ -52,6 +52,12 @@ const DEPENDENTS: Dependent[] = [ 'NodeClient', 'NODE_VERSION', 'childProcessIntegration', + 'launchDarklyIntegration', + 'openFeatureIntegration', + 'statsigIntegration', + 'unleashIntegration', + 'OpenFeatureIntegrationHook', + 'buildLaunchDarklyFlagUsedHandler', ], }, { @@ -73,6 +79,12 @@ const DEPENDENTS: Dependent[] = [ ignoreExports: [ // Not needed for Serverless 'setupFastifyErrorHandler', + 'launchDarklyIntegration', + 'openFeatureIntegration', + 'statsigIntegration', + 'unleashIntegration', + 'OpenFeatureIntegrationHook', + 'buildLaunchDarklyFlagUsedHandler', ], }, { @@ -82,6 +94,12 @@ const DEPENDENTS: Dependent[] = [ ignoreExports: [ // Not needed for Serverless 'setupFastifyErrorHandler', + 'launchDarklyIntegration', + 'openFeatureIntegration', + 'statsigIntegration', + 'unleashIntegration', + 'OpenFeatureIntegrationHook', + 'buildLaunchDarklyFlagUsedHandler', ], }, { diff --git a/packages/astro/src/index.server.ts b/packages/astro/src/index.server.ts index 750eb05d8b10..631e09b838b4 100644 --- a/packages/astro/src/index.server.ts +++ b/packages/astro/src/index.server.ts @@ -137,6 +137,12 @@ export { NODE_VERSION, featureFlagsIntegration, type FeatureFlagsIntegration, + launchDarklyIntegration, + buildLaunchDarklyFlagUsedHandler, + openFeatureIntegration, + unleashIntegration, + statsigIntegration, + OpenFeatureIntegrationHook, } from '@sentry/node'; export { init } from './server/sdk'; diff --git a/packages/browser/src/index.ts b/packages/browser/src/index.ts index 963d8ab38546..d0a2581f1e31 100644 --- a/packages/browser/src/index.ts +++ b/packages/browser/src/index.ts @@ -62,14 +62,16 @@ export { zodErrorsIntegration, thirdPartyErrorFilterIntegration, featureFlagsIntegration, + launchDarklyIntegration, + buildLaunchDarklyFlagUsedHandler, + openFeatureIntegration, + OpenFeatureIntegrationHook, + unleashIntegration, + statsigIntegration, } from '@sentry/core'; export type { Span, FeatureFlagsIntegration } from '@sentry/core'; export { makeBrowserOfflineTransport } from './transports/offline'; export { browserProfilingIntegration } from './profiling/integration'; export { spotlightBrowserIntegration } from './integrations/spotlight'; export { browserSessionIntegration } from './integrations/browsersession'; -export { launchDarklyIntegration, buildLaunchDarklyFlagUsedHandler } from './integrations/featureFlags/launchdarkly'; -export { openFeatureIntegration, OpenFeatureIntegrationHook } from './integrations/featureFlags/openfeature'; -export { unleashIntegration } from './integrations/featureFlags/unleash'; -export { statsigIntegration } from './integrations/featureFlags/statsig'; export { diagnoseSdkConnectivity } from './diagnose-sdk'; diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index b4f09d89f381..15e0c3af2fd3 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -113,7 +113,16 @@ export { supabaseIntegration, instrumentSupabaseClient } from './integrations/su export { zodErrorsIntegration } from './integrations/zoderrors'; export { thirdPartyErrorFilterIntegration } from './integrations/third-party-errors-filter'; export { consoleIntegration } from './integrations/console'; -export { featureFlagsIntegration, type FeatureFlagsIntegration } from './integrations/featureFlags'; +export { + featureFlagsIntegration, + type FeatureFlagsIntegration, + launchDarklyIntegration, + buildLaunchDarklyFlagUsedHandler, + openFeatureIntegration, + OpenFeatureIntegrationHook, + unleashIntegration, + statsigIntegration, +} from './integrations/featureFlags'; export { profiler } from './profiling'; export { instrumentFetchRequest } from './fetch'; diff --git a/packages/core/src/integrations/featureFlags/index.ts b/packages/core/src/integrations/featureFlags/index.ts index 2106ee7accf0..c4709fa67418 100644 --- a/packages/core/src/integrations/featureFlags/index.ts +++ b/packages/core/src/integrations/featureFlags/index.ts @@ -1 +1,5 @@ export { featureFlagsIntegration, type FeatureFlagsIntegration } from './featureFlagsIntegration'; +export { launchDarklyIntegration, buildLaunchDarklyFlagUsedHandler } from './launchdarkly'; +export { openFeatureIntegration, OpenFeatureIntegrationHook } from './openfeature'; +export { unleashIntegration } from './unleash'; +export { statsigIntegration } from './statsig'; diff --git a/packages/browser/src/integrations/featureFlags/launchdarkly/index.ts b/packages/core/src/integrations/featureFlags/launchdarkly/index.ts similarity index 100% rename from packages/browser/src/integrations/featureFlags/launchdarkly/index.ts rename to packages/core/src/integrations/featureFlags/launchdarkly/index.ts diff --git a/packages/browser/src/integrations/featureFlags/launchdarkly/integration.ts b/packages/core/src/integrations/featureFlags/launchdarkly/integration.ts similarity index 87% rename from packages/browser/src/integrations/featureFlags/launchdarkly/integration.ts rename to packages/core/src/integrations/featureFlags/launchdarkly/integration.ts index 822e4b1d7f80..0e890e168472 100644 --- a/packages/browser/src/integrations/featureFlags/launchdarkly/integration.ts +++ b/packages/core/src/integrations/featureFlags/launchdarkly/integration.ts @@ -1,10 +1,12 @@ -import type { Client, Event, EventHint, IntegrationFn } from '@sentry/core'; +import type { Client } from '../../../client'; +import { defineIntegration } from '../../../integration'; +import type { Event, EventHint } from '../../../types-hoist/event'; +import type { IntegrationFn } from '../../../types-hoist/integration'; import { _INTERNAL_addFeatureFlagToActiveSpan, _INTERNAL_copyFlagsFromScopeToEvent, _INTERNAL_insertFlagToScope, - defineIntegration, -} from '@sentry/core'; +} from '../../../utils/featureFlags'; import type { LDContext, LDEvaluationDetail, LDInspectionFlagUsedHandler } from './types'; /** diff --git a/packages/browser/src/integrations/featureFlags/launchdarkly/types.ts b/packages/core/src/integrations/featureFlags/launchdarkly/types.ts similarity index 100% rename from packages/browser/src/integrations/featureFlags/launchdarkly/types.ts rename to packages/core/src/integrations/featureFlags/launchdarkly/types.ts diff --git a/packages/browser/src/integrations/featureFlags/openfeature/index.ts b/packages/core/src/integrations/featureFlags/openfeature/index.ts similarity index 100% rename from packages/browser/src/integrations/featureFlags/openfeature/index.ts rename to packages/core/src/integrations/featureFlags/openfeature/index.ts diff --git a/packages/browser/src/integrations/featureFlags/openfeature/integration.ts b/packages/core/src/integrations/featureFlags/openfeature/integration.ts similarity index 86% rename from packages/browser/src/integrations/featureFlags/openfeature/integration.ts rename to packages/core/src/integrations/featureFlags/openfeature/integration.ts index 85aedbf779f9..e5eea2acdeaa 100644 --- a/packages/browser/src/integrations/featureFlags/openfeature/integration.ts +++ b/packages/core/src/integrations/featureFlags/openfeature/integration.ts @@ -1,3 +1,14 @@ +import type { Client } from '../../../client'; +import { defineIntegration } from '../../../integration'; +import type { Event, EventHint } from '../../../types-hoist/event'; +import type { IntegrationFn } from '../../../types-hoist/integration'; +import { + _INTERNAL_addFeatureFlagToActiveSpan, + _INTERNAL_copyFlagsFromScopeToEvent, + _INTERNAL_insertFlagToScope, +} from '../../../utils/featureFlags'; +import type { EvaluationDetails, HookContext, HookHints, JsonValue, OpenFeatureHook } from './types'; + /** * Sentry integration for capturing OpenFeature feature flag evaluations. * @@ -13,15 +24,6 @@ * OpenFeature.addHooks(new Sentry.OpenFeatureIntegrationHook()); * ``` */ -import type { Client, Event, EventHint, IntegrationFn } from '@sentry/core'; -import { - _INTERNAL_addFeatureFlagToActiveSpan, - _INTERNAL_copyFlagsFromScopeToEvent, - _INTERNAL_insertFlagToScope, - defineIntegration, -} from '@sentry/core'; -import type { EvaluationDetails, HookContext, HookHints, JsonValue, OpenFeatureHook } from './types'; - export const openFeatureIntegration = defineIntegration(() => { return { name: 'OpenFeature', diff --git a/packages/browser/src/integrations/featureFlags/openfeature/types.ts b/packages/core/src/integrations/featureFlags/openfeature/types.ts similarity index 100% rename from packages/browser/src/integrations/featureFlags/openfeature/types.ts rename to packages/core/src/integrations/featureFlags/openfeature/types.ts diff --git a/packages/browser/src/integrations/featureFlags/statsig/index.ts b/packages/core/src/integrations/featureFlags/statsig/index.ts similarity index 100% rename from packages/browser/src/integrations/featureFlags/statsig/index.ts rename to packages/core/src/integrations/featureFlags/statsig/index.ts diff --git a/packages/browser/src/integrations/featureFlags/statsig/integration.ts b/packages/core/src/integrations/featureFlags/statsig/integration.ts similarity index 84% rename from packages/browser/src/integrations/featureFlags/statsig/integration.ts rename to packages/core/src/integrations/featureFlags/statsig/integration.ts index 9aef234045b5..0f5142821dae 100644 --- a/packages/browser/src/integrations/featureFlags/statsig/integration.ts +++ b/packages/core/src/integrations/featureFlags/statsig/integration.ts @@ -1,10 +1,12 @@ -import type { Client, Event, EventHint, IntegrationFn } from '@sentry/core'; +import type { Client } from '../../../client'; +import { defineIntegration } from '../../../integration'; +import type { Event, EventHint } from '../../../types-hoist/event'; +import type { IntegrationFn } from '../../../types-hoist/integration'; import { _INTERNAL_addFeatureFlagToActiveSpan, _INTERNAL_copyFlagsFromScopeToEvent, _INTERNAL_insertFlagToScope, - defineIntegration, -} from '@sentry/core'; +} from '../../../utils/featureFlags'; import type { FeatureGate, StatsigClient } from './types'; /** diff --git a/packages/browser/src/integrations/featureFlags/statsig/types.ts b/packages/core/src/integrations/featureFlags/statsig/types.ts similarity index 100% rename from packages/browser/src/integrations/featureFlags/statsig/types.ts rename to packages/core/src/integrations/featureFlags/statsig/types.ts diff --git a/packages/browser/src/integrations/featureFlags/unleash/index.ts b/packages/core/src/integrations/featureFlags/unleash/index.ts similarity index 100% rename from packages/browser/src/integrations/featureFlags/unleash/index.ts rename to packages/core/src/integrations/featureFlags/unleash/index.ts diff --git a/packages/browser/src/integrations/featureFlags/unleash/integration.ts b/packages/core/src/integrations/featureFlags/unleash/integration.ts similarity index 87% rename from packages/browser/src/integrations/featureFlags/unleash/integration.ts rename to packages/core/src/integrations/featureFlags/unleash/integration.ts index 699c797edecf..8bcd20638bff 100644 --- a/packages/browser/src/integrations/featureFlags/unleash/integration.ts +++ b/packages/core/src/integrations/featureFlags/unleash/integration.ts @@ -1,13 +1,15 @@ -import type { Client, Event, EventHint, IntegrationFn } from '@sentry/core'; +import type { Client } from '../../../client'; +import { DEBUG_BUILD } from '../../../debug-build'; +import { defineIntegration } from '../../../integration'; +import type { Event, EventHint } from '../../../types-hoist/event'; +import type { IntegrationFn } from '../../../types-hoist/integration'; import { _INTERNAL_addFeatureFlagToActiveSpan, _INTERNAL_copyFlagsFromScopeToEvent, _INTERNAL_insertFlagToScope, - defineIntegration, - fill, - logger, -} from '@sentry/core'; -import { DEBUG_BUILD } from '../../../debug-build'; +} from '../../../utils/featureFlags'; +import { logger } from '../../../utils/logger'; +import { fill } from '../../../utils/object'; import type { UnleashClient, UnleashClientClass } from './types'; type UnleashIntegrationOptions = { diff --git a/packages/browser/src/integrations/featureFlags/unleash/types.ts b/packages/core/src/integrations/featureFlags/unleash/types.ts similarity index 100% rename from packages/browser/src/integrations/featureFlags/unleash/types.ts rename to packages/core/src/integrations/featureFlags/unleash/types.ts diff --git a/packages/node/src/index.ts b/packages/node/src/index.ts index cf951c3db8b6..82554d475e96 100644 --- a/packages/node/src/index.ts +++ b/packages/node/src/index.ts @@ -140,6 +140,12 @@ export { consoleIntegration, wrapMcpServerWithSentry, featureFlagsIntegration, + launchDarklyIntegration, + buildLaunchDarklyFlagUsedHandler, + openFeatureIntegration, + OpenFeatureIntegrationHook, + statsigIntegration, + unleashIntegration, } from '@sentry/core'; export type {