facebook/react
Other packages
The packages not big enough for their own page, plus the internal-only ones.
Renderers
react-native-renderer
Path: packages/react-native-renderer/. The Fabric host config (the legacy "Paper" renderer was removed in early 2026 via #36285). Bridges to React Native's C++ shadow tree via the JS-to-Native bridge. Key files:
packages/react-native-renderer/src/ReactFiberConfigFabric.js— the host config (~27,000 chars).packages/react-native-renderer/src/ReactFabric.js— the public mount API (render,unmountComponentAtNode, …).packages/react-native-renderer/src/ReactFabricEventEmitter.js— Fabric event dispatch.packages/react-native-renderer/src/ReactFiberConfigFabricWithViewTransition.js— view-transition extensions for Fabric.packages/react-native-renderer/src/ReactNativeFeatureFlags.js— RN-specific flag overrides.
react-art
Path: packages/react-art/. Renderer for the ART shape library, a thin abstraction over Canvas / SVG / VML. ~five files of host-config plus a tiny public API. Mostly used by very old React Native projects; kept primarily for backwards compatibility.
react-test-renderer
Path: packages/react-test-renderer/. Renders to a JSON tree. Used by snapshot testing libraries that don't want to bring up a DOM environment. Slowly being deprecated in favor of @testing-library/react for end-user testing — but the package itself is still maintained and shipped.
react-noop-renderer
Path: packages/react-noop-renderer/. In-memory renderer; host instances are plain JS objects appended to arrays. The React team's preferred test platform for reconciler features — every reconciler bug fix usually adds a regression test against react-noop-renderer.
Server / streaming
react-client
Path: packages/react-client/. Shared client runtime for every Flight client. Parses incoming Flight stream rows, allocates Promise-backed chunk records, materializes React elements, and resolves client / server references. The bulk is packages/react-client/src/ReactFlightClient.js (~3,000 lines).
react-flight-server-fb
Path: packages/react-flight-server-fb/. Facebook-internal Flight server, separated from the shared react-server so that the FB bundler can ship a smaller surface. Added in #36309 (Apr 2026).
react-markup
Path: packages/react-markup/. Renders an RSC tree to a string of markup, intended for static contexts that can't stream (e.g. emails, edge functions with response-size limits). Built on top of Fizz with all suspense support stripped.
Hooks-adjacent
use-sync-external-store
Path: packages/use-sync-external-store/. The shimmed-on-old-React version of useSyncExternalStore. Lets libraries (Redux, Zustand) target React 16/17 + 18+ uniformly without giving up the new hook.
use-subscription
Path: packages/use-subscription/. Older subscribe-to-external-source API. Now an alias for useSyncExternalStore. Kept for backward compatibility.
react-cache
Path: packages/react-cache/. The original (pre-React 18) experimental data-cache primitive. Mostly superseded by Suspense + the cache() API from react/cache. Still in the tree, mostly unmodified.
react-suspense-test-utils
Path: packages/react-suspense-test-utils/. Helpers for asserting Suspense behavior (createResource and friends) in tests.
Reflection / inspection
react-is
Path: packages/react-is/. Tiny — isValidElement, typeOf(element) returning the symbol kind. Used by libraries that want to detect React elements without depending on the entire react package.
react-debug-tools
Path: packages/react-debug-tools/. Low-level fiber inspection: re-runs a function component with a fake dispatcher to label hook cells. Used by DevTools and act warnings. Public API but not advertised.
Refresh / hot reloading
react-refresh
Path: packages/react-refresh/. The fast-refresh runtime injected by bundler plugins (Vite, Next.js, Metro, ...). Provides register, signature, performReactRefresh, etc. Co-evolves with the matching Babel plugin (which lives in the bundler ecosystem, not here).
Test infrastructure (internal-only)
internal-test-utils
Path: packages/internal-test-utils/. Not published. Provides waitForAll, waitForPaint, waitFor, assertLog, and other helpers used by every reconciler test in the repo.
dom-event-testing-library
Path: packages/dom-event-testing-library/. Internal-only. Synthesizes DOM events with the right behavior for React's synthetic event system — what react-dom's tests use.
jest-react
Path: packages/jest-react/. Jest matchers for React renderer output (toFlushAndYield, toMatchRenderedOutput, ...). Published, but its main user is this repo.
Shared / internal
shared
Path: packages/shared/. Not published — bundled into each consuming package. Holds:
packages/shared/ReactSymbols.js— the table ofREACT_*_TYPEsymbols.packages/shared/ReactFeatureFlags.js— the canonical feature-flag list.packages/shared/forks/ReactFeatureFlags.<channel>.js— per-channel overrides (www,www-modern,test-renderer,native-fb,native-oss).packages/shared/ReactSharedInternals.js— re-export bridge for the dispatcher / current owner.packages/shared/ReactErrorUtils.js,ReactComponentStackFrame.js,getComponentNameFromType.js,consoleWithStackDev.js, etc.
packages/shared/ReactVersion.js contains the version string — generated from ReactVersions.js at the repo root by the build pipeline.
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.