Skip to main content
ESLint Interlace
Plugin: react-features

Overview

React best practices and feature rules.

Live from GitHub

This content is fetched directly from README.md on GitHub and cached for 1 hour.

React Best Practices

Enforce React best practices and feature patterns for maintainable applications.


Live README from GitHubfrom eslint-plugin-react-features/README.md, cached for 1 hour.Edit on GitHub
ESLint Interlace Logo

Advanced React patterns, hook usage, and best practices enforcement.

NPM VersionNPM DownloadsPackage LicenseCodecovSince Dec 2025

โญ If this plugin caught a real bug for you, star the repo โ€” it's the signal that keeps these rules maintained.

Description

This plugin provides Advanced React patterns, hook usage, and best practices enforcement.

Philosophy

Interlace fosters strength through integration. Instead of stacking isolated rules, we interlace security directly into your workflow to create a resilient fabric of code. We believe tools should guide rather than gatekeep, providing educational feedback that strengthens the developer with every interaction.

Getting Started

npm install eslint-plugin-react-features --save-dev

โš™๏ธ Configuration Presets

PresetDescription
recommendedRecommended React patterns and performance rules

๐Ÿ“ฆ Compatibility

PackageVersion
ESLint^8.0.0 || ^9.0.0 || ^10.0.0
Node.js>=18.0.0

See the ESLint Version Support Policy โ€” current ecosystem share data, the 20% gate, and the forward-looking exception that covers v10.

Rules

Legend

IconDescription
๐Ÿ’ผRecommended: Included in the recommended preset.
โš ๏ธWarns: Set to warn in recommended preset.
๐Ÿ”งAuto-fixable: Automatically fixable by the --fix CLI option.
๐Ÿ’กSuggestions: Providing code suggestions in IDE.
๐ŸšซDeprecated: This rule is deprecated.
๐ŸŸขType-unaware: AST-only, runs in oxlint JS-plugin tier.
๐ŸŸกType-aware (refining): pure-AST primary path; types refine precision.
๐ŸŸ Type-aware (graceful): requires TS program; silent without it.
RuleCWEOWASPCVSSDescription๐Ÿง ๐Ÿ’ผโš ๏ธ๐Ÿ”ง๐Ÿ’ก๐Ÿšซ
checked-requires-onchange-or-readonlychecked-requires-onchange-or-readonly rule๐ŸŸข๐Ÿ’ก
default-props-match-prop-typesdefault-props-match-prop-types rule๐ŸŸข๐Ÿ’ก
display-namedisplay-name rule๐ŸŸข๐Ÿ’ก
hooks-exhaustive-depshooks-exhaustive-deps rule๐ŸŸขโš ๏ธ๐Ÿ’ก
jsx-handler-namesjsx-handler-names rule๐ŸŸข๐Ÿ’ก
jsx-keyjsx-key rule๐ŸŸข๐Ÿ’ผ๐Ÿ’ก
jsx-max-depthjsx-max-depth rule๐ŸŸข๐Ÿ’ก
jsx-no-bindjsx-no-bind rule๐ŸŸข๐Ÿ’ก
jsx-no-duplicate-propsPrevent duplicate props in JSX elements. This rule is part of eslint-plugin-react-features and provides LLMโ€ฆ๐ŸŸข๐Ÿ’ผ๐Ÿ’ก
jsx-no-literalsjsx-no-literals rule๐ŸŸข๐Ÿ’ก
jsx-no-script-urlPrevent javascript: URLs in JSX. This rule is part of eslint-plugin-react-features and provides LLM-optimizโ€ฆ๐ŸŸข๐Ÿ’ผ๐Ÿ’ก
jsx-no-target-blankRequire rel='noopener noreferrer' with target='_blank'. This rule is part of eslint-plugin-react-features aโ€ฆ๐ŸŸข๐Ÿ’ผ๐Ÿ’ก
no-access-state-in-setstateno-access-state-in-setstate rule๐ŸŸข๐Ÿ’ก
no-adjacent-inline-elementsno-adjacent-inline-elements rule๐ŸŸข๐Ÿ’ก
no-arbitrary-token-class๐ŸŸข
no-arrow-function-lifecycleno-arrow-function-lifecycle rule๐ŸŸข๐Ÿ’ก
no-children-propno-children-prop rule๐ŸŸขโš ๏ธ๐Ÿ’ก
no-dangerCWE-79no-danger rule๐ŸŸขโš ๏ธ๐Ÿ’ก
no-danger-with-childrenPrevent using children and dangerouslySetInnerHTML together. This rule is part of eslint-plugin-react-featuโ€ฆ๐ŸŸข๐Ÿ’ผ๐Ÿ’ก
no-default-test-id๐ŸŸข
no-deprecatedWarn about using deprecated React APIs. This rule is part of eslint-plugin-react-features and provides LLM-โ€ฆ๐ŸŸขโš ๏ธ๐Ÿ’ก
no-did-mount-set-stateno-did-mount-set-state rule๐ŸŸข๐Ÿ’ก
no-did-update-set-stateno-did-update-set-state rule๐ŸŸข๐Ÿ’ก
no-direct-mutation-stateno-direct-mutation-state rule๐ŸŸข๐Ÿ’ก
no-find-dom-nodePrevent using findDOMNode. This rule is part of eslint-plugin-react-features and provides LLM-optimized errโ€ฆ๐ŸŸข๐Ÿ’ก
no-inline-style๐ŸŸข
no-invalid-html-attributeno-invalid-html-attribute rule๐ŸŸข๐Ÿ’ก
no-is-mountedno-is-mounted rule๐ŸŸข๐Ÿ’ก
no-is-prefix-prop๐ŸŸข
no-kind-prop-discriminator๐ŸŸข
no-multi-compno-multi-comp rule๐ŸŸข๐Ÿ’ก
no-namespaceno-namespace rule๐ŸŸข๐Ÿ’ก
no-object-type-as-default-propno-object-type-as-default-prop rule๐ŸŸข๐Ÿ’ก
no-raw-color-literal๐ŸŸข
no-redundant-should-component-updateno-redundant-should-component-update rule๐ŸŸข๐Ÿ’ก
no-render-return-valueno-render-return-value rule๐ŸŸข๐Ÿ’ก
no-set-stateno-set-state rule๐ŸŸข๐Ÿ’ก
no-string-refsno-string-refs rule๐ŸŸข๐Ÿ’ผ๐Ÿ’ก
no-this-in-sfcno-this-in-sfc rule๐ŸŸข๐Ÿ’ก
no-typosno-typos rule๐ŸŸข๐Ÿ’ก
no-unescaped-entitiesno-unescaped-entities rule๐ŸŸข๐Ÿ’ก
no-unknown-propertyno-unknown-property rule๐ŸŸข๐Ÿ’ผ๐Ÿ’ก
no-unnecessary-rerendersno-unnecessary-rerenders rule๐ŸŸข๐Ÿ’ก
no-unsafeWarn about UNSAFE_ lifecycle methods. This rule is part of eslint-plugin-react-features and provides LLM-opโ€ฆ๐ŸŸข๐Ÿ’ก
no-wrapper-sub-component๐ŸŸข
prefer-es6-classprefer-es6-class rule๐ŸŸข๐Ÿ’ก
prefer-stateless-functionprefer-stateless-function rule๐ŸŸข๐Ÿ’ก
prop-typesprop-types rule๐ŸŸข๐Ÿ’ก
react-class-to-hooksreact-class-to-hooks rule๐ŸŸข๐Ÿ’ก
react-in-jsx-scopereact-in-jsx-scope rule๐ŸŸข๐Ÿ’ก
react-no-inline-functionsreact-no-inline-functions rule๐ŸŸข๐Ÿ’ก
react-render-optimizationreact-render-optimization rule๐ŸŸข๐Ÿ’ก
require-data-slot๐ŸŸข
require-default-propsrequire-default-props rule๐ŸŸข๐Ÿ’ก
require-optimizationrequire-optimization rule๐ŸŸข๐Ÿ’ก
require-render-returnrequire-render-return rule๐ŸŸข๐Ÿ’ก
required-attributesrequired-attributes rule๐ŸŸข๐Ÿ’ก
sort-compsort-comp rule๐ŸŸข๐Ÿ’ก
state-in-constructorstate-in-constructor rule๐ŸŸข๐Ÿ’ก
static-property-placementstatic-property-placement rule๐ŸŸข๐Ÿ’ก
void-dom-elements-no-childrenPrevent void DOM elements from receiving children. This rule is part of eslint-plugin-react-features and prโ€ฆ๐ŸŸข๐Ÿ’ก

