feat: Implement alternate config lookup#18742
Conversation
✅ Deploy Preview for docs-eslint ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
|
There are merge conflicts now. |
|
I'll look at those, but if you can please review ASAP I'd appreciate it. This is a complicated change and there will continue to be more conflicts until we get this merged. It's already been three weeks since I posted it. |
| const configs = rawPatterns[matchIndex] !== "." && !entry.path.includes("/") | ||
| ? void 0 | ||
| : await configLoader.loadConfigArrayForDirectory(absolutePath); |
There was a problem hiding this comment.
Special-casing only immediate children would cause inconsistent behavior, in my opinion. For example, if the root config file ignores foo and bar/baz directories, and both of them have their own config files, eslint foo would work, while eslint bar/baz wouldn't.
There was a problem hiding this comment.
Sorry, I'm having trouble following what it is you're describing. Can you put together a test case that will fail?
And do you have other suggestions for how you might approach this? It turns out getting the exact behavior in the RFC is pretty difficult and this was the only approach I found that passed all of the tests we had described there.
There was a problem hiding this comment.
One approach could be to search per each pattern and start loading configs from globParent() of the pattern. That's how eslintrc's FileEnumerator works. A downside is performance as the same directories might be traversed multiple times.
Another approach could be to keep searching with multiple patterns at once but check if the directory path is a part of the globParent() of at least one of the patterns, and in that case enter the directory even if it's ignored by a config in a parent directory. Though, this seems complicated as only those patterns should match in the directory.
There was a problem hiding this comment.
Here's another test that I think should pass but is failing with the current iteration of this PR: 7e21937
There was a problem hiding this comment.
Another possible approach: perhaps we could always group patterns by their globParent() and start loading configs from that path.
|
There is a new merge conflict now and the tests were not run. |
|
Added in @mdjermanovic's test and removed the check for immediate children. Somehow, this caused all tests to pass. 😄 Maybe I'm missing something, though. |
|
LGTM, thanks! Leaving open for @mdjermanovic to complete his review. |
| const configs = rawPatterns[matchIndex] !== "." | ||
| ? void 0 | ||
| : await configLoader.loadConfigArrayForDirectory(absolutePath); | ||
|
|
||
| return !configs?.isDirectoryIgnored(absolutePath); |
There was a problem hiding this comment.
Now, on this branch, a pattern like **/*.js would traverse all directories, which is not what we want, I believe.
To reproduce, add console.log(entry.path); at the beginning of async directoryFilter(entry) and run npx eslint "**/*.js".
.cache
.git
.git/hooks
.git/info
.git/logs
.git/logs/refs
.git/logs/refs/heads
.git/logs/refs/remotes
.git/logs/refs/remotes/origin
.git/logs/refs/remotes/origin/chore
.git/logs/refs/remotes/origin/docs
.git/logs/refs/remotes/origin/fix
.git/logs/refs/remotes/origin/renovate
.git/objects
.git/objects/00
.git/objects/01
.git/objects/02
.git/objects/03
.git/objects/04
.git/objects/05
.git/objects/06
.git/objects/07
.git/objects/08
.git/objects/09
.git/objects/0a
.git/objects/0b
.git/objects/0c
.git/objects/0d
.git/objects/0e
... (~10,000 directories)
There was a problem hiding this comment.
Hmmm yeah, that's not right. I'll take a look.
There was a problem hiding this comment.
I'm not able to reproduce this (Windows 10). Are you sure you're using the right command (npx eslint would download ESLint if you don't have it locally?). Here's what I'm getting:
$ node ./bin/eslint.js "**/*.js"
(node:5064) ESLintIgnoreWarning: The ".eslintignore" file is no longer supported.
Switch to using the "ignores" property in "eslint.config.js": https://eslint.org/docs/latest/use/configure/migration-guide#ignoring-files
(Use `node --trace-warnings ...` to show
where the warning was created)
.cache
.git
.github
.nyc_output
.trunk
.vscode
bin
build
conf
coverage
docs
lib
messages
node_modules
packages
templates
tests
tmp
tools
Oops! Something went wrong! :(
ESLint: 9.9.1
No files matching the pattern "**C:/Program Files/Git/*.js" were found.
Please check for typing mistakes in the pattern.
There was a problem hiding this comment.
Oops! Something went wrong! :(
ESLint: 9.9.1
No files matching the pattern "**C:/Program Files/Git/*.js" were found.
Please check for typing mistakes in the pattern.
That "**C:/Program Files/Git/*.js" looks weird, I'm not sure where it did come from when running $ node ./bin/eslint.js "**/*.js" (maybe your shell is doing some expansion despite the quotes?).
I tried again, on this branch, with a clean npm install, and in cmd.exe which doesn't expand globs. I also added console.log({ patterns }); at the beginning of async function globSearch to make sure that the pattern is passed through.
C:\projects\eslint>node ./bin/eslint.js "**/*.js"
(node:7136) ESLintIgnoreWarning: The ".eslintignore" file is no longer supported. Switch to using the "ignores" property in "eslint.config.js": https://eslint.org/docs/latest/use/configure/migration-guide#ignoring-files
(Use `node --trace-warnings ...` to show where the warning was created)
{ patterns: [ 'C:\\projects\\eslint\\**\\*.js' ] }
.cache
.git
.git/hooks
.git/info
.git/logs
.git/logs/refs
.git/logs/refs/heads
.git/logs/refs/remotes
.git/logs/refs/remotes/origin
.git/logs/refs/remotes/origin/chore
.git/logs/refs/remotes/origin/docs
.git/logs/refs/remotes/origin/fix
.git/logs/refs/remotes/origin/renovate
.git/objects
.git/objects/00
.git/objects/01
.git/objects/02
.git/objects/03
.git/objects/04
.git/objects/05
.git/objects/06
.git/objects/07
.git/objects/08
.git/objects/09
.git/objects/0a
.git/objects/0b
.git/objects/0c
...There was a problem hiding this comment.
Okay, I can see this in cmd but not in Git Bash. It looks like Git Bash is representing the path in Windows differently:
patterns: [
'C:\\Users\\nzaka\\projects\\eslint\\eslint\\**C:\\Program Files\\Git\\*.js'
]
I'll take a look at that, too.
There was a problem hiding this comment.
So it looks like Git for Windows is expanding the pattern even if it's quoted.
git-for-windows/git#5131
| } | ||
| } | ||
| }); | ||
| const failFilePath = fs.realpathSync(ge |
There was a problem hiding this comment.
What is the expected behavior in this case when cwd has some files in it? When I add a file (any file, e.g.. file with no extension) directly into subdir-only-config, the test fails with "Error: Could not find config file.".
There was a problem hiding this comment.
I don't think we explicitly defined this behavior. Technically, throwing an error is correct because our logic says "for a given file, if you can't find a config file that tells you what to do with it, throw an error."
I'm not sure how common it would be for someone to run eslint . in a directory without a config file. This might be a case where we leave this behavior as-is and see what feedback we get. Otherwise, I'd be back to checking "if pattern is . and file is an immediate child of ., then ignore it".
There was a problem hiding this comment.
I agree that throwing an error when a pattern matches a file for which a config file cannot be found is the correct behavior.
|
@mdjermanovic I've been fighting with this for the last three days and have made zero progress. Do you want to take a stab at it? |
##### [v9.13.0](eslint/eslint@v9.12.0...1a7cdbf) ##### [v9.12.0](https://github.com/eslint/eslint/releases/tag/v9.12.0) #### Features - [`5a6a053`](eslint/eslint@5a6a053) feat: update to `jiti` v2 ([#18954](eslint/eslint#18954)) (Arya Emami) - [`17a07fb`](eslint/eslint@17a07fb) feat: Hooks for test cases (RuleTester) ([#18771](eslint/eslint#18771)) (Anna Bocharova) - [`2ff0e51`](eslint/eslint@2ff0e51) feat: Implement alternate config lookup ([#18742](eslint/eslint#18742)) (Nicholas C. Zakas) - [`2d17453`](eslint/eslint@2d17453) feat: Implement modified cyclomatic complexity ([#18896](eslint/eslint#18896)) (Dmitry Pashkevich) #### Bug Fixes - [`ea380ca`](eslint/eslint@ea380ca) fix: Upgrade retry to avoid EMFILE errors ([#18986](eslint/eslint#18986)) (Nicholas C. Zakas) - [`fdd6319`](eslint/eslint@fdd6319) fix: Issues with type definitions ([#18940](eslint/eslint#18940)) (Arya Emami) #### Documentation - [`ecbd522`](eslint/eslint@ecbd522) docs: Mention code explorer ([#18978](eslint/eslint#18978)) (Nicholas C. Zakas) - [`7ea4ecc`](eslint/eslint@7ea4ecc) docs: Clarifying the Use of Meta Objects ([#18697](eslint/eslint#18697)) (Amaresh S M) - [`d3e4b2e`](eslint/eslint@d3e4b2e) docs: Clarify how to exclude `.js` files ([#18976](eslint/eslint#18976)) (Milos Djermanovic) - [`57232ff`](eslint/eslint@57232ff) docs: Mention plugin-kit in language docs ([#18973](eslint/eslint#18973)) (Nicholas C. Zakas) - [`b80ed00`](eslint/eslint@b80ed00) docs: Update README (GitHub Actions Bot) - [`cb69ab3`](eslint/eslint@cb69ab3) docs: Update README (GitHub Actions Bot) - [`7fb0d95`](eslint/eslint@7fb0d95) docs: Update README (GitHub Actions Bot) - [`493348a`](eslint/eslint@493348a) docs: Update README (GitHub Actions Bot) - [`87a582c`](eslint/eslint@87a582c) docs: fix typo in `id-match` rule ([#18944](eslint/eslint#18944)) (Jay) #### Chores - [`555aafd`](eslint/eslint@555aafd) chore: upgrade to `@eslint/js@9.12.0` ([#18987](eslint/eslint#18987)) (Francesco Trotta) - [`873ae60`](eslint/eslint@873ae60) chore: package.json update for [@eslint/js](https://github.com/eslint/js) release (Jenkins) - [`d0a5414`](eslint/eslint@d0a5414) refactor: replace strip-ansi with native module ([#18982](eslint/eslint#18982)) (Cristopher) - [`b827029`](eslint/eslint@b827029) chore: Enable JSON5 linting ([#18979](eslint/eslint#18979)) (Milos Djermanovic) - [`8f55ca2`](eslint/eslint@8f55ca2) chore: Upgrade espree, eslint-visitor-keys, eslint-scope ([#18962](eslint/eslint#18962)) (Nicholas C. Zakas) - [`c1a2725`](eslint/eslint@c1a2725) chore: update dependency mocha to ^10.7.3 ([#18945](eslint/eslint#18945)) (Milos Djermanovic) ##### [v9.11.1](eslint/eslint@v9.11.0...69e9459) ##### [v9.11.0](https://github.com/eslint/eslint/releases/tag/v9.11.0) #### Features - [`ec30c73`](eslint/eslint@ec30c73) feat: add "eslint/universal" to export `Linter` ([#18883](eslint/eslint#18883)) (唯然) - [`c591da6`](eslint/eslint@c591da6) feat: Add language to types ([#18917](eslint/eslint#18917)) (Nicholas C. Zakas) - [`492eb8f`](eslint/eslint@492eb8f) feat: limit the name given to `ImportSpecifier` in `id-length` ([#18861](eslint/eslint#18861)) (Tanuj Kanti) - [`19c6856`](eslint/eslint@19c6856) feat: Add `no-useless-constructor` suggestion ([#18799](eslint/eslint#18799)) (Jordan Thomson) - [`a48f8c2`](eslint/eslint@a48f8c2) feat: add type `FormatterFunction`, update `LoadedFormatter` ([#18872](eslint/eslint#18872)) (Francesco Trotta) #### Bug Fixes - [`5e5f39b`](eslint/eslint@5e5f39b) fix: add missing types for `no-restricted-exports` rule ([#18914](eslint/eslint#18914)) (Kristóf Poduszló) - [`8f630eb`](eslint/eslint@8f630eb) fix: add missing types for `no-param-reassign` options ([#18906](eslint/eslint#18906)) (Kristóf Poduszló) - [`d715781`](eslint/eslint@d715781) fix: add missing types for `no-extra-boolean-cast` options ([#18902](eslint/eslint#18902)) (Kristóf Poduszló) - [`2de5742`](eslint/eslint@2de5742) fix: add missing types for `no-misleading-character-class` options ([#18905](eslint/eslint#18905)) (Kristóf Poduszló) - [`c153084`](eslint/eslint@c153084) fix: add missing types for `no-implicit-coercion` options ([#18903](eslint/eslint#18903)) (Kristóf Poduszló) - [`fa11b2e`](eslint/eslint@fa11b2e) fix: add missing types for `no-empty-function` options ([#18901](eslint/eslint#18901)) (Kristóf Poduszló) - [`a0deed1`](eslint/eslint@a0deed1) fix: add missing types for `camelcase` options ([#18897](eslint/eslint#18897)) (Kristóf Poduszló) #### Documentation - [`e4e5709`](eslint/eslint@e4e5709) docs: correct `prefer-object-has-own` type definition comment ([#18924](eslint/eslint#18924)) (Nitin Kumar) - [`91cbd18`](eslint/eslint@91cbd18) docs: add unicode abbreviations in no-irregular-whitespace rule ([#18894](eslint/eslint#18894)) (Alix Royere) - [`59cfc0f`](eslint/eslint@59cfc0f) docs: clarify `resultsMeta` in `LoadedFormatter` type ([#18881](eslint/eslint#18881)) (Milos Djermanovic) - [`adcc50d`](eslint/eslint@adcc50d) docs: Update README (GitHub Actions Bot) - [`4edac1a`](eslint/eslint@4edac1a) docs: Update README (GitHub Actions Bot) #### Build Related - [`959d360`](eslint/eslint@959d360) build: Support updates to previous major versions ([#18871](eslint/eslint#18871)) (Milos Djermanovic) #### Chores - [`ca21a64`](eslint/eslint@ca21a64) chore: upgrade [@eslint/js](https://github.com/eslint/js)[@9](https://github.com/9).11.0 ([#18927](eslint/eslint#18927)) (Milos Djermanovic) - [`a10f90a`](eslint/eslint@a10f90a) chore: package.json update for [@eslint/js](https://github.com/eslint/js) release (Jenkins) - [`e4e02cc`](eslint/eslint@e4e02cc) refactor: Extract processor logic into ProcessorService ([#18818](eslint/eslint#18818)) (Nicholas C. Zakas) - [`6d4484d`](eslint/eslint@6d4484d) chore: updates for v8.57.1 release (Jenkins) - [`71f37c5`](eslint/eslint@71f37c5) refactor: use optional chaining when validating config rules ([#18893](eslint/eslint#18893)) (lucasrmendonca) - [`2c2805f`](eslint/eslint@2c2805f) chore: Add PR note to all templates ([#18892](eslint/eslint#18892)) (Nicholas C. Zakas) - [`7b852ce`](eslint/eslint@7b852ce) refactor: use `Directive` class from `@eslint/plugin-kit` ([#18884](eslint/eslint#18884)) (Milos Djermanovic) - [`d594ddd`](eslint/eslint@d594ddd) chore: update dependency [@eslint/core](https://github.com/eslint/core) to ^0.6.0 ([#18863](eslint/eslint#18863)) (renovate\[bot]) - [`78b2421`](eslint/eslint@78b2421) chore: Update change.yml ([#18882](eslint/eslint#18882)) (Nicholas C. Zakas) - [`a416f0a`](eslint/eslint@a416f0a) chore: enable `$ExpectType` comments in .ts files ([#18869](eslint/eslint#18869)) (Francesco Trotta) ##### [v9.10.0](eslint/eslint@v9.9.1...6448f32) ##### [v9.9.1](eslint/eslint@v9.9.0...8781e6f) ##### [v9.9.0](https://github.com/eslint/eslint/releases/tag/v9.9.0) #### Features - [`41d0206`](eslint/eslint@41d0206) feat: Add support for TS config files ([#18134](eslint/eslint#18134)) (Arya Emami) - [`3a4eaf9`](eslint/eslint@3a4eaf9) feat: add suggestion to `require-await` to remove `async` keyword ([#18716](eslint/eslint#18716)) (Dave) #### Documentation - [`9fe068c`](eslint/eslint@9fe068c) docs: how to author plugins with configs that extend other configs ([#18753](eslint/eslint#18753)) (Alec Gibson) - [`48117b2`](eslint/eslint@48117b2) docs: add version support page in the side navbar ([#18738](eslint/eslint#18738)) (Amaresh S M) - [`fec2951`](eslint/eslint@fec2951) docs: add version support page to the dropdown ([#18730](eslint/eslint#18730)) (Amaresh S M) - [`38a0661`](eslint/eslint@38a0661) docs: Fix typo ([#18735](eslint/eslint#18735)) (Zaina Al Habash) - [`3c32a9e`](eslint/eslint@3c32a9e) docs: Update yarn command for creating ESLint config ([#18739](eslint/eslint#18739)) (Temitope Ogunleye) - [`f9ac978`](eslint/eslint@f9ac978) docs: Update README (GitHub Actions Bot) #### Chores - [`461b2c3`](eslint/eslint@461b2c3) chore: upgrade to `@eslint/js@9.9.0` ([#18765](eslint/eslint#18765)) (Francesco Trotta) - [`59dba1b`](eslint/eslint@59dba1b) chore: package.json update for [@eslint/js](https://github.com/eslint/js) release (Jenkins) - [`fea8563`](eslint/eslint@fea8563) chore: update dependency [@eslint/core](https://github.com/eslint/core) to ^0.3.0 ([#18724](eslint/eslint#18724)) (renovate\[bot]) - [`aac191e`](eslint/eslint@aac191e) chore: update dependency [@eslint/json](https://github.com/eslint/json) to ^0.3.0 ([#18760](eslint/eslint#18760)) (renovate\[bot]) - [`b97fa05`](eslint/eslint@b97fa05) chore: update wdio dependencies for more stable tests ([#18759](eslint/eslint#18759)) (Christian Bromann) ##### [v9.8.0](eslint/eslint@v9.7.0...63881dc) ##### [v9.7.0](https://github.com/eslint/eslint/releases/tag/v9.7.0) #### Features - [`7bd9839`](eslint/eslint@7bd9839) feat: add support for es2025 duplicate named capturing groups ([#18630](eslint/eslint#18630)) (Yosuke Ota) - [`1381394`](eslint/eslint@1381394) feat: add `regex` option in `no-restricted-imports` ([#18622](eslint/eslint#18622)) (Nitin Kumar) #### Bug Fixes - [`14e9f81`](eslint/eslint@14e9f81) fix: destructuring in catch clause in `no-unused-vars` ([#18636](eslint/eslint#18636)) (Francesco Trotta) #### Documentation - [`9f416db`](eslint/eslint@9f416db) docs: Add Powered by Algolia label to the search. ([#18633](eslint/eslint#18633)) (Amaresh S M) - [`c8d26cb`](eslint/eslint@c8d26cb) docs: Open JS Foundation -> OpenJS Foundation ([#18649](eslint/eslint#18649)) (Milos Djermanovic) - [`6e79ac7`](eslint/eslint@6e79ac7) docs: `loadESLint` does not support option `cwd` ([#18641](eslint/eslint#18641)) (Francesco Trotta) #### Chores - [`793b718`](eslint/eslint@793b718) chore: upgrade [@eslint/js](https://github.com/eslint/js)[@9](https://github.com/9).7.0 ([#18680](eslint/eslint#18680)) (Francesco Trotta) - [`7ed6f9a`](eslint/eslint@7ed6f9a) chore: package.json update for [@eslint/js](https://github.com/eslint/js) release (Jenkins) - [`7bcda76`](eslint/eslint@7bcda76) refactor: Add type references ([#18652](eslint/eslint#18652)) (Nicholas C. Zakas) - [`51bf57c`](eslint/eslint@51bf57c) chore: add tech sponsors through actions ([#18624](eslint/eslint#18624)) (Strek) - [`6320732`](eslint/eslint@6320732) refactor: don't use `parent` property in `NodeEventGenerator` ([#18653](eslint/eslint#18653)) (Milos Djermanovic) - [`9e6d640`](eslint/eslint@9e6d640) refactor: move "Parsing error" prefix adding to Linter ([#18650](eslint/eslint#18650)) (Milos Djermanovic) ##### [v9.6.0](eslint/eslint@v9.5.0...473d1bb) ##### [v9.5.0](eslint/eslint@v9.4.0...5352357) ##### [v9.4.0](eslint/eslint@v9.3.0...a5f7e58) ##### [v9.3.0](eslint/eslint@v9.2.0...41a871c) ##### [v9.2.0](eslint/eslint@v9.1.1...271e7ab) ##### [v9.1.1](eslint/eslint@v9.1.0...b4d2512) ##### [v9.1.0](eslint/eslint@v9.0.0...b78d831) ##### [v9.0.0](eslint/eslint@v8.57.0...e0cbc50)
##### [v9.13.0](eslint/eslint@v9.12.0...1a7cdbf) ##### [v9.12.0](https://github.com/eslint/eslint/releases/tag/v9.12.0) #### Features - [`5a6a053`](eslint/eslint@5a6a053) feat: update to `jiti` v2 ([#18954](eslint/eslint#18954)) (Arya Emami) - [`17a07fb`](eslint/eslint@17a07fb) feat: Hooks for test cases (RuleTester) ([#18771](eslint/eslint#18771)) (Anna Bocharova) - [`2ff0e51`](eslint/eslint@2ff0e51) feat: Implement alternate config lookup ([#18742](eslint/eslint#18742)) (Nicholas C. Zakas) - [`2d17453`](eslint/eslint@2d17453) feat: Implement modified cyclomatic complexity ([#18896](eslint/eslint#18896)) (Dmitry Pashkevich) #### Bug Fixes - [`ea380ca`](eslint/eslint@ea380ca) fix: Upgrade retry to avoid EMFILE errors ([#18986](eslint/eslint#18986)) (Nicholas C. Zakas) - [`fdd6319`](eslint/eslint@fdd6319) fix: Issues with type definitions ([#18940](eslint/eslint#18940)) (Arya Emami) #### Documentation - [`ecbd522`](eslint/eslint@ecbd522) docs: Mention code explorer ([#18978](eslint/eslint#18978)) (Nicholas C. Zakas) - [`7ea4ecc`](eslint/eslint@7ea4ecc) docs: Clarifying the Use of Meta Objects ([#18697](eslint/eslint#18697)) (Amaresh S M) - [`d3e4b2e`](eslint/eslint@d3e4b2e) docs: Clarify how to exclude `.js` files ([#18976](eslint/eslint#18976)) (Milos Djermanovic) - [`57232ff`](eslint/eslint@57232ff) docs: Mention plugin-kit in language docs ([#18973](eslint/eslint#18973)) (Nicholas C. Zakas) - [`b80ed00`](eslint/eslint@b80ed00) docs: Update README (GitHub Actions Bot) - [`cb69ab3`](eslint/eslint@cb69ab3) docs: Update README (GitHub Actions Bot) - [`7fb0d95`](eslint/eslint@7fb0d95) docs: Update README (GitHub Actions Bot) - [`493348a`](eslint/eslint@493348a) docs: Update README (GitHub Actions Bot) - [`87a582c`](eslint/eslint@87a582c) docs: fix typo in `id-match` rule ([#18944](eslint/eslint#18944)) (Jay) #### Chores - [`555aafd`](eslint/eslint@555aafd) chore: upgrade to `@eslint/js@9.12.0` ([#18987](eslint/eslint#18987)) (Francesco Trotta) - [`873ae60`](eslint/eslint@873ae60) chore: package.json update for [@eslint/js](https://github.com/eslint/js) release (Jenkins) - [`d0a5414`](eslint/eslint@d0a5414) refactor: replace strip-ansi with native module ([#18982](eslint/eslint#18982)) (Cristopher) - [`b827029`](eslint/eslint@b827029) chore: Enable JSON5 linting ([#18979](eslint/eslint#18979)) (Milos Djermanovic) - [`8f55ca2`](eslint/eslint@8f55ca2) chore: Upgrade espree, eslint-visitor-keys, eslint-scope ([#18962](eslint/eslint#18962)) (Nicholas C. Zakas) - [`c1a2725`](eslint/eslint@c1a2725) chore: update dependency mocha to ^10.7.3 ([#18945](eslint/eslint#18945)) (Milos Djermanovic) ##### [v9.11.1](eslint/eslint@v9.11.0...69e9459) ##### [v9.11.0](https://github.com/eslint/eslint/releases/tag/v9.11.0) #### Features - [`ec30c73`](eslint/eslint@ec30c73) feat: add "eslint/universal" to export `Linter` ([#18883](eslint/eslint#18883)) (唯然) - [`c591da6`](eslint/eslint@c591da6) feat: Add language to types ([#18917](eslint/eslint#18917)) (Nicholas C. Zakas) - [`492eb8f`](eslint/eslint@492eb8f) feat: limit the name given to `ImportSpecifier` in `id-length` ([#18861](eslint/eslint#18861)) (Tanuj Kanti) - [`19c6856`](eslint/eslint@19c6856) feat: Add `no-useless-constructor` suggestion ([#18799](eslint/eslint#18799)) (Jordan Thomson) - [`a48f8c2`](eslint/eslint@a48f8c2) feat: add type `FormatterFunction`, update `LoadedFormatter` ([#18872](eslint/eslint#18872)) (Francesco Trotta) #### Bug Fixes - [`5e5f39b`](eslint/eslint@5e5f39b) fix: add missing types for `no-restricted-exports` rule ([#18914](eslint/eslint#18914)) (Kristóf Poduszló) - [`8f630eb`](eslint/eslint@8f630eb) fix: add missing types for `no-param-reassign` options ([#18906](eslint/eslint#18906)) (Kristóf Poduszló) - [`d715781`](eslint/eslint@d715781) fix: add missing types for `no-extra-boolean-cast` options ([#18902](eslint/eslint#18902)) (Kristóf Poduszló) - [`2de5742`](eslint/eslint@2de5742) fix: add missing types for `no-misleading-character-class` options ([#18905](eslint/eslint#18905)) (Kristóf Poduszló) - [`c153084`](eslint/eslint@c153084) fix: add missing types for `no-implicit-coercion` options ([#18903](eslint/eslint#18903)) (Kristóf Poduszló) - [`fa11b2e`](eslint/eslint@fa11b2e) fix: add missing types for `no-empty-function` options ([#18901](eslint/eslint#18901)) (Kristóf Poduszló) - [`a0deed1`](eslint/eslint@a0deed1) fix: add missing types for `camelcase` options ([#18897](eslint/eslint#18897)) (Kristóf Poduszló) #### Documentation - [`e4e5709`](eslint/eslint@e4e5709) docs: correct `prefer-object-has-own` type definition comment ([#18924](eslint/eslint#18924)) (Nitin Kumar) - [`91cbd18`](eslint/eslint@91cbd18) docs: add unicode abbreviations in no-irregular-whitespace rule ([#18894](eslint/eslint#18894)) (Alix Royere) - [`59cfc0f`](eslint/eslint@59cfc0f) docs: clarify `resultsMeta` in `LoadedFormatter` type ([#18881](eslint/eslint#18881)) (Milos Djermanovic) - [`adcc50d`](eslint/eslint@adcc50d) docs: Update README (GitHub Actions Bot) - [`4edac1a`](eslint/eslint@4edac1a) docs: Update README (GitHub Actions Bot) #### Build Related - [`959d360`](eslint/eslint@959d360) build: Support updates to previous major versions ([#18871](eslint/eslint#18871)) (Milos Djermanovic) #### Chores - [`ca21a64`](eslint/eslint@ca21a64) chore: upgrade [@eslint/js](https://github.com/eslint/js)[@9](https://github.com/9).11.0 ([#18927](eslint/eslint#18927)) (Milos Djermanovic) - [`a10f90a`](eslint/eslint@a10f90a) chore: package.json update for [@eslint/js](https://github.com/eslint/js) release (Jenkins) - [`e4e02cc`](eslint/eslint@e4e02cc) refactor: Extract processor logic into ProcessorService ([#18818](eslint/eslint#18818)) (Nicholas C. Zakas) - [`6d4484d`](eslint/eslint@6d4484d) chore: updates for v8.57.1 release (Jenkins) - [`71f37c5`](eslint/eslint@71f37c5) refactor: use optional chaining when validating config rules ([#18893](eslint/eslint#18893)) (lucasrmendonca) - [`2c2805f`](eslint/eslint@2c2805f) chore: Add PR note to all templates ([#18892](eslint/eslint#18892)) (Nicholas C. Zakas) - [`7b852ce`](eslint/eslint@7b852ce) refactor: use `Directive` class from `@eslint/plugin-kit` ([#18884](eslint/eslint#18884)) (Milos Djermanovic) - [`d594ddd`](eslint/eslint@d594ddd) chore: update dependency [@eslint/core](https://github.com/eslint/core) to ^0.6.0 ([#18863](eslint/eslint#18863)) (renovate\[bot]) - [`78b2421`](eslint/eslint@78b2421) chore: Update change.yml ([#18882](eslint/eslint#18882)) (Nicholas C. Zakas) - [`a416f0a`](eslint/eslint@a416f0a) chore: enable `$ExpectType` comments in .ts files ([#18869](eslint/eslint#18869)) (Francesco Trotta) ##### [v9.10.0](eslint/eslint@v9.9.1...6448f32) ##### [v9.9.1](eslint/eslint@v9.9.0...8781e6f) ##### [v9.9.0](https://github.com/eslint/eslint/releases/tag/v9.9.0) #### Features - [`41d0206`](eslint/eslint@41d0206) feat: Add support for TS config files ([#18134](eslint/eslint#18134)) (Arya Emami) - [`3a4eaf9`](eslint/eslint@3a4eaf9) feat: add suggestion to `require-await` to remove `async` keyword ([#18716](eslint/eslint#18716)) (Dave) #### Documentation - [`9fe068c`](eslint/eslint@9fe068c) docs: how to author plugins with configs that extend other configs ([#18753](eslint/eslint#18753)) (Alec Gibson) - [`48117b2`](eslint/eslint@48117b2) docs: add version support page in the side navbar ([#18738](eslint/eslint#18738)) (Amaresh S M) - [`fec2951`](eslint/eslint@fec2951) docs: add version support page to the dropdown ([#18730](eslint/eslint#18730)) (Amaresh S M) - [`38a0661`](eslint/eslint@38a0661) docs: Fix typo ([#18735](eslint/eslint#18735)) (Zaina Al Habash) - [`3c32a9e`](eslint/eslint@3c32a9e) docs: Update yarn command for creating ESLint config ([#18739](eslint/eslint#18739)) (Temitope Ogunleye) - [`f9ac978`](eslint/eslint@f9ac978) docs: Update README (GitHub Actions Bot) #### Chores - [`461b2c3`](eslint/eslint@461b2c3) chore: upgrade to `@eslint/js@9.9.0` ([#18765](eslint/eslint#18765)) (Francesco Trotta) - [`59dba1b`](eslint/eslint@59dba1b) chore: package.json update for [@eslint/js](https://github.com/eslint/js) release (Jenkins) - [`fea8563`](eslint/eslint@fea8563) chore: update dependency [@eslint/core](https://github.com/eslint/core) to ^0.3.0 ([#18724](eslint/eslint#18724)) (renovate\[bot]) - [`aac191e`](eslint/eslint@aac191e) chore: update dependency [@eslint/json](https://github.com/eslint/json) to ^0.3.0 ([#18760](eslint/eslint#18760)) (renovate\[bot]) - [`b97fa05`](eslint/eslint@b97fa05) chore: update wdio dependencies for more stable tests ([#18759](eslint/eslint#18759)) (Christian Bromann) ##### [v9.8.0](eslint/eslint@v9.7.0...63881dc) ##### [v9.7.0](https://github.com/eslint/eslint/releases/tag/v9.7.0) #### Features - [`7bd9839`](eslint/eslint@7bd9839) feat: add support for es2025 duplicate named capturing groups ([#18630](eslint/eslint#18630)) (Yosuke Ota) - [`1381394`](eslint/eslint@1381394) feat: add `regex` option in `no-restricted-imports` ([#18622](eslint/eslint#18622)) (Nitin Kumar) #### Bug Fixes - [`14e9f81`](eslint/eslint@14e9f81) fix: destructuring in catch clause in `no-unused-vars` ([#18636](eslint/eslint#18636)) (Francesco Trotta) #### Documentation - [`9f416db`](eslint/eslint@9f416db) docs: Add Powered by Algolia label to the search. ([#18633](eslint/eslint#18633)) (Amaresh S M) - [`c8d26cb`](eslint/eslint@c8d26cb) docs: Open JS Foundation -> OpenJS Foundation ([#18649](eslint/eslint#18649)) (Milos Djermanovic) - [`6e79ac7`](eslint/eslint@6e79ac7) docs: `loadESLint` does not support option `cwd` ([#18641](eslint/eslint#18641)) (Francesco Trotta) #### Chores - [`793b718`](eslint/eslint@793b718) chore: upgrade [@eslint/js](https://github.com/eslint/js)[@9](https://github.com/9).7.0 ([#18680](eslint/eslint#18680)) (Francesco Trotta) - [`7ed6f9a`](eslint/eslint@7ed6f9a) chore: package.json update for [@eslint/js](https://github.com/eslint/js) release (Jenkins) - [`7bcda76`](eslint/eslint@7bcda76) refactor: Add type references ([#18652](eslint/eslint#18652)) (Nicholas C. Zakas) - [`51bf57c`](eslint/eslint@51bf57c) chore: add tech sponsors through actions ([#18624](eslint/eslint#18624)) (Strek) - [`6320732`](eslint/eslint@6320732) refactor: don't use `parent` property in `NodeEventGenerator` ([#18653](eslint/eslint#18653)) (Milos Djermanovic) - [`9e6d640`](eslint/eslint@9e6d640) refactor: move "Parsing error" prefix adding to Linter ([#18650](eslint/eslint#18650)) (Milos Djermanovic) ##### [v9.6.0](eslint/eslint@v9.5.0...473d1bb) ##### [v9.5.0](eslint/eslint@v9.4.0...5352357) ##### [v9.4.0](eslint/eslint@v9.3.0...a5f7e58) ##### [v9.3.0](eslint/eslint@v9.2.0...41a871c) ##### [v9.2.0](eslint/eslint@v9.1.1...271e7ab) ##### [v9.1.1](eslint/eslint@v9.1.0...b4d2512) ##### [v9.1.0](eslint/eslint@v9.0.0...b78d831) ##### [v9.0.0](eslint/eslint@v8.57.0...e0cbc50)
##### [v9.13.0](eslint/eslint@v9.12.0...1a7cdbf) ##### [v9.12.0](https://github.com/eslint/eslint/releases/tag/v9.12.0) #### Features - [`5a6a053`](eslint/eslint@5a6a053) feat: update to `jiti` v2 ([#18954](eslint/eslint#18954)) (Arya Emami) - [`17a07fb`](eslint/eslint@17a07fb) feat: Hooks for test cases (RuleTester) ([#18771](eslint/eslint#18771)) (Anna Bocharova) - [`2ff0e51`](eslint/eslint@2ff0e51) feat: Implement alternate config lookup ([#18742](eslint/eslint#18742)) (Nicholas C. Zakas) - [`2d17453`](eslint/eslint@2d17453) feat: Implement modified cyclomatic complexity ([#18896](eslint/eslint#18896)) (Dmitry Pashkevich) #### Bug Fixes - [`ea380ca`](eslint/eslint@ea380ca) fix: Upgrade retry to avoid EMFILE errors ([#18986](eslint/eslint#18986)) (Nicholas C. Zakas) - [`fdd6319`](eslint/eslint@fdd6319) fix: Issues with type definitions ([#18940](eslint/eslint#18940)) (Arya Emami) #### Documentation - [`ecbd522`](eslint/eslint@ecbd522) docs: Mention code explorer ([#18978](eslint/eslint#18978)) (Nicholas C. Zakas) - [`7ea4ecc`](eslint/eslint@7ea4ecc) docs: Clarifying the Use of Meta Objects ([#18697](eslint/eslint#18697)) (Amaresh S M) - [`d3e4b2e`](eslint/eslint@d3e4b2e) docs: Clarify how to exclude `.js` files ([#18976](eslint/eslint#18976)) (Milos Djermanovic) - [`57232ff`](eslint/eslint@57232ff) docs: Mention plugin-kit in language docs ([#18973](eslint/eslint#18973)) (Nicholas C. Zakas) - [`b80ed00`](eslint/eslint@b80ed00) docs: Update README (GitHub Actions Bot) - [`cb69ab3`](eslint/eslint@cb69ab3) docs: Update README (GitHub Actions Bot) - [`7fb0d95`](eslint/eslint@7fb0d95) docs: Update README (GitHub Actions Bot) - [`493348a`](eslint/eslint@493348a) docs: Update README (GitHub Actions Bot) - [`87a582c`](eslint/eslint@87a582c) docs: fix typo in `id-match` rule ([#18944](eslint/eslint#18944)) (Jay) #### Chores - [`555aafd`](eslint/eslint@555aafd) chore: upgrade to `@eslint/js@9.12.0` ([#18987](eslint/eslint#18987)) (Francesco Trotta) - [`873ae60`](eslint/eslint@873ae60) chore: package.json update for [@eslint/js](https://github.com/eslint/js) release (Jenkins) - [`d0a5414`](eslint/eslint@d0a5414) refactor: replace strip-ansi with native module ([#18982](eslint/eslint#18982)) (Cristopher) - [`b827029`](eslint/eslint@b827029) chore: Enable JSON5 linting ([#18979](eslint/eslint#18979)) (Milos Djermanovic) - [`8f55ca2`](eslint/eslint@8f55ca2) chore: Upgrade espree, eslint-visitor-keys, eslint-scope ([#18962](eslint/eslint#18962)) (Nicholas C. Zakas) - [`c1a2725`](eslint/eslint@c1a2725) chore: update dependency mocha to ^10.7.3 ([#18945](eslint/eslint#18945)) (Milos Djermanovic) ##### [v9.11.1](eslint/eslint@v9.11.0...69e9459) ##### [v9.11.0](https://github.com/eslint/eslint/releases/tag/v9.11.0) #### Features - [`ec30c73`](eslint/eslint@ec30c73) feat: add "eslint/universal" to export `Linter` ([#18883](eslint/eslint#18883)) (唯然) - [`c591da6`](eslint/eslint@c591da6) feat: Add language to types ([#18917](eslint/eslint#18917)) (Nicholas C. Zakas) - [`492eb8f`](eslint/eslint@492eb8f) feat: limit the name given to `ImportSpecifier` in `id-length` ([#18861](eslint/eslint#18861)) (Tanuj Kanti) - [`19c6856`](eslint/eslint@19c6856) feat: Add `no-useless-constructor` suggestion ([#18799](eslint/eslint#18799)) (Jordan Thomson) - [`a48f8c2`](eslint/eslint@a48f8c2) feat: add type `FormatterFunction`, update `LoadedFormatter` ([#18872](eslint/eslint#18872)) (Francesco Trotta) #### Bug Fixes - [`5e5f39b`](eslint/eslint@5e5f39b) fix: add missing types for `no-restricted-exports` rule ([#18914](eslint/eslint#18914)) (Kristóf Poduszló) - [`8f630eb`](eslint/eslint@8f630eb) fix: add missing types for `no-param-reassign` options ([#18906](eslint/eslint#18906)) (Kristóf Poduszló) - [`d715781`](eslint/eslint@d715781) fix: add missing types for `no-extra-boolean-cast` options ([#18902](eslint/eslint#18902)) (Kristóf Poduszló) - [`2de5742`](eslint/eslint@2de5742) fix: add missing types for `no-misleading-character-class` options ([#18905](eslint/eslint#18905)) (Kristóf Poduszló) - [`c153084`](eslint/eslint@c153084) fix: add missing types for `no-implicit-coercion` options ([#18903](eslint/eslint#18903)) (Kristóf Poduszló) - [`fa11b2e`](eslint/eslint@fa11b2e) fix: add missing types for `no-empty-function` options ([#18901](eslint/eslint#18901)) (Kristóf Poduszló) - [`a0deed1`](eslint/eslint@a0deed1) fix: add missing types for `camelcase` options ([#18897](eslint/eslint#18897)) (Kristóf Poduszló) #### Documentation - [`e4e5709`](eslint/eslint@e4e5709) docs: correct `prefer-object-has-own` type definition comment ([#18924](eslint/eslint#18924)) (Nitin Kumar) - [`91cbd18`](eslint/eslint@91cbd18) docs: add unicode abbreviations in no-irregular-whitespace rule ([#18894](eslint/eslint#18894)) (Alix Royere) - [`59cfc0f`](eslint/eslint@59cfc0f) docs: clarify `resultsMeta` in `LoadedFormatter` type ([#18881](eslint/eslint#18881)) (Milos Djermanovic) - [`adcc50d`](eslint/eslint@adcc50d) docs: Update README (GitHub Actions Bot) - [`4edac1a`](eslint/eslint@4edac1a) docs: Update README (GitHub Actions Bot) #### Build Related - [`959d360`](eslint/eslint@959d360) build: Support updates to previous major versions ([#18871](eslint/eslint#18871)) (Milos Djermanovic) #### Chores - [`ca21a64`](eslint/eslint@ca21a64) chore: upgrade [@eslint/js](https://github.com/eslint/js)[@9](https://github.com/9).11.0 ([#18927](eslint/eslint#18927)) (Milos Djermanovic) - [`a10f90a`](eslint/eslint@a10f90a) chore: package.json update for [@eslint/js](https://github.com/eslint/js) release (Jenkins) - [`e4e02cc`](eslint/eslint@e4e02cc) refactor: Extract processor logic into ProcessorService ([#18818](eslint/eslint#18818)) (Nicholas C. Zakas) - [`6d4484d`](eslint/eslint@6d4484d) chore: updates for v8.57.1 release (Jenkins) - [`71f37c5`](eslint/eslint@71f37c5) refactor: use optional chaining when validating config rules ([#18893](eslint/eslint#18893)) (lucasrmendonca) - [`2c2805f`](eslint/eslint@2c2805f) chore: Add PR note to all templates ([#18892](eslint/eslint#18892)) (Nicholas C. Zakas) - [`7b852ce`](eslint/eslint@7b852ce) refactor: use `Directive` class from `@eslint/plugin-kit` ([#18884](eslint/eslint#18884)) (Milos Djermanovic) - [`d594ddd`](eslint/eslint@d594ddd) chore: update dependency [@eslint/core](https://github.com/eslint/core) to ^0.6.0 ([#18863](eslint/eslint#18863)) (renovate\[bot]) - [`78b2421`](eslint/eslint@78b2421) chore: Update change.yml ([#18882](eslint/eslint#18882)) (Nicholas C. Zakas) - [`a416f0a`](eslint/eslint@a416f0a) chore: enable `$ExpectType` comments in .ts files ([#18869](eslint/eslint#18869)) (Francesco Trotta) ##### [v9.10.0](eslint/eslint@v9.9.1...6448f32) ##### [v9.9.1](eslint/eslint@v9.9.0...8781e6f) ##### [v9.9.0](https://github.com/eslint/eslint/releases/tag/v9.9.0) #### Features - [`41d0206`](eslint/eslint@41d0206) feat: Add support for TS config files ([#18134](eslint/eslint#18134)) (Arya Emami) - [`3a4eaf9`](eslint/eslint@3a4eaf9) feat: add suggestion to `require-await` to remove `async` keyword ([#18716](eslint/eslint#18716)) (Dave) #### Documentation - [`9fe068c`](eslint/eslint@9fe068c) docs: how to author plugins with configs that extend other configs ([#18753](eslint/eslint#18753)) (Alec Gibson) - [`48117b2`](eslint/eslint@48117b2) docs: add version support page in the side navbar ([#18738](eslint/eslint#18738)) (Amaresh S M) - [`fec2951`](eslint/eslint@fec2951) docs: add version support page to the dropdown ([#18730](eslint/eslint#18730)) (Amaresh S M) - [`38a0661`](eslint/eslint@38a0661) docs: Fix typo ([#18735](eslint/eslint#18735)) (Zaina Al Habash) - [`3c32a9e`](eslint/eslint@3c32a9e) docs: Update yarn command for creating ESLint config ([#18739](eslint/eslint#18739)) (Temitope Ogunleye) - [`f9ac978`](eslint/eslint@f9ac978) docs: Update README (GitHub Actions Bot) #### Chores - [`461b2c3`](eslint/eslint@461b2c3) chore: upgrade to `@eslint/js@9.9.0` ([#18765](eslint/eslint#18765)) (Francesco Trotta) - [`59dba1b`](eslint/eslint@59dba1b) chore: package.json update for [@eslint/js](https://github.com/eslint/js) release (Jenkins) - [`fea8563`](eslint/eslint@fea8563) chore: update dependency [@eslint/core](https://github.com/eslint/core) to ^0.3.0 ([#18724](eslint/eslint#18724)) (renovate\[bot]) - [`aac191e`](eslint/eslint@aac191e) chore: update dependency [@eslint/json](https://github.com/eslint/json) to ^0.3.0 ([#18760](eslint/eslint#18760)) (renovate\[bot]) - [`b97fa05`](eslint/eslint@b97fa05) chore: update wdio dependencies for more stable tests ([#18759](eslint/eslint#18759)) (Christian Bromann) ##### [v9.8.0](eslint/eslint@v9.7.0...63881dc) ##### [v9.7.0](https://github.com/eslint/eslint/releases/tag/v9.7.0) #### Features - [`7bd9839`](eslint/eslint@7bd9839) feat: add support for es2025 duplicate named capturing groups ([#18630](eslint/eslint#18630)) (Yosuke Ota) - [`1381394`](eslint/eslint@1381394) feat: add `regex` option in `no-restricted-imports` ([#18622](eslint/eslint#18622)) (Nitin Kumar) #### Bug Fixes - [`14e9f81`](eslint/eslint@14e9f81) fix: destructuring in catch clause in `no-unused-vars` ([#18636](eslint/eslint#18636)) (Francesco Trotta) #### Documentation - [`9f416db`](eslint/eslint@9f416db) docs: Add Powered by Algolia label to the search. ([#18633](eslint/eslint#18633)) (Amaresh S M) - [`c8d26cb`](eslint/eslint@c8d26cb) docs: Open JS Foundation -> OpenJS Foundation ([#18649](eslint/eslint#18649)) (Milos Djermanovic) - [`6e79ac7`](eslint/eslint@6e79ac7) docs: `loadESLint` does not support option `cwd` ([#18641](eslint/eslint#18641)) (Francesco Trotta) #### Chores - [`793b718`](eslint/eslint@793b718) chore: upgrade [@eslint/js](https://github.com/eslint/js)[@9](https://github.com/9).7.0 ([#18680](eslint/eslint#18680)) (Francesco Trotta) - [`7ed6f9a`](eslint/eslint@7ed6f9a) chore: package.json update for [@eslint/js](https://github.com/eslint/js) release (Jenkins) - [`7bcda76`](eslint/eslint@7bcda76) refactor: Add type references ([#18652](eslint/eslint#18652)) (Nicholas C. Zakas) - [`51bf57c`](eslint/eslint@51bf57c) chore: add tech sponsors through actions ([#18624](eslint/eslint#18624)) (Strek) - [`6320732`](eslint/eslint@6320732) refactor: don't use `parent` property in `NodeEventGenerator` ([#18653](eslint/eslint#18653)) (Milos Djermanovic) - [`9e6d640`](eslint/eslint@9e6d640) refactor: move "Parsing error" prefix adding to Linter ([#18650](eslint/eslint#18650)) (Milos Djermanovic) ##### [v9.6.0](eslint/eslint@v9.5.0...473d1bb) ##### [v9.5.0](eslint/eslint@v9.4.0...5352357) ##### [v9.4.0](eslint/eslint@v9.3.0...a5f7e58) ##### [v9.3.0](eslint/eslint@v9.2.0...41a871c) ##### [v9.2.0](eslint/eslint@v9.1.1...271e7ab) ##### [v9.1.1](eslint/eslint@v9.1.0...b4d2512) ##### [v9.1.0](eslint/eslint@v9.0.0...b78d831) ##### [v9.0.0](eslint/eslint@v8.57.0...e0cbc50)
##### [v9.13.0](eslint/eslint@v9.12.0...1a7cdbf) ##### [v9.12.0](https://github.com/eslint/eslint/releases/tag/v9.12.0) #### Features - [`5a6a053`](eslint/eslint@5a6a053) feat: update to `jiti` v2 ([#18954](eslint/eslint#18954)) (Arya Emami) - [`17a07fb`](eslint/eslint@17a07fb) feat: Hooks for test cases (RuleTester) ([#18771](eslint/eslint#18771)) (Anna Bocharova) - [`2ff0e51`](eslint/eslint@2ff0e51) feat: Implement alternate config lookup ([#18742](eslint/eslint#18742)) (Nicholas C. Zakas) - [`2d17453`](eslint/eslint@2d17453) feat: Implement modified cyclomatic complexity ([#18896](eslint/eslint#18896)) (Dmitry Pashkevich) #### Bug Fixes - [`ea380ca`](eslint/eslint@ea380ca) fix: Upgrade retry to avoid EMFILE errors ([#18986](eslint/eslint#18986)) (Nicholas C. Zakas) - [`fdd6319`](eslint/eslint@fdd6319) fix: Issues with type definitions ([#18940](eslint/eslint#18940)) (Arya Emami) #### Documentation - [`ecbd522`](eslint/eslint@ecbd522) docs: Mention code explorer ([#18978](eslint/eslint#18978)) (Nicholas C. Zakas) - [`7ea4ecc`](eslint/eslint@7ea4ecc) docs: Clarifying the Use of Meta Objects ([#18697](eslint/eslint#18697)) (Amaresh S M) - [`d3e4b2e`](eslint/eslint@d3e4b2e) docs: Clarify how to exclude `.js` files ([#18976](eslint/eslint#18976)) (Milos Djermanovic) - [`57232ff`](eslint/eslint@57232ff) docs: Mention plugin-kit in language docs ([#18973](eslint/eslint#18973)) (Nicholas C. Zakas) - [`b80ed00`](eslint/eslint@b80ed00) docs: Update README (GitHub Actions Bot) - [`cb69ab3`](eslint/eslint@cb69ab3) docs: Update README (GitHub Actions Bot) - [`7fb0d95`](eslint/eslint@7fb0d95) docs: Update README (GitHub Actions Bot) - [`493348a`](eslint/eslint@493348a) docs: Update README (GitHub Actions Bot) - [`87a582c`](eslint/eslint@87a582c) docs: fix typo in `id-match` rule ([#18944](eslint/eslint#18944)) (Jay) #### Chores - [`555aafd`](eslint/eslint@555aafd) chore: upgrade to `@eslint/js@9.12.0` ([#18987](eslint/eslint#18987)) (Francesco Trotta) - [`873ae60`](eslint/eslint@873ae60) chore: package.json update for [@eslint/js](https://github.com/eslint/js) release (Jenkins) - [`d0a5414`](eslint/eslint@d0a5414) refactor: replace strip-ansi with native module ([#18982](eslint/eslint#18982)) (Cristopher) - [`b827029`](eslint/eslint@b827029) chore: Enable JSON5 linting ([#18979](eslint/eslint#18979)) (Milos Djermanovic) - [`8f55ca2`](eslint/eslint@8f55ca2) chore: Upgrade espree, eslint-visitor-keys, eslint-scope ([#18962](eslint/eslint#18962)) (Nicholas C. Zakas) - [`c1a2725`](eslint/eslint@c1a2725) chore: update dependency mocha to ^10.7.3 ([#18945](eslint/eslint#18945)) (Milos Djermanovic) ##### [v9.11.1](eslint/eslint@v9.11.0...69e9459) ##### [v9.11.0](https://github.com/eslint/eslint/releases/tag/v9.11.0) #### Features - [`ec30c73`](eslint/eslint@ec30c73) feat: add "eslint/universal" to export `Linter` ([#18883](eslint/eslint#18883)) (唯然) - [`c591da6`](eslint/eslint@c591da6) feat: Add language to types ([#18917](eslint/eslint#18917)) (Nicholas C. Zakas) - [`492eb8f`](eslint/eslint@492eb8f) feat: limit the name given to `ImportSpecifier` in `id-length` ([#18861](eslint/eslint#18861)) (Tanuj Kanti) - [`19c6856`](eslint/eslint@19c6856) feat: Add `no-useless-constructor` suggestion ([#18799](eslint/eslint#18799)) (Jordan Thomson) - [`a48f8c2`](eslint/eslint@a48f8c2) feat: add type `FormatterFunction`, update `LoadedFormatter` ([#18872](eslint/eslint#18872)) (Francesco Trotta) #### Bug Fixes - [`5e5f39b`](eslint/eslint@5e5f39b) fix: add missing types for `no-restricted-exports` rule ([#18914](eslint/eslint#18914)) (Kristóf Poduszló) - [`8f630eb`](eslint/eslint@8f630eb) fix: add missing types for `no-param-reassign` options ([#18906](eslint/eslint#18906)) (Kristóf Poduszló) - [`d715781`](eslint/eslint@d715781) fix: add missing types for `no-extra-boolean-cast` options ([#18902](eslint/eslint#18902)) (Kristóf Poduszló) - [`2de5742`](eslint/eslint@2de5742) fix: add missing types for `no-misleading-character-class` options ([#18905](eslint/eslint#18905)) (Kristóf Poduszló) - [`c153084`](eslint/eslint@c153084) fix: add missing types for `no-implicit-coercion` options ([#18903](eslint/eslint#18903)) (Kristóf Poduszló) - [`fa11b2e`](eslint/eslint@fa11b2e) fix: add missing types for `no-empty-function` options ([#18901](eslint/eslint#18901)) (Kristóf Poduszló) - [`a0deed1`](eslint/eslint@a0deed1) fix: add missing types for `camelcase` options ([#18897](eslint/eslint#18897)) (Kristóf Poduszló) #### Documentation - [`e4e5709`](eslint/eslint@e4e5709) docs: correct `prefer-object-has-own` type definition comment ([#18924](eslint/eslint#18924)) (Nitin Kumar) - [`91cbd18`](eslint/eslint@91cbd18) docs: add unicode abbreviations in no-irregular-whitespace rule ([#18894](eslint/eslint#18894)) (Alix Royere) - [`59cfc0f`](eslint/eslint@59cfc0f) docs: clarify `resultsMeta` in `LoadedFormatter` type ([#18881](eslint/eslint#18881)) (Milos Djermanovic) - [`adcc50d`](eslint/eslint@adcc50d) docs: Update README (GitHub Actions Bot) - [`4edac1a`](eslint/eslint@4edac1a) docs: Update README (GitHub Actions Bot) #### Build Related - [`959d360`](eslint/eslint@959d360) build: Support updates to previous major versions ([#18871](eslint/eslint#18871)) (Milos Djermanovic) #### Chores - [`ca21a64`](eslint/eslint@ca21a64) chore: upgrade [@eslint/js](https://github.com/eslint/js)[@9](https://github.com/9).11.0 ([#18927](eslint/eslint#18927)) (Milos Djermanovic) - [`a10f90a`](eslint/eslint@a10f90a) chore: package.json update for [@eslint/js](https://github.com/eslint/js) release (Jenkins) - [`e4e02cc`](eslint/eslint@e4e02cc) refactor: Extract processor logic into ProcessorService ([#18818](eslint/eslint#18818)) (Nicholas C. Zakas) - [`6d4484d`](eslint/eslint@6d4484d) chore: updates for v8.57.1 release (Jenkins) - [`71f37c5`](eslint/eslint@71f37c5) refactor: use optional chaining when validating config rules ([#18893](eslint/eslint#18893)) (lucasrmendonca) - [`2c2805f`](eslint/eslint@2c2805f) chore: Add PR note to all templates ([#18892](eslint/eslint#18892)) (Nicholas C. Zakas) - [`7b852ce`](eslint/eslint@7b852ce) refactor: use `Directive` class from `@eslint/plugin-kit` ([#18884](eslint/eslint#18884)) (Milos Djermanovic) - [`d594ddd`](eslint/eslint@d594ddd) chore: update dependency [@eslint/core](https://github.com/eslint/core) to ^0.6.0 ([#18863](eslint/eslint#18863)) (renovate\[bot]) - [`78b2421`](eslint/eslint@78b2421) chore: Update change.yml ([#18882](eslint/eslint#18882)) (Nicholas C. Zakas) - [`a416f0a`](eslint/eslint@a416f0a) chore: enable `$ExpectType` comments in .ts files ([#18869](eslint/eslint#18869)) (Francesco Trotta) ##### [v9.10.0](eslint/eslint@v9.9.1...6448f32) ##### [v9.9.1](eslint/eslint@v9.9.0...8781e6f) ##### [v9.9.0](https://github.com/eslint/eslint/releases/tag/v9.9.0) #### Features - [`41d0206`](eslint/eslint@41d0206) feat: Add support for TS config files ([#18134](eslint/eslint#18134)) (Arya Emami) - [`3a4eaf9`](eslint/eslint@3a4eaf9) feat: add suggestion to `require-await` to remove `async` keyword ([#18716](eslint/eslint#18716)) (Dave) #### Documentation - [`9fe068c`](eslint/eslint@9fe068c) docs: how to author plugins with configs that extend other configs ([#18753](eslint/eslint#18753)) (Alec Gibson) - [`48117b2`](eslint/eslint@48117b2) docs: add version support page in the side navbar ([#18738](eslint/eslint#18738)) (Amaresh S M) - [`fec2951`](eslint/eslint@fec2951) docs: add version support page to the dropdown ([#18730](eslint/eslint#18730)) (Amaresh S M) - [`38a0661`](eslint/eslint@38a0661) docs: Fix typo ([#18735](eslint/eslint#18735)) (Zaina Al Habash) - [`3c32a9e`](eslint/eslint@3c32a9e) docs: Update yarn command for creating ESLint config ([#18739](eslint/eslint#18739)) (Temitope Ogunleye) - [`f9ac978`](eslint/eslint@f9ac978) docs: Update README (GitHub Actions Bot) #### Chores - [`461b2c3`](eslint/eslint@461b2c3) chore: upgrade to `@eslint/js@9.9.0` ([#18765](eslint/eslint#18765)) (Francesco Trotta) - [`59dba1b`](eslint/eslint@59dba1b) chore: package.json update for [@eslint/js](https://github.com/eslint/js) release (Jenkins) - [`fea8563`](eslint/eslint@fea8563) chore: update dependency [@eslint/core](https://github.com/eslint/core) to ^0.3.0 ([#18724](eslint/eslint#18724)) (renovate\[bot]) - [`aac191e`](eslint/eslint@aac191e) chore: update dependency [@eslint/json](https://github.com/eslint/json) to ^0.3.0 ([#18760](eslint/eslint#18760)) (renovate\[bot]) - [`b97fa05`](eslint/eslint@b97fa05) chore: update wdio dependencies for more stable tests ([#18759](eslint/eslint#18759)) (Christian Bromann) ##### [v9.8.0](eslint/eslint@v9.7.0...63881dc) ##### [v9.7.0](https://github.com/eslint/eslint/releases/tag/v9.7.0) #### Features - [`7bd9839`](eslint/eslint@7bd9839) feat: add support for es2025 duplicate named capturing groups ([#18630](eslint/eslint#18630)) (Yosuke Ota) - [`1381394`](eslint/eslint@1381394) feat: add `regex` option in `no-restricted-imports` ([#18622](eslint/eslint#18622)) (Nitin Kumar) #### Bug Fixes - [`14e9f81`](eslint/eslint@14e9f81) fix: destructuring in catch clause in `no-unused-vars` ([#18636](eslint/eslint#18636)) (Francesco Trotta) #### Documentation - [`9f416db`](eslint/eslint@9f416db) docs: Add Powered by Algolia label to the search. ([#18633](eslint/eslint#18633)) (Amaresh S M) - [`c8d26cb`](eslint/eslint@c8d26cb) docs: Open JS Foundation -> OpenJS Foundation ([#18649](eslint/eslint#18649)) (Milos Djermanovic) - [`6e79ac7`](eslint/eslint@6e79ac7) docs: `loadESLint` does not support option `cwd` ([#18641](eslint/eslint#18641)) (Francesco Trotta) #### Chores - [`793b718`](eslint/eslint@793b718) chore: upgrade [@eslint/js](https://github.com/eslint/js)[@9](https://github.com/9).7.0 ([#18680](eslint/eslint#18680)) (Francesco Trotta) - [`7ed6f9a`](eslint/eslint@7ed6f9a) chore: package.json update for [@eslint/js](https://github.com/eslint/js) release (Jenkins) - [`7bcda76`](eslint/eslint@7bcda76) refactor: Add type references ([#18652](eslint/eslint#18652)) (Nicholas C. Zakas) - [`51bf57c`](eslint/eslint@51bf57c) chore: add tech sponsors through actions ([#18624](eslint/eslint#18624)) (Strek) - [`6320732`](eslint/eslint@6320732) refactor: don't use `parent` property in `NodeEventGenerator` ([#18653](eslint/eslint#18653)) (Milos Djermanovic) - [`9e6d640`](eslint/eslint@9e6d640) refactor: move "Parsing error" prefix adding to Linter ([#18650](eslint/eslint#18650)) (Milos Djermanovic) ##### [v9.6.0](eslint/eslint@v9.5.0...473d1bb) ##### [v9.5.0](eslint/eslint@v9.4.0...5352357) ##### [v9.4.0](eslint/eslint@v9.3.0...a5f7e58) ##### [v9.3.0](eslint/eslint@v9.2.0...41a871c) ##### [v9.2.0](eslint/eslint@v9.1.1...271e7ab) ##### [v9.1.1](eslint/eslint@v9.1.0...b4d2512) ##### [v9.1.0](eslint/eslint@v9.0.0...b78d831) ##### [v9.0.0](eslint/eslint@v8.57.0...e0cbc50)
##### [v9.13.0](eslint/eslint@v9.12.0...1a7cdbf) ##### [v9.12.0](https://github.com/eslint/eslint/releases/tag/v9.12.0) #### Features - [`5a6a053`](eslint/eslint@5a6a053) feat: update to `jiti` v2 ([#18954](eslint/eslint#18954)) (Arya Emami) - [`17a07fb`](eslint/eslint@17a07fb) feat: Hooks for test cases (RuleTester) ([#18771](eslint/eslint#18771)) (Anna Bocharova) - [`2ff0e51`](eslint/eslint@2ff0e51) feat: Implement alternate config lookup ([#18742](eslint/eslint#18742)) (Nicholas C. Zakas) - [`2d17453`](eslint/eslint@2d17453) feat: Implement modified cyclomatic complexity ([#18896](eslint/eslint#18896)) (Dmitry Pashkevich) #### Bug Fixes - [`ea380ca`](eslint/eslint@ea380ca) fix: Upgrade retry to avoid EMFILE errors ([#18986](eslint/eslint#18986)) (Nicholas C. Zakas) - [`fdd6319`](eslint/eslint@fdd6319) fix: Issues with type definitions ([#18940](eslint/eslint#18940)) (Arya Emami) #### Documentation - [`ecbd522`](eslint/eslint@ecbd522) docs: Mention code explorer ([#18978](eslint/eslint#18978)) (Nicholas C. Zakas) - [`7ea4ecc`](eslint/eslint@7ea4ecc) docs: Clarifying the Use of Meta Objects ([#18697](eslint/eslint#18697)) (Amaresh S M) - [`d3e4b2e`](eslint/eslint@d3e4b2e) docs: Clarify how to exclude `.js` files ([#18976](eslint/eslint#18976)) (Milos Djermanovic) - [`57232ff`](eslint/eslint@57232ff) docs: Mention plugin-kit in language docs ([#18973](eslint/eslint#18973)) (Nicholas C. Zakas) - [`b80ed00`](eslint/eslint@b80ed00) docs: Update README (GitHub Actions Bot) - [`cb69ab3`](eslint/eslint@cb69ab3) docs: Update README (GitHub Actions Bot) - [`7fb0d95`](eslint/eslint@7fb0d95) docs: Update README (GitHub Actions Bot) - [`493348a`](eslint/eslint@493348a) docs: Update README (GitHub Actions Bot) - [`87a582c`](eslint/eslint@87a582c) docs: fix typo in `id-match` rule ([#18944](eslint/eslint#18944)) (Jay) #### Chores - [`555aafd`](eslint/eslint@555aafd) chore: upgrade to `@eslint/js@9.12.0` ([#18987](eslint/eslint#18987)) (Francesco Trotta) - [`873ae60`](eslint/eslint@873ae60) chore: package.json update for [@eslint/js](https://github.com/eslint/js) release (Jenkins) - [`d0a5414`](eslint/eslint@d0a5414) refactor: replace strip-ansi with native module ([#18982](eslint/eslint#18982)) (Cristopher) - [`b827029`](eslint/eslint@b827029) chore: Enable JSON5 linting ([#18979](eslint/eslint#18979)) (Milos Djermanovic) - [`8f55ca2`](eslint/eslint@8f55ca2) chore: Upgrade espree, eslint-visitor-keys, eslint-scope ([#18962](eslint/eslint#18962)) (Nicholas C. Zakas) - [`c1a2725`](eslint/eslint@c1a2725) chore: update dependency mocha to ^10.7.3 ([#18945](eslint/eslint#18945)) (Milos Djermanovic) ##### [v9.11.1](eslint/eslint@v9.11.0...69e9459) ##### [v9.11.0](https://github.com/eslint/eslint/releases/tag/v9.11.0) #### Features - [`ec30c73`](eslint/eslint@ec30c73) feat: add "eslint/universal" to export `Linter` ([#18883](eslint/eslint#18883)) (唯然) - [`c591da6`](eslint/eslint@c591da6) feat: Add language to types ([#18917](eslint/eslint#18917)) (Nicholas C. Zakas) - [`492eb8f`](eslint/eslint@492eb8f) feat: limit the name given to `ImportSpecifier` in `id-length` ([#18861](eslint/eslint#18861)) (Tanuj Kanti) - [`19c6856`](eslint/eslint@19c6856) feat: Add `no-useless-constructor` suggestion ([#18799](eslint/eslint#18799)) (Jordan Thomson) - [`a48f8c2`](eslint/eslint@a48f8c2) feat: add type `FormatterFunction`, update `LoadedFormatter` ([#18872](eslint/eslint#18872)) (Francesco Trotta) #### Bug Fixes - [`5e5f39b`](eslint/eslint@5e5f39b) fix: add missing types for `no-restricted-exports` rule ([#18914](eslint/eslint#18914)) (Kristóf Poduszló) - [`8f630eb`](eslint/eslint@8f630eb) fix: add missing types for `no-param-reassign` options ([#18906](eslint/eslint#18906)) (Kristóf Poduszló) - [`d715781`](eslint/eslint@d715781) fix: add missing types for `no-extra-boolean-cast` options ([#18902](eslint/eslint#18902)) (Kristóf Poduszló) - [`2de5742`](eslint/eslint@2de5742) fix: add missing types for `no-misleading-character-class` options ([#18905](eslint/eslint#18905)) (Kristóf Poduszló) - [`c153084`](eslint/eslint@c153084) fix: add missing types for `no-implicit-coercion` options ([#18903](eslint/eslint#18903)) (Kristóf Poduszló) - [`fa11b2e`](eslint/eslint@fa11b2e) fix: add missing types for `no-empty-function` options ([#18901](eslint/eslint#18901)) (Kristóf Poduszló) - [`a0deed1`](eslint/eslint@a0deed1) fix: add missing types for `camelcase` options ([#18897](eslint/eslint#18897)) (Kristóf Poduszló) #### Documentation - [`e4e5709`](eslint/eslint@e4e5709) docs: correct `prefer-object-has-own` type definition comment ([#18924](eslint/eslint#18924)) (Nitin Kumar) - [`91cbd18`](eslint/eslint@91cbd18) docs: add unicode abbreviations in no-irregular-whitespace rule ([#18894](eslint/eslint#18894)) (Alix Royere) - [`59cfc0f`](eslint/eslint@59cfc0f) docs: clarify `resultsMeta` in `LoadedFormatter` type ([#18881](eslint/eslint#18881)) (Milos Djermanovic) - [`adcc50d`](eslint/eslint@adcc50d) docs: Update README (GitHub Actions Bot) - [`4edac1a`](eslint/eslint@4edac1a) docs: Update README (GitHub Actions Bot) #### Build Related - [`959d360`](eslint/eslint@959d360) build: Support updates to previous major versions ([#18871](eslint/eslint#18871)) (Milos Djermanovic) #### Chores - [`ca21a64`](eslint/eslint@ca21a64) chore: upgrade [@eslint/js](https://github.com/eslint/js)[@9](https://github.com/9).11.0 ([#18927](eslint/eslint#18927)) (Milos Djermanovic) - [`a10f90a`](eslint/eslint@a10f90a) chore: package.json update for [@eslint/js](https://github.com/eslint/js) release (Jenkins) - [`e4e02cc`](eslint/eslint@e4e02cc) refactor: Extract processor logic into ProcessorService ([#18818](eslint/eslint#18818)) (Nicholas C. Zakas) - [`6d4484d`](eslint/eslint@6d4484d) chore: updates for v8.57.1 release (Jenkins) - [`71f37c5`](eslint/eslint@71f37c5) refactor: use optional chaining when validating config rules ([#18893](eslint/eslint#18893)) (lucasrmendonca) - [`2c2805f`](eslint/eslint@2c2805f) chore: Add PR note to all templates ([#18892](eslint/eslint#18892)) (Nicholas C. Zakas) - [`7b852ce`](eslint/eslint@7b852ce) refactor: use `Directive` class from `@eslint/plugin-kit` ([#18884](eslint/eslint#18884)) (Milos Djermanovic) - [`d594ddd`](eslint/eslint@d594ddd) chore: update dependency [@eslint/core](https://github.com/eslint/core) to ^0.6.0 ([#18863](eslint/eslint#18863)) (renovate\[bot]) - [`78b2421`](eslint/eslint@78b2421) chore: Update change.yml ([#18882](eslint/eslint#18882)) (Nicholas C. Zakas) - [`a416f0a`](eslint/eslint@a416f0a) chore: enable `$ExpectType` comments in .ts files ([#18869](eslint/eslint#18869)) (Francesco Trotta) ##### [v9.10.0](eslint/eslint@v9.9.1...6448f32) ##### [v9.9.1](eslint/eslint@v9.9.0...8781e6f) ##### [v9.9.0](https://github.com/eslint/eslint/releases/tag/v9.9.0) #### Features - [`41d0206`](eslint/eslint@41d0206) feat: Add support for TS config files ([#18134](eslint/eslint#18134)) (Arya Emami) - [`3a4eaf9`](eslint/eslint@3a4eaf9) feat: add suggestion to `require-await` to remove `async` keyword ([#18716](eslint/eslint#18716)) (Dave) #### Documentation - [`9fe068c`](eslint/eslint@9fe068c) docs: how to author plugins with configs that extend other configs ([#18753](eslint/eslint#18753)) (Alec Gibson) - [`48117b2`](eslint/eslint@48117b2) docs: add version support page in the side navbar ([#18738](eslint/eslint#18738)) (Amaresh S M) - [`fec2951`](eslint/eslint@fec2951) docs: add version support page to the dropdown ([#18730](eslint/eslint#18730)) (Amaresh S M) - [`38a0661`](eslint/eslint@38a0661) docs: Fix typo ([#18735](eslint/eslint#18735)) (Zaina Al Habash) - [`3c32a9e`](eslint/eslint@3c32a9e) docs: Update yarn command for creating ESLint config ([#18739](eslint/eslint#18739)) (Temitope Ogunleye) - [`f9ac978`](eslint/eslint@f9ac978) docs: Update README (GitHub Actions Bot) #### Chores - [`461b2c3`](eslint/eslint@461b2c3) chore: upgrade to `@eslint/js@9.9.0` ([#18765](eslint/eslint#18765)) (Francesco Trotta) - [`59dba1b`](eslint/eslint@59dba1b) chore: package.json update for [@eslint/js](https://github.com/eslint/js) release (Jenkins) - [`fea8563`](eslint/eslint@fea8563) chore: update dependency [@eslint/core](https://github.com/eslint/core) to ^0.3.0 ([#18724](eslint/eslint#18724)) (renovate\[bot]) - [`aac191e`](eslint/eslint@aac191e) chore: update dependency [@eslint/json](https://github.com/eslint/json) to ^0.3.0 ([#18760](eslint/eslint#18760)) (renovate\[bot]) - [`b97fa05`](eslint/eslint@b97fa05) chore: update wdio dependencies for more stable tests ([#18759](eslint/eslint#18759)) (Christian Bromann) ##### [v9.8.0](eslint/eslint@v9.7.0...63881dc) ##### [v9.7.0](https://github.com/eslint/eslint/releases/tag/v9.7.0) #### Features - [`7bd9839`](eslint/eslint@7bd9839) feat: add support for es2025 duplicate named capturing groups ([#18630](eslint/eslint#18630)) (Yosuke Ota) - [`1381394`](eslint/eslint@1381394) feat: add `regex` option in `no-restricted-imports` ([#18622](eslint/eslint#18622)) (Nitin Kumar) #### Bug Fixes - [`14e9f81`](eslint/eslint@14e9f81) fix: destructuring in catch clause in `no-unused-vars` ([#18636](eslint/eslint#18636)) (Francesco Trotta) #### Documentation - [`9f416db`](eslint/eslint@9f416db) docs: Add Powered by Algolia label to the search. ([#18633](eslint/eslint#18633)) (Amaresh S M) - [`c8d26cb`](eslint/eslint@c8d26cb) docs: Open JS Foundation -> OpenJS Foundation ([#18649](eslint/eslint#18649)) (Milos Djermanovic) - [`6e79ac7`](eslint/eslint@6e79ac7) docs: `loadESLint` does not support option `cwd` ([#18641](eslint/eslint#18641)) (Francesco Trotta) #### Chores - [`793b718`](eslint/eslint@793b718) chore: upgrade [@eslint/js](https://github.com/eslint/js)[@9](https://github.com/9).7.0 ([#18680](eslint/eslint#18680)) (Francesco Trotta) - [`7ed6f9a`](eslint/eslint@7ed6f9a) chore: package.json update for [@eslint/js](https://github.com/eslint/js) release (Jenkins) - [`7bcda76`](eslint/eslint@7bcda76) refactor: Add type references ([#18652](eslint/eslint#18652)) (Nicholas C. Zakas) - [`51bf57c`](eslint/eslint@51bf57c) chore: add tech sponsors through actions ([#18624](eslint/eslint#18624)) (Strek) - [`6320732`](eslint/eslint@6320732) refactor: don't use `parent` property in `NodeEventGenerator` ([#18653](eslint/eslint#18653)) (Milos Djermanovic) - [`9e6d640`](eslint/eslint@9e6d640) refactor: move "Parsing error" prefix adding to Linter ([#18650](eslint/eslint#18650)) (Milos Djermanovic) ##### [v9.6.0](eslint/eslint@v9.5.0...473d1bb) ##### [v9.5.0](eslint/eslint@v9.4.0...5352357) ##### [v9.4.0](eslint/eslint@v9.3.0...a5f7e58) ##### [v9.3.0](eslint/eslint@v9.2.0...41a871c) ##### [v9.2.0](eslint/eslint@v9.1.1...271e7ab) ##### [v9.1.1](eslint/eslint@v9.1.0...b4d2512) ##### [v9.1.0](eslint/eslint@v9.0.0...b78d831) ##### [v9.0.0](eslint/eslint@v8.57.0...e0cbc50)
##### [v9.13.0](eslint/eslint@v9.12.0...1a7cdbf) ##### [v9.12.0](https://github.com/eslint/eslint/releases/tag/v9.12.0) #### Features - [`5a6a053`](eslint/eslint@5a6a053) feat: update to `jiti` v2 ([#18954](eslint/eslint#18954)) (Arya Emami) - [`17a07fb`](eslint/eslint@17a07fb) feat: Hooks for test cases (RuleTester) ([#18771](eslint/eslint#18771)) (Anna Bocharova) - [`2ff0e51`](eslint/eslint@2ff0e51) feat: Implement alternate config lookup ([#18742](eslint/eslint#18742)) (Nicholas C. Zakas) - [`2d17453`](eslint/eslint@2d17453) feat: Implement modified cyclomatic complexity ([#18896](eslint/eslint#18896)) (Dmitry Pashkevich) #### Bug Fixes - [`ea380ca`](eslint/eslint@ea380ca) fix: Upgrade retry to avoid EMFILE errors ([#18986](eslint/eslint#18986)) (Nicholas C. Zakas) - [`fdd6319`](eslint/eslint@fdd6319) fix: Issues with type definitions ([#18940](eslint/eslint#18940)) (Arya Emami) #### Documentation - [`ecbd522`](eslint/eslint@ecbd522) docs: Mention code explorer ([#18978](eslint/eslint#18978)) (Nicholas C. Zakas) - [`7ea4ecc`](eslint/eslint@7ea4ecc) docs: Clarifying the Use of Meta Objects ([#18697](eslint/eslint#18697)) (Amaresh S M) - [`d3e4b2e`](eslint/eslint@d3e4b2e) docs: Clarify how to exclude `.js` files ([#18976](eslint/eslint#18976)) (Milos Djermanovic) - [`57232ff`](eslint/eslint@57232ff) docs: Mention plugin-kit in language docs ([#18973](eslint/eslint#18973)) (Nicholas C. Zakas) - [`b80ed00`](eslint/eslint@b80ed00) docs: Update README (GitHub Actions Bot) - [`cb69ab3`](eslint/eslint@cb69ab3) docs: Update README (GitHub Actions Bot) - [`7fb0d95`](eslint/eslint@7fb0d95) docs: Update README (GitHub Actions Bot) - [`493348a`](eslint/eslint@493348a) docs: Update README (GitHub Actions Bot) - [`87a582c`](eslint/eslint@87a582c) docs: fix typo in `id-match` rule ([#18944](eslint/eslint#18944)) (Jay) #### Chores - [`555aafd`](eslint/eslint@555aafd) chore: upgrade to `@eslint/js@9.12.0` ([#18987](eslint/eslint#18987)) (Francesco Trotta) - [`873ae60`](eslint/eslint@873ae60) chore: package.json update for [@eslint/js](https://github.com/eslint/js) release (Jenkins) - [`d0a5414`](eslint/eslint@d0a5414) refactor: replace strip-ansi with native module ([#18982](eslint/eslint#18982)) (Cristopher) - [`b827029`](eslint/eslint@b827029) chore: Enable JSON5 linting ([#18979](eslint/eslint#18979)) (Milos Djermanovic) - [`8f55ca2`](eslint/eslint@8f55ca2) chore: Upgrade espree, eslint-visitor-keys, eslint-scope ([#18962](eslint/eslint#18962)) (Nicholas C. Zakas) - [`c1a2725`](eslint/eslint@c1a2725) chore: update dependency mocha to ^10.7.3 ([#18945](eslint/eslint#18945)) (Milos Djermanovic) ##### [v9.11.1](eslint/eslint@v9.11.0...69e9459) ##### [v9.11.0](https://github.com/eslint/eslint/releases/tag/v9.11.0) #### Features - [`ec30c73`](eslint/eslint@ec30c73) feat: add "eslint/universal" to export `Linter` ([#18883](eslint/eslint#18883)) (唯然) - [`c591da6`](eslint/eslint@c591da6) feat: Add language to types ([#18917](eslint/eslint#18917)) (Nicholas C. Zakas) - [`492eb8f`](eslint/eslint@492eb8f) feat: limit the name given to `ImportSpecifier` in `id-length` ([#18861](eslint/eslint#18861)) (Tanuj Kanti) - [`19c6856`](eslint/eslint@19c6856) feat: Add `no-useless-constructor` suggestion ([#18799](eslint/eslint#18799)) (Jordan Thomson) - [`a48f8c2`](eslint/eslint@a48f8c2) feat: add type `FormatterFunction`, update `LoadedFormatter` ([#18872](eslint/eslint#18872)) (Francesco Trotta) #### Bug Fixes - [`5e5f39b`](eslint/eslint@5e5f39b) fix: add missing types for `no-restricted-exports` rule ([#18914](eslint/eslint#18914)) (Kristóf Poduszló) - [`8f630eb`](eslint/eslint@8f630eb) fix: add missing types for `no-param-reassign` options ([#18906](eslint/eslint#18906)) (Kristóf Poduszló) - [`d715781`](eslint/eslint@d715781) fix: add missing types for `no-extra-boolean-cast` options ([#18902](eslint/eslint#18902)) (Kristóf Poduszló) - [`2de5742`](eslint/eslint@2de5742) fix: add missing types for `no-misleading-character-class` options ([#18905](eslint/eslint#18905)) (Kristóf Poduszló) - [`c153084`](eslint/eslint@c153084) fix: add missing types for `no-implicit-coercion` options ([#18903](eslint/eslint#18903)) (Kristóf Poduszló) - [`fa11b2e`](eslint/eslint@fa11b2e) fix: add missing types for `no-empty-function` options ([#18901](eslint/eslint#18901)) (Kristóf Poduszló) - [`a0deed1`](eslint/eslint@a0deed1) fix: add missing types for `camelcase` options ([#18897](eslint/eslint#18897)) (Kristóf Poduszló) #### Documentation - [`e4e5709`](eslint/eslint@e4e5709) docs: correct `prefer-object-has-own` type definition comment ([#18924](eslint/eslint#18924)) (Nitin Kumar) - [`91cbd18`](eslint/eslint@91cbd18) docs: add unicode abbreviations in no-irregular-whitespace rule ([#18894](eslint/eslint#18894)) (Alix Royere) - [`59cfc0f`](eslint/eslint@59cfc0f) docs: clarify `resultsMeta` in `LoadedFormatter` type ([#18881](eslint/eslint#18881)) (Milos Djermanovic) - [`adcc50d`](eslint/eslint@adcc50d) docs: Update README (GitHub Actions Bot) - [`4edac1a`](eslint/eslint@4edac1a) docs: Update README (GitHub Actions Bot) #### Build Related - [`959d360`](eslint/eslint@959d360) build: Support updates to previous major versions ([#18871](eslint/eslint#18871)) (Milos Djermanovic) #### Chores - [`ca21a64`](eslint/eslint@ca21a64) chore: upgrade [@eslint/js](https://github.com/eslint/js)[@9](https://github.com/9).11.0 ([#18927](eslint/eslint#18927)) (Milos Djermanovic) - [`a10f90a`](eslint/eslint@a10f90a) chore: package.json update for [@eslint/js](https://github.com/eslint/js) release (Jenkins) - [`e4e02cc`](eslint/eslint@e4e02cc) refactor: Extract processor logic into ProcessorService ([#18818](eslint/eslint#18818)) (Nicholas C. Zakas) - [`6d4484d`](eslint/eslint@6d4484d) chore: updates for v8.57.1 release (Jenkins) - [`71f37c5`](eslint/eslint@71f37c5) refactor: use optional chaining when validating config rules ([#18893](eslint/eslint#18893)) (lucasrmendonca) - [`2c2805f`](eslint/eslint@2c2805f) chore: Add PR note to all templates ([#18892](eslint/eslint#18892)) (Nicholas C. Zakas) - [`7b852ce`](eslint/eslint@7b852ce) refactor: use `Directive` class from `@eslint/plugin-kit` ([#18884](eslint/eslint#18884)) (Milos Djermanovic) - [`d594ddd`](eslint/eslint@d594ddd) chore: update dependency [@eslint/core](https://github.com/eslint/core) to ^0.6.0 ([#18863](eslint/eslint#18863)) (renovate\[bot]) - [`78b2421`](eslint/eslint@78b2421) chore: Update change.yml ([#18882](eslint/eslint#18882)) (Nicholas C. Zakas) - [`a416f0a`](eslint/eslint@a416f0a) chore: enable `$ExpectType` comments in .ts files ([#18869](eslint/eslint#18869)) (Francesco Trotta) ##### [v9.10.0](eslint/eslint@v9.9.1...6448f32) ##### [v9.9.1](eslint/eslint@v9.9.0...8781e6f) ##### [v9.9.0](https://github.com/eslint/eslint/releases/tag/v9.9.0) #### Features - [`41d0206`](eslint/eslint@41d0206) feat: Add support for TS config files ([#18134](eslint/eslint#18134)) (Arya Emami) - [`3a4eaf9`](eslint/eslint@3a4eaf9) feat: add suggestion to `require-await` to remove `async` keyword ([#18716](eslint/eslint#18716)) (Dave) #### Documentation - [`9fe068c`](eslint/eslint@9fe068c) docs: how to author plugins with configs that extend other configs ([#18753](eslint/eslint#18753)) (Alec Gibson) - [`48117b2`](eslint/eslint@48117b2) docs: add version support page in the side navbar ([#18738](eslint/eslint#18738)) (Amaresh S M) - [`fec2951`](eslint/eslint@fec2951) docs: add version support page to the dropdown ([#18730](eslint/eslint#18730)) (Amaresh S M) - [`38a0661`](eslint/eslint@38a0661) docs: Fix typo ([#18735](eslint/eslint#18735)) (Zaina Al Habash) - [`3c32a9e`](eslint/eslint@3c32a9e) docs: Update yarn command for creating ESLint config ([#18739](eslint/eslint#18739)) (Temitope Ogunleye) - [`f9ac978`](eslint/eslint@f9ac978) docs: Update README (GitHub Actions Bot) #### Chores - [`461b2c3`](eslint/eslint@461b2c3) chore: upgrade to `@eslint/js@9.9.0` ([#18765](eslint/eslint#18765)) (Francesco Trotta) - [`59dba1b`](eslint/eslint@59dba1b) chore: package.json update for [@eslint/js](https://github.com/eslint/js) release (Jenkins) - [`fea8563`](eslint/eslint@fea8563) chore: update dependency [@eslint/core](https://github.com/eslint/core) to ^0.3.0 ([#18724](eslint/eslint#18724)) (renovate\[bot]) - [`aac191e`](eslint/eslint@aac191e) chore: update dependency [@eslint/json](https://github.com/eslint/json) to ^0.3.0 ([#18760](eslint/eslint#18760)) (renovate\[bot]) - [`b97fa05`](eslint/eslint@b97fa05) chore: update wdio dependencies for more stable tests ([#18759](eslint/eslint#18759)) (Christian Bromann) ##### [v9.8.0](eslint/eslint@v9.7.0...63881dc) ##### [v9.7.0](https://github.com/eslint/eslint/releases/tag/v9.7.0) #### Features - [`7bd9839`](eslint/eslint@7bd9839) feat: add support for es2025 duplicate named capturing groups ([#18630](eslint/eslint#18630)) (Yosuke Ota) - [`1381394`](eslint/eslint@1381394) feat: add `regex` option in `no-restricted-imports` ([#18622](eslint/eslint#18622)) (Nitin Kumar) #### Bug Fixes - [`14e9f81`](eslint/eslint@14e9f81) fix: destructuring in catch clause in `no-unused-vars` ([#18636](eslint/eslint#18636)) (Francesco Trotta) #### Documentation - [`9f416db`](eslint/eslint@9f416db) docs: Add Powered by Algolia label to the search. ([#18633](eslint/eslint#18633)) (Amaresh S M) - [`c8d26cb`](eslint/eslint@c8d26cb) docs: Open JS Foundation -> OpenJS Foundation ([#18649](eslint/eslint#18649)) (Milos Djermanovic) - [`6e79ac7`](eslint/eslint@6e79ac7) docs: `loadESLint` does not support option `cwd` ([#18641](eslint/eslint#18641)) (Francesco Trotta) #### Chores - [`793b718`](eslint/eslint@793b718) chore: upgrade [@eslint/js](https://github.com/eslint/js)[@9](https://github.com/9).7.0 ([#18680](eslint/eslint#18680)) (Francesco Trotta) - [`7ed6f9a`](eslint/eslint@7ed6f9a) chore: package.json update for [@eslint/js](https://github.com/eslint/js) release (Jenkins) - [`7bcda76`](eslint/eslint@7bcda76) refactor: Add type references ([#18652](eslint/eslint#18652)) (Nicholas C. Zakas) - [`51bf57c`](eslint/eslint@51bf57c) chore: add tech sponsors through actions ([#18624](eslint/eslint#18624)) (Strek) - [`6320732`](eslint/eslint@6320732) refactor: don't use `parent` property in `NodeEventGenerator` ([#18653](eslint/eslint#18653)) (Milos Djermanovic) - [`9e6d640`](eslint/eslint@9e6d640) refactor: move "Parsing error" prefix adding to Linter ([#18650](eslint/eslint#18650)) (Milos Djermanovic) ##### [v9.6.0](eslint/eslint@v9.5.0...473d1bb) ##### [v9.5.0](eslint/eslint@v9.4.0...5352357) ##### [v9.4.0](eslint/eslint@v9.3.0...a5f7e58) ##### [v9.3.0](eslint/eslint@v9.2.0...41a871c) ##### [v9.2.0](eslint/eslint@v9.1.1...271e7ab) ##### [v9.1.1](eslint/eslint@v9.1.0...b4d2512) ##### [v9.1.0](eslint/eslint@v9.0.0...b78d831) ##### [v9.0.0](eslint/eslint@v8.57.0...e0cbc50)
##### [v9.13.0](eslint/eslint@v9.12.0...1a7cdbf) ##### [v9.12.0](https://github.com/eslint/eslint/releases/tag/v9.12.0) #### Features - [`5a6a053`](eslint/eslint@5a6a053) feat: update to `jiti` v2 ([#18954](eslint/eslint#18954)) (Arya Emami) - [`17a07fb`](eslint/eslint@17a07fb) feat: Hooks for test cases (RuleTester) ([#18771](eslint/eslint#18771)) (Anna Bocharova) - [`2ff0e51`](eslint/eslint@2ff0e51) feat: Implement alternate config lookup ([#18742](eslint/eslint#18742)) (Nicholas C. Zakas) - [`2d17453`](eslint/eslint@2d17453) feat: Implement modified cyclomatic complexity ([#18896](eslint/eslint#18896)) (Dmitry Pashkevich) #### Bug Fixes - [`ea380ca`](eslint/eslint@ea380ca) fix: Upgrade retry to avoid EMFILE errors ([#18986](eslint/eslint#18986)) (Nicholas C. Zakas) - [`fdd6319`](eslint/eslint@fdd6319) fix: Issues with type definitions ([#18940](eslint/eslint#18940)) (Arya Emami) #### Documentation - [`ecbd522`](eslint/eslint@ecbd522) docs: Mention code explorer ([#18978](eslint/eslint#18978)) (Nicholas C. Zakas) - [`7ea4ecc`](eslint/eslint@7ea4ecc) docs: Clarifying the Use of Meta Objects ([#18697](eslint/eslint#18697)) (Amaresh S M) - [`d3e4b2e`](eslint/eslint@d3e4b2e) docs: Clarify how to exclude `.js` files ([#18976](eslint/eslint#18976)) (Milos Djermanovic) - [`57232ff`](eslint/eslint@57232ff) docs: Mention plugin-kit in language docs ([#18973](eslint/eslint#18973)) (Nicholas C. Zakas) - [`b80ed00`](eslint/eslint@b80ed00) docs: Update README (GitHub Actions Bot) - [`cb69ab3`](eslint/eslint@cb69ab3) docs: Update README (GitHub Actions Bot) - [`7fb0d95`](eslint/eslint@7fb0d95) docs: Update README (GitHub Actions Bot) - [`493348a`](eslint/eslint@493348a) docs: Update README (GitHub Actions Bot) - [`87a582c`](eslint/eslint@87a582c) docs: fix typo in `id-match` rule ([#18944](eslint/eslint#18944)) (Jay) #### Chores - [`555aafd`](eslint/eslint@555aafd) chore: upgrade to `@eslint/js@9.12.0` ([#18987](eslint/eslint#18987)) (Francesco Trotta) - [`873ae60`](eslint/eslint@873ae60) chore: package.json update for [@eslint/js](https://github.com/eslint/js) release (Jenkins) - [`d0a5414`](eslint/eslint@d0a5414) refactor: replace strip-ansi with native module ([#18982](eslint/eslint#18982)) (Cristopher) - [`b827029`](eslint/eslint@b827029) chore: Enable JSON5 linting ([#18979](eslint/eslint#18979)) (Milos Djermanovic) - [`8f55ca2`](eslint/eslint@8f55ca2) chore: Upgrade espree, eslint-visitor-keys, eslint-scope ([#18962](eslint/eslint#18962)) (Nicholas C. Zakas) - [`c1a2725`](eslint/eslint@c1a2725) chore: update dependency mocha to ^10.7.3 ([#18945](eslint/eslint#18945)) (Milos Djermanovic) ##### [v9.11.1](eslint/eslint@v9.11.0...69e9459) ##### [v9.11.0](https://github.com/eslint/eslint/releases/tag/v9.11.0) #### Features - [`ec30c73`](eslint/eslint@ec30c73) feat: add "eslint/universal" to export `Linter` ([#18883](eslint/eslint#18883)) (唯然) - [`c591da6`](eslint/eslint@c591da6) feat: Add language to types ([#18917](eslint/eslint#18917)) (Nicholas C. Zakas) - [`492eb8f`](eslint/eslint@492eb8f) feat: limit the name given to `ImportSpecifier` in `id-length` ([#18861](eslint/eslint#18861)) (Tanuj Kanti) - [`19c6856`](eslint/eslint@19c6856) feat: Add `no-useless-constructor` suggestion ([#18799](eslint/eslint#18799)) (Jordan Thomson) - [`a48f8c2`](eslint/eslint@a48f8c2) feat: add type `FormatterFunction`, update `LoadedFormatter` ([#18872](eslint/eslint#18872)) (Francesco Trotta) #### Bug Fixes - [`5e5f39b`](eslint/eslint@5e5f39b) fix: add missing types for `no-restricted-exports` rule ([#18914](eslint/eslint#18914)) (Kristóf Poduszló) - [`8f630eb`](eslint/eslint@8f630eb) fix: add missing types for `no-param-reassign` options ([#18906](eslint/eslint#18906)) (Kristóf Poduszló) - [`d715781`](eslint/eslint@d715781) fix: add missing types for `no-extra-boolean-cast` options ([#18902](eslint/eslint#18902)) (Kristóf Poduszló) - [`2de5742`](eslint/eslint@2de5742) fix: add missing types for `no-misleading-character-class` options ([#18905](eslint/eslint#18905)) (Kristóf Poduszló) - [`c153084`](eslint/eslint@c153084) fix: add missing types for `no-implicit-coercion` options ([#18903](eslint/eslint#18903)) (Kristóf Poduszló) - [`fa11b2e`](eslint/eslint@fa11b2e) fix: add missing types for `no-empty-function` options ([#18901](eslint/eslint#18901)) (Kristóf Poduszló) - [`a0deed1`](eslint/eslint@a0deed1) fix: add missing types for `camelcase` options ([#18897](eslint/eslint#18897)) (Kristóf Poduszló) #### Documentation - [`e4e5709`](eslint/eslint@e4e5709) docs: correct `prefer-object-has-own` type definition comment ([#18924](eslint/eslint#18924)) (Nitin Kumar) - [`91cbd18`](eslint/eslint@91cbd18) docs: add unicode abbreviations in no-irregular-whitespace rule ([#18894](eslint/eslint#18894)) (Alix Royere) - [`59cfc0f`](eslint/eslint@59cfc0f) docs: clarify `resultsMeta` in `LoadedFormatter` type ([#18881](eslint/eslint#18881)) (Milos Djermanovic) - [`adcc50d`](eslint/eslint@adcc50d) docs: Update README (GitHub Actions Bot) - [`4edac1a`](eslint/eslint@4edac1a) docs: Update README (GitHub Actions Bot) #### Build Related - [`959d360`](eslint/eslint@959d360) build: Support updates to previous major versions ([#18871](eslint/eslint#18871)) (Milos Djermanovic) #### Chores - [`ca21a64`](eslint/eslint@ca21a64) chore: upgrade [@eslint/js](https://github.com/eslint/js)[@9](https://github.com/9).11.0 ([#18927](eslint/eslint#18927)) (Milos Djermanovic) - [`a10f90a`](eslint/eslint@a10f90a) chore: package.json update for [@eslint/js](https://github.com/eslint/js) release (Jenkins) - [`e4e02cc`](eslint/eslint@e4e02cc) refactor: Extract processor logic into ProcessorService ([#18818](eslint/eslint#18818)) (Nicholas C. Zakas) - [`6d4484d`](eslint/eslint@6d4484d) chore: updates for v8.57.1 release (Jenkins) - [`71f37c5`](eslint/eslint@71f37c5) refactor: use optional chaining when validating config rules ([#18893](eslint/eslint#18893)) (lucasrmendonca) - [`2c2805f`](eslint/eslint@2c2805f) chore: Add PR note to all templates ([#18892](eslint/eslint#18892)) (Nicholas C. Zakas) - [`7b852ce`](eslint/eslint@7b852ce) refactor: use `Directive` class from `@eslint/plugin-kit` ([#18884](eslint/eslint#18884)) (Milos Djermanovic) - [`d594ddd`](eslint/eslint@d594ddd) chore: update dependency [@eslint/core](https://github.com/eslint/core) to ^0.6.0 ([#18863](eslint/eslint#18863)) (renovate\[bot]) - [`78b2421`](eslint/eslint@78b2421) chore: Update change.yml ([#18882](eslint/eslint#18882)) (Nicholas C. Zakas) - [`a416f0a`](eslint/eslint@a416f0a) chore: enable `$ExpectType` comments in .ts files ([#18869](eslint/eslint#18869)) (Francesco Trotta) ##### [v9.10.0](eslint/eslint@v9.9.1...6448f32) ##### [v9.9.1](eslint/eslint@v9.9.0...8781e6f) ##### [v9.9.0](https://github.com/eslint/eslint/releases/tag/v9.9.0) #### Features - [`41d0206`](eslint/eslint@41d0206) feat: Add support for TS config files ([#18134](eslint/eslint#18134)) (Arya Emami) - [`3a4eaf9`](eslint/eslint@3a4eaf9) feat: add suggestion to `require-await` to remove `async` keyword ([#18716](eslint/eslint#18716)) (Dave) #### Documentation - [`9fe068c`](eslint/eslint@9fe068c) docs: how to author plugins with configs that extend other configs ([#18753](eslint/eslint#18753)) (Alec Gibson) - [`48117b2`](eslint/eslint@48117b2) docs: add version support page in the side navbar ([#18738](eslint/eslint#18738)) (Amaresh S M) - [`fec2951`](eslint/eslint@fec2951) docs: add version support page to the dropdown ([#18730](eslint/eslint#18730)) (Amaresh S M) - [`38a0661`](eslint/eslint@38a0661) docs: Fix typo ([#18735](eslint/eslint#18735)) (Zaina Al Habash) - [`3c32a9e`](eslint/eslint@3c32a9e) docs: Update yarn command for creating ESLint config ([#18739](eslint/eslint#18739)) (Temitope Ogunleye) - [`f9ac978`](eslint/eslint@f9ac978) docs: Update README (GitHub Actions Bot) #### Chores - [`461b2c3`](eslint/eslint@461b2c3) chore: upgrade to `@eslint/js@9.9.0` ([#18765](eslint/eslint#18765)) (Francesco Trotta) - [`59dba1b`](eslint/eslint@59dba1b) chore: package.json update for [@eslint/js](https://github.com/eslint/js) release (Jenkins) - [`fea8563`](eslint/eslint@fea8563) chore: update dependency [@eslint/core](https://github.com/eslint/core) to ^0.3.0 ([#18724](eslint/eslint#18724)) (renovate\[bot]) - [`aac191e`](eslint/eslint@aac191e) chore: update dependency [@eslint/json](https://github.com/eslint/json) to ^0.3.0 ([#18760](eslint/eslint#18760)) (renovate\[bot]) - [`b97fa05`](eslint/eslint@b97fa05) chore: update wdio dependencies for more stable tests ([#18759](eslint/eslint#18759)) (Christian Bromann) ##### [v9.8.0](eslint/eslint@v9.7.0...63881dc) ##### [v9.7.0](https://github.com/eslint/eslint/releases/tag/v9.7.0) #### Features - [`7bd9839`](eslint/eslint@7bd9839) feat: add support for es2025 duplicate named capturing groups ([#18630](eslint/eslint#18630)) (Yosuke Ota) - [`1381394`](eslint/eslint@1381394) feat: add `regex` option in `no-restricted-imports` ([#18622](eslint/eslint#18622)) (Nitin Kumar) #### Bug Fixes - [`14e9f81`](eslint/eslint@14e9f81) fix: destructuring in catch clause in `no-unused-vars` ([#18636](eslint/eslint#18636)) (Francesco Trotta) #### Documentation - [`9f416db`](eslint/eslint@9f416db) docs: Add Powered by Algolia label to the search. ([#18633](eslint/eslint#18633)) (Amaresh S M) - [`c8d26cb`](eslint/eslint@c8d26cb) docs: Open JS Foundation -> OpenJS Foundation ([#18649](eslint/eslint#18649)) (Milos Djermanovic) - [`6e79ac7`](eslint/eslint@6e79ac7) docs: `loadESLint` does not support option `cwd` ([#18641](eslint/eslint#18641)) (Francesco Trotta) #### Chores - [`793b718`](eslint/eslint@793b718) chore: upgrade [@eslint/js](https://github.com/eslint/js)[@9](https://github.com/9).7.0 ([#18680](eslint/eslint#18680)) (Francesco Trotta) - [`7ed6f9a`](eslint/eslint@7ed6f9a) chore: package.json update for [@eslint/js](https://github.com/eslint/js) release (Jenkins) - [`7bcda76`](eslint/eslint@7bcda76) refactor: Add type references ([#18652](eslint/eslint#18652)) (Nicholas C. Zakas) - [`51bf57c`](eslint/eslint@51bf57c) chore: add tech sponsors through actions ([#18624](eslint/eslint#18624)) (Strek) - [`6320732`](eslint/eslint@6320732) refactor: don't use `parent` property in `NodeEventGenerator` ([#18653](eslint/eslint#18653)) (Milos Djermanovic) - [`9e6d640`](eslint/eslint@9e6d640) refactor: move "Parsing error" prefix adding to Linter ([#18650](eslint/eslint#18650)) (Milos Djermanovic) ##### [v9.6.0](eslint/eslint@v9.5.0...473d1bb) ##### [v9.5.0](eslint/eslint@v9.4.0...5352357) ##### [v9.4.0](eslint/eslint@v9.3.0...a5f7e58) ##### [v9.3.0](eslint/eslint@v9.2.0...41a871c) ##### [v9.2.0](eslint/eslint@v9.1.1...271e7ab) ##### [v9.1.1](eslint/eslint@v9.1.0...b4d2512) ##### [v9.1.0](eslint/eslint@v9.0.0...b78d831) ##### [v9.0.0](eslint/eslint@v8.57.0...e0cbc50)
##### [v9.13.0](eslint/eslint@v9.12.0...1a7cdbf) ##### [v9.12.0](https://github.com/eslint/eslint/releases/tag/v9.12.0) #### Features - [`5a6a053`](eslint/eslint@5a6a053) feat: update to `jiti` v2 ([#18954](eslint/eslint#18954)) (Arya Emami) - [`17a07fb`](eslint/eslint@17a07fb) feat: Hooks for test cases (RuleTester) ([#18771](eslint/eslint#18771)) (Anna Bocharova) - [`2ff0e51`](eslint/eslint@2ff0e51) feat: Implement alternate config lookup ([#18742](eslint/eslint#18742)) (Nicholas C. Zakas) - [`2d17453`](eslint/eslint@2d17453) feat: Implement modified cyclomatic complexity ([#18896](eslint/eslint#18896)) (Dmitry Pashkevich) #### Bug Fixes - [`ea380ca`](eslint/eslint@ea380ca) fix: Upgrade retry to avoid EMFILE errors ([#18986](eslint/eslint#18986)) (Nicholas C. Zakas) - [`fdd6319`](eslint/eslint@fdd6319) fix: Issues with type definitions ([#18940](eslint/eslint#18940)) (Arya Emami) #### Documentation - [`ecbd522`](eslint/eslint@ecbd522) docs: Mention code explorer ([#18978](eslint/eslint#18978)) (Nicholas C. Zakas) - [`7ea4ecc`](eslint/eslint@7ea4ecc) docs: Clarifying the Use of Meta Objects ([#18697](eslint/eslint#18697)) (Amaresh S M) - [`d3e4b2e`](eslint/eslint@d3e4b2e) docs: Clarify how to exclude `.js` files ([#18976](eslint/eslint#18976)) (Milos Djermanovic) - [`57232ff`](eslint/eslint@57232ff) docs: Mention plugin-kit in language docs ([#18973](eslint/eslint#18973)) (Nicholas C. Zakas) - [`b80ed00`](eslint/eslint@b80ed00) docs: Update README (GitHub Actions Bot) - [`cb69ab3`](eslint/eslint@cb69ab3) docs: Update README (GitHub Actions Bot) - [`7fb0d95`](eslint/eslint@7fb0d95) docs: Update README (GitHub Actions Bot) - [`493348a`](eslint/eslint@493348a) docs: Update README (GitHub Actions Bot) - [`87a582c`](eslint/eslint@87a582c) docs: fix typo in `id-match` rule ([#18944](eslint/eslint#18944)) (Jay) #### Chores - [`555aafd`](eslint/eslint@555aafd) chore: upgrade to `@eslint/js@9.12.0` ([#18987](eslint/eslint#18987)) (Francesco Trotta) - [`873ae60`](eslint/eslint@873ae60) chore: package.json update for [@eslint/js](https://github.com/eslint/js) release (Jenkins) - [`d0a5414`](eslint/eslint@d0a5414) refactor: replace strip-ansi with native module ([#18982](eslint/eslint#18982)) (Cristopher) - [`b827029`](eslint/eslint@b827029) chore: Enable JSON5 linting ([#18979](eslint/eslint#18979)) (Milos Djermanovic) - [`8f55ca2`](eslint/eslint@8f55ca2) chore: Upgrade espree, eslint-visitor-keys, eslint-scope ([#18962](eslint/eslint#18962)) (Nicholas C. Zakas) - [`c1a2725`](eslint/eslint@c1a2725) chore: update dependency mocha to ^10.7.3 ([#18945](eslint/eslint#18945)) (Milos Djermanovic) ##### [v9.11.1](eslint/eslint@v9.11.0...69e9459) ##### [v9.11.0](https://github.com/eslint/eslint/releases/tag/v9.11.0) #### Features - [`ec30c73`](eslint/eslint@ec30c73) feat: add "eslint/universal" to export `Linter` ([#18883](eslint/eslint#18883)) (唯然) - [`c591da6`](eslint/eslint@c591da6) feat: Add language to types ([#18917](eslint/eslint#18917)) (Nicholas C. Zakas) - [`492eb8f`](eslint/eslint@492eb8f) feat: limit the name given to `ImportSpecifier` in `id-length` ([#18861](eslint/eslint#18861)) (Tanuj Kanti) - [`19c6856`](eslint/eslint@19c6856) feat: Add `no-useless-constructor` suggestion ([#18799](eslint/eslint#18799)) (Jordan Thomson) - [`a48f8c2`](eslint/eslint@a48f8c2) feat: add type `FormatterFunction`, update `LoadedFormatter` ([#18872](eslint/eslint#18872)) (Francesco Trotta) #### Bug Fixes - [`5e5f39b`](eslint/eslint@5e5f39b) fix: add missing types for `no-restricted-exports` rule ([#18914](eslint/eslint#18914)) (Kristóf Poduszló) - [`8f630eb`](eslint/eslint@8f630eb) fix: add missing types for `no-param-reassign` options ([#18906](eslint/eslint#18906)) (Kristóf Poduszló) - [`d715781`](eslint/eslint@d715781) fix: add missing types for `no-extra-boolean-cast` options ([#18902](eslint/eslint#18902)) (Kristóf Poduszló) - [`2de5742`](eslint/eslint@2de5742) fix: add missing types for `no-misleading-character-class` options ([#18905](eslint/eslint#18905)) (Kristóf Poduszló) - [`c153084`](eslint/eslint@c153084) fix: add missing types for `no-implicit-coercion` options ([#18903](eslint/eslint#18903)) (Kristóf Poduszló) - [`fa11b2e`](eslint/eslint@fa11b2e) fix: add missing types for `no-empty-function` options ([#18901](eslint/eslint#18901)) (Kristóf Poduszló) - [`a0deed1`](eslint/eslint@a0deed1) fix: add missing types for `camelcase` options ([#18897](eslint/eslint#18897)) (Kristóf Poduszló) #### Documentation - [`e4e5709`](eslint/eslint@e4e5709) docs: correct `prefer-object-has-own` type definition comment ([#18924](eslint/eslint#18924)) (Nitin Kumar) - [`91cbd18`](eslint/eslint@91cbd18) docs: add unicode abbreviations in no-irregular-whitespace rule ([#18894](eslint/eslint#18894)) (Alix Royere) - [`59cfc0f`](eslint/eslint@59cfc0f) docs: clarify `resultsMeta` in `LoadedFormatter` type ([#18881](eslint/eslint#18881)) (Milos Djermanovic) - [`adcc50d`](eslint/eslint@adcc50d) docs: Update README (GitHub Actions Bot) - [`4edac1a`](eslint/eslint@4edac1a) docs: Update README (GitHub Actions Bot) #### Build Related - [`959d360`](eslint/eslint@959d360) build: Support updates to previous major versions ([#18871](eslint/eslint#18871)) (Milos Djermanovic) #### Chores - [`ca21a64`](eslint/eslint@ca21a64) chore: upgrade [@eslint/js](https://github.com/eslint/js)[@9](https://github.com/9).11.0 ([#18927](eslint/eslint#18927)) (Milos Djermanovic) - [`a10f90a`](eslint/eslint@a10f90a) chore: package.json update for [@eslint/js](https://github.com/eslint/js) release (Jenkins) - [`e4e02cc`](eslint/eslint@e4e02cc) refactor: Extract processor logic into ProcessorService ([#18818](eslint/eslint#18818)) (Nicholas C. Zakas) - [`6d4484d`](eslint/eslint@6d4484d) chore: updates for v8.57.1 release (Jenkins) - [`71f37c5`](eslint/eslint@71f37c5) refactor: use optional chaining when validating config rules ([#18893](eslint/eslint#18893)) (lucasrmendonca) - [`2c2805f`](eslint/eslint@2c2805f) chore: Add PR note to all templates ([#18892](eslint/eslint#18892)) (Nicholas C. Zakas) - [`7b852ce`](eslint/eslint@7b852ce) refactor: use `Directive` class from `@eslint/plugin-kit` ([#18884](eslint/eslint#18884)) (Milos Djermanovic) - [`d594ddd`](eslint/eslint@d594ddd) chore: update dependency [@eslint/core](https://github.com/eslint/core) to ^0.6.0 ([#18863](eslint/eslint#18863)) (renovate\[bot]) - [`78b2421`](eslint/eslint@78b2421) chore: Update change.yml ([#18882](eslint/eslint#18882)) (Nicholas C. Zakas) - [`a416f0a`](eslint/eslint@a416f0a) chore: enable `$ExpectType` comments in .ts files ([#18869](eslint/eslint#18869)) (Francesco Trotta) ##### [v9.10.0](eslint/eslint@v9.9.1...6448f32) ##### [v9.9.1](eslint/eslint@v9.9.0...8781e6f) ##### [v9.9.0](https://github.com/eslint/eslint/releases/tag/v9.9.0) #### Features - [`41d0206`](eslint/eslint@41d0206) feat: Add support for TS config files ([#18134](eslint/eslint#18134)) (Arya Emami) - [`3a4eaf9`](eslint/eslint@3a4eaf9) feat: add suggestion to `require-await` to remove `async` keyword ([#18716](eslint/eslint#18716)) (Dave) #### Documentation - [`9fe068c`](eslint/eslint@9fe068c) docs: how to author plugins with configs that extend other configs ([#18753](eslint/eslint#18753)) (Alec Gibson) - [`48117b2`](eslint/eslint@48117b2) docs: add version support page in the side navbar ([#18738](eslint/eslint#18738)) (Amaresh S M) - [`fec2951`](eslint/eslint@fec2951) docs: add version support page to the dropdown ([#18730](eslint/eslint#18730)) (Amaresh S M) - [`38a0661`](eslint/eslint@38a0661) docs: Fix typo ([#18735](eslint/eslint#18735)) (Zaina Al Habash) - [`3c32a9e`](eslint/eslint@3c32a9e) docs: Update yarn command for creating ESLint config ([#18739](eslint/eslint#18739)) (Temitope Ogunleye) - [`f9ac978`](eslint/eslint@f9ac978) docs: Update README (GitHub Actions Bot) #### Chores - [`461b2c3`](eslint/eslint@461b2c3) chore: upgrade to `@eslint/js@9.9.0` ([#18765](eslint/eslint#18765)) (Francesco Trotta) - [`59dba1b`](eslint/eslint@59dba1b) chore: package.json update for [@eslint/js](https://github.com/eslint/js) release (Jenkins) - [`fea8563`](eslint/eslint@fea8563) chore: update dependency [@eslint/core](https://github.com/eslint/core) to ^0.3.0 ([#18724](eslint/eslint#18724)) (renovate\[bot]) - [`aac191e`](eslint/eslint@aac191e) chore: update dependency [@eslint/json](https://github.com/eslint/json) to ^0.3.0 ([#18760](eslint/eslint#18760)) (renovate\[bot]) - [`b97fa05`](eslint/eslint@b97fa05) chore: update wdio dependencies for more stable tests ([#18759](eslint/eslint#18759)) (Christian Bromann) ##### [v9.8.0](eslint/eslint@v9.7.0...63881dc) ##### [v9.7.0](https://github.com/eslint/eslint/releases/tag/v9.7.0) #### Features - [`7bd9839`](eslint/eslint@7bd9839) feat: add support for es2025 duplicate named capturing groups ([#18630](eslint/eslint#18630)) (Yosuke Ota) - [`1381394`](eslint/eslint@1381394) feat: add `regex` option in `no-restricted-imports` ([#18622](eslint/eslint#18622)) (Nitin Kumar) #### Bug Fixes - [`14e9f81`](eslint/eslint@14e9f81) fix: destructuring in catch clause in `no-unused-vars` ([#18636](eslint/eslint#18636)) (Francesco Trotta) #### Documentation - [`9f416db`](eslint/eslint@9f416db) docs: Add Powered by Algolia label to the search. ([#18633](eslint/eslint#18633)) (Amaresh S M) - [`c8d26cb`](eslint/eslint@c8d26cb) docs: Open JS Foundation -> OpenJS Foundation ([#18649](eslint/eslint#18649)) (Milos Djermanovic) - [`6e79ac7`](eslint/eslint@6e79ac7) docs: `loadESLint` does not support option `cwd` ([#18641](eslint/eslint#18641)) (Francesco Trotta) #### Chores - [`793b718`](eslint/eslint@793b718) chore: upgrade [@eslint/js](https://github.com/eslint/js)[@9](https://github.com/9).7.0 ([#18680](eslint/eslint#18680)) (Francesco Trotta) - [`7ed6f9a`](eslint/eslint@7ed6f9a) chore: package.json update for [@eslint/js](https://github.com/eslint/js) release (Jenkins) - [`7bcda76`](eslint/eslint@7bcda76) refactor: Add type references ([#18652](eslint/eslint#18652)) (Nicholas C. Zakas) - [`51bf57c`](eslint/eslint@51bf57c) chore: add tech sponsors through actions ([#18624](eslint/eslint#18624)) (Strek) - [`6320732`](eslint/eslint@6320732) refactor: don't use `parent` property in `NodeEventGenerator` ([#18653](eslint/eslint#18653)) (Milos Djermanovic) - [`9e6d640`](eslint/eslint@9e6d640) refactor: move "Parsing error" prefix adding to Linter ([#18650](eslint/eslint#18650)) (Milos Djermanovic) ##### [v9.6.0](eslint/eslint@v9.5.0...473d1bb) ##### [v9.5.0](eslint/eslint@v9.4.0...5352357) ##### [v9.4.0](eslint/eslint@v9.3.0...a5f7e58) ##### [v9.3.0](eslint/eslint@v9.2.0...41a871c) ##### [v9.2.0](eslint/eslint@v9.1.1...271e7ab) ##### [v9.1.1](eslint/eslint@v9.1.0...b4d2512) ##### [v9.1.0](eslint/eslint@v9.0.0...b78d831) ##### [v9.0.0](eslint/eslint@v8.57.0...e0cbc50)
##### [v9.13.0](eslint/eslint@v9.12.0...1a7cdbf) ##### [v9.12.0](https://github.com/eslint/eslint/releases/tag/v9.12.0) #### Features - [`5a6a053`](eslint/eslint@5a6a053) feat: update to `jiti` v2 ([#18954](eslint/eslint#18954)) (Arya Emami) - [`17a07fb`](eslint/eslint@17a07fb) feat: Hooks for test cases (RuleTester) ([#18771](eslint/eslint#18771)) (Anna Bocharova) - [`2ff0e51`](eslint/eslint@2ff0e51) feat: Implement alternate config lookup ([#18742](eslint/eslint#18742)) (Nicholas C. Zakas) - [`2d17453`](eslint/eslint@2d17453) feat: Implement modified cyclomatic complexity ([#18896](eslint/eslint#18896)) (Dmitry Pashkevich) #### Bug Fixes - [`ea380ca`](eslint/eslint@ea380ca) fix: Upgrade retry to avoid EMFILE errors ([#18986](eslint/eslint#18986)) (Nicholas C. Zakas) - [`fdd6319`](eslint/eslint@fdd6319) fix: Issues with type definitions ([#18940](eslint/eslint#18940)) (Arya Emami) #### Documentation - [`ecbd522`](eslint/eslint@ecbd522) docs: Mention code explorer ([#18978](eslint/eslint#18978)) (Nicholas C. Zakas) - [`7ea4ecc`](eslint/eslint@7ea4ecc) docs: Clarifying the Use of Meta Objects ([#18697](eslint/eslint#18697)) (Amaresh S M) - [`d3e4b2e`](eslint/eslint@d3e4b2e) docs: Clarify how to exclude `.js` files ([#18976](eslint/eslint#18976)) (Milos Djermanovic) - [`57232ff`](eslint/eslint@57232ff) docs: Mention plugin-kit in language docs ([#18973](eslint/eslint#18973)) (Nicholas C. Zakas) - [`b80ed00`](eslint/eslint@b80ed00) docs: Update README (GitHub Actions Bot) - [`cb69ab3`](eslint/eslint@cb69ab3) docs: Update README (GitHub Actions Bot) - [`7fb0d95`](eslint/eslint@7fb0d95) docs: Update README (GitHub Actions Bot) - [`493348a`](eslint/eslint@493348a) docs: Update README (GitHub Actions Bot) - [`87a582c`](eslint/eslint@87a582c) docs: fix typo in `id-match` rule ([#18944](eslint/eslint#18944)) (Jay) #### Chores - [`555aafd`](eslint/eslint@555aafd) chore: upgrade to `@eslint/js@9.12.0` ([#18987](eslint/eslint#18987)) (Francesco Trotta) - [`873ae60`](eslint/eslint@873ae60) chore: package.json update for [@eslint/js](https://github.com/eslint/js) release (Jenkins) - [`d0a5414`](eslint/eslint@d0a5414) refactor: replace strip-ansi with native module ([#18982](eslint/eslint#18982)) (Cristopher) - [`b827029`](eslint/eslint@b827029) chore: Enable JSON5 linting ([#18979](eslint/eslint#18979)) (Milos Djermanovic) - [`8f55ca2`](eslint/eslint@8f55ca2) chore: Upgrade espree, eslint-visitor-keys, eslint-scope ([#18962](eslint/eslint#18962)) (Nicholas C. Zakas) - [`c1a2725`](eslint/eslint@c1a2725) chore: update dependency mocha to ^10.7.3 ([#18945](eslint/eslint#18945)) (Milos Djermanovic) ##### [v9.11.1](eslint/eslint@v9.11.0...69e9459) ##### [v9.11.0](https://github.com/eslint/eslint/releases/tag/v9.11.0) #### Features - [`ec30c73`](eslint/eslint@ec30c73) feat: add "eslint/universal" to export `Linter` ([#18883](eslint/eslint#18883)) (唯然) - [`c591da6`](eslint/eslint@c591da6) feat: Add language to types ([#18917](eslint/eslint#18917)) (Nicholas C. Zakas) - [`492eb8f`](eslint/eslint@492eb8f) feat: limit the name given to `ImportSpecifier` in `id-length` ([#18861](eslint/eslint#18861)) (Tanuj Kanti) - [`19c6856`](eslint/eslint@19c6856) feat: Add `no-useless-constructor` suggestion ([#18799](eslint/eslint#18799)) (Jordan Thomson) - [`a48f8c2`](eslint/eslint@a48f8c2) feat: add type `FormatterFunction`, update `LoadedFormatter` ([#18872](eslint/eslint#18872)) (Francesco Trotta) #### Bug Fixes - [`5e5f39b`](eslint/eslint@5e5f39b) fix: add missing types for `no-restricted-exports` rule ([#18914](eslint/eslint#18914)) (Kristóf Poduszló) - [`8f630eb`](eslint/eslint@8f630eb) fix: add missing types for `no-param-reassign` options ([#18906](eslint/eslint#18906)) (Kristóf Poduszló) - [`d715781`](eslint/eslint@d715781) fix: add missing types for `no-extra-boolean-cast` options ([#18902](eslint/eslint#18902)) (Kristóf Poduszló) - [`2de5742`](eslint/eslint@2de5742) fix: add missing types for `no-misleading-character-class` options ([#18905](eslint/eslint#18905)) (Kristóf Poduszló) - [`c153084`](eslint/eslint@c153084) fix: add missing types for `no-implicit-coercion` options ([#18903](eslint/eslint#18903)) (Kristóf Poduszló) - [`fa11b2e`](eslint/eslint@fa11b2e) fix: add missing types for `no-empty-function` options ([#18901](eslint/eslint#18901)) (Kristóf Poduszló) - [`a0deed1`](eslint/eslint@a0deed1) fix: add missing types for `camelcase` options ([#18897](eslint/eslint#18897)) (Kristóf Poduszló) #### Documentation - [`e4e5709`](eslint/eslint@e4e5709) docs: correct `prefer-object-has-own` type definition comment ([#18924](eslint/eslint#18924)) (Nitin Kumar) - [`91cbd18`](eslint/eslint@91cbd18) docs: add unicode abbreviations in no-irregular-whitespace rule ([#18894](eslint/eslint#18894)) (Alix Royere) - [`59cfc0f`](eslint/eslint@59cfc0f) docs: clarify `resultsMeta` in `LoadedFormatter` type ([#18881](eslint/eslint#18881)) (Milos Djermanovic) - [`adcc50d`](eslint/eslint@adcc50d) docs: Update README (GitHub Actions Bot) - [`4edac1a`](eslint/eslint@4edac1a) docs: Update README (GitHub Actions Bot) #### Build Related - [`959d360`](eslint/eslint@959d360) build: Support updates to previous major versions ([#18871](eslint/eslint#18871)) (Milos Djermanovic) #### Chores - [`ca21a64`](eslint/eslint@ca21a64) chore: upgrade [@eslint/js](https://github.com/eslint/js)[@9](https://github.com/9).11.0 ([#18927](eslint/eslint#18927)) (Milos Djermanovic) - [`a10f90a`](eslint/eslint@a10f90a) chore: package.json update for [@eslint/js](https://github.com/eslint/js) release (Jenkins) - [`e4e02cc`](eslint/eslint@e4e02cc) refactor: Extract processor logic into ProcessorService ([#18818](eslint/eslint#18818)) (Nicholas C. Zakas) - [`6d4484d`](eslint/eslint@6d4484d) chore: updates for v8.57.1 release (Jenkins) - [`71f37c5`](eslint/eslint@71f37c5) refactor: use optional chaining when validating config rules ([#18893](eslint/eslint#18893)) (lucasrmendonca) - [`2c2805f`](eslint/eslint@2c2805f) chore: Add PR note to all templates ([#18892](eslint/eslint#18892)) (Nicholas C. Zakas) - [`7b852ce`](eslint/eslint@7b852ce) refactor: use `Directive` class from `@eslint/plugin-kit` ([#18884](eslint/eslint#18884)) (Milos Djermanovic) - [`d594ddd`](eslint/eslint@d594ddd) chore: update dependency [@eslint/core](https://github.com/eslint/core) to ^0.6.0 ([#18863](eslint/eslint#18863)) (renovate\[bot]) - [`78b2421`](eslint/eslint@78b2421) chore: Update change.yml ([#18882](eslint/eslint#18882)) (Nicholas C. Zakas) - [`a416f0a`](eslint/eslint@a416f0a) chore: enable `$ExpectType` comments in .ts files ([#18869](eslint/eslint#18869)) (Francesco Trotta) ##### [v9.10.0](eslint/eslint@v9.9.1...6448f32) ##### [v9.9.1](eslint/eslint@v9.9.0...8781e6f) ##### [v9.9.0](https://github.com/eslint/eslint/releases/tag/v9.9.0) #### Features - [`41d0206`](eslint/eslint@41d0206) feat: Add support for TS config files ([#18134](eslint/eslint#18134)) (Arya Emami) - [`3a4eaf9`](eslint/eslint@3a4eaf9) feat: add suggestion to `require-await` to remove `async` keyword ([#18716](eslint/eslint#18716)) (Dave) #### Documentation - [`9fe068c`](eslint/eslint@9fe068c) docs: how to author plugins with configs that extend other configs ([#18753](eslint/eslint#18753)) (Alec Gibson) - [`48117b2`](eslint/eslint@48117b2) docs: add version support page in the side navbar ([#18738](eslint/eslint#18738)) (Amaresh S M) - [`fec2951`](eslint/eslint@fec2951) docs: add version support page to the dropdown ([#18730](eslint/eslint#18730)) (Amaresh S M) - [`38a0661`](eslint/eslint@38a0661) docs: Fix typo ([#18735](eslint/eslint#18735)) (Zaina Al Habash) - [`3c32a9e`](eslint/eslint@3c32a9e) docs: Update yarn command for creating ESLint config ([#18739](eslint/eslint#18739)) (Temitope Ogunleye) - [`f9ac978`](eslint/eslint@f9ac978) docs: Update README (GitHub Actions Bot) #### Chores - [`461b2c3`](eslint/eslint@461b2c3) chore: upgrade to `@eslint/js@9.9.0` ([#18765](eslint/eslint#18765)) (Francesco Trotta) - [`59dba1b`](eslint/eslint@59dba1b) chore: package.json update for [@eslint/js](https://github.com/eslint/js) release (Jenkins) - [`fea8563`](eslint/eslint@fea8563) chore: update dependency [@eslint/core](https://github.com/eslint/core) to ^0.3.0 ([#18724](eslint/eslint#18724)) (renovate\[bot]) - [`aac191e`](eslint/eslint@aac191e) chore: update dependency [@eslint/json](https://github.com/eslint/json) to ^0.3.0 ([#18760](eslint/eslint#18760)) (renovate\[bot]) - [`b97fa05`](eslint/eslint@b97fa05) chore: update wdio dependencies for more stable tests ([#18759](eslint/eslint#18759)) (Christian Bromann) ##### [v9.8.0](eslint/eslint@v9.7.0...63881dc) ##### [v9.7.0](https://github.com/eslint/eslint/releases/tag/v9.7.0) #### Features - [`7bd9839`](eslint/eslint@7bd9839) feat: add support for es2025 duplicate named capturing groups ([#18630](eslint/eslint#18630)) (Yosuke Ota) - [`1381394`](eslint/eslint@1381394) feat: add `regex` option in `no-restricted-imports` ([#18622](eslint/eslint#18622)) (Nitin Kumar) #### Bug Fixes - [`14e9f81`](eslint/eslint@14e9f81) fix: destructuring in catch clause in `no-unused-vars` ([#18636](eslint/eslint#18636)) (Francesco Trotta) #### Documentation - [`9f416db`](eslint/eslint@9f416db) docs: Add Powered by Algolia label to the search. ([#18633](eslint/eslint#18633)) (Amaresh S M) - [`c8d26cb`](eslint/eslint@c8d26cb) docs: Open JS Foundation -> OpenJS Foundation ([#18649](eslint/eslint#18649)) (Milos Djermanovic) - [`6e79ac7`](eslint/eslint@6e79ac7) docs: `loadESLint` does not support option `cwd` ([#18641](eslint/eslint#18641)) (Francesco Trotta) #### Chores - [`793b718`](eslint/eslint@793b718) chore: upgrade [@eslint/js](https://github.com/eslint/js)[@9](https://github.com/9).7.0 ([#18680](eslint/eslint#18680)) (Francesco Trotta) - [`7ed6f9a`](eslint/eslint@7ed6f9a) chore: package.json update for [@eslint/js](https://github.com/eslint/js) release (Jenkins) - [`7bcda76`](eslint/eslint@7bcda76) refactor: Add type references ([#18652](eslint/eslint#18652)) (Nicholas C. Zakas) - [`51bf57c`](eslint/eslint@51bf57c) chore: add tech sponsors through actions ([#18624](eslint/eslint#18624)) (Strek) - [`6320732`](eslint/eslint@6320732) refactor: don't use `parent` property in `NodeEventGenerator` ([#18653](eslint/eslint#18653)) (Milos Djermanovic) - [`9e6d640`](eslint/eslint@9e6d640) refactor: move "Parsing error" prefix adding to Linter ([#18650](eslint/eslint#18650)) (Milos Djermanovic) ##### [v9.6.0](eslint/eslint@v9.5.0...473d1bb) ##### [v9.5.0](eslint/eslint@v9.4.0...5352357) ##### [v9.4.0](eslint/eslint@v9.3.0...a5f7e58) ##### [v9.3.0](eslint/eslint@v9.2.0...41a871c) ##### [v9.2.0](eslint/eslint@v9.1.1...271e7ab) ##### [v9.1.1](eslint/eslint@v9.1.0...b4d2512) ##### [v9.1.0](eslint/eslint@v9.0.0...b78d831) ##### [v9.0.0](eslint/eslint@v8.57.0...e0cbc50)
##### [v9.13.0](eslint/eslint@v9.12.0...1a7cdbf) ##### [v9.12.0](https://github.com/eslint/eslint/releases/tag/v9.12.0) #### Features - [`5a6a053`](eslint/eslint@5a6a053) feat: update to `jiti` v2 ([#18954](eslint/eslint#18954)) (Arya Emami) - [`17a07fb`](eslint/eslint@17a07fb) feat: Hooks for test cases (RuleTester) ([#18771](eslint/eslint#18771)) (Anna Bocharova) - [`2ff0e51`](eslint/eslint@2ff0e51) feat: Implement alternate config lookup ([#18742](eslint/eslint#18742)) (Nicholas C. Zakas) - [`2d17453`](eslint/eslint@2d17453) feat: Implement modified cyclomatic complexity ([#18896](eslint/eslint#18896)) (Dmitry Pashkevich) #### Bug Fixes - [`ea380ca`](eslint/eslint@ea380ca) fix: Upgrade retry to avoid EMFILE errors ([#18986](eslint/eslint#18986)) (Nicholas C. Zakas) - [`fdd6319`](eslint/eslint@fdd6319) fix: Issues with type definitions ([#18940](eslint/eslint#18940)) (Arya Emami) #### Documentation - [`ecbd522`](eslint/eslint@ecbd522) docs: Mention code explorer ([#18978](eslint/eslint#18978)) (Nicholas C. Zakas) - [`7ea4ecc`](eslint/eslint@7ea4ecc) docs: Clarifying the Use of Meta Objects ([#18697](eslint/eslint#18697)) (Amaresh S M) - [`d3e4b2e`](eslint/eslint@d3e4b2e) docs: Clarify how to exclude `.js` files ([#18976](eslint/eslint#18976)) (Milos Djermanovic) - [`57232ff`](eslint/eslint@57232ff) docs: Mention plugin-kit in language docs ([#18973](eslint/eslint#18973)) (Nicholas C. Zakas) - [`b80ed00`](eslint/eslint@b80ed00) docs: Update README (GitHub Actions Bot) - [`cb69ab3`](eslint/eslint@cb69ab3) docs: Update README (GitHub Actions Bot) - [`7fb0d95`](eslint/eslint@7fb0d95) docs: Update README (GitHub Actions Bot) - [`493348a`](eslint/eslint@493348a) docs: Update README (GitHub Actions Bot) - [`87a582c`](eslint/eslint@87a582c) docs: fix typo in `id-match` rule ([#18944](eslint/eslint#18944)) (Jay) #### Chores - [`555aafd`](eslint/eslint@555aafd) chore: upgrade to `@eslint/js@9.12.0` ([#18987](eslint/eslint#18987)) (Francesco Trotta) - [`873ae60`](eslint/eslint@873ae60) chore: package.json update for [@eslint/js](https://github.com/eslint/js) release (Jenkins) - [`d0a5414`](eslint/eslint@d0a5414) refactor: replace strip-ansi with native module ([#18982](eslint/eslint#18982)) (Cristopher) - [`b827029`](eslint/eslint@b827029) chore: Enable JSON5 linting ([#18979](eslint/eslint#18979)) (Milos Djermanovic) - [`8f55ca2`](eslint/eslint@8f55ca2) chore: Upgrade espree, eslint-visitor-keys, eslint-scope ([#18962](eslint/eslint#18962)) (Nicholas C. Zakas) - [`c1a2725`](eslint/eslint@c1a2725) chore: update dependency mocha to ^10.7.3 ([#18945](eslint/eslint#18945)) (Milos Djermanovic) ##### [v9.11.1](eslint/eslint@v9.11.0...69e9459) ##### [v9.11.0](https://github.com/eslint/eslint/releases/tag/v9.11.0) #### Features - [`ec30c73`](eslint/eslint@ec30c73) feat: add "eslint/universal" to export `Linter` ([#18883](eslint/eslint#18883)) (唯然) - [`c591da6`](eslint/eslint@c591da6) feat: Add language to types ([#18917](eslint/eslint#18917)) (Nicholas C. Zakas) - [`492eb8f`](eslint/eslint@492eb8f) feat: limit the name given to `ImportSpecifier` in `id-length` ([#18861](eslint/eslint#18861)) (Tanuj Kanti) - [`19c6856`](eslint/eslint@19c6856) feat: Add `no-useless-constructor` suggestion ([#18799](eslint/eslint#18799)) (Jordan Thomson) - [`a48f8c2`](eslint/eslint@a48f8c2) feat: add type `FormatterFunction`, update `LoadedFormatter` ([#18872](eslint/eslint#18872)) (Francesco Trotta) #### Bug Fixes - [`5e5f39b`](eslint/eslint@5e5f39b) fix: add missing types for `no-restricted-exports` rule ([#18914](eslint/eslint#18914)) (Kristóf Poduszló) - [`8f630eb`](eslint/eslint@8f630eb) fix: add missing types for `no-param-reassign` options ([#18906](eslint/eslint#18906)) (Kristóf Poduszló) - [`d715781`](eslint/eslint@d715781) fix: add missing types for `no-extra-boolean-cast` options ([#18902](eslint/eslint#18902)) (Kristóf Poduszló) - [`2de5742`](eslint/eslint@2de5742) fix: add missing types for `no-misleading-character-class` options ([#18905](eslint/eslint#18905)) (Kristóf Poduszló) - [`c153084`](eslint/eslint@c153084) fix: add missing types for `no-implicit-coercion` options ([#18903](eslint/eslint#18903)) (Kristóf Poduszló) - [`fa11b2e`](eslint/eslint@fa11b2e) fix: add missing types for `no-empty-function` options ([#18901](eslint/eslint#18901)) (Kristóf Poduszló) - [`a0deed1`](eslint/eslint@a0deed1) fix: add missing types for `camelcase` options ([#18897](eslint/eslint#18897)) (Kristóf Poduszló) #### Documentation - [`e4e5709`](eslint/eslint@e4e5709) docs: correct `prefer-object-has-own` type definition comment ([#18924](eslint/eslint#18924)) (Nitin Kumar) - [`91cbd18`](eslint/eslint@91cbd18) docs: add unicode abbreviations in no-irregular-whitespace rule ([#18894](eslint/eslint#18894)) (Alix Royere) - [`59cfc0f`](eslint/eslint@59cfc0f) docs: clarify `resultsMeta` in `LoadedFormatter` type ([#18881](eslint/eslint#18881)) (Milos Djermanovic) - [`adcc50d`](eslint/eslint@adcc50d) docs: Update README (GitHub Actions Bot) - [`4edac1a`](eslint/eslint@4edac1a) docs: Update README (GitHub Actions Bot) #### Build Related - [`959d360`](eslint/eslint@959d360) build: Support updates to previous major versions ([#18871](eslint/eslint#18871)) (Milos Djermanovic) #### Chores - [`ca21a64`](eslint/eslint@ca21a64) chore: upgrade [@eslint/js](https://github.com/eslint/js)[@9](https://github.com/9).11.0 ([#18927](eslint/eslint#18927)) (Milos Djermanovic) - [`a10f90a`](eslint/eslint@a10f90a) chore: package.json update for [@eslint/js](https://github.com/eslint/js) release (Jenkins) - [`e4e02cc`](eslint/eslint@e4e02cc) refactor: Extract processor logic into ProcessorService ([#18818](eslint/eslint#18818)) (Nicholas C. Zakas) - [`6d4484d`](eslint/eslint@6d4484d) chore: updates for v8.57.1 release (Jenkins) - [`71f37c5`](eslint/eslint@71f37c5) refactor: use optional chaining when validating config rules ([#18893](eslint/eslint#18893)) (lucasrmendonca) - [`2c2805f`](eslint/eslint@2c2805f) chore: Add PR note to all templates ([#18892](eslint/eslint#18892)) (Nicholas C. Zakas) - [`7b852ce`](eslint/eslint@7b852ce) refactor: use `Directive` class from `@eslint/plugin-kit` ([#18884](eslint/eslint#18884)) (Milos Djermanovic) - [`d594ddd`](eslint/eslint@d594ddd) chore: update dependency [@eslint/core](https://github.com/eslint/core) to ^0.6.0 ([#18863](eslint/eslint#18863)) (renovate\[bot]) - [`78b2421`](eslint/eslint@78b2421) chore: Update change.yml ([#18882](eslint/eslint#18882)) (Nicholas C. Zakas) - [`a416f0a`](eslint/eslint@a416f0a) chore: enable `$ExpectType` comments in .ts files ([#18869](eslint/eslint#18869)) (Francesco Trotta) ##### [v9.10.0](eslint/eslint@v9.9.1...6448f32) ##### [v9.9.1](eslint/eslint@v9.9.0...8781e6f) ##### [v9.9.0](https://github.com/eslint/eslint/releases/tag/v9.9.0) #### Features - [`41d0206`](eslint/eslint@41d0206) feat: Add support for TS config files ([#18134](eslint/eslint#18134)) (Arya Emami) - [`3a4eaf9`](eslint/eslint@3a4eaf9) feat: add suggestion to `require-await` to remove `async` keyword ([#18716](eslint/eslint#18716)) (Dave) #### Documentation - [`9fe068c`](eslint/eslint@9fe068c) docs: how to author plugins with configs that extend other configs ([#18753](eslint/eslint#18753)) (Alec Gibson) - [`48117b2`](eslint/eslint@48117b2) docs: add version support page in the side navbar ([#18738](eslint/eslint#18738)) (Amaresh S M) - [`fec2951`](eslint/eslint@fec2951) docs: add version support page to the dropdown ([#18730](eslint/eslint#18730)) (Amaresh S M) - [`38a0661`](eslint/eslint@38a0661) docs: Fix typo ([#18735](eslint/eslint#18735)) (Zaina Al Habash) - [`3c32a9e`](eslint/eslint@3c32a9e) docs: Update yarn command for creating ESLint config ([#18739](eslint/eslint#18739)) (Temitope Ogunleye) - [`f9ac978`](eslint/eslint@f9ac978) docs: Update README (GitHub Actions Bot) #### Chores - [`461b2c3`](eslint/eslint@461b2c3) chore: upgrade to `@eslint/js@9.9.0` ([#18765](eslint/eslint#18765)) (Francesco Trotta) - [`59dba1b`](eslint/eslint@59dba1b) chore: package.json update for [@eslint/js](https://github.com/eslint/js) release (Jenkins) - [`fea8563`](eslint/eslint@fea8563) chore: update dependency [@eslint/core](https://github.com/eslint/core) to ^0.3.0 ([#18724](eslint/eslint#18724)) (renovate\[bot]) - [`aac191e`](eslint/eslint@aac191e) chore: update dependency [@eslint/json](https://github.com/eslint/json) to ^0.3.0 ([#18760](eslint/eslint#18760)) (renovate\[bot]) - [`b97fa05`](eslint/eslint@b97fa05) chore: update wdio dependencies for more stable tests ([#18759](eslint/eslint#18759)) (Christian Bromann) ##### [v9.8.0](eslint/eslint@v9.7.0...63881dc) ##### [v9.7.0](https://github.com/eslint/eslint/releases/tag/v9.7.0) #### Features - [`7bd9839`](eslint/eslint@7bd9839) feat: add support for es2025 duplicate named capturing groups ([#18630](eslint/eslint#18630)) (Yosuke Ota) - [`1381394`](eslint/eslint@1381394) feat: add `regex` option in `no-restricted-imports` ([#18622](eslint/eslint#18622)) (Nitin Kumar) #### Bug Fixes - [`14e9f81`](eslint/eslint@14e9f81) fix: destructuring in catch clause in `no-unused-vars` ([#18636](eslint/eslint#18636)) (Francesco Trotta) #### Documentation - [`9f416db`](eslint/eslint@9f416db) docs: Add Powered by Algolia label to the search. ([#18633](eslint/eslint#18633)) (Amaresh S M) - [`c8d26cb`](eslint/eslint@c8d26cb) docs: Open JS Foundation -> OpenJS Foundation ([#18649](eslint/eslint#18649)) (Milos Djermanovic) - [`6e79ac7`](eslint/eslint@6e79ac7) docs: `loadESLint` does not support option `cwd` ([#18641](eslint/eslint#18641)) (Francesco Trotta) #### Chores - [`793b718`](eslint/eslint@793b718) chore: upgrade [@eslint/js](https://github.com/eslint/js)[@9](https://github.com/9).7.0 ([#18680](eslint/eslint#18680)) (Francesco Trotta) - [`7ed6f9a`](eslint/eslint@7ed6f9a) chore: package.json update for [@eslint/js](https://github.com/eslint/js) release (Jenkins) - [`7bcda76`](eslint/eslint@7bcda76) refactor: Add type references ([#18652](eslint/eslint#18652)) (Nicholas C. Zakas) - [`51bf57c`](eslint/eslint@51bf57c) chore: add tech sponsors through actions ([#18624](eslint/eslint#18624)) (Strek) - [`6320732`](eslint/eslint@6320732) refactor: don't use `parent` property in `NodeEventGenerator` ([#18653](eslint/eslint#18653)) (Milos Djermanovic) - [`9e6d640`](eslint/eslint@9e6d640) refactor: move "Parsing error" prefix adding to Linter ([#18650](eslint/eslint#18650)) (Milos Djermanovic) ##### [v9.6.0](eslint/eslint@v9.5.0...473d1bb) ##### [v9.5.0](eslint/eslint@v9.4.0...5352357) ##### [v9.4.0](eslint/eslint@v9.3.0...a5f7e58) ##### [v9.3.0](eslint/eslint@v9.2.0...41a871c) ##### [v9.2.0](eslint/eslint@v9.1.1...271e7ab) ##### [v9.1.1](eslint/eslint@v9.1.0...b4d2512) ##### [v9.1.0](eslint/eslint@v9.0.0...b78d831) ##### [v9.0.0](eslint/eslint@v8.57.0...e0cbc50)
##### [v9.13.0](eslint/eslint@v9.12.0...1a7cdbf) ##### [v9.12.0](https://github.com/eslint/eslint/releases/tag/v9.12.0) #### Features - [`5a6a053`](eslint/eslint@5a6a053) feat: update to `jiti` v2 ([#18954](eslint/eslint#18954)) (Arya Emami) - [`17a07fb`](eslint/eslint@17a07fb) feat: Hooks for test cases (RuleTester) ([#18771](eslint/eslint#18771)) (Anna Bocharova) - [`2ff0e51`](eslint/eslint@2ff0e51) feat: Implement alternate config lookup ([#18742](eslint/eslint#18742)) (Nicholas C. Zakas) - [`2d17453`](eslint/eslint@2d17453) feat: Implement modified cyclomatic complexity ([#18896](eslint/eslint#18896)) (Dmitry Pashkevich) #### Bug Fixes - [`ea380ca`](eslint/eslint@ea380ca) fix: Upgrade retry to avoid EMFILE errors ([#18986](eslint/eslint#18986)) (Nicholas C. Zakas) - [`fdd6319`](eslint/eslint@fdd6319) fix: Issues with type definitions ([#18940](eslint/eslint#18940)) (Arya Emami) #### Documentation - [`ecbd522`](eslint/eslint@ecbd522) docs: Mention code explorer ([#18978](eslint/eslint#18978)) (Nicholas C. Zakas) - [`7ea4ecc`](eslint/eslint@7ea4ecc) docs: Clarifying the Use of Meta Objects ([#18697](eslint/eslint#18697)) (Amaresh S M) - [`d3e4b2e`](eslint/eslint@d3e4b2e) docs: Clarify how to exclude `.js` files ([#18976](eslint/eslint#18976)) (Milos Djermanovic) - [`57232ff`](eslint/eslint@57232ff) docs: Mention plugin-kit in language docs ([#18973](eslint/eslint#18973)) (Nicholas C. Zakas) - [`b80ed00`](eslint/eslint@b80ed00) docs: Update README (GitHub Actions Bot) - [`cb69ab3`](eslint/eslint@cb69ab3) docs: Update README (GitHub Actions Bot) - [`7fb0d95`](eslint/eslint@7fb0d95) docs: Update README (GitHub Actions Bot) - [`493348a`](eslint/eslint@493348a) docs: Update README (GitHub Actions Bot) - [`87a582c`](eslint/eslint@87a582c) docs: fix typo in `id-match` rule ([#18944](eslint/eslint#18944)) (Jay) #### Chores - [`555aafd`](eslint/eslint@555aafd) chore: upgrade to `@eslint/js@9.12.0` ([#18987](eslint/eslint#18987)) (Francesco Trotta) - [`873ae60`](eslint/eslint@873ae60) chore: package.json update for [@eslint/js](https://github.com/eslint/js) release (Jenkins) - [`d0a5414`](eslint/eslint@d0a5414) refactor: replace strip-ansi with native module ([#18982](eslint/eslint#18982)) (Cristopher) - [`b827029`](eslint/eslint@b827029) chore: Enable JSON5 linting ([#18979](eslint/eslint#18979)) (Milos Djermanovic) - [`8f55ca2`](eslint/eslint@8f55ca2) chore: Upgrade espree, eslint-visitor-keys, eslint-scope ([#18962](eslint/eslint#18962)) (Nicholas C. Zakas) - [`c1a2725`](eslint/eslint@c1a2725) chore: update dependency mocha to ^10.7.3 ([#18945](eslint/eslint#18945)) (Milos Djermanovic) ##### [v9.11.1](eslint/eslint@v9.11.0...69e9459) ##### [v9.11.0](https://github.com/eslint/eslint/releases/tag/v9.11.0) #### Features - [`ec30c73`](eslint/eslint@ec30c73) feat: add "eslint/universal" to export `Linter` ([#18883](eslint/eslint#18883)) (唯然) - [`c591da6`](eslint/eslint@c591da6) feat: Add language to types ([#18917](eslint/eslint#18917)) (Nicholas C. Zakas) - [`492eb8f`](eslint/eslint@492eb8f) feat: limit the name given to `ImportSpecifier` in `id-length` ([#18861](eslint/eslint#18861)) (Tanuj Kanti) - [`19c6856`](eslint/eslint@19c6856) feat: Add `no-useless-constructor` suggestion ([#18799](eslint/eslint#18799)) (Jordan Thomson) - [`a48f8c2`](eslint/eslint@a48f8c2) feat: add type `FormatterFunction`, update `LoadedFormatter` ([#18872](eslint/eslint#18872)) (Francesco Trotta) #### Bug Fixes - [`5e5f39b`](eslint/eslint@5e5f39b) fix: add missing types for `no-restricted-exports` rule ([#18914](eslint/eslint#18914)) (Kristóf Poduszló) - [`8f630eb`](eslint/eslint@8f630eb) fix: add missing types for `no-param-reassign` options ([#18906](eslint/eslint#18906)) (Kristóf Poduszló) - [`d715781`](eslint/eslint@d715781) fix: add missing types for `no-extra-boolean-cast` options ([#18902](eslint/eslint#18902)) (Kristóf Poduszló) - [`2de5742`](eslint/eslint@2de5742) fix: add missing types for `no-misleading-character-class` options ([#18905](eslint/eslint#18905)) (Kristóf Poduszló) - [`c153084`](eslint/eslint@c153084) fix: add missing types for `no-implicit-coercion` options ([#18903](eslint/eslint#18903)) (Kristóf Poduszló) - [`fa11b2e`](eslint/eslint@fa11b2e) fix: add missing types for `no-empty-function` options ([#18901](eslint/eslint#18901)) (Kristóf Poduszló) - [`a0deed1`](eslint/eslint@a0deed1) fix: add missing types for `camelcase` options ([#18897](eslint/eslint#18897)) (Kristóf Poduszló) #### Documentation - [`e4e5709`](eslint/eslint@e4e5709) docs: correct `prefer-object-has-own` type definition comment ([#18924](eslint/eslint#18924)) (Nitin Kumar) - [`91cbd18`](eslint/eslint@91cbd18) docs: add unicode abbreviations in no-irregular-whitespace rule ([#18894](eslint/eslint#18894)) (Alix Royere) - [`59cfc0f`](eslint/eslint@59cfc0f) docs: clarify `resultsMeta` in `LoadedFormatter` type ([#18881](eslint/eslint#18881)) (Milos Djermanovic) - [`adcc50d`](eslint/eslint@adcc50d) docs: Update README (GitHub Actions Bot) - [`4edac1a`](eslint/eslint@4edac1a) docs: Update README (GitHub Actions Bot) #### Build Related - [`959d360`](eslint/eslint@959d360) build: Support updates to previous major versions ([#18871](eslint/eslint#18871)) (Milos Djermanovic) #### Chores - [`ca21a64`](eslint/eslint@ca21a64) chore: upgrade [@eslint/js](https://github.com/eslint/js)[@9](https://github.com/9).11.0 ([#18927](eslint/eslint#18927)) (Milos Djermanovic) - [`a10f90a`](eslint/eslint@a10f90a) chore: package.json update for [@eslint/js](https://github.com/eslint/js) release (Jenkins) - [`e4e02cc`](eslint/eslint@e4e02cc) refactor: Extract processor logic into ProcessorService ([#18818](eslint/eslint#18818)) (Nicholas C. Zakas) - [`6d4484d`](eslint/eslint@6d4484d) chore: updates for v8.57.1 release (Jenkins) - [`71f37c5`](eslint/eslint@71f37c5) refactor: use optional chaining when validating config rules ([#18893](eslint/eslint#18893)) (lucasrmendonca) - [`2c2805f`](eslint/eslint@2c2805f) chore: Add PR note to all templates ([#18892](eslint/eslint#18892)) (Nicholas C. Zakas) - [`7b852ce`](eslint/eslint@7b852ce) refactor: use `Directive` class from `@eslint/plugin-kit` ([#18884](eslint/eslint#18884)) (Milos Djermanovic) - [`d594ddd`](eslint/eslint@d594ddd) chore: update dependency [@eslint/core](https://github.com/eslint/core) to ^0.6.0 ([#18863](eslint/eslint#18863)) (renovate\[bot]) - [`78b2421`](eslint/eslint@78b2421) chore: Update change.yml ([#18882](eslint/eslint#18882)) (Nicholas C. Zakas) - [`a416f0a`](eslint/eslint@a416f0a) chore: enable `$ExpectType` comments in .ts files ([#18869](eslint/eslint#18869)) (Francesco Trotta) ##### [v9.10.0](eslint/eslint@v9.9.1...6448f32) ##### [v9.9.1](eslint/eslint@v9.9.0...8781e6f) ##### [v9.9.0](https://github.com/eslint/eslint/releases/tag/v9.9.0) #### Features - [`41d0206`](eslint/eslint@41d0206) feat: Add support for TS config files ([#18134](eslint/eslint#18134)) (Arya Emami) - [`3a4eaf9`](eslint/eslint@3a4eaf9) feat: add suggestion to `require-await` to remove `async` keyword ([#18716](eslint/eslint#18716)) (Dave) #### Documentation - [`9fe068c`](eslint/eslint@9fe068c) docs: how to author plugins with configs that extend other configs ([#18753](eslint/eslint#18753)) (Alec Gibson) - [`48117b2`](eslint/eslint@48117b2) docs: add version support page in the side navbar ([#18738](eslint/eslint#18738)) (Amaresh S M) - [`fec2951`](eslint/eslint@fec2951) docs: add version support page to the dropdown ([#18730](eslint/eslint#18730)) (Amaresh S M) - [`38a0661`](eslint/eslint@38a0661) docs: Fix typo ([#18735](eslint/eslint#18735)) (Zaina Al Habash) - [`3c32a9e`](eslint/eslint@3c32a9e) docs: Update yarn command for creating ESLint config ([#18739](eslint/eslint#18739)) (Temitope Ogunleye) - [`f9ac978`](eslint/eslint@f9ac978) docs: Update README (GitHub Actions Bot) #### Chores - [`461b2c3`](eslint/eslint@461b2c3) chore: upgrade to `@eslint/js@9.9.0` ([#18765](eslint/eslint#18765)) (Francesco Trotta) - [`59dba1b`](eslint/eslint@59dba1b) chore: package.json update for [@eslint/js](https://github.com/eslint/js) release (Jenkins) - [`fea8563`](eslint/eslint@fea8563) chore: update dependency [@eslint/core](https://github.com/eslint/core) to ^0.3.0 ([#18724](eslint/eslint#18724)) (renovate\[bot]) - [`aac191e`](eslint/eslint@aac191e) chore: update dependency [@eslint/json](https://github.com/eslint/json) to ^0.3.0 ([#18760](eslint/eslint#18760)) (renovate\[bot]) - [`b97fa05`](eslint/eslint@b97fa05) chore: update wdio dependencies for more stable tests ([#18759](eslint/eslint#18759)) (Christian Bromann) ##### [v9.8.0](eslint/eslint@v9.7.0...63881dc) ##### [v9.7.0](https://github.com/eslint/eslint/releases/tag/v9.7.0) #### Features - [`7bd9839`](eslint/eslint@7bd9839) feat: add support for es2025 duplicate named capturing groups ([#18630](eslint/eslint#18630)) (Yosuke Ota) - [`1381394`](eslint/eslint@1381394) feat: add `regex` option in `no-restricted-imports` ([#18622](eslint/eslint#18622)) (Nitin Kumar) #### Bug Fixes - [`14e9f81`](eslint/eslint@14e9f81) fix: destructuring in catch clause in `no-unused-vars` ([#18636](eslint/eslint#18636)) (Francesco Trotta) #### Documentation - [`9f416db`](eslint/eslint@9f416db) docs: Add Powered by Algolia label to the search. ([#18633](eslint/eslint#18633)) (Amaresh S M) - [`c8d26cb`](eslint/eslint@c8d26cb) docs: Open JS Foundation -> OpenJS Foundation ([#18649](eslint/eslint#18649)) (Milos Djermanovic) - [`6e79ac7`](eslint/eslint@6e79ac7) docs: `loadESLint` does not support option `cwd` ([#18641](eslint/eslint#18641)) (Francesco Trotta) #### Chores - [`793b718`](eslint/eslint@793b718) chore: upgrade [@eslint/js](https://github.com/eslint/js)[@9](https://github.com/9).7.0 ([#18680](eslint/eslint#18680)) (Francesco Trotta) - [`7ed6f9a`](eslint/eslint@7ed6f9a) chore: package.json update for [@eslint/js](https://github.com/eslint/js) release (Jenkins) - [`7bcda76`](eslint/eslint@7bcda76) refactor: Add type references ([#18652](eslint/eslint#18652)) (Nicholas C. Zakas) - [`51bf57c`](eslint/eslint@51bf57c) chore: add tech sponsors through actions ([#18624](eslint/eslint#18624)) (Strek) - [`6320732`](eslint/eslint@6320732) refactor: don't use `parent` property in `NodeEventGenerator` ([#18653](eslint/eslint#18653)) (Milos Djermanovic) - [`9e6d640`](eslint/eslint@9e6d640) refactor: move "Parsing error" prefix adding to Linter ([#18650](eslint/eslint#18650)) (Milos Djermanovic) ##### [v9.6.0](eslint/eslint@v9.5.0...473d1bb) ##### [v9.5.0](eslint/eslint@v9.4.0...5352357) ##### [v9.4.0](eslint/eslint@v9.3.0...a5f7e58) ##### [v9.3.0](eslint/eslint@v9.2.0...41a871c) ##### [v9.2.0](eslint/eslint@v9.1.1...271e7ab) ##### [v9.1.1](eslint/eslint@v9.1.0...b4d2512) ##### [v9.1.0](eslint/eslint@v9.0.0...b78d831) ##### [v9.0.0](eslint/eslint@v8.57.0...e0cbc50)
##### [v9.13.0](eslint/eslint@v9.12.0...1a7cdbf) ##### [v9.12.0](https://github.com/eslint/eslint/releases/tag/v9.12.0) #### Features - [`5a6a053`](eslint/eslint@5a6a053) feat: update to `jiti` v2 ([#18954](eslint/eslint#18954)) (Arya Emami) - [`17a07fb`](eslint/eslint@17a07fb) feat: Hooks for test cases (RuleTester) ([#18771](eslint/eslint#18771)) (Anna Bocharova) - [`2ff0e51`](eslint/eslint@2ff0e51) feat: Implement alternate config lookup ([#18742](eslint/eslint#18742)) (Nicholas C. Zakas) - [`2d17453`](eslint/eslint@2d17453) feat: Implement modified cyclomatic complexity ([#18896](eslint/eslint#18896)) (Dmitry Pashkevich) #### Bug Fixes - [`ea380ca`](eslint/eslint@ea380ca) fix: Upgrade retry to avoid EMFILE errors ([#18986](eslint/eslint#18986)) (Nicholas C. Zakas) - [`fdd6319`](eslint/eslint@fdd6319) fix: Issues with type definitions ([#18940](eslint/eslint#18940)) (Arya Emami) #### Documentation - [`ecbd522`](eslint/eslint@ecbd522) docs: Mention code explorer ([#18978](eslint/eslint#18978)) (Nicholas C. Zakas) - [`7ea4ecc`](eslint/eslint@7ea4ecc) docs: Clarifying the Use of Meta Objects ([#18697](eslint/eslint#18697)) (Amaresh S M) - [`d3e4b2e`](eslint/eslint@d3e4b2e) docs: Clarify how to exclude `.js` files ([#18976](eslint/eslint#18976)) (Milos Djermanovic) - [`57232ff`](eslint/eslint@57232ff) docs: Mention plugin-kit in language docs ([#18973](eslint/eslint#18973)) (Nicholas C. Zakas) - [`b80ed00`](eslint/eslint@b80ed00) docs: Update README (GitHub Actions Bot) - [`cb69ab3`](eslint/eslint@cb69ab3) docs: Update README (GitHub Actions Bot) - [`7fb0d95`](eslint/eslint@7fb0d95) docs: Update README (GitHub Actions Bot) - [`493348a`](eslint/eslint@493348a) docs: Update README (GitHub Actions Bot) - [`87a582c`](eslint/eslint@87a582c) docs: fix typo in `id-match` rule ([#18944](eslint/eslint#18944)) (Jay) #### Chores - [`555aafd`](eslint/eslint@555aafd) chore: upgrade to `@eslint/js@9.12.0` ([#18987](eslint/eslint#18987)) (Francesco Trotta) - [`873ae60`](eslint/eslint@873ae60) chore: package.json update for [@eslint/js](https://github.com/eslint/js) release (Jenkins) - [`d0a5414`](eslint/eslint@d0a5414) refactor: replace strip-ansi with native module ([#18982](eslint/eslint#18982)) (Cristopher) - [`b827029`](eslint/eslint@b827029) chore: Enable JSON5 linting ([#18979](eslint/eslint#18979)) (Milos Djermanovic) - [`8f55ca2`](eslint/eslint@8f55ca2) chore: Upgrade espree, eslint-visitor-keys, eslint-scope ([#18962](eslint/eslint#18962)) (Nicholas C. Zakas) - [`c1a2725`](eslint/eslint@c1a2725) chore: update dependency mocha to ^10.7.3 ([#18945](eslint/eslint#18945)) (Milos Djermanovic) ##### [v9.11.1](eslint/eslint@v9.11.0...69e9459) ##### [v9.11.0](https://github.com/eslint/eslint/releases/tag/v9.11.0) #### Features - [`ec30c73`](eslint/eslint@ec30c73) feat: add "eslint/universal" to export `Linter` ([#18883](eslint/eslint#18883)) (唯然) - [`c591da6`](eslint/eslint@c591da6) feat: Add language to types ([#18917](eslint/eslint#18917)) (Nicholas C. Zakas) - [`492eb8f`](eslint/eslint@492eb8f) feat: limit the name given to `ImportSpecifier` in `id-length` ([#18861](eslint/eslint#18861)) (Tanuj Kanti) - [`19c6856`](eslint/eslint@19c6856) feat: Add `no-useless-constructor` suggestion ([#18799](eslint/eslint#18799)) (Jordan Thomson) - [`a48f8c2`](eslint/eslint@a48f8c2) feat: add type `FormatterFunction`, update `LoadedFormatter` ([#18872](eslint/eslint#18872)) (Francesco Trotta) #### Bug Fixes - [`5e5f39b`](eslint/eslint@5e5f39b) fix: add missing types for `no-restricted-exports` rule ([#18914](eslint/eslint#18914)) (Kristóf Poduszló) - [`8f630eb`](eslint/eslint@8f630eb) fix: add missing types for `no-param-reassign` options ([#18906](eslint/eslint#18906)) (Kristóf Poduszló) - [`d715781`](eslint/eslint@d715781) fix: add missing types for `no-extra-boolean-cast` options ([#18902](eslint/eslint#18902)) (Kristóf Poduszló) - [`2de5742`](eslint/eslint@2de5742) fix: add missing types for `no-misleading-character-class` options ([#18905](eslint/eslint#18905)) (Kristóf Poduszló) - [`c153084`](eslint/eslint@c153084) fix: add missing types for `no-implicit-coercion` options ([#18903](eslint/eslint#18903)) (Kristóf Poduszló) - [`fa11b2e`](eslint/eslint@fa11b2e) fix: add missing types for `no-empty-function` options ([#18901](eslint/eslint#18901)) (Kristóf Poduszló) - [`a0deed1`](eslint/eslint@a0deed1) fix: add missing types for `camelcase` options ([#18897](eslint/eslint#18897)) (Kristóf Poduszló) #### Documentation - [`e4e5709`](eslint/eslint@e4e5709) docs: correct `prefer-object-has-own` type definition comment ([#18924](eslint/eslint#18924)) (Nitin Kumar) - [`91cbd18`](eslint/eslint@91cbd18) docs: add unicode abbreviations in no-irregular-whitespace rule ([#18894](eslint/eslint#18894)) (Alix Royere) - [`59cfc0f`](eslint/eslint@59cfc0f) docs: clarify `resultsMeta` in `LoadedFormatter` type ([#18881](eslint/eslint#18881)) (Milos Djermanovic) - [`adcc50d`](eslint/eslint@adcc50d) docs: Update README (GitHub Actions Bot) - [`4edac1a`](eslint/eslint@4edac1a) docs: Update README (GitHub Actions Bot) #### Build Related - [`959d360`](eslint/eslint@959d360) build: Support updates to previous major versions ([#18871](eslint/eslint#18871)) (Milos Djermanovic) #### Chores - [`ca21a64`](eslint/eslint@ca21a64) chore: upgrade [@eslint/js](https://github.com/eslint/js)[@9](https://github.com/9).11.0 ([#18927](eslint/eslint#18927)) (Milos Djermanovic) - [`a10f90a`](eslint/eslint@a10f90a) chore: package.json update for [@eslint/js](https://github.com/eslint/js) release (Jenkins) - [`e4e02cc`](eslint/eslint@e4e02cc) refactor: Extract processor logic into ProcessorService ([#18818](eslint/eslint#18818)) (Nicholas C. Zakas) - [`6d4484d`](eslint/eslint@6d4484d) chore: updates for v8.57.1 release (Jenkins) - [`71f37c5`](eslint/eslint@71f37c5) refactor: use optional chaining when validating config rules ([#18893](eslint/eslint#18893)) (lucasrmendonca) - [`2c2805f`](eslint/eslint@2c2805f) chore: Add PR note to all templates ([#18892](eslint/eslint#18892)) (Nicholas C. Zakas) - [`7b852ce`](eslint/eslint@7b852ce) refactor: use `Directive` class from `@eslint/plugin-kit` ([#18884](eslint/eslint#18884)) (Milos Djermanovic) - [`d594ddd`](eslint/eslint@d594ddd) chore: update dependency [@eslint/core](https://github.com/eslint/core) to ^0.6.0 ([#18863](eslint/eslint#18863)) (renovate\[bot]) - [`78b2421`](eslint/eslint@78b2421) chore: Update change.yml ([#18882](eslint/eslint#18882)) (Nicholas C. Zakas) - [`a416f0a`](eslint/eslint@a416f0a) chore: enable `$ExpectType` comments in .ts files ([#18869](eslint/eslint#18869)) (Francesco Trotta) ##### [v9.10.0](eslint/eslint@v9.9.1...6448f32) ##### [v9.9.1](eslint/eslint@v9.9.0...8781e6f) ##### [v9.9.0](https://github.com/eslint/eslint/releases/tag/v9.9.0) #### Features - [`41d0206`](eslint/eslint@41d0206) feat: Add support for TS config files ([#18134](eslint/eslint#18134)) (Arya Emami) - [`3a4eaf9`](eslint/eslint@3a4eaf9) feat: add suggestion to `require-await` to remove `async` keyword ([#18716](eslint/eslint#18716)) (Dave) #### Documentation - [`9fe068c`](eslint/eslint@9fe068c) docs: how to author plugins with configs that extend other configs ([#18753](eslint/eslint#18753)) (Alec Gibson) - [`48117b2`](eslint/eslint@48117b2) docs: add version support page in the side navbar ([#18738](eslint/eslint#18738)) (Amaresh S M) - [`fec2951`](eslint/eslint@fec2951) docs: add version support page to the dropdown ([#18730](eslint/eslint#18730)) (Amaresh S M) - [`38a0661`](eslint/eslint@38a0661) docs: Fix typo ([#18735](eslint/eslint#18735)) (Zaina Al Habash) - [`3c32a9e`](eslint/eslint@3c32a9e) docs: Update yarn command for creating ESLint config ([#18739](eslint/eslint#18739)) (Temitope Ogunleye) - [`f9ac978`](eslint/eslint@f9ac978) docs: Update README (GitHub Actions Bot) #### Chores - [`461b2c3`](eslint/eslint@461b2c3) chore: upgrade to `@eslint/js@9.9.0` ([#18765](eslint/eslint#18765)) (Francesco Trotta) - [`59dba1b`](eslint/eslint@59dba1b) chore: package.json update for [@eslint/js](https://github.com/eslint/js) release (Jenkins) - [`fea8563`](eslint/eslint@fea8563) chore: update dependency [@eslint/core](https://github.com/eslint/core) to ^0.3.0 ([#18724](eslint/eslint#18724)) (renovate\[bot]) - [`aac191e`](eslint/eslint@aac191e) chore: update dependency [@eslint/json](https://github.com/eslint/json) to ^0.3.0 ([#18760](eslint/eslint#18760)) (renovate\[bot]) - [`b97fa05`](eslint/eslint@b97fa05) chore: update wdio dependencies for more stable tests ([#18759](eslint/eslint#18759)) (Christian Bromann) ##### [v9.8.0](eslint/eslint@v9.7.0...63881dc) ##### [v9.7.0](https://github.com/eslint/eslint/releases/tag/v9.7.0) #### Features - [`7bd9839`](eslint/eslint@7bd9839) feat: add support for es2025 duplicate named capturing groups ([#18630](eslint/eslint#18630)) (Yosuke Ota) - [`1381394`](eslint/eslint@1381394) feat: add `regex` option in `no-restricted-imports` ([#18622](eslint/eslint#18622)) (Nitin Kumar) #### Bug Fixes - [`14e9f81`](eslint/eslint@14e9f81) fix: destructuring in catch clause in `no-unused-vars` ([#18636](eslint/eslint#18636)) (Francesco Trotta) #### Documentation - [`9f416db`](eslint/eslint@9f416db) docs: Add Powered by Algolia label to the search. ([#18633](eslint/eslint#18633)) (Amaresh S M) - [`c8d26cb`](eslint/eslint@c8d26cb) docs: Open JS Foundation -> OpenJS Foundation ([#18649](eslint/eslint#18649)) (Milos Djermanovic) - [`6e79ac7`](eslint/eslint@6e79ac7) docs: `loadESLint` does not support option `cwd` ([#18641](eslint/eslint#18641)) (Francesco Trotta) #### Chores - [`793b718`](eslint/eslint@793b718) chore: upgrade [@eslint/js](https://github.com/eslint/js)[@9](https://github.com/9).7.0 ([#18680](eslint/eslint#18680)) (Francesco Trotta) - [`7ed6f9a`](eslint/eslint@7ed6f9a) chore: package.json update for [@eslint/js](https://github.com/eslint/js) release (Jenkins) - [`7bcda76`](eslint/eslint@7bcda76) refactor: Add type references ([#18652](eslint/eslint#18652)) (Nicholas C. Zakas) - [`51bf57c`](eslint/eslint@51bf57c) chore: add tech sponsors through actions ([#18624](eslint/eslint#18624)) (Strek) - [`6320732`](eslint/eslint@6320732) refactor: don't use `parent` property in `NodeEventGenerator` ([#18653](eslint/eslint#18653)) (Milos Djermanovic) - [`9e6d640`](eslint/eslint@9e6d640) refactor: move "Parsing error" prefix adding to Linter ([#18650](eslint/eslint#18650)) (Milos Djermanovic) ##### [v9.6.0](eslint/eslint@v9.5.0...473d1bb) ##### [v9.5.0](eslint/eslint@v9.4.0...5352357) ##### [v9.4.0](eslint/eslint@v9.3.0...a5f7e58) ##### [v9.3.0](eslint/eslint@v9.2.0...41a871c) ##### [v9.2.0](eslint/eslint@v9.1.1...271e7ab) ##### [v9.1.1](eslint/eslint@v9.1.0...b4d2512) ##### [v9.1.0](eslint/eslint@v9.0.0...b78d831) ##### [v9.0.0](eslint/eslint@v8.57.0...e0cbc50)
Prerequisites checklist
What is the purpose of this pull request? (put an "X" next to an item)
[ ] Documentation update
[ ] Bug fix (template)
[ ] New rule (template)
[ ] Changes an existing rule (template)
[ ] Add autofix to a rule
[ ] Add a CLI option
[x] Add something to the core
[ ] Other, please explain:
What changes did you make? (Give an overview)
Implemented the design from eslint/rfcs#120:
unstable_config_lookup_from_fileflagConfigLoaderandLegacyConfigLoaderfindFiles()to use new config scheme.Fixes #18385
Is there anything you'd like reviewers to focus on?
Marking as a draft because I'd like us to merge #18134 first.
Note that I did not remove the config loading logic from the
ESLintclass, I just duplicated it in theconfig-loader.jsfile in order to have an easier merge once #18134 is merged. (This accounts for the linting error ineslint.js)