panicThreshold
The panicThreshold
option controls how the React Compiler handles errors during compilation.
{
panicThreshold: 'none' // Recommended
}
Reference
panicThreshold
Determines whether compilation errors should fail the build or skip optimization.
Type
'none' | 'critical_errors' | 'all_errors'
Default value
'none'
Options
'none'
(default, recommended): Skip components that can’t be compiled and continue building'critical_errors'
: Fail the build only on critical compiler errors'all_errors'
: Fail the build on any compiler diagnostic
Caveats
- Production builds should always use
'none'
- Build failures prevent your application from building
- The compiler automatically detects and skips problematic code with
'none'
- Higher thresholds are only useful during development for debugging
Usage
Production configuration (recommended)
For production builds, always use 'none'
. This is the default value:
{
panicThreshold: 'none'
}
This ensures:
- Your build never fails due to compiler issues
- Components that can’t be optimized run normally
- Maximum components get optimized
- Stable production deployments
Development debugging
Temporarily use stricter thresholds to find issues:
const isDevelopment = process.env.NODE_ENV === 'development';
{
panicThreshold: isDevelopment ? 'critical_errors' : 'none',
logger: {
logEvent(filename, event) {
if (isDevelopment && event.kind === 'CompileError') {
// ...
}
}
}
}