Measures the cyclomatic complexity of a function to see if it exceeds the configure maximum.
High branch complexity can lead to functions that are hard to test, and harder to reason about.
maximum_complexity
(default: 40
) - A number that determines the maximum threshold for cyclomatic complexity, beyond which the lint will report.
function MyComponent(props)
if props.option1 == "enum_value1" then -- 1st path
return React.createElement("Instance")
elseif props.option1 == "enum_value2" -- 2nd path
or props.option2 == nil then -- 3rd path
return React.createElement(
"TextLabel",
{ Text = if _G.__DEV__ then "X" else "Y" }-- 4th path
)
else
return if props.option2 == true -- 5th path
then React.createElement("Frame")
else nil
end
end
This lint is off by default. In order to enable it, add this to your selene.toml:
[lints]
high_cyclomatic_complexity = "warn" # Or "deny"