React Native Internal Documentation and Source
repository·main·Indexed Apr 15, 2026
https://github.com/facebook/react-nativeCentral repository for React Native's internal technical documentation and source code, intended for contributors and framework developers. Contains monorepo structure with public packages in the packages/ directory and internal tools like RNTester. Includes packages such as @react-native/community-cli-plugin, @react-native/core-cli-utils, @react-native/debugger-frontend, and @react-native/debugger-shell. End users should refer to reactnative.dev for usage guides.
What's inside facebook/react-native
- This package provides the Java and Kotlin bindings for the internal React Native feature flags system on Android. Feature flags allow the React Native runtime to enable or disable specific features at runtime or build time, facilitating controlled rollouts and experimental feature testing within the Android environment.
Overview of @react-native/debugger-shell
mainWhat is RCTFoundation
mainRCTFoundation is a collection of lightweight utility libraries within the React Native core. These libraries are designed to be modular and highly decoupled, serving as a foundation for other parts of the system.Overview of @react-native/gradle-plugin
mainThe@react-native/gradle-pluginis a Gradle plugin designed to build and configure React Native applications for the Android platform. It handles the necessary build logic and configuration required to integrate React Native into an Android project. For applications created using the standard React Native template, this plugin is applied automatically.Overview of ReactApple
mainReactApple is the specialized directory within the React Native repository containing the code required to ship React Native applications to Apple devices (iOS/macOS). The codebase is primarily written in Objective-C and includes the integration logic for Apple-specific frameworks.Overview of @react-native/debugger-shell
mainThe
@react-native/debugger-shellis an experimental Electron-based shell designed to host the React Native DevTools.Historically, React Native DevTools relied on 'hosted mode' within specific browsers like Chrome or Edge. This created UX friction, such as requiring specific browser installations and making it difficult to manage debugger windows when relaunching apps. This shell addresses those issues by providing a portable, customized Chromium-based environment that can be bundled directly with React Native, allowing for better control over the debugging workflow and window management.
Overview of @react-native/core-cli-utils
mainThe
@react-native/core-cli-utilspackage is a reference implementation of React Native CLI tooling. It provides composable, orderedTaskobjects designed to automate common CLI operations.Note for Framework Authors: This package is not published to npm. It is intended to be used as a starting point or reference for building custom CLI tooling. You should not depend on it as a stable, versioned API.
Overview of Android event dispatching in the New Architecture
mainIn the React Native New Architecture, Android event dispatching is handled by a specific set of Kotlin classes designed to process events within the Fabric implementation. While these classes are part of the Fabric system, they maintain a tight coupling with the legacy event dispatch mechanism to ensure compatibility. To support this interoperability, some interfaces and components are located in thecom.facebook.react.uimanager.eventspackage so they can reference internal APIs.Overview of @react-native/debugger-frontend
mainOverview of @react-native/codegen
main@react-native/codegen provides the code generation tools required for the React Native New Architecture. It parses TypeScript and Flow specifications forNativeModuleandComponentdefinitions and automatically generates the necessary native binding code to bridge JavaScript and native layers.What is @react-native/babel-plugin-codegen?
main@react-native/babel-plugin-codegen is a Babel plugin designed to automate the generation of native module and view manager binding code for React Native. It functions as a bridge between JavaScript definitions and native implementations by leveraging@react-native/codegento produce the necessary glue code.Overview of RNTester PlatformTest Framework
mainThe RNTester PlatformTest is a manual testing framework designed to verify React Native's compliance with W3C specifications, similar to Web Platform Tests (WPT). It allows developers to create test cases as React components to validate platform-specific behaviors. This framework is primarily used within the RNTester application for internal verification and regression testing.
Sources:
packages/rn-tester/js/examples/Experimental/PlatformTest/README.md