diff --git a/CHANGELOG.md b/CHANGELOG.md index f40c5c9d44..f4f9f5d4ba 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,10 @@ - Honor `shutdownTimeout` on iOS ([#6749](https://github.com/getsentry/sentry-react-native/pull/6749)) +### Internal + +- Export already-public option and configuration types from the entry point so their full shape is tracked in the API report ([#6731](https://github.com/getsentry/sentry-react-native/pull/6731)) + ## 8.27.0 > [!WARNING] diff --git a/packages/core/etc/sentry-react-native.api.md b/packages/core/etc/sentry-react-native.api.md index 8396d93988..e7713cec39 100644 --- a/packages/core/etc/sentry-react-native.api.md +++ b/packages/core/etc/sentry-react-native.api.md @@ -149,21 +149,103 @@ export const appStartIntegration: (input?: { standalone?: boolean; }) => AppStartIntegration; +// @public (undocumented) +export interface BaseReactNativeOptions { + anrProfilingSampleRate?: number; + appHangTimeoutInterval?: number; + attachAllThreads?: boolean; + attachScreenshot?: boolean; + attachThreads?: boolean; + attachViewHierarchy?: boolean; + autoInitializeNativeSdk?: boolean; + beforeScreenshot?: (event: Event_2, hint: EventHint) => boolean; + enableAnrFingerprinting?: boolean; + enableAppHangTracking?: boolean; + enableAppStartTracking?: boolean; + enableAutoConsoleLogs?: boolean; + enableAutoPerformanceTracing?: boolean; + enableAutoSessionTracking?: boolean; + enableCaptureFailedRequests?: boolean; + enableHistoricalTombstoneReporting?: boolean; + enableMemoryIntrospection?: boolean; + enableMetricKit?: boolean; + enableNative?: boolean; + enableNativeCrashHandling?: boolean; + enableNativeFramesTracking?: boolean; + enableNativeNagger?: boolean; + enableNdk?: boolean; + enableNdkAppHangTracking?: boolean; + enableNdkScopeSync?: boolean; + enableStallTracking?: boolean; + enableTombstone?: boolean; + // @internal + enableTurboModuleTracking?: boolean; + enableUserInteractionTracing?: boolean; + enableWatchdogTerminationTracking?: boolean; + // Warning: (ae-forgotten-export) The symbol "SharedExperimentsSubset" needs to be exported by the entry point index.d.ts + _experiments?: SharedExperimentsSubset & { + [key: string]: unknown; + replaysSessionSampleRate?: number; + replaysOnErrorSampleRate?: number; + enableUnhandledCPPExceptionsV2?: boolean; + profilingOptions?: ProfilingOptions; + androidProfilingOptions?: ProfilingOptions; + enableStandaloneAppStartTracing?: boolean; + }; + // @deprecated + initialScope?: CaptureContext; + logsOrigin?: 'all' | 'js' | 'native'; + maxCacheItems?: number; + maxQueueSize?: number; + ndkAppHangTimeoutIntervalMillis?: number; + onNativeLog?: (log: NativeLogEntry) => void; + onReady?: (response: { + didCallNativeInit: boolean; + }) => void; + patchGlobalPromise?: boolean; + profilesSampleRate?: number; + propagateTraceparent?: boolean; + replaysOnErrorSampleRate?: number; + replaysSessionQuality?: SentryReplayQuality; + replaysSessionSampleRate?: number; + screenshot?: { + maskAllText?: boolean; + maskAllImages?: boolean; + maskedViewClasses?: string[]; + unmaskedViewClasses?: string[]; + }; + sendDefaultPii?: boolean; + sessionTrackingIntervalMillis?: number; + shutdownTimeout?: number; + spotlight?: boolean | string; + // @deprecated + useThreadsForMessageStack?: boolean; +} + export { Breadcrumb } -// Warning: (ae-forgotten-export) The symbol "BreadcrumbsOptions" needs to be exported by the entry point index.d.ts -// // @public (undocumented) export const breadcrumbsIntegration: (options?: Partial) => Integration; +// @public (undocumented) +export interface BreadcrumbsOptions { + console: boolean; + dom: boolean | { + serializeAttribute?: string | string[]; + maxStringLength?: number; + }; + fetch: boolean; + history: boolean; + sentry: boolean; + xhr: boolean; +} + export { browserApiErrorsIntegration } export { browserGlobalHandlersIntegration } export { browserLinkedErrorsIntegration } -// Warning: (ae-forgotten-export) The symbol "ReplayConfiguration" needs to be exported by the entry point index.d.ts -// // @public export const browserReplayIntegration: (options?: ReplayConfiguration) => Replay; @@ -298,11 +380,12 @@ export interface ExpoRouterErrorBoundaryProps { retry: () => Promise; } -// Warning: (ae-forgotten-export) The symbol "ExpoRouterIntegrationOptions" needs to be exported by the entry point index.d.ts -// // @public export const expoRouterIntegration: (options?: ExpoRouterIntegrationOptions) => Integration; +// @public (undocumented) +export type ExpoRouterIntegrationOptions = Parameters[0]; + // @public export const expoUpdatesListenerIntegration: () => Integration; @@ -326,7 +409,16 @@ export class FeedbackButton extends React_2.Component { render(): React_2.ReactNode; } -// Warning: (ae-forgotten-export) The symbol "FeedbackFormProps" needs to be exported by the entry point index.d.ts +// @public +export interface FeedbackCallbacks { + onAddScreenshot: (addScreenshot: (uri: string) => void) => void; + onFormClose: () => void; + onFormOpen: () => void; + onFormSubmitted: () => void; + onSubmitError: (error: Error) => void; + onSubmitSuccess: (data: FeedbackFormData) => void; +} + // Warning: (ae-forgotten-export) The symbol "FeedbackFormState" needs to be exported by the entry point index.d.ts // // @beta @@ -346,6 +438,79 @@ class FeedbackForm extends React_2.Component & { enableShakeToReport?: boolean; }) => FeedbackIntegration; +// @public +export interface FeedbackTextConfiguration { + addScreenshotButtonLabel: string; + cancelButtonLabel: string; + captureScreenshotButtonLabel?: string; + captureScreenshotError: string; + emailError: string; + emailLabel: string; + emailPlaceholder: string; + errorTitle: string; + formError: string; + formTitle: string; + genericError: string; + isRequiredLabel: string; + messageLabel: string; + messagePlaceholder?: string; + nameLabel: string; + namePlaceholder: string; + removeScreenshotButtonLabel: string; + submitButtonLabel: string; + successMessageText: string; +} + // @public export function finishExtendedAppStart(): Promise; @@ -438,16 +626,23 @@ export { GoogleGenAIClient } export { GoogleGenAIOptions } -// Warning: (ae-forgotten-export) The symbol "GraphQLReactNativeIntegrationOptions" needs to be exported by the entry point index.d.ts -// // @public export function graphqlIntegration(options: GraphQLReactNativeIntegrationOptions): Integration; -// Warning: (ae-forgotten-export) The symbol "HermesProfilingOptions" needs to be exported by the entry point index.d.ts -// +// @public (undocumented) +export interface GraphQLReactNativeIntegrationOptions { + // (undocumented) + endpoints: Array; +} + // @public export const hermesProfilingIntegration: (initOptions?: HermesProfilingOptions) => Integration; +// @public (undocumented) +export interface HermesProfilingOptions { + platformProfilers?: boolean; +} + // @public @deprecated (undocumented) export const hideFeedbackButton: () => void; @@ -455,6 +650,25 @@ export { httpClientIntegration } export { httpContextIntegration } +// @public (undocumented) +export interface ImagePicker { + // Warning: (ae-forgotten-export) The symbol "ReactNativeImageLibraryOptions" needs to be exported by the entry point index.d.ts + // + // (undocumented) + launchImageLibrary?: (options: ReactNativeImageLibraryOptions) => Promise; + // Warning: (ae-forgotten-export) The symbol "ExpoImageLibraryOptions" needs to be exported by the entry point index.d.ts + // Warning: (ae-forgotten-export) The symbol "ImagePickerResponse" needs to be exported by the entry point index.d.ts + // + // (undocumented) + launchImageLibraryAsync?: (options?: ExpoImageLibraryOptions) => Promise; +} + +// @public +export interface ImagePickerConfiguration { + // (undocumented) + imagePicker?: ImagePicker; +} + export { inboundFiltersIntegration } // @public @@ -484,6 +698,14 @@ export { LangGraphOptions } export { lastEventId } +// @public (undocumented) +export interface LinkedErrorsOptions { + // (undocumented) + key: string; + // (undocumented) + limit: number; +} + // @public (undocumented) export const logEnricherIntegration: () => Integration; @@ -496,12 +718,36 @@ export { Metric } export { metrics } -// Warning: (ae-forgotten-export) The symbol "MobileReplayOptions" needs to be exported by the entry point index.d.ts // Warning: (ae-forgotten-export) The symbol "MobileReplayIntegration" needs to be exported by the entry point index.d.ts // // @public export const mobileReplayIntegration: (initOptions?: MobileReplayOptions) => MobileReplayIntegration; +// @public (undocumented) +export interface MobileReplayOptions { + avoidForegroundResumeHang?: boolean; + avoidForegroundResumeHangDelayMs?: number; + beforeErrorSampling?: (event: Event_2, hint: EventHint) => boolean; + captureSurfaceViews?: boolean; + // @deprecated + enableExperimentalViewRenderer?: boolean; + enableFastViewRendering?: boolean; + enableViewRendererV2?: boolean; + excludedViewClasses?: string[]; + includedViewClasses?: string[]; + maskAllImages?: boolean; + maskAllText?: boolean; + maskAllVectors?: boolean; + maskedViewClasses?: string[]; + networkCaptureBodies?: boolean; + networkDetailAllowUrls?: (string | RegExp)[]; + networkDetailDenyUrls?: (string | RegExp)[]; + networkRequestHeaders?: string[]; + networkResponseHeaders?: string[]; + screenshotStrategy?: ScreenshotStrategy; + unmaskedViewClasses?: string[]; +} + // @public export const modulesLoaderIntegration: () => Integration; @@ -511,8 +757,6 @@ export function nativeCrash(): void; // @public export const nativeFramesIntegration: () => Integration; -// Warning: (ae-forgotten-export) The symbol "LinkedErrorsOptions" needs to be exported by the entry point index.d.ts -// // @public export const nativeLinkedErrorsIntegration: (options?: Partial) => Integration; @@ -569,6 +813,16 @@ export const primitiveTagIntegration: () => Integration; export { Profiler } +// @public +export type ProfilingLifecycle = 'trace' | 'manual'; + +// @public +export interface ProfilingOptions { + lifecycle?: ProfilingLifecycle; + profileSessionSampleRate?: number; + startOnAppStart?: boolean; +} + // @public export function pushTurboModuleCall(args: { name: string; @@ -599,28 +853,39 @@ export class ReactNativeClient extends Client { sendEnvelope(envelope: Envelope): PromiseLike; } -// Warning: (ae-forgotten-export) The symbol "ReactNativeErrorHandlersOptions" needs to be exported by the entry point index.d.ts -// // @public export const reactNativeErrorHandlersIntegration: (options?: Partial) => Integration; +// @public +export interface ReactNativeErrorHandlersOptions { + // (undocumented) + onerror: boolean; + // (undocumented) + onunhandledrejection: boolean; + // (undocumented) + patchGlobalPromise: boolean; +} + // @public export const reactNativeInfoIntegration: () => Integration; -// Warning: (ae-forgotten-export) The symbol "ReactNativeNavigationOptions" needs to be exported by the entry point index.d.ts -// // @public export const reactNativeNavigationIntegration: (input: ReactNativeNavigationOptions) => Integration; +// @public (undocumented) +export interface ReactNativeNavigationOptions { + enableTabsInstrumentation?: boolean; + ignoreEmptyBackNavigationTransactions?: boolean; + navigation: unknown; + routeChangeTimeoutMs?: number; +} + // Warning: (ae-forgotten-export) The symbol "ReactNativeTransportOptions" needs to be exported by the entry point index.d.ts -// Warning: (ae-forgotten-export) The symbol "BaseReactNativeOptions" needs to be exported by the entry point index.d.ts // // @public export interface ReactNativeOptions extends Omit, '_experiments' | 'dataCollection'>, BaseReactNativeOptions { } -// Warning: (ae-forgotten-export) The symbol "ReactNativeTracingOptions" needs to be exported by the entry point index.d.ts -// // @public (undocumented) export const reactNativeTracingIntegration: (options?: Partial) => Integration & { options: ReactNativeTracingOptions; @@ -628,8 +893,24 @@ export const reactNativeTracingIntegration: (options?: Partial void; }; -// Warning: (ae-forgotten-export) The symbol "ReactNavigationIntegrationOptions" needs to be exported by the entry point index.d.ts -// +// @public (undocumented) +export interface ReactNativeTracingOptions { + beforeStartSpan?: (options: StartSpanOptions) => StartSpanOptions; + enableHTTPTimings: boolean; + finalTimeoutMs?: number; + idleTimeoutMs?: number; + shouldCreateSpanForRequest?(this: void, url: string): boolean; + traceFetch: boolean; + traceXHR: boolean; +} + +// @public (undocumented) +export interface ReactNativeWrapperOptions { + // Warning: (ae-forgotten-export) The symbol "ProfilerProps" needs to be exported by the entry point index.d.ts + profilerProps?: Omit; + touchEventBoundaryProps?: TouchEventBoundaryProps; +} + // @public export const reactNavigationIntegration: (input?: Partial) => Integration & { registerNavigationContainer: (navigationContainerRef: unknown) => void; @@ -637,6 +918,17 @@ export const reactNavigationIntegration: (input?: Partial; } +// @public +export type ReplayConfiguration = Parameters[0]; + // @public export function reportFullyDisplayed(): void; @@ -661,9 +956,34 @@ export { rewriteFramesIntegration } export { Scope } +// @public +export interface ScreenshotButtonProps extends ScreenshotButtonTextConfiguration { + // (undocumented) + styles?: ScreenshotButtonStyles; +} + +// @public +export interface ScreenshotButtonStyles { + // (undocumented) + triggerButton?: ViewStyle; + // (undocumented) + triggerIcon?: ImageStyle; + // (undocumented) + triggerText?: TextStyle; +} + +// @public +export interface ScreenshotButtonTextConfiguration { + triggerAriaLabel?: string; + triggerLabel?: string; +} + // @public export const screenshotIntegration: () => Integration; +// @public +export type ScreenshotStrategy = 'canvas' | 'pixelCopy'; + // @public (undocumented) export const SDK_NAME = "sentry.javascript.react-native"; @@ -741,6 +1061,9 @@ export interface SentryNavigationContainerProps { theme?: NavigationTheme; } +// @public (undocumented) +export type SentryReplayQuality = 'low' | 'medium' | 'high'; + // @public export function sentryTraceGesture( label: string, gesture: GestureT): GestureT; @@ -781,11 +1104,14 @@ export { spanIsSampled } export { spanToJSON } -// Warning: (ae-forgotten-export) The symbol "SpotlightReactNativeIntegrationOptions" needs to be exported by the entry point index.d.ts -// // @public export function spotlightIntegration(input?: SpotlightReactNativeIntegrationOptions): Integration; +// @public (undocumented) +export type SpotlightReactNativeIntegrationOptions = { + sidecarUrl?: string; +}; + export { StackFrame } export { Stacktrace } @@ -827,11 +1153,14 @@ export function startTimeToInitialDisplaySpan(options?: Omit { constructor(props: TouchEventBoundaryProps); @@ -869,6 +1196,22 @@ export class TouchEventBoundary extends React_2.Component; + ignoredDisplayNames?: Array; + children?: React_2.ReactNode; + labelName?: string; + spanAttributes?: Record; + enableRageTapDetection?: boolean; + rageTapThreshold?: number; + rageTapTimeWindow?: number; + extractTextFromChildren?: boolean; +}; + export { TransactionEvent } // @public @@ -937,8 +1280,6 @@ export function withScope(callback: (scope: Scope) => T): T | undefined; // @public export const withTouchEventBoundary: (InnerComponent: React_2.ComponentType, boundaryProps?: TouchEventBoundaryProps) => React_2.FunctionComponent; -// Warning: (ae-forgotten-export) The symbol "ReactNativeWrapperOptions" needs to be exported by the entry point index.d.ts -// // @public export function wrap

>(RootComponent: React_2.ComponentType

, options?: ReactNativeWrapperOptions): React_2.ComponentType

; @@ -962,8 +1303,6 @@ export function wrapTurboModule(name: string, module: T | null // Warnings were encountered during analysis: // -// src/js/feedback/integration.ts:21:5 - (ae-forgotten-export) The symbol "ScreenshotButtonProps" needs to be exported by the entry point index.d.ts -// src/js/feedback/integration.ts:23:5 - (ae-forgotten-export) The symbol "FeedbackFormTheme" needs to be exported by the entry point index.d.ts // src/js/tracing/reactnativetracing.ts:90:3 - (ae-forgotten-export) The symbol "ReactNativeTracingState" needs to be exported by the entry point index.d.ts // src/js/tracing/reactnavigation.ts:228:3 - (ae-forgotten-export) The symbol "RouteOverrideProvider" needs to be exported by the entry point index.d.ts diff --git a/packages/core/src/js/index.ts b/packages/core/src/js/index.ts index 12809ced93..6581a17422 100644 --- a/packages/core/src/js/index.ts +++ b/packages/core/src/js/index.ts @@ -94,7 +94,15 @@ export { logger, consoleLoggingIntegration, type FeatureFlagsIntegration, metric export * from './integrations/exports'; export { SDK_NAME, SDK_VERSION } from './version'; -export type { ReactNativeOptions, NativeLogEntry } from './options'; +export type { + ReactNativeOptions, + NativeLogEntry, + BaseReactNativeOptions, + ReactNativeWrapperOptions, + ProfilingOptions, + ProfilingLifecycle, + SentryReplayQuality, +} from './options'; export { ReactNativeClient } from './client'; export { @@ -113,6 +121,7 @@ export { resumeAppHangTracking, } from './sdk'; export { TouchEventBoundary, withTouchEventBoundary } from './touchevents'; +export type { TouchEventBoundaryProps } from './touchevents'; export { NavigationContainer } from './NavigationContainer'; export type { FontStyle, NavigationTheme, SentryNavigationContainerProps } from './NavigationContainer'; export { GlobalErrorBoundary, withGlobalErrorBoundary } from './GlobalErrorBoundary'; @@ -144,6 +153,11 @@ export { export type { TimeToDisplayProps, ExpoRouter, ExpoRouterErrorBoundaryProps, ExpoImage, ExpoAsset } from './tracing'; +export type { ReactNativeTracingOptions } from './tracing/reactnativetracing'; +export type { ReactNativeNavigationOptions } from './tracing/reactnativenavigation'; +export type { ReactNavigationIntegrationOptions } from './tracing/reactnavigation'; +export type { ExpoRouterIntegrationOptions } from './tracing/expoRouterIntegration'; + export { Mask, Unmask } from './replay/CustomMask'; export { getReplay } from './replay/getReplay'; export type { Replay } from './replay/replayInterface'; @@ -151,6 +165,19 @@ export type { Replay } from './replay/replayInterface'; /** @deprecated The `FeedbackButton` component will be removed in a future major version. */ export { FeedbackButton } from './feedback/FeedbackButton'; export { FeedbackForm } from './feedback/FeedbackForm'; +export type { + FeedbackFormProps, + FeedbackGeneralConfiguration, + FeedbackTextConfiguration, + FeedbackCallbacks, + ImagePickerConfiguration, + FeedbackFormStyles, + ScreenshotButtonProps, + ScreenshotButtonStyles, + ScreenshotButtonTextConfiguration, + ImagePicker, +} from './feedback/FeedbackForm.types'; +export type { FeedbackFormTheme } from './feedback/FeedbackForm.theme'; export { showFeedbackForm, enableFeedbackOnShake, disableFeedbackOnShake } from './feedback/FeedbackFormManager'; /** @deprecated `showFeedbackButton` will be removed in a future major version. */ export { showFeedbackButton } from './feedback/FeedbackFormManager'; diff --git a/packages/core/src/js/integrations/breadcrumbs.ts b/packages/core/src/js/integrations/breadcrumbs.ts index 371e28fdcb..7b48caefbc 100644 --- a/packages/core/src/js/integrations/breadcrumbs.ts +++ b/packages/core/src/js/integrations/breadcrumbs.ts @@ -4,7 +4,7 @@ import { breadcrumbsIntegration as browserBreadcrumbsIntegration } from '@sentry import { isExpoFetchEnabled, isWeb } from '../utils/environment'; -interface BreadcrumbsOptions { +export interface BreadcrumbsOptions { /** * Log calls to console.log, console.debug, and so on. */ diff --git a/packages/core/src/js/integrations/exports.ts b/packages/core/src/js/integrations/exports.ts index 871ce2f804..de88f1e7bb 100644 --- a/packages/core/src/js/integrations/exports.ts +++ b/packages/core/src/js/integrations/exports.ts @@ -35,6 +35,18 @@ export { graphqlIntegration } from './graphql'; export { supabaseIntegration } from './supabase'; export { deeplinkIntegration } from './deeplink'; +// User-facing integration option types. Re-exported from the entry point so their +// full shape lands in the API report and field-level changes are surfaced in its diff. +export type { BreadcrumbsOptions } from './breadcrumbs'; +export type { LinkedErrorsOptions } from './nativelinkederrors'; +export type { ReactNativeErrorHandlersOptions } from './reactnativeerrorhandlers'; +export type { SpotlightReactNativeIntegrationOptions } from './spotlight'; +export type { GraphQLReactNativeIntegrationOptions } from './graphql'; +export type { SupabaseReactNativeIntegrationOptions } from './supabase'; +export type { HermesProfilingOptions } from '../profiling/integration'; +export type { MobileReplayOptions, ScreenshotStrategy } from '../replay/mobilereplay'; +export type { ReplayConfiguration } from '../replay/browserReplay'; + export { browserApiErrorsIntegration, dedupeIntegration, diff --git a/packages/core/src/js/integrations/graphql.ts b/packages/core/src/js/integrations/graphql.ts index f8523096aa..572921aab6 100644 --- a/packages/core/src/js/integrations/graphql.ts +++ b/packages/core/src/js/integrations/graphql.ts @@ -2,7 +2,7 @@ import type { Integration } from '@sentry/core'; import { graphqlClientIntegration as browserGraphqlClientIntegration } from '@sentry/browser'; -interface GraphQLReactNativeIntegrationOptions { +export interface GraphQLReactNativeIntegrationOptions { endpoints: Array; } diff --git a/packages/core/src/js/integrations/nativelinkederrors.ts b/packages/core/src/js/integrations/nativelinkederrors.ts index 371e0cc29b..44dd143abb 100644 --- a/packages/core/src/js/integrations/nativelinkederrors.ts +++ b/packages/core/src/js/integrations/nativelinkederrors.ts @@ -22,7 +22,7 @@ const INTEGRATION_NAME = 'NativeLinkedErrors'; const DEFAULT_KEY = 'cause'; const DEFAULT_LIMIT = 5; -interface LinkedErrorsOptions { +export interface LinkedErrorsOptions { key: string; limit: number; } diff --git a/packages/core/src/js/integrations/reactnativeerrorhandlers.ts b/packages/core/src/js/integrations/reactnativeerrorhandlers.ts index d3ceef1440..6f272d4509 100644 --- a/packages/core/src/js/integrations/reactnativeerrorhandlers.ts +++ b/packages/core/src/js/integrations/reactnativeerrorhandlers.ts @@ -20,7 +20,7 @@ import { checkPromiseAndWarn, polyfillPromise, requireRejectionTracking } from ' const INTEGRATION_NAME = 'ReactNativeErrorHandlers'; /** ReactNativeErrorHandlers Options */ -interface ReactNativeErrorHandlersOptions { +export interface ReactNativeErrorHandlersOptions { onerror: boolean; onunhandledrejection: boolean; patchGlobalPromise: boolean; diff --git a/packages/core/src/js/integrations/spotlight.ts b/packages/core/src/js/integrations/spotlight.ts index 789fc65882..9a09a4340c 100644 --- a/packages/core/src/js/integrations/spotlight.ts +++ b/packages/core/src/js/integrations/spotlight.ts @@ -5,7 +5,7 @@ import { debug, serializeEnvelope } from '@sentry/core'; import { ReactNativeLibraries } from '../utils/rnlibraries'; import { createStealthXhr, XHR_READYSTATE_DONE } from '../utils/xhr'; -type SpotlightReactNativeIntegrationOptions = { +export type SpotlightReactNativeIntegrationOptions = { /** * The URL of the Sidecar instance to connect and forward events to. * If not set, Spotlight will try to connect to the Sidecar running on localhost:8969. diff --git a/packages/core/src/js/integrations/supabase.ts b/packages/core/src/js/integrations/supabase.ts index a9b3a5efc2..f784a5edc4 100644 --- a/packages/core/src/js/integrations/supabase.ts +++ b/packages/core/src/js/integrations/supabase.ts @@ -2,7 +2,7 @@ import type { Integration } from '@sentry/core'; import { supabaseIntegration as browserSupabaseIntegration } from '@sentry/browser'; -type SupabaseReactNativeIntegrationOptions = { +export type SupabaseReactNativeIntegrationOptions = { supabaseClient: unknown; }; diff --git a/packages/core/src/js/options.ts b/packages/core/src/js/options.ts index 651ad68ede..6d340319fe 100644 --- a/packages/core/src/js/options.ts +++ b/packages/core/src/js/options.ts @@ -528,7 +528,7 @@ export interface BaseReactNativeOptions { /** * If set to `true`, the SDK propagates the W3C `traceparent` header to any outgoing requests, - * in addition to the `sentry-trace` and `baggage` headers. Use the {@link CoreOptions.tracePropagationTargets} + * in addition to the `sentry-trace` and `baggage` headers. Use the `tracePropagationTargets` * option to control to which outgoing requests the header will be attached. * * **Important:** If you set this option to `true`, make sure that you configured your servers' diff --git a/packages/core/src/js/replay/browserReplay.ts b/packages/core/src/js/replay/browserReplay.ts index b94f914cc8..a2fd9286c5 100644 --- a/packages/core/src/js/replay/browserReplay.ts +++ b/packages/core/src/js/replay/browserReplay.ts @@ -10,7 +10,7 @@ import { notWeb } from '../utils/environment'; * * See the [Configuration documentation](https://docs.sentry.io/platforms/javascript/session-replay/configuration/) for more information. */ -type ReplayConfiguration = Parameters[0]; +export type ReplayConfiguration = Parameters[0]; // https://github.com/getsentry/sentry-javascript/blob/e00cb04f1bbf494067cd8475d392266ba296987a/packages/replay-internal/src/integration.ts#L109 const INTEGRATION_NAME = 'Replay'; diff --git a/packages/core/src/js/tracing/expoRouterIntegration.ts b/packages/core/src/js/tracing/expoRouterIntegration.ts index 7b2ceba316..07acba3e1b 100644 --- a/packages/core/src/js/tracing/expoRouterIntegration.ts +++ b/packages/core/src/js/tracing/expoRouterIntegration.ts @@ -15,7 +15,7 @@ export const INTEGRATION_NAME = 'ExpoRouter'; const POLL_INTERVAL_MS = 50; const POLL_MAX_DURATION_MS = 5_000; -type ExpoRouterIntegrationOptions = Parameters[0]; +export type ExpoRouterIntegrationOptions = Parameters[0]; /** * Integration that connects Expo Router with `reactNavigationIntegration` without diff --git a/packages/core/src/js/tracing/reactnativenavigation.ts b/packages/core/src/js/tracing/reactnativenavigation.ts index e93909ce8d..5a3eb9e422 100644 --- a/packages/core/src/js/tracing/reactnativenavigation.ts +++ b/packages/core/src/js/tracing/reactnativenavigation.ts @@ -31,7 +31,7 @@ export const INTEGRATION_NAME = 'ReactNativeNavigation'; const NAVIGATION_HISTORY_MAX_SIZE = 200; -interface ReactNativeNavigationOptions { +export interface ReactNativeNavigationOptions { /** * How long the instrumentation will wait for the route to mount after a change has been initiated, * before the transaction is discarded. diff --git a/packages/core/src/js/tracing/reactnavigation.ts b/packages/core/src/js/tracing/reactnavigation.ts index 507773a914..7b7def8d57 100644 --- a/packages/core/src/js/tracing/reactnavigation.ts +++ b/packages/core/src/js/tracing/reactnavigation.ts @@ -139,7 +139,7 @@ function getPathFromState(state?: NavigationState): string | undefined { return routeNames.length > 0 ? routeNames.join('/') : undefined; } -interface ReactNavigationIntegrationOptions { +export interface ReactNavigationIntegrationOptions { /** * How long the instrumentation will wait for the route to mount after a change has been initiated, * before the transaction is discarded.