gating - This feature is available in the latest RC version

Validates configuration of gating mode.

RC

This rule is available in the RC version of eslint-plugin-react-hooks.

You can try it by upgrading the lint plugin to the most recent RC version.

Rule Details

Gating mode lets you gradually adopt React Compiler by marking specific components for optimization. This rule ensures your gating configuration is valid so the compiler knows which components to process.

Invalid

Examples of incorrect code for this rule:

// ❌ Missing required fields
module.exports = {
plugins: [
['babel-plugin-react-compiler', {
gating: {
importSpecifierName: '__experimental_useCompiler'
// Missing 'source' field
}
}]
]
};

// ❌ Invalid gating type
module.exports = {
plugins: [
['babel-plugin-react-compiler', {
gating: '__experimental_useCompiler' // Should be object
}]
]
};

Valid

Examples of correct code for this rule:

// ✅ Complete gating configuration
module.exports = {
plugins: [
['babel-plugin-react-compiler', {
gating: {
importSpecifierName: 'isCompilerEnabled', // exported function name
source: 'featureFlags' // module name
}
}]
]
};

// featureFlags.js
export function isCompilerEnabled() {
// ...
}

// ✅ No gating (compile everything)
module.exports = {
plugins: [
['babel-plugin-react-compiler', {
// No gating field - compiles all components
}]
]
};