Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Review and clean up public API surface types

Open
#6,094 1 comment 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
35/100
Issue type
Refactor
Clarity
Mostly clear
Activity status
Quiet
Tech stack
react-native, typescript
Domain
api, mobile

Research direction

Start with the public exports in index.ts and the @microsoft/api-extractor report introduced in #6093. Review each listed forgotten-export type and decide whether it belongs in the public API or should be marked @internal, including whether the logger export is intentional. Done means all 36 warnings have an explicit resolution and the API surface reflects those decisions.

Written by the indexing model from the issue text.

Description

React-Native Task

Context

With the addition of @microsoft/api-extractor in #6093, we now have visibility into the public API surface. The tool reports 36 ae-forgotten-export warnings — types that appear in public function signatures but are not exported from index.ts.

None of these types are documented in the Sentry docs, and no users have reported needing them. TypeScript's structural typing means consumers can pass plain object literals without importing the types explicitly.

What needs reviewing

For each type, decide whether to export it (make it part of the public API) or mark it @internal (explicitly keep it private).

Options/config types (used as integration/function parameters)
  • ReactNativeTracingOptions, ReactNativeTracingState, ReactNativeTracingIntegration
  • ReactNavigationIntegrationOptions, ReactNativeNavigationOptions
  • ReactNativeClientOptions, ReactNativeTransportOptions, BaseReactNativeOptions, ReactNativeWrapperOptions
  • ReactNativeErrorHandlersOptions, LinkedErrorsOptions, BreadcrumbsOptions
  • MobileReplayOptions, MobileReplayIntegration
  • HermesProfilingOptions
  • GraphQLReactNativeIntegrationOptions, SpotlightReactNativeIntegrationOptions, SupabaseReactNativeIntegrationOptions
  • FeedbackFormProps, FeedbackButtonProps, ScreenshotButtonProps, FeedbackFormTheme
  • TouchEventBoundaryProps
  • AppStartIntegration, defaultIdleOptions
Internal/external types (likely should stay unexported)
  • FeedbackFormState, FeedbackIntegration, GlobalErrorBoundaryState — internal component state
  • Replay, ReplayConfiguration — @sentry/browser internals
  • HostComponent, ViewProps — react-native types
  • ExpoAssetInstance, ExpoImageSource, ExpoImageLoadOptions, ExpoImageRef — internal Expo types

Additional items to review

  • logger from @sentry/browser is exported publicly — is this intentional?
Dominant language
TypeScript
Stars
1.8k
Forks
369
Avg merge
20h 55m
Merged PRs (30d)
105

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from getsentry/sentry-react-native

All issues in getsentry/sentry-react-native

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.