Sobre o projeto

eslint-plugin-react é uma coleção de regras de linting específicas do React para ESLint. Ajuda desenvolvedores a aplicar boas práticas do React, detectar erros comuns e manter um estilo de código consistente em projetos React. A instalação é simples via npm: npm install eslint eslint-plugin-react --save-dev. O plugin funciona tanto com o sistema de configuração legado .eslintrc quanto com o novo sistema de configuração flat eslint.config.js introduzido no ESLint v8.21.0. O plugin exporta várias configurações compartilháveis: recommended (aplica boas práticas do React), all (inclui todas as regras disponíveis) e jsx-runtime (para a nova transformação JSX do React 17+). Variantes de configuração flat também estão disponíveis como flat.recommended, flat.all e flat['jsx-runtime']. Essas configurações habilitam automaticamente JSX nas opções do parser. A configuração suporta settings compartilhados para react.pragma, react.fragment, react.version, react.createClass, propWrapperFunctions, componentWrapperFunctions, formComponents e linkComponents. Esses settings permitem personalização para projetos que usam MobX observer, styled-components, componentes de formulário personalizados ou componentes de link personalizados. O plugin inclui um grande número de regras cobrindo formatação JSX (jsx-indent, jsx-curly-spacing, jsx-props-no-multi-spaces), definições de componentes (display-name, function-component-definition), validação de props (jsx-no-duplicate-props, default-props-match-prop-types), hooks (hook-use-state, forward-ref-uses-ref), acessibilidade (button-has-type, iframe-missing-sandbox), segurança (jsx-no-target-blank, jsx-no-script-url) e muitas outras. Muitas regras são corrigíveis automaticamente via a opção de CLI --fix, e algumas fornecem sugestões de correção manual por meio de integrações com editores. A lista de regras inclui regras obsoletas marcadas com um símbolo de cruz, e o plugin mantém compatibilidade com ESLint v8 e v9.