panicThreshold

panicThreshold オプションは、コンパイル時のエラーを React Compiler がどのように処理するかを制御します。

{
panicThreshold: 'none' // Recommended
}

リファレンス

panicThreshold

コンパイルエラーでビルドを失敗させるか、最適化をスキップするかを決定します。

Type

'none' | 'critical_errors' | 'all_errors'

デフォルト値

'none'

指定可能な値

  • 'none'(デフォルト、推奨): コンパイルできないコンポーネントをスキップしてビルドを継続する。
  • 'critical_errors': クリティカルなコンパイラエラーの場合のみビルドを失敗させる。
  • 'all_errors': コンパイラの診断情報がある場合常にビルドを失敗させる。

注意点

  • 本番ビルドでは常に 'none' を使用してください。
  • ビルドが失敗すると、アプリケーションのビルドも失敗します。
  • 'none' の場合、コンパイラは問題のあるコードを自動的に検出してスキップします。
  • より高い閾値は開発中のデバッグ時にのみ有用です。

使用法

本番設定(推奨)

本番ビルドでは常に 'none' を使用します。これがデフォルト値です。

{
panicThreshold: 'none'
}

これにより以下が保証されます。

  • コンパイラの問題でビルドが失敗することはありません。
  • 最適化できないコンポーネントは通常通り実行されます。
  • 最大数のコンポーネントが最適化されます。
  • 安定した本番デプロイが行われます。

開発時のデバッグ

問題を見つけるために、一時的により厳しい閾値を使用します。

const isDevelopment = process.env.NODE_ENV === 'development';

{
panicThreshold: isDevelopment ? 'critical_errors' : 'none',
logger: {
logEvent(filename, event) {
if (isDevelopment && event.kind === 'CompileError') {
// ...
}
}
}
}