OverReact Analyzer Plugin

Lint Rules

View the Project on GitHub workiva/over_react

Supported Lint Rules

This list is auto-generated from our sources.

Rules are organized by severity.

In addition, rules can be further distinguished by maturity. Unqualified rules are considered stable, while others may be marked experimental to indicate that they are under review. Lints that are marked as deprecated should not be used and are subject to removal in future Linter releases.

These rules are under active development. Feedback is welcome!

Errors

over_react_boilerplate_error

Something is malformed in your component boilerplate.

over_react_cascaded_arrow_functions

Props can't be cascaded after unparenthesized arrow functions.

over_react_exhaustive_deps

Verifies the list of dependencies for React Hooks like useEffect and similar.

over_react_invalid_child

Do not use unsupported types as component children.

over_react_invalid_render_return_type

Do not return unsupported types from the render method.

over_react_pseudo_static_lifecycle

Never reference instance members within ReactJS "static" lifecycle methods.

over_react_rules_of_hooks

Enforces the Rules of Hooks

over_react_style_missing_unit

Do not use string CSS property values without specifying a unit.

Warnings

over_react_avoid_link_target_vulnerability

Avoid setting a link target without rel="noopener noreferrer".

over_react_boilerplate_warning

Something is not quite right in your component boilerplate.

over_react_create_ref_usage

Prefer useRef over createRef within a function component.

over_react_duplicate_prop_cascade

Avoid setting the same prop more than once on a component builder.

over_react_forward_only_dom_props_to_dom_builders

Avoid forwarding custom props to a Dom builder.

over_react_hash_code_as_key

Avoid deriving React keys from hashCode since it is not unique.

over_react_invalid_dom_attribute

Avoid setting props that map to invalid HTML element attributes.

over_react_late_required_prop

Always provide required props.

over_react_low_quality_key

Avoid deriving React keys from objects that have a high chance of colliding.

over_react_missing_cascade_parens

Syntax errors around cascades

over_react_missing_key

Avoid placing elements within iterators without setting props.key to a unique value.

over_react_non_defaulted_prop

Use of non defaulted props in function components

over_react_object_to_string_as_key

Avoid deriving React keys from toString() since it is not unique.

over_react_proptypes_do_not_throw

Avoid throwing errors within propTypes.

over_react_unknown_key_type

Avoid deriving React keys from an object typed as dynamic/Object.

over_react_unsafe_required_prop_access (experimental)

Do not unsafely access required props when they're not guaranteed to be present.

Hints

over_react_annotation_required_prop

Always provide required props.

over_react_boilerplate_debug (experimental)

Internal tool for debugging boilerplate parsing / building.

over_react_bool_prop_name_readability

Name boolean props in a way that makes them easy to read and infer their purpose.

over_react_consumed_props_return_value

Avoid using list literals to define consumed prop keys.

over_react_incorrect_doc_comment_location

Place documentation comments above component factories.

over_react_prefer_null_over_false_render_return_type

Avoid returning false from the render method.

over_react_prefer_use_or_create_ref

Avoid using callback refs to assign ref field values.

over_react_string_ref

Avoid using deprecated string refs.

over_react_unnecessary_key

Avoid using keys when not necessary.

over_react_variadic_children

Prefer passing children as arguments instead of wrapping them in Iterables.