The target option specifies which React version the compiler should generate code for.
{
target: '19' // or '18', '17'
} target
Configures the React version compatibility for the compiled output.
'17' | '18' | '19' '19'
'19': Target React 19 (default). No additional runtime required.'18': Target React 18. Requires react-compiler-runtime package.'17': Target React 17. Requires react-compiler-runtime package.'17' not 17)'18' not '18.2.0')react-compiler-runtime@latest
For React 19, no special configuration is needed:
{
// defaults to target: '19'
} The compiler will use React 19’s built-in runtime APIs:
// Compiled output uses React 19's native APIs
import { c as _c } from 'react/compiler-runtime'; For React 17 and React 18 projects, you need two steps:
npm install react-compiler-runtime@latest // For React 18
{
target: '18'
}
// For React 17
{
target: '17'
} The compiler will use the polyfill runtime for both versions:
// Compiled output uses the polyfill
import { c as _c } from 'react-compiler-runtime'; If you see errors like “Cannot find module ‘react/compiler-runtime’“:
Check your React version:
npm why react If using React 17 or 18, install the runtime:
npm install react-compiler-runtime@latest Ensure your target matches your React version:
{
target: '18' // Must match your React major version
} Ensure the runtime package is:
package.json dependencies@latest tag)devDependencies (it’s needed at runtime)To verify the correct runtime is being used, note the different import (react/compiler-runtime for builtin, react-compiler-runtime standalone package for 17/18):
// For React 19 (built-in runtime)
import { c } from 'react/compiler-runtime'
// ^
// For React 17/18 (polyfill runtime)
import { c } from 'react-compiler-runtime'
// ^
© 2013–present Facebook Inc.
Licensed under the Creative Commons Attribution 4.0 International Public License.
https://react.dev/reference/react-compiler/target