3.0 KiB
title
| title |
|---|
| Configuration |
This page lists all configuration options available in React Compiler.
For most apps, the default options should work out of the box. If you have a special need, you can use these advanced options.
// babel.config.js
module.exports = {
plugins: [
[
'babel-plugin-react-compiler', {
// compiler options
}
]
]
};
Compilation Control {/compilation-control/}
These options control what the compiler optimizes and how it selects components and hooks to compile.
compilationModecontrols the strategy for selecting functions to compile (e.g., all functions, only annotated ones, or intelligent detection).
{
compilationMode: 'annotation' // Only compile "use memo" functions
}
Version Compatibility {/version-compatibility/}
React version configuration ensures the compiler generates code compatible with your React version.
target specifies which React version you're using (17, 18, or 19).
// For React 18 projects
{
target: '18' // Also requires react-compiler-runtime package
}
Error Handling {/error-handling/}
These options control how the compiler responds to code that doesn't follow the Rules of React.
panicThreshold determines whether to fail the build or skip problematic components.
// Recommended for production
{
panicThreshold: 'none' // Skip components with errors instead of failing the build
}
Debugging {/debugging/}
Logging and analysis options help you understand what the compiler is doing.
logger provides custom logging for compilation events.
{
logger: {
logEvent(filename, event) {
if (event.kind === 'CompileSuccess') {
console.log('Compiled:', filename);
}
}
}
}
Feature Flags {/feature-flags/}
Conditional compilation lets you control when optimized code is used.
gating enables runtime feature flags for A/B testing or gradual rollouts.
{
gating: {
source: 'my-feature-flags',
importSpecifierName: 'isCompilerEnabled'
}
}
Common Configuration Patterns {/common-patterns/}
Default configuration {/default-configuration/}
For most React 19 applications, the compiler works without configuration:
// babel.config.js
module.exports = {
plugins: [
'babel-plugin-react-compiler'
]
};
React 17/18 projects {/react-17-18/}
Older React versions need the runtime package and target configuration:
npm install react-compiler-runtime@latest
{
target: '18' // or '17'
}
Incremental adoption {/incremental-adoption/}
Start with specific directories and expand gradually:
{
compilationMode: 'annotation' // Only compile "use memo" functions
}