
Highlights
This version of ESLint is not ready for production use and is provided to gather feedback from the community before releasing the final version. Please let us know if you having any problems or feedback by creating issues on our GitHub repo.
Most of the highlights of this release are breaking changes, and are discussed further in the migration guide. There are summaries of the significant changes below. (Less significant changes are included in the migration guide.)
This prerelease version of ESLint has a separate documentation section.
Removed deprecated SourceCode methods
The following SourceCode methods are no longer available:
getTokenOrCommentBefore()- UsegetTokenBefore()with the{ includeComments: true }option insteadgetTokenOrCommentAfter()- UsegetTokenAfter()With the{ includeComments: true }option insteadisSpaceBetweenTokens()- UseisSpaceBetween()insteadgetJSDocComment()- No replacement
Users of plugins that haven’t updated their code yet can use the @eslint/compat utility in the meantime.
Installing
Since this is a pre-release version, you will not automatically be upgraded by npm. You must specify the next tag when installing:
npm i eslint@next --save-dev
You can also specify the version directly:
npm i eslint@10.0.0-alpha.1 --save-dev
Migration Guide
As there are a lot of changes, we’ve created a migration guide describing the breaking changes in great detail along with the steps you should take to address them. We expect that most users should be able to upgrade without any build changes, but the migration guide should be a useful resource if you encounter problems.
Breaking Changes
fa31a60feat!: addnameto configs (#20015) (Kirk Waiblinger)3383e7efix!: remove deprecatedSourceCodemethods (#20137) (Pixel998)501abd0feat!: update dependency minimatch to v10 (#20246) (renovate[bot])ca4d3b4fix!: stricter rule tester assertions for valid test cases (#20125) (唯然)
Features
09e6654feat: update error loc ofrequire-yieldandno-useless-constructor(#20267) (Tanuj Kanti)
Documentation
0f5a94adocs: [class-methods-use-this] explain purpose of rule (#20008) (Kirk Waiblinger)df5566fdocs: add Options section to all rule docs (#20296) (sethamus)adf7a2bdocs: no-unsafe-finally note for generator functions (#20330) (Tom Pereira)ef7028cdocs: Update README (GitHub Actions Bot)fbae5d1docs: consistently use “v10.0.0” in migration guide (#20328) (Pixel998)778aa2ddocs: ignoring default file patterns (#20312) (Tanuj Kanti)
Chores
0b14059chore: package.json update for @eslint/js release (Jenkins)d6e7bf3ci: bump actions/checkout from 5 to 6 (#20350) (dependabot[bot])139d456chore: require mandatory headers in rule docs (#20347) (Milos Djermanovic)3b0289cchore: remove unused.eslintignoreand test fixtures (#20316) (Pixel998)a463e7bchore: update dependency js-yaml to v4 [security] (#20319) (renovate[bot])ebfe905chore: remove redundant rules from eslint-config-eslint (#20327) (Milos Djermanovic)88dfdb2test: add regression tests for message placeholder interpolation (#20318) (fnx)6ed0f75chore: skip type checking ineslint-config-eslint(#20323) (Francesco Trotta)

