- Remove
languageOptions.parser
from presets. - Remove
@typescript-eslint/parser
from peer dependencies. - Rule
no-leaked-conditional-rendering
: object should be considered as valid left-hand type.
- Add rule
react/avoid-shorthand-boolean
. - Add rule
react/avoid-shorthand-fragment
.
- Fix rule
react-dom/no-missing-button-type
false positive when usingtype
attribute in a JSX expression.
- Fix components that use
getDerivedStateFromError
should not be warned by ruleno-class-component
.
- Update
@typescript-eslint
's packages to7.11.0
.
- Fix ESLint peer dependency range in
package.json
.
- Update
@typescript-eslint
's packages to7.9.0
. - Minor improvements.
- Rule
no-class-component
rule now allows class components with acomponentDidCatch
method. - Settings
reactOptions
now supportsimportSource
to specify the import source for React.
- Deprecate rule
no-implicit-key
because it is stylistic and opinionated. - Deprecate rule
no-complicated-conditional-rendering
because it is stylistic and opinionated.
- Refactor React pragma and import name retrieval utils to support custom import source.
- Update
@typescript-eslint
's packages to7.8.0
.
- Update
react
to18.3.1
. - Update
@typescript-eslint
's packages to7.7.1
. - Use a wider range of peerDependencies.
- Optimize error messages of rules.
- Update
@typescript-eslint
's packages to7.7.0
.
- Update
@typescript-eslint
's packages to7.6.0
.
- Update
@typescript-eslint
's packages to7.4.0
.
- Update
@typescript-eslint
's packages to7.2.0
.
- Fix rule
no-component-will-receive-props
not working as expected.
- Improve error messages and code samples in rule docs.
- Fix rule
react-dom/no-render-return-value
not renamed in v1.0.0.
- Improve code samples in rule docs.
- Update
effect
to2.3.5
. - Update
@typescript-eslint
's packages to7.0.1
.
- Improve diagnostic messages.
- Remove needless deps from
peerDependencies
. - Update
@typescript-eslint
's packages to6.21.0
.
- Remove needless deps from
peerDependencies
. - Update
@typescript-eslint
's packages to6.20.0
. - Update
effect
to2.2.3
.
- Update
effect
to2.2.3
. - Remove needless deps from
peerDependencies
.
- Update
@typescript-eslint
's packages to6.20.0
.
- Add
off-dom
andoff-dom-legacy
presets to disable all DOM related rules.
- Reduce dependencies size.
- Remove rule
max-depth
. - Rename rule
no-spreading-key
tono-implicit-key
. - Rename rule
no-constructed-context-value
tono-unstable-context-value
. - Rename rule
no-unstable-nested-components
tono-nested-components
. - Switch to new name prefix of rules in
@eslint-react/eslint-plugin
.- Replace
jsx/
with `` in rule names. - Replace
react/
with `` in rule names. - Replace
react-dom/
withdom/
in rule names. - Replace
react-hooks/
withhooks-extra/
in rule names.
- Replace
- Switch to new settings schema.
- Put settings under
reactOptions
instead ofeslintReact
. - Replace
jsx.pragma
withjsxPragma
. - Replace
jsx.fragment
withjsxPragmaFrag
. - Replace
react.version
withversion
. - Remove
jsx.extensions
.
- Put settings under
- Fix rule
react-dom/no-namespace
not renamed in v1.0.0. - Fix rule
react-dom/no-children-in-void-dom-elements
not renamed in v1.0.0.
- Improve rules overview page on website.
- Remove
jsx
andhooks
presets from documentation.
- Improve
jsx
andjsx-legacy
presets. - Improve
core
andcore-legacy
presets. - Improve
recommended
andrecommended-legacy
presets. - Improve
recommended-type-checked
andrecommended-type-checked-legacy
presets.
- Rename rule
react/no-children-in-void-dom-elements
toreact-dom/no-children-in-void-dom-elements
. - Rename rule
react/no-dangerously-set-innerhtml-with-children
toreact-dom/no-dangerously-set-innerhtml-with-children
. - Rename rule
react/no-dangerously-set-innerhtml
toreact-dom/no-dangerously-set-innerhtml
. - Rename rule
react/no-find-dom-node
toreact-dom/no-find-dom-node
. - Rename rule
react/no-missing-button-type
toreact-dom/no-missing-button-type
. - Rename rule
react/no-missing-iframe-sandbox
toreact-dom/no-missing-iframe-sandbox
. - Rename rule
react/no-namespace
toreact-dom/no-namespace
. - Rename rule
react/no-render-return-value
toreact-dom/no-render-return-value
. - Rename rule
react/no-script-url
toreact-dom/no-script-url
. - Rename rule
react/no-unsafe-iframe-sandbox
toreact-dom/no-unsafe-iframe-sandbox
. - Rename rule
react/no-unsafe-target-blank
toreact-dom/no-unsafe-target-blank
.
- Make
dom
an alias ofreact-dom
preset. - Make
hooks
an alias ofreact-hooks
preset. - Add preset
jsx
andjsx-legacy
. - Add preset
react-dom
anddom-legacy
. - Add preset
core
andcore-legacy
. - Add preset
react-hooks
andhooks-legacy
.
- Fix the lint message for rule
react-dom/no-dangerously-set-innerhtml
.
- Fix the name prefix for react-dom rules.
- Make
dom
an alias ofreact-dom
preset. - Make
hooks
an alias ofreact-hooks
preset.
- Add preset
jsx
andjsx-legacy
. - Add preset
dom
anddom-legacy
. - Add preset
core
andcore-legacy
. - Add preset
hooks
andhooks-legacy
.
- Rename rule
react/no-dangerously-set-innerhtml
toreact-dom/no-dangerously-set-innerhtml
. - Rename rule
react/no-dangerously-set-innerhtml-with-children
toreact-dom/no-dangerously-set-innerhtml-with-children
. - Rename rule
react/no-find-dom-node
toreact-dom/no-find-dom-node
. - Rename rule
react/no-missing-button-type
toreact-dom/no-missing-button-type
. - Rename rule
react/no-missing-iframe-sandbox
toreact-dom/no-missing-iframe-sandbox
. - Rename rule
react/no-script-url
toreact-dom/no-script-url
. - Rename rule
react/no-unsafe-iframe-sandbox
toreact-dom/no-unsafe-iframe-sandbox
. - Rename rule
react/no-unsafe-target-blank
toreact-dom/no-unsafe-target-blank
.
- Remove unnecessary
parserOptions
fields from presets.
- Remove unnecessary
parserOptions
fields from presets.
- Add rule
react/no-access-state-in-setstate
.
- Improve rule
react/no-unused-state
to respect the usage ofgetDerivedStateFromProps
. - Update
@typescript-eslint
's packages to6.19.0
.
- Add rule
react/no-access-state-in-setstate
.
- Update
@typescript-eslint
's packages to6.19.0
.
- Improve rule
react/no-unused-state
to respect the usage ofgetDerivedStateFromProps
.
- Improve rule
react/no-unused-state
to support checking for more cases. - Improve rule
react/no-direct-mutation-state
to support checking for more cases. - Improve rule
react/no-unused-class-component-members
to support checking for more cases.
- Improve rule
react/no-unused-state
to support checking for more cases. - Improve rule
react/no-direct-mutation-state
to support checking for more cases. - Improve rule
react/no-unused-class-component-members
to support checking for more cases.
- Fix bundle size is larger than expected.
- Fix version format in v0.10.7's package.json.
- Add rule
react/no-unused-state
.
- Fix an issue where
react/no-constructed-context-value
andreact/no-unstable-default-props
would report false negatives when using LogicalExpression and ConditionalExpression.
- Fix an issue where
react/no-constructed-context-value
andreact/no-unstable-default-props
would report false negatives when using LogicalExpression and ConditionalExpression.
- Add rule
react/no-unused-class-component-members
.
- Update
@typescript-eslint
's packages to6.18.0
.
- Add rule
react/no-unused-class-component-members
.
- Update
@typescript-eslint
's packages to6.18.0
.
- Improve rule
react/no-unstable-default-props
to support checking for ObjectPatterns within VariableDeclarators that occur on props. - Improve function component detection in rule
react/no-unstable-nested-components
anddebug/function-component
.
- Fix same kind of error inside a component should not only be reported once in rule
react/no-create-ref
andreact/no-constructed-context-value
. - Fix an issue where render functions wrapped in
useCallback
were accidentally detected as function components in rulesreact/no-unstable-nested-components
anddebug/function-component
.
- Improve function component detection in rule
react/no-unstable-nested-components
anddebug/function-component
.
- Fix an issue where render functions wrapped in
useCallback
were accidentally detected as function components in rulesreact/no-unstable-nested-components
anddebug/function-component
.
- Improve rule
react/no-unstable-default-props
to support checking for ObjectPatterns within VariableDeclarators that occur on props.
- Fix same kind of error inside a component should not only be reported once in rule
react/no-create-ref
andreact/no-constructed-context-value
.
- Update
@typescript-eslint
's packages to6.17.0
.
- Update
@typescript-eslint
's packages to6.17.0
.
- Add
reactHooks.alias
setting support.
- Add
reactHooks.alias
setting support.
- Add
react/no-clone-element
torecommended
andrecommended-legacy
presets. - Improve rule
react/no-unstable-nested-components
, make its behavior closer to react-hooks/no-nested-components. - Update
@typescript-eslint
's packages to6.16.0
.
- Update
@typescript-eslint
's packages to6.16.0
.
- Add
react/no-clone-element
torecommended
andrecommended-legacy
presets. - Improve rule
react/no-unstable-nested-components
, make its behavior closer to react-hooks/no-nested-components.
- Add rule
jsx/max-depth
.
- Improve
recommended
andrecommended-legacy
presets.
- Add rule
jsx/max-depth
.
- Improve
recommended
andrecommended-legacy
presets.
- Add rule
react/ensure-forward-ref-using-ref
.
- Reduce false positives in rule
react/no-unstable-nested-components
. - Reduce false positives in rule
debug/function-component
- Optimize
recommended
andrecommended-legacy
presets. - Update
@typescript-eslint
's packages to6.15.0
.
- Optimize
recommended
andrecommended-legacy
presets.
- Minor improvements.
- Add rule
react/ensure-forward-ref-using-ref
.
-
Reduce false positives in rule
react/no-unstable-nested-components
. -
Reduce false positives in rule
debug/function-component
.
- Rule
named-convention/filename-extension
renamerule
option toallow
.
- Fix where functions in
<Component footer={() => <div />} />
or<Component Footer={() => <div />} />
are treated as components. - Fix false positive in rule
react/no-unstable-nested-components
. - Fix false positive in rule
debug/function-component
.
-
Rules now support reading JSX extensions from
settings.eslintReact.jsx.extensions
. -
Replace ❌ Incorrect and ✅ Correct with Failing and Passing in rule docs.
- Update default rule option in
named-convention/filename
toPascalCase
.
- Minor improvements.
- Rule
named-convention/filename-extension
renamerule
option toallow
.
✨ New
- Rule
named-convention/filename
addextensions
option. - Rule
named-convention/filename-extension
addextensions
option.
- Add rule
react-hooks/prefer-use-state-lazy-initialization
.
- Rule
named-convention/component-name
add bothstring
andobject
options support. - Rule
named-convention/filename
add bothstring
andobject
options support. - Rule
named-convention/filename-extension
add bothstring
andobject
options support. - Rule
debug/react-hooks
reportshookCalls.length
instead ofcost
. - Update
@typescript-eslint
's packages to6.14.0
.
- Update
@typescript-eslint
's packages to6.14.0
.
- Rule
named-convention/component-name
add bothstring
andobject
options support. - Rule
named-convention/filename
add bothstring
andobject
options support. - Rule
named-convention/filename-extension
add bothstring
andobject
options support.
- Remove rule
react-hooks/prefer-use-state-lazy-initialization
fromrecommended
andrecommended-legacy
presets.
- Add rule
react-hooks/prefer-use-state-lazy-initialization
.
- Rule
named-convention/filename-extension
switch options format from object to string.
- Rule
debug/react-hooks
reportshookCalls.length
instead ofcost
.
- Improve rule
jsx/no-leaked-conditional-rendering
error marker position and range. - Improve rule
react/no-missing-button-type
error marker position and range. - Improve rule
react/no-missing-iframe-sandbox
error marker position and range. - Improve rule
react/no-unsafe-iframe-sandbox
error marker position and range.
- Improve rule docs.
- Add rule
react/no-direct-mutation-state
. - Add rule
naming-convention/use-state
.
- Update
recommended
andrecommended-legacy
presets. - Improve rules overview page.
- Add rule
react/no-component-will-update
. - Add rule
react/no-unsafe-component-will-update
. - Add rule
react/no-component-will-receive-props
. - Add rule
react/no-unsafe-component-will-receive-props
. - Add rule
react/no-set-state-in-component-did-mount
. - Add rule
react/no-set-state-in-component-did-update
. - Add rule
react/no-set-state-in-component-will-update
.
- Add rule
react/no-component-will-mount
. - Add rule
react/no-unsafe-component-will-mount
.
@eslint-react/eslint-plugin-jsx
- Remove
allowExpressions
option from rulejsx/no-useless-fragment
.
- Remove
@eslint-react/jsx
- Remove
isFragmentWithOnlyTextAndIsNotChild
,isFragmentHasLessThanTwoChildren
,isFragmentWithSingleExpression
from@eslint-react/jsx
's API.
- Remove
- Add rule
react/no-redundant-should-component-update
.
- Update Options of rule
jsx/no-useless-fragment
. - Optimize bundle size.