getRuleForCategoryImpl() — react Function Reference
Architecture documentation for the getRuleForCategoryImpl() function in CompilerError.ts from the react codebase.
Entity Profile
Dependency Diagram
graph TD f9aa782b_e682_94c0_04d8_45997eeae085["getRuleForCategoryImpl()"] e96f281e_f381_272d_2359_3e6a091c9a1d["CompilerError.ts"] f9aa782b_e682_94c0_04d8_45997eeae085 -->|defined in| e96f281e_f381_272d_2359_3e6a091c9a1d 95e65dcd_d1d7_5d80_ec47_fc32c898209f["getRuleForCategory()"] 95e65dcd_d1d7_5d80_ec47_fc32c898209f -->|calls| f9aa782b_e682_94c0_04d8_45997eeae085 d7fde76c_4fd9_feb3_299b_798689f05bc6["assertExhaustive()"] f9aa782b_e682_94c0_04d8_45997eeae085 -->|calls| d7fde76c_4fd9_feb3_299b_798689f05bc6 style f9aa782b_e682_94c0_04d8_45997eeae085 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
compiler/packages/babel-plugin-react-compiler/src/CompilerError.ts lines 791–1097
function getRuleForCategoryImpl(category: ErrorCategory): LintRule {
switch (category) {
case ErrorCategory.AutomaticEffectDependencies: {
return {
category,
severity: ErrorSeverity.Error,
name: 'automatic-effect-dependencies',
description:
'Verifies that automatic effect dependencies are compiled if opted-in',
preset: LintRulePreset.Off,
};
}
case ErrorCategory.CapitalizedCalls: {
return {
category,
severity: ErrorSeverity.Error,
name: 'capitalized-calls',
description:
'Validates against calling capitalized functions/methods instead of using JSX',
preset: LintRulePreset.Off,
};
}
case ErrorCategory.Config: {
return {
category,
severity: ErrorSeverity.Error,
name: 'config',
description: 'Validates the compiler configuration options',
preset: LintRulePreset.Recommended,
};
}
case ErrorCategory.EffectDependencies: {
return {
category,
severity: ErrorSeverity.Error,
name: 'memoized-effect-dependencies',
description: 'Validates that effect dependencies are memoized',
preset: LintRulePreset.Off,
};
}
case ErrorCategory.EffectExhaustiveDependencies: {
return {
category,
severity: ErrorSeverity.Error,
name: 'exhaustive-effect-dependencies',
description:
'Validates that effect dependencies are exhaustive and without extraneous values',
preset: LintRulePreset.Off,
};
}
case ErrorCategory.EffectDerivationsOfState: {
return {
category,
severity: ErrorSeverity.Error,
name: 'no-deriving-state-in-effects',
description:
'Validates against deriving values from state in an effect',
preset: LintRulePreset.Off,
};
}
case ErrorCategory.EffectSetState: {
return {
category,
severity: ErrorSeverity.Error,
name: 'set-state-in-effect',
description:
'Validates against calling setState synchronously in an effect. ' +
'This can indicate non-local derived data, a derived event pattern, or ' +
'improper external data synchronization.',
preset: LintRulePreset.Recommended,
};
}
case ErrorCategory.ErrorBoundaries: {
return {
category,
severity: ErrorSeverity.Error,
name: 'error-boundaries',
description:
'Validates usage of error boundaries instead of try/catch for errors in child components',
preset: LintRulePreset.Recommended,
};
Domain
Subdomains
Calls
Called By
Source
Frequently Asked Questions
What does getRuleForCategoryImpl() do?
getRuleForCategoryImpl() is a function in the react codebase, defined in compiler/packages/babel-plugin-react-compiler/src/CompilerError.ts.
Where is getRuleForCategoryImpl() defined?
getRuleForCategoryImpl() is defined in compiler/packages/babel-plugin-react-compiler/src/CompilerError.ts at line 791.
What does getRuleForCategoryImpl() call?
getRuleForCategoryImpl() calls 1 function(s): assertExhaustive.
What calls getRuleForCategoryImpl()?
getRuleForCategoryImpl() is called by 1 function(s): getRuleForCategory.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free