Part of the Interlace ESLint Ecosystem โ€” AI-native security plugins with LLM-optimized error messages:

PluginDownloadsDescription
eslint-plugin-secure-codingdownloadsGeneral security rules & OWASP guidelines.
eslint-plugin-pgdownloadsPostgreSQL security & best practices.
eslint-plugin-node-securitydownloadsNode.js core-module security (fs, child_process, vm, crypto, Buffer).
eslint-plugin-jwtdownloadsJWT security & best practices.
eslint-plugin-browser-securitydownloadsBrowser-specific security & XSS prevention.
eslint-plugin-express-securitydownloadsExpress.js security hardening rules.
eslint-plugin-lambda-securitydownloadsAWS Lambda security best practices.
eslint-plugin-nestjs-securitydownloadsNestJS security rules & patterns.
eslint-plugin-mongodb-securitydownloadsMongoDB security best practices.
eslint-plugin-vercel-ai-securitydownloadsVercel AI SDK security hardening.
eslint-plugin-import-nextdownloadsNext-gen import sorting & architecture.

โญ Support & follow

If this plugin caught a real bug for you, star the repo โ€” stars are the signal that keeps the Interlace ESLint ecosystem maintained โ€” and follow the writeups on Dev.to for the benchmarks and security research behind these rules.

GitHub stars

๐Ÿ“„ License

MIT ยฉ Ofri Peretz

ESLint Interlace Plugin

View README.md on GitHub โ†’

On this page

No Headings