Skip to content

chore(deps): update npm devdependencies (major)#192

Open
renovate[bot] wants to merge 1 commit intomainfrom
renovate/major-npm-dev-deps
Open

chore(deps): update npm devdependencies (major)#192
renovate[bot] wants to merge 1 commit intomainfrom
renovate/major-npm-dev-deps

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate Bot commented Feb 10, 2026

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence
@eslint-react/eslint-plugin (source) ^2.0.2^5.0.0 age confidence
@eslint/js (source) ^9.15.0^10.0.0 age confidence
@vitejs/plugin-react (source) ^5.0.0^6.0.0 age confidence
typescript (source) ^5.7.3^6.0.0 age confidence
vite (source) ^7.2.2^8.0.0 age confidence

Release Notes

Rel1cx/eslint-react (@​eslint-react/eslint-plugin)

v5.7.1

Compare Source

🐞 Fixes
  • all preset: Fixed an issue where the all preset accidentally included rules requiring type information (#​1744).
📝 Documentation
  • Fixed a typo in the shared settings description.
  • Fixed missing trailing commas in ESLint settings examples.
  • Updated no-unused-state rule wording and examples.
  • Added a Resources section with AST Explorer, ESLint Developer Guide, and TypeScript Compiler API links to kit-related documentation pages.
🏗️ Internal
  • Pinned dependency versions for next and @rbxts/react.
  • Added react-compiler-fixtures-all-preset.jsonl snapshot generation.

Full Changelog: Rel1cx/eslint-react@v5.7.0...v5.7.1

v5.7.0

Compare Source

✨ New
  • react-x/no-unused-state: The rule re-added as a no-op in v5.6.6 is now fully implemented. It detects state variables declared via useState (or similar state hooks) that are defined but never read, or only read inside an effect or effect dependency array (#​1741).
📝 Documentation
  • Updated minimum version requirements in README and docs (ESLint 10.2.1, TypeScript 6.0.3, pnpm 10.33.2).
  • Fixed no-unused-state migration docs and removed rule reasons.

LTS Maintenance Mode: Starting with v5.7.0, the project has entered a Long-Term Support (LTS) maintenance mode. New feature development is temporarily on hold while the project prioritizes bug fixes, rule improvements, and documentation updates. See #​1740 for details.

Full Changelog: Rel1cx/eslint-react@v5.6.6...v5.7.0

v5.6.6

Compare Source

✨ New
  • react-x/no-unused-state: Re-add the react-x/no-unused-state rule that was removed in 5.0.0 as 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.4

Compare Source

✨ New
  • react-x/no-unused-class-component-members: Now flags shouldComponentUpdate methods defined in classes extending PureComponent as unused, since PureComponent implements its own shouldComponentUpdate with shallow prop and state comparison (#​1738).
📝 Documentation
  • Added jsx preset documentation to multiple rule docs.
  • Removed empty Presets sections from rule documentation.
🏗️ Internal
  • ast: Added an optional stop predicate to findParent utility for more control over ancestor traversal (#​1736).
  • Replaced skott with sentrux for architecture linting.
  • Updated sentrux rules and baseline metrics.

Full Changelog: Rel1cx/eslint-react@v5.6.3-beta.0...v5.6.4

v5.6.2

Compare Source

🐞 Fixes
  • react-x/use-memo: Fixed false positives in useMemo dependency analysis by using reference/definition analysis (#​1735).
📝 Documentation
  • Added anchor links to rule names in recipe docs.
  • Added migration overview page with sidebar entry.
  • Added naming-convention preset configuration documentation.
  • Simplified conditional formatting in custom-rules-of-state recipe.
  • Updated migration guide and added noDirectAccessProps custom rule example.
🏗️ Internal
  • Removed unused diagram components and imports.
  • Reordered redirects with comments for clarity.
  • Bumped lucide-react from 1.12.0 to 1.14.0.
  • Updated baseline-browser-mapping to 2.10.24.

Full Changelog: Rel1cx/eslint-react@v5.6.0...v5.6.2

v5.6.0

Compare Source

This release consolidates all changes since v4.2.1.

💥 Breaking Changes
Core API Refactoring (@​eslint-react/core)
  • Performed a large-scale flattening refactor of the core package's internal structure, merging modules previously scattered across subdirectories like component/, function/, hook/, semantic/, and api/ into the root directory.
  • Renamed several core APIs:
    • isReactAPIisAPI
    • isReactAPICallisAPICall
    • isInitializedFromReactisAPIFromReact
    • isInitializedFromReactNativeisAPIFromReactNative
    • ComponentDetectionHintFunctionComponentDetectionHint
    • ComponentFlagFunctionComponentFlag
    • getComponentCollectorgetFunctionComponentCollector
    • getComponentCollectorLegacygetClassComponentCollector
  • Migrated type utilities (type-is, type-name, type-variant) from eslint-plugin-react-x to @eslint-react/core.
  • Updated the Toolkit interface in @eslint-react/kit to reflect the naming changes above.
Kit API Simplification (@​eslint-react/kit)
  • Simplified RuleToolkit.is API: Removed pre-built identifier predicates (memo, lazy, forwardRef, etc.) from RuleToolkit.is. Only *Call variants and API/APICall factories are now available.
  • Renamed initialization checkers:
    • initializedFromReactAPIFromReact
    • initializedFromReactNativeAPIFromReactNative
  • Code using is.memo(node), is.lazy(node), etc. must migrate to is.memoCall(node) or use is.API("memo")(node).
Type Alias Removal
  • Removed deprecated RuleDefinition type alias: The RuleDefinition type has been completely removed from @eslint-react/kit. Use RuleFunction instead.
Removed Rules

The following rules have been removed from eslint-plugin-react-x, eslint-plugin-react-dom, and eslint-plugin-react-debug:

Rule Package Notes
component-hook-factories react-x Removed from all configs
no-redundant-should-component-update react-x Removed from all configs
no-unnecessary-use-callback react-x Removed from all configs
no-unnecessary-use-memo react-x Removed from all configs
no-unused-state react-x Removed from all configs
prefer-destructuring-assignment react-x Removed from all configs
prefer-namespace-import react-x Removed from all configs
prefer-namespace-import react-dom Removed from all configs
debug/class-component react-debug Removed from all configs
Class Component Support Deprecation
  • All Class Component-related detection functions in the core package (such as isClassComponent, isPureComponent, and various lifecycle checkers) have been marked as @deprecated, retaining only minimal compatibility support for existing rules.
  • Rules in eslint-plugin-react-web-api, including no-leaked-event-listener, no-leaked-interval, and no-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 a createdHere diagnostic to reduce false positives.
  • react-web-api/no-leaked-fetch: New rule that detects leaked fetch calls in effects, closing #​1714.
Kit Enhancements
  • Added ast.findParent utility to @eslint-react/kit for traversing AST ancestors.
  • Added support for Universally Unique Lexicographically Sortable Identifiers (ULID) for anonymous rules (later migrated to node:crypto randomBytes).
Custom Rule Examples
  • Added Error Boundaries custom rule example.
  • Added boolean prop naming custom rule and documentation.
🐞 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 for for-of/for-in loops.
Config Fixes
  • Added missing rules to presets, cleaned up experimental disables, and updated documentation.
  • Extracted naming-convention preset and fixed config gaps.
Type Expression Fixes
  • Added missing Extract.unwrap for type expressions and chain expressions.
  • Unwrapped type expressions before inspecting AST node types.
🪄 Improvements
API & Refactoring
  • ast: Normalized API naming conventions and rewrote Check helpers.
  • ast: Renamed isJSXLikeisJSXElementOrFragment and isMethodOrPropertyisPropertyOrMethod.
  • Extracted ESLint types and utilities into the @eslint-react/eslint package.
  • Extracted @eslint-react/jsx from @eslint-react/core into a standalone utility package for static analysis of JSX patterns.
  • Migrated to @ and # path aliases and replaced tsx with vite-node.
  • Moved pattern utilities to rule directories and extracted rule helpers into co-located lib.ts modules across multiple plugins.
  • Reorganized imports across the codebase.
  • Replaced RuleConfig with Linter.RulesRecord from ESLint.
  • Restructured monorepo packages directory layout.
  • Unified import style across packages and plugins.
Core & AST Improvements
  • ast: Updated FunctionInitPath types to support method definitions and property arrow functions in class expressions.
  • ast/isNodeEqual: Fixed JSXNamespacedName comparison logic.
Rule Improvements
  • react-x/static-components: Registered in all, x, and disable-experimental configs.
  • react-rsc/function-definition: Added directive position and quote checks.
  • Extracted HOC detection helpers to dedicated lib.ts files.
Website & Documentation Improvements
  • Added LLM routes (/llms.txt, /llms-full.txt, /llms.mdx).
  • Added inline TOCs and improved navigation.
  • Enabled twoslash type-checking for code examples.
  • Improved accessibility and unified layout configuration.
Testing
  • Expanded compiler fixture coverage across 9 rules.
  • Added comprehensive unit tests for component/hook detection utilities.
Dependencies
  • Bumped TypeScript to 6.0.3.
  • Bumped Vite to ^8.0.7 in examples.
  • Bumped @typescript-eslint packages to 8.59.1.
  • Bumped tsl-dx, tsdown, fumadocs, postcss, lucide-react, eslint-plugin-package-json, and other dependencies.
📝 Documentation
  • Added custom rule recipes for React Children API, Context API, props, state, boolean prop naming, and error boundaries.
  • Added migration examples (no-set-state, no-string-refs).
  • Added IMPL vs SPEC diff documents for 5 React Compiler aligned rules.
  • Added spec documentation for validation rules.
  • Added rule feature docs.
  • Added table of contents to multiple documentation files.
  • Updated migrating-from-eslint-plugin-react guide.
  • Updated local packages docs.
  • Updated roadmap and contributing architecture diagram.
🏗️ Internal
  • Added build:plugins script and updated build path patterns.
  • Added publishConfig.access to packages and marked @local/eff as private.
  • Added documentation comments to rule scripts.
  • Added typedoc docs and engines field.
  • Extracted shared tsdown config.
  • Fixed high-priority build, lockfile, script and doc inconsistencies.
  • Removed "Naming Pattern Quick Reference" from AST abbreviations doc.
  • Removed major-release-checklist.md.
  • Removed scripts/prepare-release.ts and the accompanying prepare:release npm script.
  • Removed barrel exports for utils.
  • Removed unused dependencies and added missing devDependencies.

Full Changelog: Rel1cx/eslint-react@v4.2.1...v5.6.0

v4.2.3

Compare Source

✨ New
  • jsx: add jsx-no-leaked-dollar rule, add suggest fix to jsx-no-leaked-semicolon rule (#​1688) (b86bdd6da)
  • jsx: add jsx-no-leaked-semicolon rule, closes #​1685 (#​1686) (fbb495000)
📝 Documentation
  • update recipe section structure (Code→Rule, Usage→Config) (8cade3008)
  • update custom rule examples code style (#​1684) (dc9d05c33)
  • update recipe titles to Title Case (6a2d941b6)
  • improve recipes overview (8278f45c9)

Full Changelog: Rel1cx/eslint-react@v4.2.2...v4.2.3

v4.2.1

Compare Source

This release consolidates all changes since v3.0.0.

💥 Breaking Changes

New eslint-plugin-react-jsx package

A new dedicated plugin for React Flavored JSX rules has been introduced. Several rules have been migrated from eslint-plugin-react-x and eslint-plugin-react-dom to this new package:

Old Rule (react-x/) New Rule (react-jsx/) Change
jsx-key-before-spread no-key-after-spread relocated, renamed
jsx-no-comment-textnodes no-comment-textnodes relocated, renamed
no-children-prop no-children-prop relocated
no-useless-fragment no-useless-fragment relocated
Old Rule (react-dom/) New Rule (react-jsx/) Change
no-namespace no-namespace relocated

Rule prefix changes in @eslint-react/eslint-plugin

Rules from individual plugins now use a flattened naming convention when accessed through the unified @eslint-react/eslint-plugin package:

  • @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-x

The following rules have been removed from eslint-plugin-react-x:

Rule Replaced by
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-props Recipes: custom-rules-of-props
react-x/unstable-rules-of-state Recipes: custom-rules-of-state

JSX utilities extracted from @eslint-react/core to @eslint-react/jsx

The JSX module has been extracted from @eslint-react/core into a new standalone @eslint-react/jsx package. The following exports are no longer available from @eslint-react/core:

  • JsxInspector class — 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/jsx
  • getElementType — renamed to getElementFullType in @eslint-react/jsx
  • getElementSelfName — renamed to getElementSelfType in @eslint-react/jsx

Removed ref APIs from @eslint-react/core

The following ref-related APIs have been removed from @eslint-react/core without replacement:

  • isRefId
  • isInitializedFromRef
  • getRefInit
  • isRefLikeName

Core collector API renames

The collector APIs in @eslint-react/core have been renamed:

Before After
useComponentCollector() getComponentCollector()
useComponentCollectorLegacy() getComponentCollectorLegacy()
useHookCollector() getHookCollector()
Collector return property .ctx Collector return property .api

@eslint-react/kit API restructuring

The hint API in @eslint-react/kit has been restructured for better namespacing:

Before After
hint.defaultComponent hint.component.Default

@eslint-react/kit API redesign

The defineConfig function has been replaced with a chainable builder API for better composability and type inference:

Before After
defineConfig({ rules: [rule1, rule2] }) eslintReactKit().use(rule1).use(rule2).getConfig()

The new API provides better TypeScript intellisense and allows for more flexible rule configuration:

import eslintReactKit from "@&#8203;eslint-react/kit";

export default defineConfig(
  {
    files: ["**/*.{ts,tsx}"],
    extends: [
      // ... other configs
      eslintReactKit()
        .use(functionComponentDefinition)
        .use(maxComponentPerFile, { max: 1 })
        .getConfig(),
    ],
  },
);
  • react-jsx: Rename no-deoptimization rule to no-key-after-spread for clearer intent (#​1668).
  • kit: Remove files option from getConfig() and normalize file extensions handling (#​1669). The files option is no longer supported; file extensions are now automatically normalized to include both standard and TypeScript variants.
✨ New
  • New jsx and disable-jsx config presets in @eslint-react/eslint-plugin.
  • New react-dom-with-custom-rules example project demonstrating custom rule creation with @eslint-react/kit.
  • eslint-plugin-react-jsx: New plugin dedicated to React Flavored JSX rules. Ships with recommended and strict config presets.
  • react-jsx/no-children-prop-with-children: New rule that disallows passing children as 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. placing key after 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 chainable eslintReactKit().use().getConfig() builder API and a RuleToolkit interface with pre-bound context helpers for component/hook analysis.
  • @eslint-react/kit: Re-export types from @eslint-react/shared for better TypeScript intellisense.
  • kit: Add getPlugin() API to Builder for fine-grained control over plugin namespace and rule severities.
  • kit: Support more file extensions in getConfig defaults (js, mjs, cjs, jsx, ts, mts, cts, tsx), closes #​1659.
  • kit.settings: Expose normalized ESLint React settings via settings property on RuleToolkit.
  • docs(utilities): Add utilities documentation for utility modules, closes #​1656.
🐞 Fixes
  • purity: Remove console methods from impurity detection, closes #​1616 (#​1676).
  • purity: Treat new 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: Use isComponentNameLoose for 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 SVG xlink attributes.
  • react-x: purity: Remove AbortController from impure constructors, closes #​1648. Thanks @​zerone0x!
  • core: isReactAPI: Fix API name matching logic to use endsWith for precise matching.
  • core: isRenderMethodLike: Support ClassExpression in addition to ClassDeclaration.
  • core: findImportSource: Add cycle detection to prevent infinite recursion when resolving variable aliases.
  • ast: Fix JSX attribute name comparison to use isNodeEqual instead of string comparison, properly handling JSXNamespacedName (e.g., xlink:href).
  • ast: Update FunctionInitPath types to support method definitions and property arrow functions in class expressions.
  • ast: isNodeEqual: Fix JSXNamespacedName comparison logic.
  • var: Fix logic bugs in compute-object-type, find-enclosing-assignment-target, and is-value-equal utilities (#​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): Improve Builder and RuleFunction implementation for better type inference and code organization.
  • refactor(kit): Replace defineConfig with chainable .use().getConfig() builder API, closes #​1644.
  • refactor(kit): Remove unused type parameter from CollectorWithContext<T, E> to CollectorWithContext<T>.
  • refactor(kit): Rename parameter args to options.
  • refactor(eff): Replace getOrElse/getOrElseUpdate with getOrInsert/getOrInsertComputed for better API consistency, closes #​1657.
  • docs(kit): Add comprehensive documentation for getConfig() and getPlugin() APIs with usage examples.
  • docs(kit): Replace "max-component-per-file" example with "destructure-component-props" example for better practical guidance.
  • docs(website): Improve configure-project-rules documentation 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 including forbid-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, and no-adjacent-inline-elements, closes #​1653.
  • examples/react-dom-with-custom-rules: Add max-component-per-file custom 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 for react-x and react-dom rules, closes #​1663.
  • test: Add comprehensive test coverage for find-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/var utilities including compute-object-type, find-enclosing-assignment-target, is-assignment-target-equal, and is-value-equal (#​1672).
  • deps: Update typescript-eslint to ^8.58.0 (#​1670).
📝 Documentation
  • scripts: Add comprehensive README and more automation scripts (#​1673).
  • docs: Update bug report template with upstream eslint-plugin-react-hooks guidance.
  • update @​eslint-react/kit installation tag from beta to rc (2da9b4e9d)
  • update deprecated rule replacements in removed.md (dc2fe27fb)
✅ Upgrade Checklist

Use this checklist to upgrade from v3.x to v4.2.1:

Package changes
  • Install the new eslint-plugin-react-jsx package — this is a new dedicated plugin for React Flavored JSX rules.
ESLint configuration
  • Replace react-x/jsx-key-before-spread with react-jsx/no-key-after-spread in your ESLint config.
  • Replace react-x/jsx-no-comment-textnodes with react-jsx/no-comment-textnodes in your ESLint config.
  • Replace react-x/no-children-prop with react-jsx/no-children-prop in your ESLint config.
  • Replace react-x/no-useless-fragment with react-jsx/no-useless-fragment in your ESLint config.
  • Replace react-dom/no-namespace with react-jsx/no-namespace in your ESLint config.
Rule prefix changes in @eslint-react/eslint-plugin

If you use the unified @eslint-react/eslint-plugin package, update the following rule prefixes (slash \/ -> dash -):

  • Replace @eslint-react/rsc/<rule> with @eslint-react/rsc-<rule> in your ESLint config.
  • Replace @eslint-react/dom/<rule> with @eslint-react/dom-<rule> in your ESLint config.
  • Replace @eslint-react/web-api/<rule> with @eslint-react/web-api-<rule> in your ESLint config.
  • Replace @eslint-react/naming-convention/<rule> with @eslint-react/naming-convention-<rule> in your ESLint config.
  • Replace @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 passing children as a prop when children are also passed as nested content. Review your codebase for new reports if using presets.
Removed rules

If you still need these rules, you can enforce them using the new @eslint-react/kit by creating custom rules that implement the desired checks.

@eslint-react/kit migration
  • Replace defineConfig({ rules: [rule1, rule2] }) with eslintReactKit().use(rule1).use(rule2).getConfig().
  • Replace hint.defaultComponent with hint.component.Default.
  • Remove any files option passed to getConfig() — file extensions are now automatically normalized.
Core API changes (for custom rule authors)
  • Replace useComponentCollector() with getComponentCollector().
  • Replace useComponentCollectorLegacy() with getComponentCollectorLegacy().
  • Replace useHookCollector() with getHookCollector().
  • Replace collector return property .ctx with .api.
  • Replace JsxInspector.from(context) usage with standalone utility functions from @eslint-react/jsx.
  • Replace getElementType() with getElementFullType() from @eslint-react/jsx.
  • Replace getElementSelfName() with getElementSelfType() from @eslint-react/jsx.
  • Remove usage of deleted ref APIs (isRefId, isInitializedFromRef, getRefInit, isRefLikeName).
  • Update JSX-related imports from @eslint-react/core to @eslint-react/jsx.

Full Changelog: Rel1cx/eslint-react@v3.0.0...v4.2.1

v3.0.0

Compare Source

🧹 Chores
  • Version Packages.

Full Changelog: Rel1cx/eslint-react@v3.0.0-rc.5...v3.0.0

eslint/eslint (@​eslint/js)

v10.0.1

Compare Source

v10.0.0

Compare Source

Breaking Changes

  • f9e54f4 feat!: estimate rule-tester failure location (#​20420) (ST-DDT)
  • a176319 feat!: replace chalk with styleText and add color to ResultsMeta (#​20227) (루밀LuMir)
  • c7046e6 feat!: enable JSX reference tracking (#​20152) (Pixel998)
  • fa31a60 feat!: add name to configs (#​20015) (Kirk Waiblinger)
  • 3383e7e fix!: remove deprecated SourceCode methods (#​20137) (Pixel998)
  • 501abd0 feat!: update dependency minimatch to v10 (#​20246) (renovate[bot])
  • ca4d3b4 fix!: stricter rule tester assertions for valid test cases (#​20125) (唯然)
  • 96512a6 fix!: Remove deprecated rule context methods (#​20086) (Nicholas C. Zakas)
  • c69fdac feat!: remove eslintrc support (#​20037) (Francesco Trotta)
  • 208b5cc feat!: Use ScopeManager#addGlobals() (#​20132) (Milos Djermanovic)
  • a2ee188 fix!: add uniqueItems: true in no-invalid-regexp option (#​20155) (Tanuj Kanti)
  • a89059d feat!: Program range span entire source text (#​20133) (Pixel998)
  • 39a6424 fix!: assert 'text' is a string across all RuleFixer methods (#​20082) (Pixel998)
  • f28fbf8 fix!: Deprecate "always" and "as-needed" options of the radix rule (#​20223) (Milos Djermanovic)
  • aa3fb2b fix!: tighten func-names schema (#​20119) (Pixel998)
  • f6c0ed0 feat!: report eslint-env comments as errors (#​20128) (Francesco Trotta)
  • 4bf739f fix!: remove deprecated LintMessage#nodeType and TestCaseError#type (#​20096) (Pixel998)
  • 523c076 feat!: drop support for jiti < 2.2.0 (#​20016) (michael faith)
  • 454a292 feat!: update eslint:recommended configuration (#​20210) (Pixel998)
  • 4f880ee feat!: remove v10_* and inactive unstable_* flags (#​20225) (sethamus)
  • f18115c feat!: no-shadow-restricted-names report globalThis by default (#​20027) (sethamus)
  • c6358c3 feat!: Require Node.js ^20.19.0 || ^22.13.0 || >=24 (#​20160) (Milos Djermanovic)

Features

  • bff9091 feat: handle Array.fromAsync in array-callback-return (#​20457) (Francesco Trotta)
  • 290c594 feat: add self to no-implied-eval rule (#​20468) (sethamus)
  • 43677de feat: fix handling of function and class expression names in no-shadow (#​20432) (Milos Djermanovic)
  • f0cafe5 feat: rule tester add assertion option requireData (#​20409) (fnx)
  • f7ab693 feat: output RuleTester test case failure index (#​19976) (ST-DDT)
  • 7cbcbf9 feat: add countThis option to max-params (#​20236) (Gerkin)
  • f148a5e feat: add error assertion options (#​20247) (ST-DDT)
  • 09e6654 feat: update error loc of require-yield and no-useless-constructor (#​20267) (Tanuj Kanti)

Bug Fixes

  • 436b82f fix: update eslint (#​20473) (renovate[bot])
  • 1d29d22 fix: detect default this binding in Array.fromAsync callbacks (#​20456) (Francesco Trotta)
  • 727451e fix: fix regression of global mode report range in strict rule (#​20462) (ntnyq)
  • e80485f fix: remove fake FlatESLint and LegacyESLint exports (#​20460) (Francesco Trotta)
  • 9eeff3b fix: update esquery (#​20423) (cryptnix)
  • b34b938 fix: use Error.prepareStackTrace to estimate failing test location (#​20436) (Francesco Trotta)
  • 51aab53 fix: update eslint (#​20443) (renovate[bot])
  • 23490b2 fix: handle space before colon in RuleTester location estimation (#​20433) (Francesco Trotta)
  • f244dbf fix: use MessagePlaceholderData type from @eslint/core (#​20348) (루밀LuMir)
  • d186f8c fix: update eslint (#​20427) (renovate[bot])
  • 2332262 fix: error location should not modify error message in RuleTester (#​20421) (Milos Djermanovic)
  • ab99b21 fix: ensure filename is passed as third argument to verifyAndFix() (#​20405) (루밀LuMir)
  • 8a60f3b fix: remove ecmaVersion and sourceType from ParserOptions type (#​20415) (Pixel998)
  • eafd727 fix: remove TDZ scope type (#​20231) (jaymarvelz)
  • 39d1f51 fix: correct Scope typings (#​20404) (sethamus)
  • 2bd0f13 fix: update verify and verifyAndFix types (#​20384) (Francesco Trotta)
  • ba6ebfa fix: correct typings for loadESLint() and shouldUseFlatConfig() (#​20393) (루밀LuMir)
  • e7673ae fix: correct RuleTester typings (#​20105) (Pixel998)
  • 53e9522 fix: strict removed formatters check (#​20241) (ntnyq)
  • b017f09 fix: correct no-restricted-import messages (#​20374) (Francesco Trotta)

Documentation

  • e978dda docs: Update README (GitHub Actions Bot)
  • 4cecf83 docs: Update README (GitHub Actions Bot)
  • c79f0ab docs: Update README (GitHub Actions Bot)
  • 773c052 docs: Update README (GitHub Actions Bot)
  • f2962e4 docs: document meta.docs.frozen property (#​20475) (Pixel998)
  • 8e94f58 docs: fix broken anchor links from gerund heading updates (#​20449) (Copilot)
  • 1495654 docs: Update README (GitHub Actions Bot)
  • 0b8ed5c docs: document support for :is selector alias (#​20454) (sethamus)
  • 1c4b33f docs: Document policies about ESM-only dependencies (#​20448) (Milos Djermanovic)
  • 3e5d38c docs: add missing indentation space in rule example (#​20446) (fnx)
  • 63a0c7c docs: Update README (GitHub Actions Bot)
  • 65ed0c9 docs: Update README (GitHub Actions Bot)
  • b0e4717 docs: [no-await-in-loop] Expand inapplicability (#​20363) (Niklas Hambüchen)
  • fca421f docs: Update README (GitHub Actions Bot)
  • d925c54 docs: update config syntax in no-lone-blocks (#​20413) (Pixel998)
  • 7d5c95f docs: remove redundant sourceType: "module" from rule examples (#​20412) (Pixel998)
  • 02e7e71 docs: correct .mts glob pattern in files with extensions example (#​20403) (Ali Essalihi)
  • 264b981 docs: Update README (GitHub Actions Bot)
  • 5a4324f docs: clarify "local" option of no-unused-vars (#​20385) (Milos Djermanovic)
  • e593aa0 docs: improve clarity, grammar, and wording in documentation site README (#​20370) (Aditya)
  • 3f5062e docs: Add messages property to rule meta documentation (#​20361) (Sabya Sachi)
  • 9e5a5c2 docs: remove Examples headings from rule docs (#​20364) (Milos Djermanovic)
  • 194f488 docs: Update README (GitHub Actions Bot)
  • 0f5a94a docs: [class-methods-use-this] explain purpose of rule (#​20008) (Kirk Waiblinger)
  • df5566f docs: add Options section to all rule docs (#​20296) (sethamus)
  • adf7a2b docs: no-unsafe-finally note for generator functions (#​20330) (Tom Pereira)
  • ef7028c docs: Update README (GitHub Actions Bot)
  • fbae5d1 docs: consistently use "v10.0.0" in migration guide (#​20328) (Pixel998)
  • 778aa2d docs: ignoring default file patterns (#​20312) (Tanuj Kanti)
  • 4b5dbcd docs: reorder v10 migration guide (#​20315) (Milos Djermanovic)
  • 5d84a73 docs: Update README (GitHub Actions Bot)
  • 37c8863 docs: fix incorrect anchor link in v10 migration guide (#​20299) (Pixel998)
  • 077ff02 docs: add migrate-to-10.0.0 doc (#​20143) (唯然)
  • 3822e1b docs: Update README (GitHub Actions Bot)

Build Related

  • 9f08712 Build: changelog update for 10.0.0-rc.2 (Jenkins)
  • 1e2c449 Build: changelog update for 10.0.0-rc.1 (Jenkins)
  • c4c72a8 Build: changelog update for 10.0.0-rc.0 (Jenkins)
  • 7e4daf9 Build: changelog update for 10.0.0-beta.0 (Jenkins)
  • a126a2a build: add .scss files entry to knip (#​20389) (Francesco Trotta)
  • f5c0193 Build: changelog update for 10.0.0-alpha.1 (Jenkins)
  • 165326f Build: changelog update for 10.0.0-alpha.0 (Jenkins)

Chores

Note

PR body was truncated to here.


Configuration

📅 Schedule: (in timezone Europe/Berlin)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 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.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate
Copy link
Copy Markdown
Contributor Author

renovate Bot commented Feb 10, 2026

⚠️ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: package-lock.json
npm warn Unknown env config "store". This will stop working in the next major version of npm. See `npm help npmrc` for supported config options.
npm error code ERESOLVE
npm error ERESOLVE unable to resolve dependency tree
npm error
npm error While resolving: @kit-data-manager/react-search-component@0.4.3
npm error Found: eslint@9.39.4
npm error node_modules/eslint
npm error   dev eslint@"^9.15.0" from the root project
npm error
npm error Could not resolve dependency:
npm error peer eslint@"^10.2.1" from @eslint-react/eslint-plugin@5.7.2
npm error node_modules/@eslint-react/eslint-plugin
npm error   dev @eslint-react/eslint-plugin@"^5.0.0" from the root project
npm error
npm error Fix the upstream dependency conflict, or retry this command with --force or --legacy-peer-deps to accept an incorrect (and potentially broken) dependency resolution.
npm error
npm error
npm error For a full report see:
npm error /runner/cache/others/npm/_logs/2026-05-05T09_06_30_408Z-eresolve-report.txt
npm error A complete log of this run can be found in: /runner/cache/others/npm/_logs/2026-05-05T09_06_30_408Z-debug-0.log

@renovate renovate Bot force-pushed the renovate/major-npm-dev-deps branch from 15e06c7 to 48e304f Compare February 26, 2026 09:49
@renovate renovate Bot force-pushed the renovate/major-npm-dev-deps branch from 48e304f to cc68cf3 Compare March 5, 2026 14:41
@renovate renovate Bot force-pushed the renovate/major-npm-dev-deps branch from cc68cf3 to 778915f Compare March 15, 2026 16:33
@renovate renovate Bot changed the title chore(deps): update dependency @eslint/js to v10 chore(deps): update npm devdependencies (major) Mar 15, 2026
@renovate renovate Bot force-pushed the renovate/major-npm-dev-deps branch from 778915f to 7e7d2e6 Compare March 19, 2026 00:57
@renovate renovate Bot force-pushed the renovate/major-npm-dev-deps branch from 7e7d2e6 to 88fdfb9 Compare March 26, 2026 17:05
@renovate renovate Bot force-pushed the renovate/major-npm-dev-deps branch 4 times, most recently from 8c13884 to 0919493 Compare April 8, 2026 18:00
@renovate renovate Bot force-pushed the renovate/major-npm-dev-deps branch from 0919493 to 39df7eb Compare May 2, 2026 04:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants