Change8

v9.23.0

📦 eslint
5 features🐛 5 fixes1 deprecations🔧 8 symbols

Summary

ESLint v9.23.0 introduces TypeScript syntax support for several core rules, adds circular autofix detection, and enhances the defineConfig utility for flat configurations.

Migration Steps

  1. If using deprecated RuleContext methods in custom rules, ensure compatibility with the new subtype structure.
  2. Update configuration to use the 'flat/' prefix in defineConfig() if desired for flat config migration.

✨ New Features

  • Support TypeScript syntax in no-useless-constructor rule.
  • Support TypeScript syntax in default-param-last rule.
  • defineConfig() now supports 'flat/' config prefix.
  • Added circular autofix and conflicting rules detection.
  • Support TypeScript syntax in class-methods-use-this rule.

🐛 Bug Fixes

  • Move deprecated RuleContext methods to subtype to improve type safety.
  • Fix reporting of variables used in catch blocks in no-useless-assignment.
  • Fix no-dupe-keys false positive with proto setter.
  • Fix navigation of search results on pressing Enter in documentation.
  • Allow RuleTester to test files located inside node_modules/.

🔧 Affected Symbols

no-useless-constructordefault-param-lastclass-methods-use-thisno-useless-assignmentno-dupe-keysdefineConfigRuleContextRuleTester

⚡ Deprecations

  • Deprecated RuleContext methods have been moved to a specific subtype.