Update all (major)#882
Open
renovate[bot] wants to merge 1 commit intomainfrom
Open
Conversation
a80cd93 to
40d1eea
Compare
cf158dd to
600ac0e
Compare
4637054 to
fb425ca
Compare
5af58c2 to
c25c3e9
Compare
fa39bf8 to
dfa47ad
Compare
52a0a77 to
3d8e734
Compare
a41b8ea to
346a34d
Compare
ad4dd9f to
776dcde
Compare
cff3df8 to
1e5357c
Compare
82db8b0 to
038e105
Compare
05afbec to
4c35bda
Compare
b8db415 to
aabdc34
Compare
aabdc34 to
16a4795
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
^2.3.7→^5.7.3^0.14.1→^1.2.0^9.39.1→^10.0.1^0.14.0→^1.2.0^9.39.1→^10.3.0^62.0.0→^64.0.0^16.5.0→^17.6.0Release Notes
Rel1cx/eslint-react (@eslint-react/eslint-plugin)
v5.7.3Compare Source
🐞 Fixes
react-x/immutability: Exempted ref mutations via a naming heuristic — any object whose identifier isrefor ends withRefis treated as a mutable ref and skipped from immutability checks. This fixes false positives when mutatingRefObject<T>values received as props (#1752, #1751).react-x/immutability: AddednoRefLikeStateNamediagnostic to prevent state variables from being namedrefor ending withRef, which would otherwise bypass the ref exemption heuristic (#1752).📝 Documentation
react-jsx/no-key-after-spreaddocumentation (jsx/no-key-after-spread→jsx-no-key-after-spread) (#1750).Full Changelog: Rel1cx/eslint-react@v5.7.2...v5.7.3
v5.7.2Compare Source
🐞 Fixes
react-x/no-unused-state: Removed the rule from therecommendedpreset for now (#1747, #1748).📝 Documentation
🏗️ Internal
Full Changelog: Rel1cx/eslint-react@v5.7.1...v5.7.2
v5.7.1Compare Source
🐞 Fixes
allpreset: Fixed an issue where theallpreset accidentally included rules requiring type information (#1744).📝 Documentation
no-unused-staterule wording and examples.🏗️ Internal
nextand@rbxts/react.react-compiler-fixtures-all-preset.jsonlsnapshot generation.Full Changelog: Rel1cx/eslint-react@v5.7.0...v5.7.1
v5.7.0Compare Source
✨ New
react-x/no-unused-state: The rule re-added as a no-op inv5.6.6is now fully implemented. It detects state variables declared viauseState(or similar state hooks) that are defined but never read, or only read inside an effect or effect dependency array (#1741).📝 Documentation
no-unused-statemigration docs and removed rule reasons.Full Changelog: Rel1cx/eslint-react@v5.6.6...v5.7.0
v5.6.6Compare Source
✨ New
react-x/no-unused-state: Re-add thereact-x/no-unused-staterule that was removed in5.0.0as a no-op rule for detecting unused state in function components in a future release.Full Changelog: Rel1cx/eslint-react@v5.6.4...v5.6.6
v5.6.4Compare Source
✨ New
react-x/no-unused-class-component-members: Now flagsshouldComponentUpdatemethods defined in classes extendingPureComponentas unused, sincePureComponentimplements its ownshouldComponentUpdatewith shallow prop and state comparison (#1738).📝 Documentation
jsxpreset documentation to multiple rule docs.🏗️ Internal
ast: Added an optionalstoppredicate tofindParentutility for more control over ancestor traversal (#1736).skottwithsentruxfor architecture linting.Full Changelog: Rel1cx/eslint-react@v5.6.3-beta.0...v5.6.4
v5.6.2Compare Source
🐞 Fixes
react-x/use-memo: Fixed false positives inuseMemodependency analysis by using reference/definition analysis (#1735).📝 Documentation
custom-rules-of-staterecipe.noDirectAccessPropscustom rule example.🏗️ Internal
lucide-reactfrom 1.12.0 to 1.14.0.baseline-browser-mappingto 2.10.24.Full Changelog: Rel1cx/eslint-react@v5.6.0...v5.6.2
v5.6.0Compare Source
This release consolidates all changes since v4.2.1.
💥 Breaking Changes
Core API Refactoring (@eslint-react/core)
component/,function/,hook/,semantic/, andapi/into the root directory.isReactAPI→isAPIisReactAPICall→isAPICallisInitializedFromReact→isAPIFromReactisInitializedFromReactNative→isAPIFromReactNativeComponentDetectionHint→FunctionComponentDetectionHintComponentFlag→FunctionComponentFlaggetComponentCollector→getFunctionComponentCollectorgetComponentCollectorLegacy→getClassComponentCollectortype-is,type-name,type-variant) fromeslint-plugin-react-xto@eslint-react/core.Toolkitinterface in@eslint-react/kitto reflect the naming changes above.Kit API Simplification (@eslint-react/kit)
RuleToolkit.isAPI: Removed pre-built identifier predicates (memo,lazy,forwardRef, etc.) fromRuleToolkit.is. Only*Callvariants andAPI/APICallfactories are now available.initializedFromReact→APIFromReactinitializedFromReactNative→APIFromReactNativeis.memo(node),is.lazy(node), etc. must migrate tois.memoCall(node)or useis.API("memo")(node).Type Alias Removal
RuleDefinitiontype alias: TheRuleDefinitiontype has been completely removed from@eslint-react/kit. UseRuleFunctioninstead.Removed Rules
The following rules have been removed from
eslint-plugin-react-x,eslint-plugin-react-dom, andeslint-plugin-react-debug:component-hook-factoriesreact-xno-redundant-should-component-updatereact-xno-unnecessary-use-callbackreact-xno-unnecessary-use-memoreact-xno-unused-statereact-xprefer-destructuring-assignmentreact-xprefer-namespace-importreact-xprefer-namespace-importreact-domdebug/class-componentreact-debugClass Component Support Deprecation
isClassComponent,isPureComponent, and various lifecycle checkers) have been marked as@deprecated, retaining only minimal compatibility support for existing rules.eslint-plugin-react-web-api, includingno-leaked-event-listener,no-leaked-interval, andno-leaked-timeout, have removed detection for Class Component lifecycles (componentDidMount/componentWillUnmount) and now only report on Hook Effects (useEffect, etc.).✨ New
New Rules
react-x/globals: New rule for restricting usage of global variables in React components.react-x/static-components: New rule for enforcing static component definitions. Enhanced with variable reference tracking and acreatedHerediagnostic to reduce false positives.react-web-api/no-leaked-fetch: New rule that detects leakedfetchcalls in effects, closing #1714.Kit Enhancements
ast.findParentutility to@eslint-react/kitfor traversing AST ancestors.node:crypto randomBytes).Custom Rule Examples
🐞 Fixes
Rule Fixes
react-x/error-boundaries: Fixed false positives on non-React code and resolved catch block over-reporting.react-x/set-state-in-effect: Improved validation accuracy.react-x/use-memo: Added reassignment check, aligned message IDs, and added support forfor-of/for-inloops.Config Fixes
Type Expression Fixes
Extract.unwrapfor type expressions and chain expressions.🪄 Improvements
API & Refactoring
ast: Normalized API naming conventions and rewrote Check helpers.ast: RenamedisJSXLike→isJSXElementOrFragmentandisMethodOrProperty→isPropertyOrMethod.@eslint-react/eslintpackage.@eslint-react/jsxfrom@eslint-react/coreinto a standalone utility package for static analysis of JSX patterns.@and#path aliases and replacedtsxwithvite-node.lib.tsmodules across multiple plugins.RuleConfigwithLinter.RulesRecordfrom ESLint.Core & AST Improvements
ast: UpdatedFunctionInitPathtypes to support method definitions and property arrow functions in class expressions.ast/isNodeEqual: FixedJSXNamespacedNamecomparison logic.Rule Improvements
react-x/static-components: Registered inall,x, anddisable-experimentalconfigs.react-rsc/function-definition: Added directive position and quote checks.lib.tsfiles.Website & Documentation Improvements
/llms.txt,/llms-full.txt,/llms.mdx).Testing
Dependencies
@typescript-eslintpackages to 8.59.1.tsl-dx,tsdown,fumadocs,postcss,lucide-react,eslint-plugin-package-json, and other dependencies.📝 Documentation
no-set-state,no-string-refs).🏗️ Internal
build:pluginsscript and updated build path patterns.publishConfig.accessto packages and marked@local/effas private.major-release-checklist.md.scripts/prepare-release.tsand the accompanyingprepare:releasenpm script.Full Changelog: Rel1cx/eslint-react@v4.2.1...v5.6.0
v4.2.3Compare Source
✨ New
b86bdd6da)fbb495000)📝 Documentation
8cade3008)dc9d05c33)6a2d941b6)8278f45c9)Full Changelog: Rel1cx/eslint-react@v4.2.2...v4.2.3
v4.2.1Compare Source
This release consolidates all changes since v3.0.0.
💥 Breaking Changes
New
eslint-plugin-react-jsxpackageA new dedicated plugin for React Flavored JSX rules has been introduced. Several rules have been migrated from
eslint-plugin-react-xandeslint-plugin-react-domto this new package:react-x/)react-jsx/)jsx-key-before-spreadno-key-after-spreadjsx-no-comment-textnodesno-comment-textnodesno-children-propno-children-propno-useless-fragmentno-useless-fragmentreact-dom/)react-jsx/)no-namespaceno-namespaceRule prefix changes in
@eslint-react/eslint-pluginRules from individual plugins now use a flattened naming convention when accessed through the unified
@eslint-react/eslint-pluginpackage:@eslint-react/<rule>->@eslint-react/<rule>(no changes)@eslint-react-jsx-<rule>->@eslint-react-jsx-<rule>(no changes)@eslint-react/rsc/<rule>->@eslint-react/rsc-<rule>@eslint-react/dom/<rule>->@eslint-react/dom-<rule>@eslint-react/web-api/<rule>->@eslint-react/web-api-<rule>@eslint-react/naming-convention/<rule>->@eslint-react/naming-convention-<rule>@eslint-react/debug/<rule>->@eslint-react/debug-<rule>Removed Rules from
eslint-plugin-react-xThe following rules have been removed from
eslint-plugin-react-x:react-x/jsx-dollar@eslint-react/kit(custom rule)react-x/jsx-shorthand-boolean@eslint-react/kit(custom rule)react-x/jsx-shorthand-fragment@eslint-react/kit(custom rule)react-x/unstable-rules-of-propsreact-x/unstable-rules-of-stateJSX utilities extracted from
@eslint-react/coreto@eslint-react/jsxThe JSX module has been extracted from
@eslint-react/coreinto a new standalone@eslint-react/jsxpackage. The following exports are no longer available from@eslint-react/core:JsxInspectorclass — removed, replaced with standalone utility functions from@eslint-react/jsx(e.g.findAttribute,hasAttribute,getChildren,isElement,isFragmentElement,isHostElement,isJsxLike, etc.)JsxConfig,JsxDetectionHint,JsxAttributeValue— moved to@eslint-react/jsxgetElementType— renamed togetElementFullTypein@eslint-react/jsxgetElementSelfName— renamed togetElementSelfTypein@eslint-react/jsxRemoved ref APIs from
@eslint-react/coreThe following ref-related APIs have been removed from
@eslint-react/corewithout replacement:isRefIdisInitializedFromRefgetRefInitisRefLikeNameCore collector API renames
The collector APIs in
@eslint-react/corehave been renamed:useComponentCollector()getComponentCollector()useComponentCollectorLegacy()getComponentCollectorLegacy()useHookCollector()getHookCollector().ctx.api@eslint-react/kitAPI restructuringThe
hintAPI in@eslint-react/kithas been restructured for better namespacing:hint.defaultComponenthint.component.Default@eslint-react/kitAPI redesignThe
defineConfigfunction has been replaced with a chainable builder API for better composability and type inference:defineConfig({ rules: [rule1, rule2] })eslintReactKit().use(rule1).use(rule2).getConfig()The new API provides better TypeScript intellisense and allows for more flexible rule configuration:
react-jsx: Renameno-deoptimizationrule tono-key-after-spreadfor clearer intent (#1668).kit: Removefilesoption fromgetConfig()and normalize file extensions handling (#1669). Thefilesoption is no longer supported; file extensions are now automatically normalized to include both standard and TypeScript variants.✨ New
jsxanddisable-jsxconfig presets in@eslint-react/eslint-plugin.react-dom-with-custom-rulesexample project demonstrating custom rule creation with@eslint-react/kit.eslint-plugin-react-jsx: New plugin dedicated to React Flavored JSX rules. Ships withrecommendedandstrictconfig presets.react-jsx/no-children-prop-with-children: New rule that disallows passingchildrenas a prop when children are also passed as nested content.react-jsx/no-key-after-spread: New rule that prevents patterns causing deoptimization when using the automatic JSX runtime (e.g. placingkeyafter spread props).react-jsx/no-namespace: New rule that disallows JSX namespace syntax, as React does not support them.@eslint-react/jsx: New utility package for static analysis of JSX patterns in TSESTree ASTs, extracted from@eslint-react/core.@eslint-react/kit: New utility module for building custom ESLint rules with React awareness. Provides a chainableeslintReactKit().use().getConfig()builder API and aRuleToolkitinterface with pre-bound context helpers for component/hook analysis.@eslint-react/kit: Re-export types from@eslint-react/sharedfor better TypeScript intellisense.kit: AddgetPlugin()API toBuilderfor fine-grained control over plugin namespace and rule severities.kit: Support more file extensions ingetConfigdefaults (js,mjs,cjs,jsx,ts,mts,cts,tsx), closes #1659.kit.settings: Expose normalized ESLint React settings viasettingsproperty onRuleToolkit.docs(utilities): Add utilities documentation for utility modules, closes #1656.🐞 Fixes
purity: Remove console methods from impurity detection, closes #1616 (#1676).purity: Treatnew Date(arg)as pure, closes #1582 (#1677).react-jsx: Improve type safety and edge case handling for JSX rules (#1664).react-x:component-hook-factories: Exclude HOC patterns and test mocks from component detection, closes #1652. Thanks @zerone0x!react-x:component-hook-factories: UseisComponentNameLoosefor more accurate component parameter checks.react-x:immutability: Exclude event handler params from props mutation check, closes #1647. Thanks @zerone0x!react-x:no-duplicate-key: Fix false positive for SVGxlinkattributes.react-x:purity: RemoveAbortControllerfrom impure constructors, closes #1648. Thanks @zerone0x!core:isReactAPI: Fix API name matching logic to useendsWithfor precise matching.core:isRenderMethodLike: SupportClassExpressionin addition toClassDeclaration.core:findImportSource: Add cycle detection to prevent infinite recursion when resolving variable aliases.ast: Fix JSX attribute name comparison to useisNodeEqualinstead of string comparison, properly handlingJSXNamespacedName(e.g.,xlink:href).ast: UpdateFunctionInitPathtypes to support method definitions and property arrow functions in class expressions.ast:isNodeEqual: FixJSXNamespacedNamecomparison logic.var: Fix logic bugs incompute-object-type,find-enclosing-assignment-target, andis-value-equalutilities (#1672).docs: Update package structure documentation in contributing guide and FAQ, closes #1658.🪄 Improvements
react-jsx/no-children-prop: Add suggestion-fix feature to move children from prop to element content.@eslint-react/eslint-plugin: Unified plugin architecture refactored — configs now auto-inject the plugin, so users no longer need to manually register it separately.refactor(kit): ImproveBuilderandRuleFunctionimplementation for better type inference and code organization.refactor(kit): ReplacedefineConfigwith chainable.use().getConfig()builder API, closes #1644.refactor(kit): Remove unused type parameter fromCollectorWithContext<T, E>toCollectorWithContext<T>.refactor(kit): Rename parameterargstooptions.refactor(eff): ReplacegetOrElse/getOrElseUpdatewithgetOrInsert/getOrInsertComputedfor better API consistency, closes #1657.docs(kit): Add comprehensive documentation forgetConfig()andgetPlugin()APIs with usage examples.docs(kit): Replace "max-component-per-file" example with "destructure-component-props" example for better practical guidance.docs(website): Improveconfigure-project-rulesdocumentation with clearer examples and explanations.docs: add recipes section; remove unstable-rules-of-props/state (#1679) (01edc2f74)docs: Update migrating-from-eslint-plugin-react.mdx with improved examples and fixes, closes #1654.docs: Add index sections to migration guides for better navigation.examples/react-dom-with-custom-rules: Expand with additional custom rules examples includingforbid-dom-props,jsx-fragments,jsx-handler-names,jsx-max-depth,jsx-no-duplicate-props,jsx-no-literals,jsx-pascal-case,jsx-props-no-spread-multi, andno-adjacent-inline-elements, closes #1653.examples/react-dom-with-custom-rules: Addmax-component-per-filecustom rule example, closes #1437.examples/react-dom-with-custom-rules: Modularize custom rules configuration for better maintainability.website: Migrate to new Fumadocs structure and add LLM routes (/llms.txt,/llms-full.txt,/llms.mdx), closes #1588.test: Enhance test coverage forreact-xandreact-domrules, closes #1663.test: Add comprehensive test coverage forfind-import-source,is-react-api, legacy component detection, hook detection, function init path, and node equality utilities (#1671).test: Add comprehensive unit tests for@eslint-react/varutilities includingcompute-object-type,find-enclosing-assignment-target,is-assignment-target-equal, andis-value-equal(#1672).deps: Update typescript-eslint to ^8.58.0 (#1670).📝 Documentation
docs: Update bug report template with upstream eslint-plugin-react-hooks guidance.2da9b4e9d)dc2fe27fb)✅ Upgrade Checklist
Use this checklist to upgrade from v3.x to v4.2.1:
Package changes
eslint-plugin-react-jsxpackage — this is a new dedicated plugin for React Flavored JSX rules.ESLint configuration
react-x/jsx-key-before-spreadwithreact-jsx/no-key-after-spreadin your ESLint config.react-x/jsx-no-comment-textnodeswithreact-jsx/no-comment-textnodesin your ESLint config.react-x/no-children-propwithreact-jsx/no-children-propin your ESLint config.react-x/no-useless-fragmentwithreact-jsx/no-useless-fragmentin your ESLint config.react-dom/no-namespacewithreact-jsx/no-namespacein your ESLint config.Rule prefix changes in
@eslint-react/eslint-pluginIf you use the unified
@eslint-react/eslint-pluginpackage, update the following rule prefixes (slash\/-> dash-):@eslint-react/rsc/<rule>with@eslint-react/rsc-<rule>in your ESLint config.@eslint-react/dom/<rule>with@eslint-react/dom-<rule>in your ESLint config.@eslint-react/web-api/<rule>with@eslint-react/web-api-<rule>in your ESLint config.@eslint-react/naming-convention/<rule>with@eslint-react/naming-convention-<rule>in your ESLint config.@eslint-react/debug/<rule>with@eslint-react/debug-<rule>in your ESLint config.Review new rules
react-jsx/no-children-prop-with-children— new rule that disallows passingchildrenas a prop when children are also passed as nested content. Review your codebase for new reports if using presets.Removed rules
react-x/jsx-dollarreact-x/jsx-shorthand-booleanreact-x/jsx-shorthand-fragmentreact-x/unstable-rules-of-props— replaced by Recipes: custom-rules-of-propsreact-x/unstable-rules-of-state— replaced by Recipes: custom-rules-of-stateIf you still need these rules, you can enforce them using the new
@eslint-react/kitby creating custom rules that implement the desired checks.@eslint-react/kitmigrationdefineConfig({ rules: [rule1, rule2] })witheslintReactKit().use(rule1).use(rule2).getConfig().hint.defaultComponentwithhint.component.Default.filesoption passed togetConfig()— file extensions are now automatically normalized.Core API changes (for custom rule authors)
useComponentCollector()withgetComponentCollector().useComponentCollectorLegacy()withgetComponentCollectorLegacy().useHookCollector()withgetHookCollector()..ctxwith.api.JsxInspector.from(context)usage with standalone utility functions from@eslint-react/jsx.getElementType()withgetElementFullType()from@eslint-react/jsx.getElementSelfName()withgetElementSelfType()from@eslint-react/jsx.isRefId,isInitializedFromRef,getRefInit,isRefLikeName).@eslint-react/coreto@eslint-react/jsx.Full Changelog: Rel1cx/eslint-react@v3.0.0...v4.2.1
v3.0.0Compare Source
🧹 Chores
Full Changelog: Rel1cx/eslint-react@v3.0.0-rc.5...v3.0.0
v2.13.0Compare Source
✨ New
naming-convention/id-namerule forReact.useId()by @amir-rahmanii in #1497naming-convention/filenameandnaming-convention/filename-extensionby @Rel1cx in #1498🐞 Fixes
meta.typefrom"problem"to"suggestion"for naming-convention rules by @amir-rahmanii in #1496📝 Changes you should be aware of
naming-convention/filenamerule has been deprecated and will be removed in the next major version.naming-convention/filename-extensionrule has been deprecated and will be removed in the next major version.Modern React frameworks each come with their own naming conventions that can differ or even conflict. A single predefined, framework-agnostic filename or filename extension rule no longer matches real-world usage. Please follow the official naming conventions of the specific React framework you are using.
For example, here are some references for popular frameworks:
Full Changelog: Rel1cx/eslint-react@v2.12.4...v2.13.0
v2.12.4Compare Source
🐞 Fixes
preactandpreact/compatsupport inno-implicit-keyrule by @Rel1cx in #1494🪄 Improvements
dom/no-unknown-propertyrule to fix all ESLint and TypeScript issues by @ulrichstark in #1490Full Changelog: Rel1cx/eslint-react@v2.12.2...v2.12.4
v2.12.2Compare Source
🐞 Fixes
Full Changelog: Rel1cx/eslint-react@v2.12.1...v2.12.2
v2.12.1Compare Source
🐞 Fixes
Reactnamespace inno-implicit-keyby @Rel1cx in #1487Full Changelog: Rel1cx/eslint-react@v2.12.0...v2.12.1
v2.12.0Compare Source
🪄 Improvements
📝 Changes you should be aware of
ESLint v10 is now supported and used throughout the repository. The minimum required ESLint version remains v8.57.0, but the project now supports and is tested against ESLint v10.
Full Changelog: Rel1cx/eslint-react@v2.11.2...v2.12.0
v2.11.2Compare Source
🐞 Fixes
getFullyQualifiedNamecannot handle inno-implicit-key, closes #1476 by @Rel1cx in #1480🪄 Improvements
Full Changelog: Rel1cx/eslint-react@v2.11.1...v2.11.2
v2.11.1Compare Source
🐞 Fixes
no-implicit-key, closes #1476 by @Rel1cx in #1479no-implicit-keyrule todisable-type-checkedconfig ofeslint-plugin-react-x, closes #1477 by @Rel1cx in #1478Full Changelog: Rel1cx/eslint-react@v2.11.0...v2.11.1
v2.11.0Compare Source
✨ New
recommendedpresets by @Rel1cx in #1475Full Changelog: Rel1cx/eslint-react@v2.10.1...v2.11.0
v2.10.1Compare Source
🐞 Fixes
no-implicit-keyrule for React internally defined keys, closes #1472 by @Rel1cx in #1474Full Changelog: Rel1cx/eslint-react@v2.10.0...v2.10.1
v2.10.0Compare Source
no-implicit-keyrule to use type checking by @Rel1cx in #1466no-unnecessary-use-refto removed rules, closes #1417 by @Rel1cx in #1471📝 Changes you should be aware of
no-implicit-keyrule has been updated to use type checking and moved fromrecommendedtotype-checkedpresets.no-unnecessary-use-refrule has been moved to removed rules, because the rule is hard to get right.Full Changelog: Rel1cx/eslint-react@v2.9.4...v2.10.0
v2.9.4Compare Source
🐞 Fixes
Full Changelog: Rel1cx/eslint-react@v2.9.3...v2.9.4
v2.9.3Compare Source
📝 Changes you should be aware of
The following rules have been deprecated and will be removed in the next major version:
no-default-propsno-prop-typesno-string-refsFor legacy codebases, use
no-restricted-syntaxas an alternative:Full Changelog: Rel1cx/eslint-react@v2.9.2...v2.9.3
v2.9.2🐞 Fixes
allconfig, closes #1462 by @Rel1cx in #1463🪄 Improvements
rsc/function-definitionby @SukkaW in #1460Full Changelog: Rel1cx/eslint-react@v2.9.0...v2.9.2
v2.9.0Compare Source
✨ New
no-non-async-server-functionsrule torsc/function-definitionby @Rel1cx in #1457eslint-plugin-react-rscsub-plugin for React Server Components (RSC) rules by @Rel1cx in #1457rscpreset to enable RSC rules by @Rel1cx in #1457disable-rscpreset to disable RSC rules by @Rel1cx in #1457🪄 Improvements
📝 Changes you should be aware of
The
no-non-async-server-functionsrule has been migrated torsc/function-definition. Please update your configuration accordingly if you are using it.Full Changelog: Rel1cx/eslint-react@v2.8.4...v2.9.0
v2.8.4Compare Source
🐞 Fixes
jsx-shorthand-booleanrule in migration table by @connorshea in #1446debug/is-from-refby @amir-rahmanii in #1445no-non-async-server-functionsby @Rel1cx in #1447no-non-async-server-functionsas experimental by @Rel1cx in #1448v2.8.3Compare Source
✨ New
no-non-async-server-functionsby @SukkaW in #1443Full Changelog: Rel1cx/eslint-react@v2.8.1...v2.8.3
v2.8.1Compare Source
✨ New
ReactNodebut have a'use memo'or'use no memo'directive by @Rel1cx in #1440The function in below example will be detected as a function component in relevant rules:
🐞 Fixes
'use memo';is present by @Rel1cx in #1441Full Changelog: Rel1cx/eslint-react@v2.8.0...v2.8.1
v2.8.0Compare Source
✨ New
ReactNodebut call React Hooks by @Rel1cx in #1438The function in below example will be detected as a function component in relevant rules:
🐞 Fixes
no-unnecessary-keyto remove constant key checking, closes #1436 by @Rel1cx in #1439Full Changelog: Rel1cx/eslint-react@v2.7.4...v2.8.0
v2.7.4Compare Source
✨ New
debug/is-from-refrule by @Rel1cx in #1433🐞 Fixes
🪄 Improvements
Full Changelog: Rel1cx/eslint-react@v2.7.2...v2.7.3
v2.7.2Compare Source
🪄 Improvements
prefer-destructuring-assignmentrule for better performance by @Rel1cx in #1423Full Changelog: Rel1cx/eslint-react@v2.7.1...v2.7.2
v2.7.1Compare Source
🐞 Fixes
no-unnecessary-use-refrule from strict configurations and update documentation by @Rel1cx in #1419📝 Changes you should be aware of
The
no-unnecessary-use-refrule has been removed from the strict presets, as it was causing false positives in certain scenarios. You can still enable it manually if needed, but please be aware of its current limitations.Full Changelog: Rel1cx/eslint-react@v2.7.0...v2.7.1
v2.7.0Compare Source
✨ New
additionalStateHooksto shared settings, closes #1405 by [@Rel1cx](httConfiguration
📅 Schedule: (in timezone Pacific/Auckland)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.