> For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.

# Internal plugins

## OutputPlugin

## LoggerPlugin

## NativeEntryPlugin

Plugin that sets up the React Native entry point for each compilation entry. It adds React Native polyfills, `InitializeCore`, `InitializeScriptManager`, and `IncludeModules` as entry modules processed through the standard loader pipeline. A companion runtime module (`PolyfillsRuntimeModule`) ensures polyfills execute before Module Federation's startup wrapper, regardless of the federation version or bundler used.

Polyfills are read from React Native's `rn-get-polyfills.js` when present (React Native 0.86 and earlier). React Native 0.87 removed that file together with its dependency on `@react-native/js-polyfills`, so the plugin resolves `@react-native/js-polyfills` from the project instead, falling back through `@react-native/metro-config` (which still depends on it and is a devDependency of the default template). If neither can be found, the build fails with an error asking you to add a version-matched `@react-native/js-polyfills` or `@react-native/metro-config` to your project.

On the React Native 0.87 layout the plugin also prepends two resolve aliases: `react-native/Libraries/Image/AssetRegistry` maps to the relocated `src/asset-registry.js`, and `react-native/src/private` maps to the on-disk directory so first-party deep imports keep resolving when package exports are enabled. Neither alias is added on 0.86 and earlier.

## DevelopmentPlugin

## RepackTargetPlugin

## BabelPlugin

Plugin that adds `babel-loader` fallback to resolveLoader configuration. This ensures babel-loader can be resolved regardless of the package manager used, as some package managers (like `pnpm`) require loaders to be direct dependencies rather than allowing them to be resolved through nested dependencies.

## CodegenPlugin

Plugin that handles React Native Codegen transforms required by the new architecture. It adds a `babel-loader` rule for processing Native components and modules, similar to how it's done in `@react-native/babel-preset`.
