Commit Graph

121 Commits

Author SHA1 Message Date
Boshen 1193c9dbaf chore(oxfmt): dogfood operator position at line start (#25937)
dogfood
2026-08-20 14:36:47 +00:00
Connor Shea 24d1a0439b chore(linter): Mark vue/prefer-single-event-payload as unsupported. (#25898)
It requires template parsing.
https://eslint.vuejs.org/rules/prefer-single-event-payload.html
2026-08-19 09:06:14 +01:00
renovate[bot] 6f47f6f4ed chore(deps): update dependency oxlint to v1.79.0 (#25873)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Adoption](https://docs.renovatebot.com/merge-confidence/) |
[Passing](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|---|---|
| [oxlint](https://oxc.rs/docs/guide/usage/linter)
([source](https://redirect.github.com/oxc-project/oxc/tree/HEAD/npm/oxlint))
| [`1.78.0` →
`1.79.0`](https://renovatebot.com/diffs/npm/oxlint/1.78.0/1.79.0) |
![age](https://developer.mend.io/api/mc/badges/age/npm/oxlint/1.79.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/oxlint/1.79.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/oxlint/1.78.0/1.79.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/oxlint/1.78.0/1.79.0?slim=true)
|

---

### Release Notes

<details>
<summary>oxc-project/oxc (oxlint)</summary>

###
[`v1.79.0`](https://redirect.github.com/oxc-project/oxc/blob/HEAD/npm/oxlint/CHANGELOG.md#1790---2026-08-18)

##### 💥 BREAKING CHANGES

-
[`8c4552d`](https://redirect.github.com/oxc-project/oxc/commit/8c4552d)
linter: \[**BREAKING**] Split react/react-compiler into per-category
rules
([#&#8203;25500](https://redirect.github.com/oxc-project/oxc/issues/25500))
(Boshen)

##### 🐛 Bug Fixes

-
[`228e8e0`](https://redirect.github.com/oxc-project/oxc/commit/228e8e0)
linter: Resolve inactive React compiler rules
([#&#8203;25830](https://redirect.github.com/oxc-project/oxc/issues/25830))
(Boshen)
-
[`aa49d86`](https://redirect.github.com/oxc-project/oxc/commit/aa49d86)
linter: Allow spread rule options in config types
([#&#8203;25675](https://redirect.github.com/oxc-project/oxc/issues/25675))
(ch3rry)
-
[`36f8451`](https://redirect.github.com/oxc-project/oxc/commit/36f8451)
linter/eslint/no-eval: Align indirect default with ESLint
([#&#8203;25656](https://redirect.github.com/oxc-project/oxc/issues/25656))
(camc314)
-
[`beb724d`](https://redirect.github.com/oxc-project/oxc/commit/beb724d)
linter/eslint/no-unused-vars: Report bare underscore parameters
([#&#8203;25663](https://redirect.github.com/oxc-project/oxc/issues/25663))
(camc314)
-
[`4004c10`](https://redirect.github.com/oxc-project/oxc/commit/4004c10)
linter/eslint/no-irregular-whitespace: Check comments by default
([#&#8203;25660](https://redirect.github.com/oxc-project/oxc/issues/25660))
(camc314)
-
[`285820e`](https://redirect.github.com/oxc-project/oxc/commit/285820e)
linter/no-large-snapshots: Precompile and document allowed snapshot
matchers
([#&#8203;25611](https://redirect.github.com/oxc-project/oxc/issues/25611))
(Mikhail Baev)
-
[`4df5835`](https://redirect.github.com/oxc-project/oxc/commit/4df5835)
linter: Allow capitalized built-in calls
([#&#8203;25516](https://redirect.github.com/oxc-project/oxc/issues/25516))
(Boshen)

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

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

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/oxc-project/oxc).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4zMi42IiwidXBkYXRlZEluVmVyIjoiNDQuMzIuNiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Cameron <cameron.clark@hey.com>
2026-08-18 16:07:58 +00:00
Boshen 228e8e0f85 fix(linter): resolve inactive React compiler rules (#25830)
Enable React Compiler memo dependency validation so `react/memo-dependencies` reports missing and extra values. Remove `react/gating` until Oxlint exposes compiler gating options.

Validated with `just ready`.

AI-assisted.
2026-08-18 16:16:24 +08:00
Boshen 892238149b refactor(linter): remove inactive react config rule (#25740)
Remove the inactive `react/config` rule and its generated metadata. Oxlint uses fixed, valid React Compiler options, so the rule cannot produce actionable diagnostics.

AI-assisted: Codex was used to implement and validate this change.
2026-08-16 12:39:27 +00:00
Boshen 8c4552dfa6 feat(linter)!: split react/react-compiler into per-category rules (#25500)
Splits the experimental `react/react-compiler` rule into 24 category-specific rules matching `eslint-plugin-react-hooks` v7.

- Runs React Compiler once per file and routes structured diagnostics to each enabled rule.
- Removes `react/react-compiler` and `reportAllBailouts`, with rules categorized by user-facing lint intent.
- Adds per-rule documentation and deduplicates shared React lint URLs.
- Preserves standardized compiler diagnostics while reporting each finding under its Oxlint rule name.

Breaking change: configurations using `react/react-compiler` must migrate to the category-specific rules.

Written with Claude Code and Codex.
2026-08-15 14:56:58 +00:00
Mikhail Baev bdcd3dfc2f docs(linter): mark redundant unicorn rules unsupported (#25288)
unicorn issue #684
2026-08-04 16:29:00 +01:00
Mikhail Baev f9097f893d docs(linter): mark redundant unicorn rules unsupported (#25124)
2 rules covered by typescript type check, 1 rule covered by oxc rule

unicorn issue #684
2026-07-30 17:23:31 +01:00
Bartok 0ed53f16ae docs(linter): mark redundant unicorn rules covered by oxc/typescript (#24669)
## Summary

- Marks five unicorn rules as unsupported because oxc already has close
equivalents under `oxc/*` or `typescript/*`.
- Docs-only trim of the unicorn backlog tracker — no new rule code.

## Motivation

Continuation of the residual items called out on #684 (see [@baevm's
note](https://github.com/oxc-project/oxc/issues/684#issuecomment-4925320477)
and [@connorshea's
invitation](https://github.com/oxc-project/oxc/issues/684#issuecomment-5009671130)).
Remaining undisputed overlaps:

| unicorn rule | existing oxlint rule |
|---|---|
| `unicorn/no-accidental-bitwise-operator` | `oxc/bad-bitwise-operator`
|
| `unicorn/no-misrefactored-assignment` | `oxc/misrefactored-assign-op`
|
| `unicorn/no-constant-zero-expression` | `oxc/erasing-op` |
| `unicorn/prefer-math-constants` | `oxc/approx-constant` |
| `unicorn/require-array-sort-compare` |
`typescript/require-array-sort-compare` (tsgolint) |

Skipped more contested entries (`no-useless-boolean-cast`,
`logical-assignment-operators`, `no-unsafe-promise-all-settled-values`)
where coverage is partial or debatable.

## Verification

- `python3 -c "import json;
json.load(open('tasks/lint_rules/src/unsupported-rules.json'))"` — valid
JSON; 404 unsupported entries.
- Confirmed each target rule exists under
`crates/oxc_linter/src/rules/{oxc,typescript}/`.
- No open PR currently claims these five keys (checked against #24635 /
merged #24642).

## AI disclosure

Assisted by AI (Hermes/Sera). I reviewed every mapping against the
living rule sources before opening; this is a docs-only JSON update.

---
**Agent-Owner:** `sera` · **Platform:** hermes · **Claim:** `sera`

---
<!-- fleet-pr-claim: agent_id=sera platform=hermes -->
**Agent-Owner:** `sera` · **Platform:** hermes · **Claim-TTL:** 24h

Co-authored-by: Bartok9 <259807879+Bartok9@users.noreply.github.com>
2026-07-19 14:11:20 +01:00
Connor Shea 79060a16de docs(linter): Mark n/no-unpublished-bin and vue/prefer-v-model as unsupported. (#24635)
We can't parse package.json as part of a rule, and it's not relevant on
npm >=10 anyway.


https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-unpublished-bin.md

Also mark `vue/prefer-v-model` as unsupported because it requires Vue
template parsing.
2026-07-19 14:09:01 +01:00
Mikhail Baev 54cc4415af docs(linter): mark redundant unicorn rules unsupported (#24642)
https://github.com/oxc-project/oxc/issues/684#issuecomment-5009671130
2026-07-18 13:48:55 +01:00
Mikhail Baev cf8a868b21 docs(linter): mark redundant unicorn rules unsupported (#24602)
2 new unicorn rules are already covered by `typescript/*` rules, other 3
are reported by typescript type checking
2026-07-16 17:17:52 +01:00
renovate[bot] 7b91622d95 chore(deps): update dependency oxfmt to ^0.59.0 (#24496)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Adoption](https://docs.renovatebot.com/merge-confidence/) |
[Passing](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|---|---|
| [oxfmt](https://oxc.rs/docs/guide/usage/formatter)
([source](https://redirect.github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt))
| [`^0.58.0` →
`^0.59.0`](https://renovatebot.com/diffs/npm/oxfmt/0.58.0/0.59.0) |
![age](https://developer.mend.io/api/mc/badges/age/npm/oxfmt/0.59.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/oxfmt/0.59.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/oxfmt/0.58.0/0.59.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/oxfmt/0.58.0/0.59.0?slim=true)
|

---

### Release Notes

<details>
<summary>oxc-project/oxc (oxfmt)</summary>

###
[`v0.59.0`](https://redirect.github.com/oxc-project/oxc/blob/HEAD/npm/oxfmt/CHANGELOG.md#0590---2026-07-13)

##### 🐛 Bug Fixes

-
[`415fe1e`](https://redirect.github.com/oxc-project/oxc/commit/415fe1e)
oxfmt: Error on ignorePatterns that cannot match files outside the
config directory
([#&#8203;24286](https://redirect.github.com/oxc-project/oxc/issues/24286))
(leaysgur)

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

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

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/oxc-project/oxc).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNTkuMiIsInVwZGF0ZWRJblZlciI6IjQzLjI1OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-07-14 09:39:56 +01:00
Connor Shea 5d59aa5d30 docs(linter): Update react-compiler rule descriptions to reflect experimental implementation. (#24478)
We now support the react compiler rules in Oxlint, albeit as one
singular experimental rule for now. So update the unsupported-rules.json
accordingly.
2026-07-14 15:41:47 +08:00
Bart Langelaan 042222fbe5 fix(tasks/lint-rules): pin ESLint to v9 (#24278)
The `lint_rules` task is currently broken. See:
https://github.com/oxc-project/oxc/actions/workflows/lint_rules.yml

This fixes the task by reverting to eslint v9.

Co-authored-by: Cameron <cameron.clark@hey.com>
2026-07-08 11:53:57 +01:00
Mikhail Baev 4e5a65f91c docs(linter/unicorn): mark no-non-function-verb-prefix as requiring type information (#24266)
`unicorn/no-non-function-verb-prefix` is one of the new unicorn rules
that requires type information, so I think it can be added to the
unsupported rules list

[upstream rule
doc](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-non-function-verb-prefix.md)

issue #684
2026-07-07 15:33:49 +01:00
Mikhail Baev 5bd3f28eff docs(linter): mark n/prefer-global-* rules as unsupported (#24139)
this PR marks `n/prefer-global-*` rules as unsupported as discussed
[here](https://github.com/oxc-project/oxc/pull/23607#pullrequestreview-4626731228)
2026-07-03 22:38:30 +01:00
camc314 cb2822d71f chore(linter): mark unicorn bad-comparison-sequence unsupported (#24081)
## Summary
- mark `unicorn/bad-comparison-sequence` as unsupported in lint rule tracking
- point users to `oxc/bad-comparison-sequence` and note TypeScript also reports these comparisons
2026-07-02 17:01:47 +00:00
renovate[bot] 1449f183bd chore(deps): update npm packages (major) (#23692)
> ℹ️ **Note**
> 
> This PR body was truncated due to platform limits.

This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Adoption](https://docs.renovatebot.com/merge-confidence/) |
[Passing](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|---|---|
| [@babel/code-frame](https://babel.dev/docs/en/next/babel-code-frame)
([source](https://redirect.github.com/babel/babel/tree/HEAD/packages/babel-code-frame))
| [`^7.28.6` →
`^8.0.0`](https://renovatebot.com/diffs/npm/@babel%2fcode-frame/7.29.7/8.0.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@babel%2fcode-frame/8.0.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@babel%2fcode-frame/8.0.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@babel%2fcode-frame/7.29.7/8.0.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@babel%2fcode-frame/7.29.7/8.0.0?slim=true)
|
| [@babel/core](https://babel.dev/docs/en/next/babel-core)
([source](https://redirect.github.com/babel/babel/tree/HEAD/packages/babel-core))
| [`^7.26.0` →
`^8.0.0`](https://renovatebot.com/diffs/npm/@babel%2fcore/7.29.7/8.0.1)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@babel%2fcore/8.0.1?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@babel%2fcore/8.0.1?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@babel%2fcore/7.29.7/8.0.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@babel%2fcore/7.29.7/8.0.1?slim=true)
|
|
[@babel/plugin-external-helpers](https://babel.dev/docs/en/next/babel-plugin-external-helpers)
([source](https://redirect.github.com/babel/babel/tree/HEAD/packages/babel-plugin-external-helpers))
| [`^7.25.9` →
`^8.0.0`](https://renovatebot.com/diffs/npm/@babel%2fplugin-external-helpers/7.29.7/8.0.1)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@babel%2fplugin-external-helpers/8.0.1?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@babel%2fplugin-external-helpers/8.0.1?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@babel%2fplugin-external-helpers/7.29.7/8.0.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@babel%2fplugin-external-helpers/7.29.7/8.0.1?slim=true)
|
|
[@babel/plugin-proposal-decorators](https://babel.dev/docs/en/next/babel-plugin-proposal-decorators)
([source](https://redirect.github.com/babel/babel/tree/HEAD/packages/babel-plugin-proposal-decorators))
| [`^7.25.9` →
`^8.0.0`](https://renovatebot.com/diffs/npm/@babel%2fplugin-proposal-decorators/7.29.7/8.0.2)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@babel%2fplugin-proposal-decorators/8.0.2?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@babel%2fplugin-proposal-decorators/8.0.2?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@babel%2fplugin-proposal-decorators/7.29.7/8.0.2?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@babel%2fplugin-proposal-decorators/7.29.7/8.0.2?slim=true)
|
|
[@babel/plugin-transform-arrow-functions](https://babel.dev/docs/en/next/babel-plugin-transform-arrow-functions)
([source](https://redirect.github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-arrow-functions))
| [`^7.25.9` →
`^8.0.0`](https://renovatebot.com/diffs/npm/@babel%2fplugin-transform-arrow-functions/7.29.7/8.0.1)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@babel%2fplugin-transform-arrow-functions/8.0.1?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@babel%2fplugin-transform-arrow-functions/8.0.1?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@babel%2fplugin-transform-arrow-functions/7.29.7/8.0.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@babel%2fplugin-transform-arrow-functions/7.29.7/8.0.1?slim=true)
|
|
[@babel/plugin-transform-async-to-generator](https://babel.dev/docs/en/next/babel-plugin-transform-async-to-generator)
([source](https://redirect.github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-async-to-generator))
| [`^7.25.9` →
`^8.0.0`](https://renovatebot.com/diffs/npm/@babel%2fplugin-transform-async-to-generator/7.29.7/8.0.1)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@babel%2fplugin-transform-async-to-generator/8.0.1?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@babel%2fplugin-transform-async-to-generator/8.0.1?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@babel%2fplugin-transform-async-to-generator/7.29.7/8.0.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@babel%2fplugin-transform-async-to-generator/7.29.7/8.0.1?slim=true)
|
|
[@babel/plugin-transform-class-properties](https://babel.dev/docs/en/next/babel-plugin-transform-class-properties)
([source](https://redirect.github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-class-properties))
| [`^7.25.9` →
`^8.0.0`](https://renovatebot.com/diffs/npm/@babel%2fplugin-transform-class-properties/7.29.7/8.0.1)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@babel%2fplugin-transform-class-properties/8.0.1?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@babel%2fplugin-transform-class-properties/8.0.1?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@babel%2fplugin-transform-class-properties/7.29.7/8.0.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@babel%2fplugin-transform-class-properties/7.29.7/8.0.1?slim=true)
|
|
[@babel/plugin-transform-class-static-block](https://babel.dev/docs/en/next/babel-plugin-transform-class-static-block)
([source](https://redirect.github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-class-static-block))
| [`^7.26.0` →
`^8.0.0`](https://renovatebot.com/diffs/npm/@babel%2fplugin-transform-class-static-block/7.29.7/8.0.1)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@babel%2fplugin-transform-class-static-block/8.0.1?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@babel%2fplugin-transform-class-static-block/8.0.1?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@babel%2fplugin-transform-class-static-block/7.29.7/8.0.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@babel%2fplugin-transform-class-static-block/7.29.7/8.0.1?slim=true)
|
|
[@babel/plugin-transform-explicit-resource-management](https://babel.dev/docs/en/next/babel-plugin-transform-explicit-resource-management)
([source](https://redirect.github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-explicit-resource-management))
| [`^7.25.9` →
`^8.0.0`](https://renovatebot.com/diffs/npm/@babel%2fplugin-transform-explicit-resource-management/7.29.7/8.0.1)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@babel%2fplugin-transform-explicit-resource-management/8.0.1?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@babel%2fplugin-transform-explicit-resource-management/8.0.1?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@babel%2fplugin-transform-explicit-resource-management/7.29.7/8.0.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@babel%2fplugin-transform-explicit-resource-management/7.29.7/8.0.1?slim=true)
|
|
[@babel/plugin-transform-exponentiation-operator](https://babel.dev/docs/en/next/babel-plugin-transform-exponentiation-operator)
([source](https://redirect.github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-exponentiation-operator))
| [`^7.25.9` →
`^8.0.0`](https://renovatebot.com/diffs/npm/@babel%2fplugin-transform-exponentiation-operator/7.29.7/8.0.1)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@babel%2fplugin-transform-exponentiation-operator/8.0.1?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@babel%2fplugin-transform-exponentiation-operator/8.0.1?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@babel%2fplugin-transform-exponentiation-operator/7.29.7/8.0.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@babel%2fplugin-transform-exponentiation-operator/7.29.7/8.0.1?slim=true)
|
|
[@babel/plugin-transform-logical-assignment-operators](https://babel.dev/docs/en/next/babel-plugin-transform-logical-assignment-operators)
([source](https://redirect.github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-logical-assignment-operators))
| [`^7.25.9` →
`^8.0.0`](https://renovatebot.com/diffs/npm/@babel%2fplugin-transform-logical-assignment-operators/7.29.7/8.0.1)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@babel%2fplugin-transform-logical-assignment-operators/8.0.1?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@babel%2fplugin-transform-logical-assignment-operators/8.0.1?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@babel%2fplugin-transform-logical-assignment-operators/7.29.7/8.0.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@babel%2fplugin-transform-logical-assignment-operators/7.29.7/8.0.1?slim=true)
|
|
[@babel/plugin-transform-optional-chaining](https://babel.dev/docs/en/next/babel-plugin-transform-optional-chaining)
([source](https://redirect.github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-optional-chaining))
| [`^7.25.9` →
`^8.0.0`](https://renovatebot.com/diffs/npm/@babel%2fplugin-transform-optional-chaining/7.29.7/8.0.1)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@babel%2fplugin-transform-optional-chaining/8.0.1?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@babel%2fplugin-transform-optional-chaining/8.0.1?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@babel%2fplugin-transform-optional-chaining/7.29.7/8.0.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@babel%2fplugin-transform-optional-chaining/7.29.7/8.0.1?slim=true)
|
|
[@babel/plugin-transform-private-methods](https://babel.dev/docs/en/next/babel-plugin-transform-private-methods)
([source](https://redirect.github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-private-methods))
| [`^7.25.9` →
`^8.0.0`](https://renovatebot.com/diffs/npm/@babel%2fplugin-transform-private-methods/7.29.7/8.0.1)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@babel%2fplugin-transform-private-methods/8.0.1?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@babel%2fplugin-transform-private-methods/8.0.1?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@babel%2fplugin-transform-private-methods/7.29.7/8.0.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@babel%2fplugin-transform-private-methods/7.29.7/8.0.1?slim=true)
|
|
[@babel/plugin-transform-private-property-in-object](https://babel.dev/docs/en/next/babel-plugin-transform-private-property-in-object)
([source](https://redirect.github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-private-property-in-object))
| [`^7.25.9` →
`^8.0.0`](https://renovatebot.com/diffs/npm/@babel%2fplugin-transform-private-property-in-object/7.29.7/8.0.1)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@babel%2fplugin-transform-private-property-in-object/8.0.1?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@babel%2fplugin-transform-private-property-in-object/8.0.1?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@babel%2fplugin-transform-private-property-in-object/7.29.7/8.0.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@babel%2fplugin-transform-private-property-in-object/7.29.7/8.0.1?slim=true)
|
|
[@babel/plugin-transform-typescript](https://babel.dev/docs/en/next/babel-plugin-transform-typescript)
([source](https://redirect.github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-typescript))
| [`^7.26.3` →
`^8.0.0`](https://renovatebot.com/diffs/npm/@babel%2fplugin-transform-typescript/7.29.7/8.0.1)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@babel%2fplugin-transform-typescript/8.0.1?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@babel%2fplugin-transform-typescript/8.0.1?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@babel%2fplugin-transform-typescript/7.29.7/8.0.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@babel%2fplugin-transform-typescript/7.29.7/8.0.1?slim=true)
|
| [eslint](https://eslint.org)
([source](https://redirect.github.com/eslint/eslint)) | [`^9.13.0` →
`^10.0.0`](https://renovatebot.com/diffs/npm/eslint/9.39.4/10.5.0) |
![age](https://developer.mend.io/api/mc/badges/age/npm/eslint/10.5.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/eslint/10.5.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/eslint/9.39.4/10.5.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint/9.39.4/10.5.0?slim=true)
|

---

### Release Notes

<details>
<summary>babel/babel (@&#8203;babel/code-frame)</summary>

###
[`v8.0.0`](https://redirect.github.com/babel/babel/blob/HEAD/CHANGELOG.md#v800-2026-06-16)

[Compare
Source](https://redirect.github.com/babel/babel/compare/v7.29.7...v8.0.0)

##### 👓 Spec Compliance

- `babel-core`
- [#&#8203;18039](https://redirect.github.com/babel/babel/pull/18039)
perf: Only extract source map comments at the end of the file
([@&#8203;liuxingbaoyu](https://redirect.github.com/liuxingbaoyu))

##### 💥 Breaking Change

- `babel-cli`, `babel-node`, `babel-plugin-proposal-decorators`,
`babel-plugin-transform-classes`,
`babel-plugin-transform-function-name`,
`babel-plugin-transform-modules-commonjs`,
`babel-plugin-transform-object-rest-spread`,
`babel-plugin-transform-parameters`,
`babel-plugin-transform-react-constant-elements`,
`babel-plugin-transform-regenerator`, `babel-preset-env`,
`babel-register`
- [#&#8203;18069](https://redirect.github.com/babel/babel/pull/18069)
Fallback to assuming ESM support with `modules: auto`
([@&#8203;nicolo-ribaudo](https://redirect.github.com/nicolo-ribaudo))
- `babel-plugin-transform-runtime`, `babel-runtime-corejs3`,
`babel-runtime`
- [#&#8203;18036](https://redirect.github.com/babel/babel/pull/18036)
Remove corejs exports for `@babe/runtime-corejs3`
([@&#8203;liuxingbaoyu](https://redirect.github.com/liuxingbaoyu))
- `babel-parser`
- [#&#8203;18034](https://redirect.github.com/babel/babel/pull/18034)
Remove `locations: "packed"`
([@&#8203;liuxingbaoyu](https://redirect.github.com/liuxingbaoyu))

##### 🐛 Bug Fix

- `babel-generator`
- [#&#8203;18046](https://redirect.github.com/babel/babel/pull/18046)
fix(generator): improve new callee parens check
([@&#8203;JLHwung](https://redirect.github.com/JLHwung))
- `babel-plugin-transform-modules-systemjs`
- [#&#8203;18032](https://redirect.github.com/babel/babel/pull/18032)
fix(systemjs): support **proto** as an export name
([@&#8203;JLHwung](https://redirect.github.com/JLHwung))

##### 📝 Documentation

- [#&#8203;18070](https://redirect.github.com/babel/babel/pull/18070)
Add EOL date for Babel 7 (end of June 2027) to SECURITY.md
([@&#8203;nicolo-ribaudo](https://redirect.github.com/nicolo-ribaudo))

##### 🏠 Internal

- [#&#8203;18018](https://redirect.github.com/babel/babel/pull/18018)
ci: enforce yarn integrity
([@&#8203;JLHwung](https://redirect.github.com/JLHwung))

##### :running\_woman: Performance

- `babel-core`
- [#&#8203;18039](https://redirect.github.com/babel/babel/pull/18039)
perf: Only extract source map comments at the end of the file
([@&#8203;liuxingbaoyu](https://redirect.github.com/liuxingbaoyu))

</details>

<details>
<summary>eslint/eslint (eslint)</summary>

###
[`v10.5.0`](https://redirect.github.com/eslint/eslint/releases/tag/v10.5.0)

[Compare
Source](https://redirect.github.com/eslint/eslint/compare/v10.4.1...v10.5.0)

#### Features

-
[`5ca8c52`](https://redirect.github.com/eslint/eslint/commit/5ca8c5278edea1fd84d3ba83d8ea3f52fb3831ad)
feat: correct stack tracking in max-nested-callbacks
([#&#8203;20973](https://redirect.github.com/eslint/eslint/issues/20973))
(Pixel998)
-
[`b565783`](https://redirect.github.com/eslint/eslint/commit/b5657837604fa5e8cf1278074782025cadd34b6c)
feat: report no-with violations at the with keyword
([#&#8203;20971](https://redirect.github.com/eslint/eslint/issues/20971))
(Pixel998)
-
[`2ce032f`](https://redirect.github.com/eslint/eslint/commit/2ce032fbc72a1a80c024c084a4f382fb6dece684)
feat: report max-lines-per-function violations at function head
([#&#8203;20966](https://redirect.github.com/eslint/eslint/issues/20966))
(Pixel998)
-
[`732cb3e`](https://redirect.github.com/eslint/eslint/commit/732cb3e09d5b8b809b5f461d118a5d9fdcd6427f)
feat: report max-nested-callbacks violations at function head
([#&#8203;20967](https://redirect.github.com/eslint/eslint/issues/20967))
(Pixel998)
-
[`f9c138a`](https://redirect.github.com/eslint/eslint/commit/f9c138a0ba7d8e37aed39aef4a3ff1cae8c669f7)
feat: report max-depth violations on keywords
([#&#8203;20943](https://redirect.github.com/eslint/eslint/issues/20943))
(Pixel998)
-
[`bdb496c`](https://redirect.github.com/eslint/eslint/commit/bdb496cc0d54b6d0a023aef9abd5f040ccff2101)
feat: correct max-depth handling for else-if chains
([#&#8203;20944](https://redirect.github.com/eslint/eslint/issues/20944))
(Pixel998)
-
[`c296873`](https://redirect.github.com/eslint/eslint/commit/c29687354a7f96093f57f7d73eecb866ad5e2953)
feat: update error loc in `max-statements` to function header
([#&#8203;20907](https://redirect.github.com/eslint/eslint/issues/20907))
(Taejin Kim)

#### Documentation

-
[`8ae1b5b`](https://redirect.github.com/eslint/eslint/commit/8ae1b5b856dc031cd6c701d89a4df7da4772cd56)
docs: Update README (GitHub Actions Bot)
-
[`ca7eb90`](https://redirect.github.com/eslint/eslint/commit/ca7eb90127dcad917188bb1342623f02a272e781)
docs: update Node.js prerequisites to include ICU support
([#&#8203;20962](https://redirect.github.com/eslint/eslint/issues/20962))
(Francesco Trotta)
-
[`f99b47a`](https://redirect.github.com/eslint/eslint/commit/f99b47a6799be25321552402a49303bb06a43fe4)
docs: Update README (GitHub Actions Bot)
-
[`acf03d4`](https://redirect.github.com/eslint/eslint/commit/acf03d4eed31d259c7dc62af5b9640629784f7cc)
docs: clarify precedence of parserOptions over languageOptions
([#&#8203;20926](https://redirect.github.com/eslint/eslint/issues/20926))
(sethamus)

#### Chores

-
[`b18bf58`](https://redirect.github.com/eslint/eslint/commit/b18bf58c5ac748415ffffdff2d96980fbd6a57e8)
chore: update ecosystem plugins
([#&#8203;20959](https://redirect.github.com/eslint/eslint/issues/20959))
(ESLint Bot)
-
[`c2d1444`](https://redirect.github.com/eslint/eslint/commit/c2d1444df77cb42e5a0b89ab70496879d180a54d)
refactor: replace areAllSegmentsUnreachable with !isAnySegmentReachable
([#&#8203;20951](https://redirect.github.com/eslint/eslint/issues/20951))
(Taejin Kim)
-
[`243b8c5`](https://redirect.github.com/eslint/eslint/commit/243b8c56014bbbe63771185b0731d8dd4d1316e9)
chore: enhance config-rule to support oneOf, anyOf, and nested schemas
([#&#8203;20788](https://redirect.github.com/eslint/eslint/issues/20788))
(kuldeep kumar)
-
[`217b2a9`](https://redirect.github.com/eslint/eslint/commit/217b2a91f46137c5ffd693965e71306c4c15ea6b)
test: add unit tests for ParserService
([#&#8203;20949](https://redirect.github.com/eslint/eslint/issues/20949))
(Taejin Kim)
-
[`72003e7`](https://redirect.github.com/eslint/eslint/commit/72003e781d76bd4ee0d98a6601730d0b829070f9)
test: add location information to error messages in `max-statements`
([#&#8203;20945](https://redirect.github.com/eslint/eslint/issues/20945))
(lumir)
-
[`7797c26`](https://redirect.github.com/eslint/eslint/commit/7797c266977b0bc4971aa79721813d480de72cd1)
refactor: deduplicate isAnySegmentReachable across rules
([#&#8203;20890](https://redirect.github.com/eslint/eslint/issues/20890))
(Taejin Kim)
-
[`67c46fa`](https://redirect.github.com/eslint/eslint/commit/67c46fa6e4f34e88cc6bc82f8a0dcc917c65d257)
chore: update ecosystem plugins
([#&#8203;20938](https://redirect.github.com/eslint/eslint/issues/20938))
(ESLint Bot)
-
[`95d8c7a`](https://redirect.github.com/eslint/eslint/commit/95d8c7a99f991abd8ab618d0ee2cbd4f58effc29)
chore: update dependency
[@&#8203;eslint/json](https://redirect.github.com/eslint/json) to v2
([#&#8203;20934](https://redirect.github.com/eslint/eslint/issues/20934))
(renovate\[bot])
-
[`cf9e496`](https://redirect.github.com/eslint/eslint/commit/cf9e496205142cd4971b9f98aed85866d1010b9c)
chore: update
[@&#8203;arethetypeswrong/cli](https://redirect.github.com/arethetypeswrong/cli)
to 0.18.3
([#&#8203;20933](https://redirect.github.com/eslint/eslint/issues/20933))
(Pixel998)
-
[`fb6d396`](https://redirect.github.com/eslint/eslint/commit/fb6d3960cacc51fc12383fa5ded2382adbf90c1c)
test: run type tests with TypeScript 7
([#&#8203;20868](https://redirect.github.com/eslint/eslint/issues/20868))
(sethamus)

###
[`v10.4.1`](https://redirect.github.com/eslint/eslint/releases/tag/v10.4.1)

[Compare
Source](https://redirect.github.com/eslint/eslint/compare/v10.4.0...v10.4.1)

#### Bug Fixes

-
[`e557467`](https://redirect.github.com/eslint/eslint/commit/e557467db7496220eebcbe2ac5ea6d38c12bb1ec)
fix: update `@eslint/plugin-kit` version to 0.7.2
([#&#8203;20930](https://redirect.github.com/eslint/eslint/issues/20930))
(Francesco Trotta)
-
[`d4ce898`](https://redirect.github.com/eslint/eslint/commit/d4ce898796ca22c3b96aa70d3014cb85f4bac1cd)
fix: propagate failures from delegated commands
([#&#8203;20917](https://redirect.github.com/eslint/eslint/issues/20917))
(Minh Vu)
-
[`f4f3507`](https://redirect.github.com/eslint/eslint/commit/f4f3507460bc016b5be979c05d2969793f570cbf)
fix: prefer-arrow-callback invalid autofix with newline after `async`
([#&#8203;20916](https://redirect.github.com/eslint/eslint/issues/20916))
(kuldeep kumar)
-
[`c5bc78b`](https://redirect.github.com/eslint/eslint/commit/c5bc78b37e08b9054a11f0cc2d81808bb24acb85)
fix: false positive for reference in `finally` block
([#&#8203;20655](https://redirect.github.com/eslint/eslint/issues/20655))
(Tanuj Kanti)
-
[`27538c0`](https://redirect.github.com/eslint/eslint/commit/27538c01f5df4e9306f6f4ba867b2dd6307fae59)
fix: add missing CodePath and CodePathSegment types
([#&#8203;20853](https://redirect.github.com/eslint/eslint/issues/20853))
(Pixel998)

#### Documentation

-
[`61b0add`](https://redirect.github.com/eslint/eslint/commit/61b0add61ffc52665562be7bb96f526690a78b30)
docs: remove deprecated rule from related rules of `max-params`
([#&#8203;20921](https://redirect.github.com/eslint/eslint/issues/20921))
(Tanuj Kanti)
-
[`305d5b9`](https://redirect.github.com/eslint/eslint/commit/305d5b91aeac24d36fde42f75625a8f183d4ce43)
docs: remove deprecated rules from related rules section
([#&#8203;20911](https://redirect.github.com/eslint/eslint/issues/20911))
(Tanuj Kanti)
-
[`49b0202`](https://redirect.github.com/eslint/eslint/commit/49b0202d01918b8061720d586dffd7c68047090c)
docs: fix `display: none` of ad
([#&#8203;20901](https://redirect.github.com/eslint/eslint/issues/20901))
(Tanuj Kanti)
-
[`9067f94`](https://redirect.github.com/eslint/eslint/commit/9067f9492ec998afc5b4f057a477ecf6ebd45e44)
docs: switch build to Node.js 24
([#&#8203;20893](https://redirect.github.com/eslint/eslint/issues/20893))
(Milos Djermanovic)
-
[`c91b041`](https://redirect.github.com/eslint/eslint/commit/c91b0417e3420c76807ce1fa2aea76e2de87ab86)
docs: Update README (GitHub Actions Bot)
-
[`e349265`](https://redirect.github.com/eslint/eslint/commit/e349265cb37f3ebc837e178e48a725bb782bd870)
docs: clarify semver strings in rule deprecation objects
([#&#8203;20885](https://redirect.github.com/eslint/eslint/issues/20885))
(Milos Djermanovic)

#### Chores

-
[`b0e466b`](https://redirect.github.com/eslint/eslint/commit/b0e466b6ab47bfc7de43d8de0c315d8ee83aa584)
test: add `data` property to invalid tests cases for rules
([#&#8203;20924](https://redirect.github.com/eslint/eslint/issues/20924))
(Tanuj Kanti)
-
[`f78838b`](https://redirect.github.com/eslint/eslint/commit/f78838bc4c86d487e1bcc7cede260c4467721c46)
test: add CodePath type coverage
([#&#8203;20904](https://redirect.github.com/eslint/eslint/issues/20904))
(Pixel998)
-
[`1daa4bd`](https://redirect.github.com/eslint/eslint/commit/1daa4bd734b79a62e317d0394394a6b38cff49f9)
chore: update `eslint-plugin-eslint-comments` test data to latest commit
([#&#8203;20922](https://redirect.github.com/eslint/eslint/issues/20922))
(Francesco Trotta)
-
[`002942c`](https://redirect.github.com/eslint/eslint/commit/002942ce988ea28b78e0a2f3b074081e638b552c)
ci: declare contents:read on update-readme workflow
([#&#8203;20919](https://redirect.github.com/eslint/eslint/issues/20919))
(Arpit Jain)
-
[`64bca24`](https://redirect.github.com/eslint/eslint/commit/64bca24e7bed35bc3c864fc625cb2d89eca87d5b)
chore: update ecosystem plugins
([#&#8203;20912](https://redirect.github.com/eslint/eslint/issues/20912))
(ESLint Bot)
-
[`6d7c832`](https://redirect.github.com/eslint/eslint/commit/6d7c832950d5e92499d88e504080661f888f8f56)
chore: ignore fflate updates in renovate
([#&#8203;20908](https://redirect.github.com/eslint/eslint/issues/20908))
(Pixel998)
-
[`b2c8638`](https://redirect.github.com/eslint/eslint/commit/b2c86382164d87c6203b78d52068cd6a2a6ffe30)
ci: bump pnpm/action-setup from 6.0.7 to 6.0.8
([#&#8203;20889](https://redirect.github.com/eslint/eslint/issues/20889))
(dependabot\[bot])
-
[`a9b8d7f`](https://redirect.github.com/eslint/eslint/commit/a9b8d7f74c50211701cfc49710fa541fd91b2aa5)
chore: increase maxBuffer for ecosystem tests
([#&#8203;20881](https://redirect.github.com/eslint/eslint/issues/20881))
(sethamus)
-
[`b702ead`](https://redirect.github.com/eslint/eslint/commit/b702ead5e1ed7cb9f28238a454797662efb37396)
chore: update ecosystem update PR settings
([#&#8203;20884](https://redirect.github.com/eslint/eslint/issues/20884))
(Pixel998)
-
[`507f60e`](https://redirect.github.com/eslint/eslint/commit/507f60e9a78c9a902bc8759f066ae17a1ea6cd81)
chore: update ecosystem plugins
([#&#8203;20882](https://redirect.github.com/eslint/eslint/issues/20882))
(ESLint Bot)
-
[`92f5c5b`](https://redirect.github.com/eslint/eslint/commit/92f5c5bb6bf3a5d167c8ee53a430833410295c6d)
test: add unit test for message-count
([#&#8203;20878](https://redirect.github.com/eslint/eslint/issues/20878))
(kuldeep kumar)
-
[`df32108`](https://redirect.github.com/eslint/eslint/commit/df321080af5758b1fa25e4b9a40e26135642dd6e)
chore: add
[@&#8203;eslint/markdown](https://redirect.github.com/eslint/markdown)
and typescript-eslint ecosystem tests
([#&#8203;20837](https://redirect.github.com/eslint/eslint/issues/20837))
(sethamus)
-
[`327f91d`](https://redirect.github.com/eslint/eslint/commit/327f91d36aa49f2a50ded931d841a16374fd875f)
chore: use includeIgnoreFile internally
([#&#8203;20876](https://redirect.github.com/eslint/eslint/issues/20876))
(Kirk Waiblinger)
-
[`f0dc4bd`](https://redirect.github.com/eslint/eslint/commit/f0dc4bd893fb3a9f44e4ddc3ad7063ffb0beacd3)
chore: pin fflate\@&#8203;0.8.2
([#&#8203;20877](https://redirect.github.com/eslint/eslint/issues/20877))
(Milos Djermanovic)
-
[`0f4bd25`](https://redirect.github.com/eslint/eslint/commit/0f4bd257a67a082b756de746d9e0c4842ab764ca)
ci: run Discord alert for ecosystem test failures
([#&#8203;20873](https://redirect.github.com/eslint/eslint/issues/20873))
(Copilot)

###
[`v10.4.0`](https://redirect.github.com/eslint/eslint/releases/tag/v10.4.0)

[Compare
Source](https://redirect.github.com/eslint/eslint/compare/v10.3.0...v10.4.0)

#### Features

-
[`1a45ec5`](https://redirect.github.com/eslint/eslint/commit/1a45ec596af1dd5f880e6874cb8f24dafb6a7ecf)
feat: check sequence expressions in `for-direction`
([#&#8203;20701](https://redirect.github.com/eslint/eslint/issues/20701))
(kuldeep kumar)
-
[`450040b`](https://redirect.github.com/eslint/eslint/commit/450040bd89b989b3531824c6be45feb5fe3d936b)
feat: add `includeIgnoreFile()` to `eslint/config`
([#&#8203;20735](https://redirect.github.com/eslint/eslint/issues/20735))
(Kirk Waiblinger)

#### Bug Fixes

-
[`544c0c3`](https://redirect.github.com/eslint/eslint/commit/544c0c3da589166ad8e5d634f35d3d06701c57be)
fix: escape code path DOT labels in debug output
([#&#8203;20866](https://redirect.github.com/eslint/eslint/issues/20866))
(Pixel998)
-
[`6799431`](https://redirect.github.com/eslint/eslint/commit/6799431203f2579632d0870f98ba132067f4040c)
fix: update dependency
[@&#8203;eslint/config-helpers](https://redirect.github.com/eslint/config-helpers)
to ^0.6.0
([#&#8203;20850](https://redirect.github.com/eslint/eslint/issues/20850))
(renovate\[bot])
-
[`f078fef`](https://redirect.github.com/eslint/eslint/commit/f078fef5005dceb14fc162aab7c7200e027688dd)
fix: handle non-array deprecated rule replacements
([#&#8203;20825](https://redirect.github.com/eslint/eslint/issues/20825))
(xbinaryx)

#### Documentation

-
[`7e52a71`](https://redirect.github.com/eslint/eslint/commit/7e52a7151fb92eec0e0f67fe4e5ddbd1ccce796f)
docs: add mention of `@eslint-react/eslint-plugin`
([#&#8203;20869](https://redirect.github.com/eslint/eslint/issues/20869))
(Pavel)
-
[`db3468b`](https://redirect.github.com/eslint/eslint/commit/db3468ba746407d7f286f18f7ea9db6df0e3bc08)
docs: tweak wording around ambiguous CJS-vs-ESM config
([#&#8203;20865](https://redirect.github.com/eslint/eslint/issues/20865))
(Kirk Waiblinger)
-
[`9084664`](https://redirect.github.com/eslint/eslint/commit/90846643ec6e97d447ae0d831fabe6d17b0a998a)
docs: Update README (GitHub Actions Bot)
-
[`9cc7387`](https://redirect.github.com/eslint/eslint/commit/9cc73875046e3c4b8313644cbb1e99e26b36bd3f)
docs: Update README (GitHub Actions Bot)
-
[`3d7b548`](https://redirect.github.com/eslint/eslint/commit/3d7b5484407403817aa9071a394d336d8ea96eb5)
docs: Update README (GitHub Actions Bot)
-
[`191ec3c`](https://redirect.github.com/eslint/eslint/commit/191ec3c0a3f94ce0f110df761f0b2b8949011ccb)
docs: Update README (GitHub Actions Bot)

#### Chores

-
[`6616856`](https://redirect.github.com/eslint/eslint/commit/6616856f28fa514a30f87b5539fc100d739a94bf)
chore: upgrade knip to v6
([#&#8203;20875](https://redirect.github.com/eslint/eslint/issues/20875))
(Pixel998)
-
[`d13b084`](https://redirect.github.com/eslint/eslint/commit/d13b084a3ad02f926e9addaa35fc383759ea5554)
ci: ensure auto-created PRs run CI
([#&#8203;20860](https://redirect.github.com/eslint/eslint/issues/20860))
(lumir)
-
[`e71c7af`](https://redirect.github.com/eslint/eslint/commit/e71c7af86dce9acc1d18cb12d2184309f6841594)
ci: bump pnpm/action-setup from 6.0.5 to 6.0.7
([#&#8203;20862](https://redirect.github.com/eslint/eslint/issues/20862))
(dependabot\[bot])
-
[`d84393d`](https://redirect.github.com/eslint/eslint/commit/d84393dea170f54191fd20c8268b52c81c0ccd99)
test: add unit tests for SuppressionsService.applySuppressions()
([#&#8203;20863](https://redirect.github.com/eslint/eslint/issues/20863))
(kuldeep kumar)
-
[`24db8cb`](https://redirect.github.com/eslint/eslint/commit/24db8cb8e6f07fba667121777a15b1785486be94)
test: add tests for SuppressionsService.save()
([#&#8203;20802](https://redirect.github.com/eslint/eslint/issues/20802))
(kuldeep kumar)
-
[`2ef0549`](https://redirect.github.com/eslint/eslint/commit/2ef0549cac4a9537e4c3a26b9f3edd4c99476bf6)
chore: update ecosystem plugins
([#&#8203;20857](https://redirect.github.com/eslint/eslint/issues/20857))
(github-actions\[bot])
-
[`a429791`](https://redirect.github.com/eslint/eslint/commit/a4297918d264d229a06cd96051ef9b91c7b86732)
ci: remove `eslint-webpack-plugin` types integration test
([#&#8203;20668](https://redirect.github.com/eslint/eslint/issues/20668))
(Milos Djermanovic)
-
[`9e37386`](https://redirect.github.com/eslint/eslint/commit/9e37386aa7f2ce220b2ef74a6afbac5f6b3527c5)
chore: replace `recast` with range approach in code-sample-minimizer
([#&#8203;20682](https://redirect.github.com/eslint/eslint/issues/20682))
(Copilot)
-
[`0dd1f9f`](https://redirect.github.com/eslint/eslint/commit/0dd1f9ffc9a07704d46e2a4c8d4ccc0d0908b0c0)
test: disable warning for `vm.constants.USE_MAIN_CONTEXT_DEFAULT_LOADER`
([#&#8203;20845](https://redirect.github.com/eslint/eslint/issues/20845))
(Francesco Trotta)
-
[`9da3c7b`](https://redirect.github.com/eslint/eslint/commit/9da3c7bc92d9579f8db19ecb56e718538d09db2b)
refactor: remove deprecated `meta.language` and migrate `meta.dialects`
([#&#8203;20716](https://redirect.github.com/eslint/eslint/issues/20716))
(Pixel998)
-
[`2099ed1`](https://redirect.github.com/eslint/eslint/commit/2099ed12a0a74c3d7f0808514362af2499b4fe2b)
refactor: add `meta.defaultOptions` to more rules, enable linting
([#&#8203;20800](https://redirect.github.com/eslint/eslint/issues/20800))
(xbinaryx)
-
[`f1dfbc9`](https://redirect.github.com/eslint/eslint/commit/f1dfbc9ca57196de7092e1888cc99427bd6fe06e)
chore: update ecosystem plugins
([#&#8203;20836](https://redirect.github.com/eslint/eslint/issues/20836))
(github-actions\[bot])
-
[`c759413`](https://redirect.github.com/eslint/eslint/commit/c75941390c14728806cd4baef4f6072f6de78318)
ci: bump pnpm/action-setup from 6.0.3 to 6.0.5
([#&#8203;20843](https://redirect.github.com/eslint/eslint/issues/20843))
(dependabot\[bot])
-
[`5b817d6`](https://redirect.github.com/eslint/eslint/commit/5b817d6fdc9ae2c35b528dc662b2eca8f40f64aa)
test: add unit tests for lib/shared/ast-utils
([#&#8203;20838](https://redirect.github.com/eslint/eslint/issues/20838))
(kuldeep kumar)
-
[`1c13ae3`](https://redirect.github.com/eslint/eslint/commit/1c13ae3934c198c494e5958fa3a68b33244ff06a)
test: add unit tests for lib/shared/severity
([#&#8203;20835](https://redirect.github.com/eslint/eslint/issues/20835))
(kuldeep kumar)

###
[`v10.3.0`](https://redirect.github.com/eslint/eslint/releases/tag/v10.3.0)

[Compare
Source](https://redirect.github.com/eslint/eslint/compare/v10.2.1...v10.3.0)

#### Features

-
[`379571a`](https://redirect.github.com/eslint/eslint/commit/379571a975f2b24d88037b9de2e72ec61d004130)
feat: add suggestions for no-unused-private-class-members
([#&#8203;20773](https://redirect.github.com/eslint/eslint/issues/20773))
(sethamus)

#### Bug Fixes

-
[`b6ae5cf`](https://redirect.github.com/eslint/eslint/commit/b6ae5cf07b9b51802367539cb24b245b61eaa37c)
fix: handle unavailable require cache
([#&#8203;20812](https://redirect.github.com/eslint/eslint/issues/20812))
(Simon Podlipsky)
-
[`6fb3685`](https://redirect.github.com/eslint/eslint/commit/6fb3685bcbe9a6f72fd7dfb9129686b6fb96b0bd)
fix: rule suggestions cause continuation in class body
([#&#8203;20787](https://redirect.github.com/eslint/eslint/issues/20787))
(Milos Djermanovic)

#### Documentation

-
[`32cc7ab`](https://redirect.github.com/eslint/eslint/commit/32cc7ab4ec653ce89da92deb5c40a9f4fc707fe5)
docs: fix typos in docs and comments
([#&#8203;20809](https://redirect.github.com/eslint/eslint/issues/20809))
(Tanuj Kanti)
-
[`7f47937`](https://redirect.github.com/eslint/eslint/commit/7f479376a2fa463d823ab762db6bb37ce8d2ee8f)
docs: Update README (GitHub Actions Bot)

#### Chores

-
[`d32235e`](https://redirect.github.com/eslint/eslint/commit/d32235ec19ceea211fa86452afa383ca05f5c2f9)
ci: use pnpm in `eslint-flat-config-utils` type integration test
([#&#8203;20826](https://redirect.github.com/eslint/eslint/issues/20826))
(Francesco Trotta)
-
[`3ffb14e`](https://redirect.github.com/eslint/eslint/commit/3ffb14ea517de750ed1181579ef844af342e4096)
chore: clean up typos in comments and JSDoc
([#&#8203;20821](https://redirect.github.com/eslint/eslint/issues/20821))
(Pixel998)
-
[`22eb58a`](https://redirect.github.com/eslint/eslint/commit/22eb58a21cbde2fbd53a1fae99453d408672de50)
chore: add missing continue-on-error to ecosystem-tests.yml
([#&#8203;20818](https://redirect.github.com/eslint/eslint/issues/20818))
(Josh Goldberg ✨)
-
[`88bf002`](https://redirect.github.com/eslint/eslint/commit/88bf0024cb36caebf2880516d9a1f81aa75dafe2)
ci: bump pnpm/action-setup from 6.0.1 to 6.0.3
([#&#8203;20815](https://redirect.github.com/eslint/eslint/issues/20815))
(dependabot\[bot])
-
[`97c8c33`](https://redirect.github.com/eslint/eslint/commit/97c8c330beae9557ad24e19f94eebc8d08d1a722)
chore: update ilshidur/action-discord action to v0.4.0
([#&#8203;20811](https://redirect.github.com/eslint/eslint/issues/20811))
(renovate\[bot])
-
[`2f58136`](https://redirect.github.com/eslint/eslint/commit/2f58136dd47364a4cae7054a64f7bf1e79693813)
chore: pin peter-evans/create-pull-request action to
[`5f6978f`](https://redirect.github.com/eslint/eslint/commit/5f6978f)
([#&#8203;20810](https://redirect.github.com/eslint/eslint/issues/20810))
(renovate\[bot])
-
[`77add7f`](https://redirect.github.com/eslint/eslint/commit/77add7f1bc91ed17bba3be3289928a9146c5f5a1)
chore: add initial ecosystem plugin tests workflow
([#&#8203;19643](https://redirect.github.com/eslint/eslint/issues/19643))
(Josh Goldberg ✨)
-
[`4023b55`](https://redirect.github.com/eslint/eslint/commit/4023b55490fae55e464fe35530ef038cdf5d79a5)
test: Add unit tests for SuppressionsService.prune()
([#&#8203;20797](https://redirect.github.com/eslint/eslint/issues/20797))
(kuldeep kumar)
-
[`54080da`](https://redirect.github.com/eslint/eslint/commit/54080dad4f77bb39a1a843933d4ff3a2b7c175e2)
test: add unit tests for ForkContext
([#&#8203;20778](https://redirect.github.com/eslint/eslint/issues/20778))
(kuldeep kumar)
-
[`f0e2bcc`](https://redirect.github.com/eslint/eslint/commit/f0e2bcc4bf19253aaebfbd7df87824b0ca4a151f)
test: add unit tests for SuppressionsService.suppress() method
([#&#8203;20765](https://redirect.github.com/eslint/eslint/issues/20765))
(kuldeep kumar)
-
[`a7f0b94`](https://redirect.github.com/eslint/eslint/commit/a7f0b94743a99bcdf8d07cff15ffbfa6a6c5f927)
chore: update dependency prettier to v3.8.3
([#&#8203;20782](https://redirect.github.com/eslint/eslint/issues/20782))
(renovate\[bot])
-
[`7bf93d9`](https://redirect.github.com/eslint/eslint/commit/7bf93d9e79f6dbf77242cbb9a9b8be834730fccd)
chore: update TypeScript to v6
([#&#8203;20677](https://redirect.github.com/eslint/eslint/issues/20677))
(sethamus)
-
[`b42dd72`](https://redirect.github.com/eslint/eslint/commit/b42dd72e76e7f90e7f0be9458288d93353052adc)
ci: bump pnpm/action-setup from 6.0.0 to 6.0.1
([#&#8203;20781](https://redirect.github.com/eslint/eslint/issues/20781))
(dependabot\[bot])
-
[`2b252be`](https://redirect.github.com/eslint/eslint/commit/2b252be80f362cca7be3326a6dbe958680fdfe9a)
test: add unit tests for IdGenerator
([#&#8203;20775](https://redirect.github.com/eslint/eslint/issues/20775))
(kuldeep kumar)

###
[`v10.2.1`](https://redirect.github.com/eslint/eslint/releases/tag/v10.2.1)

[Compare
Source](https://redirect.github.com/eslint/eslint/compare/v10.2.0...v10.2.1)

#### Bug Fixes

-
[`14be92b`](https://redirect.github.com/eslint/eslint/commit/14be92b6d1fa0923b8923830f2208e5e2705b002)
fix: model generator yield resumption paths in code path analysis
([#&#8203;20665](https://redirect.github.com/eslint/eslint/issues/20665))
(sethamus)
-
[`84a19d2`](https://redirect.github.com/eslint/eslint/commit/84a19d2c32255db6b9cfc08644a607aae6d5cb62)
fix: no-async-promise-executor false positives for shadowed Promise
([#&#8203;20740](https://redirect.github.com/eslint/eslint/issues/20740))
(xbinaryx)
-
[`af764af`](https://redirect.github.com/eslint/eslint/commit/af764af0ec38225755fbf8a6f207f0c77b595a8d)
fix: clarify language and processor validation errors
([#&#8203;20729](https://redirect.github.com/eslint/eslint/issues/20729))
(Pixel998)
-
[`e251b89`](https://redirect.github.com/eslint/eslint/commit/e251b89a38280973e468a4a9386c138f4f55d10d)
fix: update eslint
([#&#8203;20715](https://redirect.github.com/eslint/eslint/issues/20715))
(renovate\[bot])

#### Documentation

-
[`ca92ca0`](https://redirect.github.com/eslint/eslint/commit/ca92ca0fb4599e8de1e2fb914e695fe7397cbe63)
docs: reuse markdown-it instance for markdown filter
([#&#8203;20768](https://redirect.github.com/eslint/eslint/issues/20768))
(Amaresh S M)
-
[`57d2ee2`](https://redirect.github.com/eslint/eslint/commit/57d2ee213305cee0cb55ef08e0480b57396269a9)
docs: Enable Eleventy incremental mode for watch
([#&#8203;20767](https://redirect.github.com/eslint/eslint/issues/20767))
(Amaresh S M)
-
[`c1621b9`](https://redirect.github.com/eslint/eslint/commit/c1621b915742276e5f4b25efe790ca62296330dc)
docs: fix typos in code-path-analyzer.js
([#&#8203;20700](https://redirect.github.com/eslint/eslint/issues/20700))
(Ayush Shukla)
-
[`1418d52`](https://redirect.github.com/eslint/eslint/commit/1418d522d10bde1960f4942afb548bc7160ec49e)
docs: Update README (GitHub Actions Bot)
-
[`39771e6`](https://redirect.github.com/eslint/eslint/commit/39771e6e600f0b0617fdeafff6dd07e4211ffde6)
docs: Update README (GitHub Actions Bot)
-
[`71e0469`](https://redirect.github.com/eslint/eslint/commit/71e04693def2df57268f08f3072a2749df6bf438)
docs: fix incomplete JSDoc param description in no-shadow rule
([#&#8203;20728](https://redirect.github.com/eslint/eslint/issues/20728))
(kuldeep kumar)
-
[`22119ce`](https://redirect.github.com/eslint/eslint/commit/22119ceb93e28f62262fc1d98ff1b1442d6e2dbf)
docs: clarify scope of for-direction rule with dead code examples
([#&#8203;20723](https://redirect.github.com/eslint/eslint/issues/20723))
(Amaresh S M)
-
[`8f3fb77`](https://redirect.github.com/eslint/eslint/commit/8f3fb77f122a5641d1833cad5d93f3f54fa3be0b)
docs: document `meta.docs.dialects`
([#&#8203;20718](https://redirect.github.com/eslint/eslint/issues/20718))
(Pixel998)

#### Chores

-
[`7ddfea9`](https://redirect.github.com/eslint/eslint/commit/7ddfea9c4f62add1588c5c0b0da568c299246383)
chore: update dependency prettier to v3.8.2
([#&#8203;20770](https://redirect.github.com/eslint/eslint/issues/20770))
(renovate\[bot])
-
[`fac40e1`](https://redirect.github.com/eslint/eslint/commit/fac40e1de2ba7646cc7cd2d3f93fbdd1f8819001)
ci: bump pnpm/action-setup from 5.0.0 to 6.0.0
([#&#8203;20763](https://redirect.github.com/eslint/eslint/issues/20763))
(dependabot\[bot])
-
[`7246f92`](https://redirect.github.com/eslint/eslint/commit/7246f923332522d8b3d46b6ee646fce88535f3fb)
test: add tests for SuppressionsService.load() error handling
([#&#8203;20734](https://redirect.github.com/eslint/eslint/issues/20734))
(kuldeep kumar)
-
[`4f34b1e`](https://redirect.github.com/eslint/eslint/commit/4f34b1e592b0f63d766d9903998e8e36eb49d3aa)
chore: update pnpm/action-setup action to v5
([#&#8203;20762](https://redirect.github.com/eslint/eslint/issues/20762))
(renovate\[bot])
-
[`51080eb`](https://redirect.github.com/eslint/eslint/commit/51080eb5c98d619434e4835dbe9f1c6654aca3b8)
test: processor service
([#&#8203;20731](https://redirect.github.com/eslint/eslint/issues/20731))
(kuldeep kumar)
-
[`e7e1889`](https://redirect.github.com/eslint/eslint/commit/e7e1889fca9b6044e08f41b38df20a1ce45808c8)
chore: remove stale babel-eslint10 fixture and test
([#&#8203;20727](https://redirect.github.com/eslint/eslint/issues/20727))
(kuldeep kumar)
-
[`4e1a87c`](https://redirect.github.com/eslint/eslint/commit/4e1a87cb8fb90e309524bc36bc5f31b9f9cfaa76)
test: remove redundant async/await in flat config array tests
([#&#8203;20722](https://redirect.github.com/eslint/eslint/issues/20722))
(Pixel998)
-
[`066eabb`](https://redirect.github.com/eslint/eslint/commit/066eabb3643b12931f991594969bcc0028f71a5f)
test: add rule metadata coverage for `languages` and `docs.dialects`
([#&#8203;20717](https://redirect.github.com/eslint/eslint/issues/20717))
(Pixel998)

###
[`v10.2.0`](https://redirect.github.com/eslint/eslint/releases/tag/v10.2.0)

[Compare
Source](https://redirect.github.com/eslint/eslint/compare/v10.1.0...v10.2.0)

#### Features

-
[`586ec2f`](https://redirect.github.com/eslint/eslint/commit/586ec2f43092779acc957866db4abe999112d1e1)
feat: Add `meta.languages` support to rules
([#&#8203;20571](https://redirect.github.com/eslint/eslint/issues/20571))
(Copilot)
-
[`14207de`](https://redirect.github.com/eslint/eslint/commit/14207dee3939dc87cfa8b2fcfc271fff2cfd6471)
feat: add `Temporal` to `no-obj-calls`
([#&#8203;20675](https://redirect.github.com/eslint/eslint/issues/20675))
(Pixel998)
-
[`bbb2c93`](https://redirect.github.com/eslint/eslint/commit/bbb2c93a2b31bd30924f32fe69a9acf41f9dfe35)
feat: add Temporal to ES2026 globals
([#&#8203;20672](https://redirect.github.com/eslint/eslint/issues/20672))
(Pixel998)

#### Bug Fixes

-
[`542cb3e`](https://redirect.github.com/eslint/eslint/commit/542cb3e6442a4e6ee3457c799e2a0ee23bef0c6a)
fix: update first-party dependencies
([#&#8203;20714](https://redirect.github.com/eslint/eslint/issues/20714))
(Francesco Trotta)

#### Documentation

-
[`a2af743`](https://redirect.github.com/eslint/eslint/commit/a2af743ea60f683d0e0de9d98267c1e7e4f5e412)
docs: add `language` to configuration objects
([#&#8203;20712](https://redirect.github.com/eslint/eslint/issues/20712))
(Francesco Trotta)
-
[`845f23f`](https://redirect.github.com/eslint/eslint/commit/845f23f1370892bf07d819497ac518c9e65090d6)
docs: Update README (GitHub Actions Bot)
-
[`5fbcf59`](https://redirect.github.com/eslint/eslint/commit/5fbcf5958b897cc4df5d652924d18428db37f7ee)
docs: remove `sourceType` from ts playground link
([#&#8203;20477](https://redirect.github.com/eslint/eslint/issues/20477))
(Tanuj Kanti)
-
[`8702a47`](https://redirect.github.com/eslint/eslint/commit/8702a474659be786b6b1392e5e7c0c56355ae4a4)
docs: Update README (GitHub Actions Bot)
-
[`ddeaded`](https://redirect.github.com/eslint/eslint/commit/ddeaded2ab36951383ff67c60fb64ec68d29a46a)
docs: Update README (GitHub Actions Bot)
-
[`2b44966`](https://redirect.github.com/eslint/eslint/commit/2b4496691266547784a7f7ad1989ce53381bab91)
docs: add Major Releases section to Manage Releases
([#&#8203;20269](https://redirect.github.com/eslint/eslint/issues/20269))
(Milos Djermanovic)
-
[`eab65c7`](https://redirect.github.com/eslint/eslint/commit/eab65c700ebb16a6e790910c720450c9908961fd)
docs: update `eslint` versions in examples
([#&#8203;20664](https://redirect.github.com/eslint/eslint/issues/20664))
(루밀LuMir)
-
[`3e4a299`](https://redirect.github.com/eslint/eslint/commit/3e4a29903bf31f0998e45ad9128a265bce1edc56)
docs: update ESM Dependencies policies with note for own-usage packages
([#&#8203;20660](https://redirect.github.com/eslint/eslint/issues/20660))
(Milos Djermanovic)

#### Chores

-
[`8120e30`](https://redirect.github.com/eslint/eslint/commit/8120e30f833474f47acc061d24d164e9f022264f)
refactor: extract no unmodified loop condition
([#&#8203;20679](https://redirect.github.com/eslint/eslint/issues/20679))
(kuldeep kumar)
-
[`46e8469`](https://redirect.github.com/eslint/eslint/commit/46e8469786be1b2bbb522100e1d44624d98d3745)
chore: update dependency markdownlint-cli2 to ^0.22.0
([#&#8203;20697](https://redirect.github.com/eslint/eslint/issues/20697))
(renovate\[bot])
-
[`01ed3aa`](https://redirect.github.com/eslint/eslint/commit/01ed3aa68477f81a7188e1498cf4906e02015b7c)
test: add unit tests for unicode utilities
([#&#8203;20622](https://redirect.github.com/eslint/eslint/issues/20622))
(Manish chaudhary)
-
[`811f493`](https://redirect.github.com/eslint/eslint/commit/811f4930f82ee2b6ac8eae75cade9bed63de0781)
ci: remove `--legacy-peer-deps` from types integration tests
([#&#8203;20667](https://redirect.github.com/eslint/eslint/issues/20667))
(Milos Djermanovic)
-
[`6b86fcf`](https://redirect.github.com/eslint/eslint/commit/6b86fcfc5c75d6a3b8a2cf7bcdb3ef60635a9a03)
chore: update dependency npm-run-all2 to v8
([#&#8203;20663](https://redirect.github.com/eslint/eslint/issues/20663))
(renovate\[bot])
-
[`632c4f8`](https://redirect.github.com/eslint/eslint/commit/632c4f83bf32b77981c7d395cacddd1bb172ee25)
chore: add `prettier` update commit to `.git-blame-ignore-revs`
([#&#8203;20662](https://redirect.github.com/eslint/eslint/issues/20662))
(루밀LuMir)
-
[`b0b0f21`](https://redirect.github.com/eslint/eslint/commit/b0b0f21927e03ba092400e3c70d7058f537765c8)
chore: update dependency eslint-plugin-regexp to ^3.1.0
([#&#8203;20659](https://redirect.github.com/eslint/eslint/issues/20659))
(Milos Djermanovic)
-
[`228a2dd`](https://redirect.github.com/eslint/eslint/commit/228a2dd4b272c17f516ee3541f1dd69eca0a8ab0)
chore: update dependency eslint-plugin-eslint-plugin to ^7.3.2
([#&#8203;20661](https://redirect.github.com/eslint/eslint/issues/20661))
(Milos Djermanovic)
-
[`3ab4d7e`](https://redirect.github.com/eslint/eslint/commit/3ab4d7e244df244102de9d0d250b2ff12456a785)
test: Add tests for eslintrc-style keys
([#&#8203;20645](https://redirect.github.com/eslint/eslint/issues/20645))
(kuldeep kumar)

###
[`v10.1.0`](https://redirect.github.com/eslint/eslint/releases/tag/v10.1.0)

[Compare
Source](https://redirect.github.com/eslint/eslint/compare/v10.0.3...v10.1.0)

#### Features

-
[`ff4382b`](https://redirect.github.com/eslint/eslint/commit/ff4382be349035acdb170627a2dc92828e134562)
feat: apply fix for `no-var` in `TSModuleBlock`
([#&#8203;20638](https://redirect.github.com/eslint/eslint/issues/20638))
(Tanuj Kanti)
-
[`0916995`](https://redirect.github.com/eslint/eslint/commit/0916995b51528872b15ba4fedb24172cf25fcb3f)
feat: Implement api support for bulk-suppressions
([#&#8203;20565](https://redirect.github.com/eslint/eslint/issues/20565))
(Blake Sager)

#### Bug Fixes

-
[`2b8824e`](https://redirect.github.com/eslint/eslint/commit/2b8824e6be4223980e929a20025602df20d05ea2)
fix: Prevent `no-var` autofix when a variable is used before declaration
([#&#8203;20464](https://redirect.github.com/eslint/eslint/issues/20464))
(Amaresh S M)
-
[`e58b4bf`](https://redirect.github.com/eslint/eslint/commit/e58b4bff167e79afd067d1b0ee9360bec2d3393e)
fix: update eslint
([#&#8203;20597](https://redirect.github.com/eslint/eslint/issues/20597))
(renovate\[bot])

#### Documentation

-
[`b7b57fe`](https://redirect.github.com/eslint/eslint/commit/b7b57fe9942c572ff651230f1f96cefed787ca52)
docs: use correct JSDoc link in require-jsdoc.md
([#&#8203;20641](https://redirect.github.com/eslint/eslint/issues/20641))
(mkemna-clb)
-
[`58e4cfc`](https://redirect.github.com/eslint/eslint/commit/58e4cfc7dbf0fe40c73f09bf0ff94ad944d0ba0e)
docs: add deprecation notice partial
([#&#8203;20639](https://redirect.github.com/eslint/eslint/issues/20639))
(Milos Djermanovic)
-
[`7143dbf`](https://redirect.github.com/eslint/eslint/commit/7143dbf99df27c61edf1552da981794e99a0b2f2)
docs: update v9 migration guide for `@eslint/js` usage
([#&#8203;20540](https://redirect.github.com/eslint/eslint/issues/20540))
(fnx)
-
[`035fc4f`](https://redirect.github.com/eslint/eslint/commit/035fc4fbe506e3e4524882cf50db37a4e430adf4)
docs: note that `globalReturn` applies only with `sourceType: "script"`
([#&#8203;20630](https://redirect.github.com/eslint/eslint/issues/20630))
(Milos Djermanovic)
-
[`e972c88`](https://redirect.github.com/eslint/eslint/commit/e972c88ab7474a74191ee99ac2558b00d0427a8a)
docs: merge ESLint option descriptions into type definitions
([#&#8203;20608](https://redirect.github.com/eslint/eslint/issues/20608))
(Francesco Trotta)
-
[`7f10d84`](https://redirect.github.com/eslint/eslint/commit/7f10d8440137f0cfd75f18f4746ba6a1c621b953)
docs: Update README (GitHub Actions Bot)
-
[`aeed007`](https://redirect.github.com/eslint/eslint/commit/aeed0078ca2f73d4744cc522102178d45b5be64e)
docs: open playground link in new tab
([#&#8203;20602](https://redirect.github.com/eslint/eslint/issues/20602))
(Tanuj Kanti)
-
[`a0d1a37`](https://redirect.github.com/eslint/eslint/commit/a0d1a3772679d3d74bb860fc65b5b58678acd452)
docs: Add AI Usage Policy
([#&#8203;20510](https://redirect.github.com/eslint/eslint/issues/20510))
(Nicholas C. Zakas)

#### Chores

-
[`a9f9cce`](https://redirect.github.com/eslint/eslint/commit/a9f9cce82d80b540a0e3549d0e91c16df28740d8)
chore: update dependency eslint-plugin-unicorn to ^63.0.0
([#&#8203;20584](https://redirect.github.com/eslint/eslint/issues/20584))
(Milos Djermanovic)
-
[`1f42bd7`](https://redirect.github.com/eslint/eslint/commit/1f42bd7876ae4192cf7f7f4faf73b4ef3d2563cb)
chore: update `prettier` to 3.8.1
([#&#8203;20651](https://redirect.github.com/eslint/eslint/issues/20651))
(루밀LuMir)
-
[`c0a6f4a`](https://redirect.github.com/eslint/eslint/commit/c0a6f4a2b4169edeca2a81bf7b47783e39ade366)
chore: update dependency
[@&#8203;eslint/json](https://redirect.github.com/eslint/json) to ^1.2.0
([#&#8203;20652](https://redirect.github.com/eslint/eslint/issues/20652))
(renovate\[bot])
-
[`cc43f79`](https://redirect.github.com/eslint/eslint/commit/cc43f795c42e5ec2f19bb43b1f6d534ef2e469f3)
chore: update dependency c8 to v11
([#&#8203;20650](https://redirect.github.com/eslint/eslint/issues/20650))
(renovate\[bot])
-
[`2ce4635`](https://redirect.github.com/eslint/eslint/commit/2ce4635b036ff2665c7009afddf9c0fb2274dceb)
chore: update dependency
[@&#8203;eslint/json](https://redirect.github.com/eslint/json) to v1
([#&#8203;20649](https://redirect.github.com/eslint/eslint/issues/20649))
(renovate\[bot])
-
[`f0406ee`](https://redirect.github.com/eslint/eslint/commit/f0406eedcc3dc415babbbf6bbdb5db1eebfd487b)
chore: update dependency markdownlint-cli2 to ^0.21.0
([#&#8203;20646](https://redirect.github.com/eslint/eslint/issues/20646))
(renovate\[bot])
-
[`dbb4c95`](https://redirect.github.com/eslint/eslint/commit/dbb4c9582a00bac604d5c6ac671bb7111468a846)
chore: remove trunk
([#&#8203;20478](https://redirect.github.com/eslint/eslint/issues/20478))
(sethamus)
-
[`c672a2a`](https://redirect.github.com/eslint/eslint/commit/c672a2a70579fddf1c6ce33dfa712d705726e1c9)
test: fix CLI test for empty output file
([#&#8203;20640](https://redirect.github.com/eslint/eslint/issues/20640))
(kuldeep kumar)
-
[`c7ada24`](https://redirect.github.com/eslint/eslint/commit/c7ada2455680036bbfc42fcb1511ff28afe3c587)
ci: bump pnpm/action-setup from 4.3.0 to 4.4.0
([#&#8203;20636](https://redirect.github.com/eslint/eslint/issues/20636))
(dependabot\[bot])
-
[`07c4b8b`](https://redirect.github.com/eslint/eslint/commit/07c4b8b4a9f49145e60a3448dd57853213ed4de3)
test: fix `RuleTester` test without test runners
([#&#8203;20631](https://redirect.github.com/eslint/eslint/issues/20631))
(Francesco Trotta)
-
[`079bba7`](https://redirect.github.com/eslint/eslint/commit/079bba7ff17d0a99fdffe32bf991d005ba797fae)
test: Add tests for `isValidWithUnicodeFlag`
([#&#8203;20601](https://redirect.github.com/eslint/eslint/issues/20601))
(Manish chaudhary)
-
[`5885ae6`](https://redirect.github.com/eslint/eslint/commit/5885ae66216bcee9310bbf73786b7d7d5774aeaf)
ci: unpin Node.js 25.x in CI
([#&#8203;20615](https://redirect.github.com/eslint/eslint/issues/20615))
(Copilot)
-
[`f65e5d3`](https://redirect.github.com/eslint/eslint/commit/f65e5d3c0df65fdb317ad6d23f7ae113c5f4b6d7)
chore: update pnpm/action-setup digest to
[`b906aff`](https://redirect.github.com/eslint/eslint/commit/b906aff)
([#&#8203;20610](https://redirect.github.com/eslint/eslint/issues/20610))
(renovate\[bot])

###
[`v10.0.3`](https://redirect.github.com/eslint/eslint/releases/tag/v10.0.3)

[Compare
Source](https://redirect.github.com/eslint/eslint/compare/v10.0.2...v10.0.3)

#### Bug Fixes

-
[`e511b58`](https://redirect.github.com/eslint/eslint/commit/e511b58d5ecd63a232b87743614867f4eaadbba4)
fix: update eslint
([#&#8203;20595](https://redirect.github.com/eslint/eslint/issues/20595))
(renovate\[bot])
-
[`f4c9cf9`](https://redirect.github.com/eslint/eslint/commit/f4c9cf9b8dc5642de555a09295933464080d722a)
fix: include variable name in `no-useless-assignment` message
([#&#8203;20581](https://redirect.github.com/eslint/eslint/issues/20581))
(sethamus)
-
[`ee9ff31`](https://redirect.github.com/eslint/eslint/commit/ee9ff31cee13712d2be2a6b5c0a4a54449fe9fe1)
fix: update dependency minimatch to ^10.2.4
([#&#8203;20562](https://redirect.github.com/eslint/eslint/issues/20562))
(Milos Djermanovic)

#### Documentation

-
[`9fc31b0`](https://redirect.github.com/eslint/eslint/commit/9fc31b03ef05abfc4f0f449b22947029d51a72f6)
docs: Update README (GitHub Actions Bot)
-
[`4efaa36`](https://redirect.github.com/eslint/eslint/commit/4efaa367c62d5a45dd21e246e4a506e11dd51758)
docs: add info box for `eslint-plugin-eslint-comments`
([#&#8203;20570](https://redirect.github.com/eslint/eslint/issues/20570))
(DesselBane)
-
[`23b2759`](https://redirect.github.com/eslint/eslint/commit/23b2759dd5cd70976ab2e8f4a1cf86ffe4b9f65d)
docs: add v10 migration guide link to Use docs index
([#&#8203;20577](https://redirect.gith

> ✂ **Note**
> 
> PR body was truncated to here.


</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - "before 10am on monday"
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/oxc-project/oxc).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMzEuMSIsInVwZGF0ZWRJblZlciI6IjQzLjIzMS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Sysix <sysix@sysix-coding.de>
Co-authored-by: Cameron <cameron.clark@hey.com>
2026-06-22 20:08:46 +02:00
camc314 19fa469a81 chore(linter): mark unicorn/double-comparison as unsupported (#23606)
Unicorn have added a copy of oxc's rule here, https://github.com/sindresorhus/eslint-plugin-unicorn/commit/ae4d7d7601aab09449c360952d850eeb5460ccb5, it makes no sense to have a duplicate - lets encourage users to use the oxc one.
2026-06-18 14:46:15 +00:00
Mikhail Baev 8420acb018 docs(linter): mark react/require-default-props rule as unsupported (#22995)
`react/sort-default-props` rule was marked as unsupported in #18617. I
think the same can also be done for `react/require-default-props`.

issue #1022

Co-authored-by: Cameron <cameron.clark@hey.com>
2026-06-06 12:28:49 +01:00
connorshea ebe9373df6 docs(linter): Mark a stylistic Unicorn rule as unsupported. (#22731)
This kind of rule can be implemented via Oxfmt if needed.
2026-05-26 04:43:00 +00:00
Connor Shea ced8c1c533 docs(linter): add react rules as unsupported, mark vitest rule supported (#22724)
Generated with Claude Code for Web while on the train.

- Exclude react/prefer-stateless-function in favor of
react/prefer-function-component
- Exclude react/memo-dependencies and
react/exhaustive-effect-dependencies as React Compiler rules
- Remove vitest/prefer-vi-mocked as it does not actually require type
info

Co-authored-by: Claude <noreply@anthropic.com>
2026-05-25 21:48:59 -06:00
Jovi De Croock f6b22f8327 chore(linter): add react/no-deprecated to unsupported rules (#22363)
Follow up to https://github.com/oxc-project/oxc/pull/22233

This adds the unsupported rule as we concluded this is better served as
done by the more general typescript rule
2026-05-12 15:22:27 -04:00
camc314 3518ce1148 fix(tasks/lint-rules): use eslint v9 to satisfy peer peps (#22133)
fixes failing CI job:

https://github.com/oxc-project/oxc/actions/runs/25342053393/job/74301572269
2026-05-05 08:31:05 +00:00
renovate[bot] 82dbbec0b7 chore(deps): update npm packages (major) (#21558)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Adoption](https://docs.renovatebot.com/merge-confidence/) |
[Passing](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|---|---|
| [diff](https://redirect.github.com/kpdecker/jsdiff) | [`^8.0.3` →
`^9.0.0`](https://renovatebot.com/diffs/npm/diff/8.0.4/9.0.0) |
![age](https://developer.mend.io/api/mc/badges/age/npm/diff/9.0.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/diff/9.0.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/diff/8.0.4/9.0.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/diff/8.0.4/9.0.0?slim=true)
|
| [eslint](https://eslint.org)
([source](https://redirect.github.com/eslint/eslint)) | [`^9.13.0` →
`^10.0.0`](https://renovatebot.com/diffs/npm/eslint/9.39.4/10.2.1) |
![age](https://developer.mend.io/api/mc/badges/age/npm/eslint/10.2.1?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/eslint/10.2.1?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/eslint/9.39.4/10.2.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint/9.39.4/10.2.1?slim=true)
|
| [eslint](https://eslint.org)
([source](https://redirect.github.com/eslint/eslint)) | [`9.39.4` →
`10.2.1`](https://renovatebot.com/diffs/npm/eslint/9.39.4/10.2.1) |
![age](https://developer.mend.io/api/mc/badges/age/npm/eslint/10.2.1?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/eslint/10.2.1?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/eslint/9.39.4/10.2.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint/9.39.4/10.2.1?slim=true)
|

---

### Release Notes

<details>
<summary>kpdecker/jsdiff (diff)</summary>

###
[`v9.0.0`](https://redirect.github.com/kpdecker/jsdiff/blob/HEAD/release-notes.md#900)

[Compare
Source](https://redirect.github.com/kpdecker/jsdiff/compare/8.0.4...v9.0.0)

(All changes part of PR
[#&#8203;672](https://redirect.github.com/kpdecker/jsdiff/pull/672).)

- **ES5 support is dropped**. `parsePatch` now uses `TextDecoder` and
`Uint8Array`, which are not available in ES5, and TypeScript is now
compiled with the "es6" `target`. From now on, I intend to freely use
any features that are deemed "Widely available" by
[Baseline](https://web.dev/baseline). Users who need ES5 support should
stick to version 8.

- **C-style quoted strings in filename headers are now properly
supported**.

When the name of either the old or new file in a patch contains "special
characters", both GNU `diff` and Git quote the filename in the patch's
headers and escape special characters using the same escape sequences
that are used in string literals in C, including octal escapes for all
non-ASCII characters. Previously, jsdiff had very little support for
this; `parsePatch` would remove the quotes, and unescape any escaped
backslashes, but would not unescape other escape sequences.
`formatPatch`, meanwhile, did not quote or escape special characters at
all.

Now, `parsePatch` parses all the possible escape sequences that GNU diff
(or Git) ever output, and `formatPatch` quotes and escapes filenames
containing special characters in the same way GNU diff does.

- **`formatPatch` now omits file headers when `oldFileName` or
`newFileName` in the provided patch object are `undefined`**, regardless
of the `headerOptions` parameter. (Previously, it would treat the
absence of `oldFileName` or `newFileName` as indicating the filename was
the word "undefined" and emit headers `--- undefined` / `+++
undefined`.)

- **`formatPatch` no longer outputs trailing tab characters at the end
of `---`/`+++` headers.**

Previously, if `formatPatch` was passed a patch object to serialize that
had empty strings for the `oldHeader` or `newHeader` property, it would
include a trailing tab character after the filename in the `---` and/or
`+++` file header. Now, this scenario is treated the same as when
`oldHeader`/`newHeader` is `undefined` - i.e. the trailing tab is
omitted.

- **`formatPatch` no longer mutates its input** when serializing a patch
containing a hunk where either the old or new content contained zero
lines. (Such a hunk occurs only when the hunk has no context lines and
represents a pure insertion or pure deletion, which for instance will
occur whenever one of the two files being diffed is completely empty.)
Previously `formatPatch` would provide the correct output but also
mutate the `oldLines` or `newLines` property on the hunk, changing the
meaning of the underlying patch.

- **Git-style patches are now supported by `parsePatch`, `formatPatch`,
and `reversePatch`**.

Patches output by `git diff` can include some features that are unlike
those output by GNU `diff`, and therefore not handled by an ordinary
unified diff format parser. An ordinary diff simply describes the
differences between the *content* of two files, but Git diffs can also
indicate, via "extended headers", the creation or deletion of
(potentially empty) files, indicate that a file was renamed, and contain
information about file mode changes. Furthermore, when these changes
appear in a diff in the absence of a content change (e.g. when an empty
file is created, or a file is renamed without content changes), the
patch will contain no associated `---`/`+++` file headers nor any hunks.

jsdiff previously did not support parsing Git's extended headers, nor
hunkless patches. Now `parsePatch` parses some of the extended headers,
parses hunkless Git patches, and can determine filenames (e.g. from the
extended headers) when parsing a patch that includes no `---` or `+++`
file headers. The additional information conveyed by the extended
headers we support is recorded on new fields on the result object
returned by `parsePatch`. See `isGit` and subsequent properties in the
docs in the README.md file.

`formatPatch` now outputs extended headers based on these new
Git-specific properties, and `reversePatch` respects them as far as
possible (with one unavoidable caveat noted in the README.md file).

- **Unpaired file headers now cause `parsePatch` to throw**.

It remains acceptable to have a patch with no file headers whatsoever
(e.g. one that begins with a `@@&#8203;` hunk header on the very first
line), but a patch with *only* a `---` header or only a `+++` header is
now considered an error.

- **`parsePatch` is now more tolerant of "trailing garbage"**

That is: after a patch, or between files/indexes in a patch, it is now
acceptable to have arbitrary lines of "garbage" (so long as they
unambiguously have no syntactic meaning - e.g. trailing garbage that
leads with a `+`, `-`, or ` ` and thus is interpretable as part of a
hunk still triggers a throw).

This means we no longer reject patches output by tools that include
extra data in "garbage" lines not understood by generic unified diff
parsers. (For example, SVN patches can include "Property changes on:"
lines that generic unified diff parsers should discard as garbage;
jsdiff previously threw errors when encountering them.)

This change brings jsdiff's behaviour more in line with GNU `patch`,
which is highly permissive of "garbage".

- **The `oldFileName` and `newFileName` fields of `StructuredPatch` are
now typed as `string | undefined` instead of `string`**. This type
change reflects the (pre-existing) reality that `parsePatch` can produce
patches without filenames (e.g. when parsing a patch that simply
contains hunks with no file headers).

</details>

<details>
<summary>eslint/eslint (eslint)</summary>

###
[`v10.2.1`](https://redirect.github.com/eslint/eslint/compare/v10.2.0...4d1d8f9737236603f64bbe83d5bb8001627b5611)

[Compare
Source](https://redirect.github.com/eslint/eslint/compare/v10.2.0...v10.2.1)

###
[`v10.2.0`](https://redirect.github.com/eslint/eslint/releases/tag/v10.2.0)

[Compare
Source](https://redirect.github.com/eslint/eslint/compare/v10.1.0...v10.2.0)

#### Features

-
[`586ec2f`](https://redirect.github.com/eslint/eslint/commit/586ec2f43092779acc957866db4abe999112d1e1)
feat: Add `meta.languages` support to rules
([#&#8203;20571](https://redirect.github.com/eslint/eslint/issues/20571))
(Copilot)
-
[`14207de`](https://redirect.github.com/eslint/eslint/commit/14207dee3939dc87cfa8b2fcfc271fff2cfd6471)
feat: add `Temporal` to `no-obj-calls`
([#&#8203;20675](https://redirect.github.com/eslint/eslint/issues/20675))
(Pixel998)
-
[`bbb2c93`](https://redirect.github.com/eslint/eslint/commit/bbb2c93a2b31bd30924f32fe69a9acf41f9dfe35)
feat: add Temporal to ES2026 globals
([#&#8203;20672](https://redirect.github.com/eslint/eslint/issues/20672))
(Pixel998)

#### Bug Fixes

-
[`542cb3e`](https://redirect.github.com/eslint/eslint/commit/542cb3e6442a4e6ee3457c799e2a0ee23bef0c6a)
fix: update first-party dependencies
([#&#8203;20714](https://redirect.github.com/eslint/eslint/issues/20714))
(Francesco Trotta)

#### Documentation

-
[`a2af743`](https://redirect.github.com/eslint/eslint/commit/a2af743ea60f683d0e0de9d98267c1e7e4f5e412)
docs: add `language` to configuration objects
([#&#8203;20712](https://redirect.github.com/eslint/eslint/issues/20712))
(Francesco Trotta)
-
[`845f23f`](https://redirect.github.com/eslint/eslint/commit/845f23f1370892bf07d819497ac518c9e65090d6)
docs: Update README (GitHub Actions Bot)
-
[`5fbcf59`](https://redirect.github.com/eslint/eslint/commit/5fbcf5958b897cc4df5d652924d18428db37f7ee)
docs: remove `sourceType` from ts playground link
([#&#8203;20477](https://redirect.github.com/eslint/eslint/issues/20477))
(Tanuj Kanti)
-
[`8702a47`](https://redirect.github.com/eslint/eslint/commit/8702a474659be786b6b1392e5e7c0c56355ae4a4)
docs: Update README (GitHub Actions Bot)
-
[`ddeaded`](https://redirect.github.com/eslint/eslint/commit/ddeaded2ab36951383ff67c60fb64ec68d29a46a)
docs: Update README (GitHub Actions Bot)
-
[`2b44966`](https://redirect.github.com/eslint/eslint/commit/2b4496691266547784a7f7ad1989ce53381bab91)
docs: add Major Releases section to Manage Releases
([#&#8203;20269](https://redirect.github.com/eslint/eslint/issues/20269))
(Milos Djermanovic)
-
[`eab65c7`](https://redirect.github.com/eslint/eslint/commit/eab65c700ebb16a6e790910c720450c9908961fd)
docs: update `eslint` versions in examples
([#&#8203;20664](https://redirect.github.com/eslint/eslint/issues/20664))
(루밀LuMir)
-
[`3e4a299`](https://redirect.github.com/eslint/eslint/commit/3e4a29903bf31f0998e45ad9128a265bce1edc56)
docs: update ESM Dependencies policies with note for own-usage packages
([#&#8203;20660](https://redirect.github.com/eslint/eslint/issues/20660))
(Milos Djermanovic)

#### Chores

-
[`8120e30`](https://redirect.github.com/eslint/eslint/commit/8120e30f833474f47acc061d24d164e9f022264f)
refactor: extract no unmodified loop condition
([#&#8203;20679](https://redirect.github.com/eslint/eslint/issues/20679))
(kuldeep kumar)
-
[`46e8469`](https://redirect.github.com/eslint/eslint/commit/46e8469786be1b2bbb522100e1d44624d98d3745)
chore: update dependency markdownlint-cli2 to ^0.22.0
([#&#8203;20697](https://redirect.github.com/eslint/eslint/issues/20697))
(renovate\[bot])
-
[`01ed3aa`](https://redirect.github.com/eslint/eslint/commit/01ed3aa68477f81a7188e1498cf4906e02015b7c)
test: add unit tests for unicode utilities
([#&#8203;20622](https://redirect.github.com/eslint/eslint/issues/20622))
(Manish chaudhary)
-
[`811f493`](https://redirect.github.com/eslint/eslint/commit/811f4930f82ee2b6ac8eae75cade9bed63de0781)
ci: remove `--legacy-peer-deps` from types integration tests
([#&#8203;20667](https://redirect.github.com/eslint/eslint/issues/20667))
(Milos Djermanovic)
-
[`6b86fcf`](https://redirect.github.com/eslint/eslint/commit/6b86fcfc5c75d6a3b8a2cf7bcdb3ef60635a9a03)
chore: update dependency npm-run-all2 to v8
([#&#8203;20663](https://redirect.github.com/eslint/eslint/issues/20663))
(renovate\[bot])
-
[`632c4f8`](https://redirect.github.com/eslint/eslint/commit/632c4f83bf32b77981c7d395cacddd1bb172ee25)
chore: add `prettier` update commit to `.git-blame-ignore-revs`
([#&#8203;20662](https://redirect.github.com/eslint/eslint/issues/20662))
(루밀LuMir)
-
[`b0b0f21`](https://redirect.github.com/eslint/eslint/commit/b0b0f21927e03ba092400e3c70d7058f537765c8)
chore: update dependency eslint-plugin-regexp to ^3.1.0
([#&#8203;20659](https://redirect.github.com/eslint/eslint/issues/20659))
(Milos Djermanovic)
-
[`228a2dd`](https://redirect.github.com/eslint/eslint/commit/228a2dd4b272c17f516ee3541f1dd69eca0a8ab0)
chore: update dependency eslint-plugin-eslint-plugin to ^7.3.2
([#&#8203;20661](https://redirect.github.com/eslint/eslint/issues/20661))
(Milos Djermanovic)
-
[`3ab4d7e`](https://redirect.github.com/eslint/eslint/commit/3ab4d7e244df244102de9d0d250b2ff12456a785)
test: Add tests for eslintrc-style keys
([#&#8203;20645](https://redirect.github.com/eslint/eslint/issues/20645))
(kuldeep kumar)

###
[`v10.1.0`](https://redirect.github.com/eslint/eslint/releases/tag/v10.1.0)

[Compare
Source](https://redirect.github.com/eslint/eslint/compare/v10.0.3...v10.1.0)

#### Features

-
[`ff4382b`](https://redirect.github.com/eslint/eslint/commit/ff4382be349035acdb170627a2dc92828e134562)
feat: apply fix for `no-var` in `TSModuleBlock`
([#&#8203;20638](https://redirect.github.com/eslint/eslint/issues/20638))
(Tanuj Kanti)
-
[`0916995`](https://redirect.github.com/eslint/eslint/commit/0916995b51528872b15ba4fedb24172cf25fcb3f)
feat: Implement api support for bulk-suppressions
([#&#8203;20565](https://redirect.github.com/eslint/eslint/issues/20565))
(Blake Sager)

#### Bug Fixes

-
[`2b8824e`](https://redirect.github.com/eslint/eslint/commit/2b8824e6be4223980e929a20025602df20d05ea2)
fix: Prevent `no-var` autofix when a variable is used before declaration
([#&#8203;20464](https://redirect.github.com/eslint/eslint/issues/20464))
(Amaresh S M)
-
[`e58b4bf`](https://redirect.github.com/eslint/eslint/commit/e58b4bff167e79afd067d1b0ee9360bec2d3393e)
fix: update eslint
([#&#8203;20597](https://redirect.github.com/eslint/eslint/issues/20597))
(renovate\[bot])

#### Documentation

-
[`b7b57fe`](https://redirect.github.com/eslint/eslint/commit/b7b57fe9942c572ff651230f1f96cefed787ca52)
docs: use correct JSDoc link in require-jsdoc.md
([#&#8203;20641](https://redirect.github.com/eslint/eslint/issues/20641))
(mkemna-clb)
-
[`58e4cfc`](https://redirect.github.com/eslint/eslint/commit/58e4cfc7dbf0fe40c73f09bf0ff94ad944d0ba0e)
docs: add deprecation notice partial
([#&#8203;20639](https://redirect.github.com/eslint/eslint/issues/20639))
(Milos Djermanovic)
-
[`7143dbf`](https://redirect.github.com/eslint/eslint/commit/7143dbf99df27c61edf1552da981794e99a0b2f2)
docs: update v9 migration guide for `@eslint/js` usage
([#&#8203;20540](https://redirect.github.com/eslint/eslint/issues/20540))
(fnx)
-
[`035fc4f`](https://redirect.github.com/eslint/eslint/commit/035fc4fbe506e3e4524882cf50db37a4e430adf4)
docs: note that `globalReturn` applies only with `sourceType: "script"`
([#&#8203;20630](https://redirect.github.com/eslint/eslint/issues/20630))
(Milos Djermanovic)
-
[`e972c88`](https://redirect.github.com/eslint/eslint/commit/e972c88ab7474a74191ee99ac2558b00d0427a8a)
docs: merge ESLint option descriptions into type definitions
([#&#8203;20608](https://redirect.github.com/eslint/eslint/issues/20608))
(Francesco Trotta)
-
[`7f10d84`](https://redirect.github.com/eslint/eslint/commit/7f10d8440137f0cfd75f18f4746ba6a1c621b953)
docs: Update README (GitHub Actions Bot)
-
[`aeed007`](https://redirect.github.com/eslint/eslint/commit/aeed0078ca2f73d4744cc522102178d45b5be64e)
docs: open playground link in new tab
([#&#8203;20602](https://redirect.github.com/eslint/eslint/issues/20602))
(Tanuj Kanti)
-
[`a0d1a37`](https://redirect.github.com/eslint/eslint/commit/a0d1a3772679d3d74bb860fc65b5b58678acd452)
docs: Add AI Usage Policy
([#&#8203;20510](https://redirect.github.com/eslint/eslint/issues/20510))
(Nicholas C. Zakas)

#### Chores

-
[`a9f9cce`](https://redirect.github.com/eslint/eslint/commit/a9f9cce82d80b540a0e3549d0e91c16df28740d8)
chore: update dependency eslint-plugin-unicorn to ^63.0.0
([#&#8203;20584](https://redirect.github.com/eslint/eslint/issues/20584))
(Milos Djermanovic)
-
[`1f42bd7`](https://redirect.github.com/eslint/eslint/commit/1f42bd7876ae4192cf7f7f4faf73b4ef3d2563cb)
chore: update `prettier` to 3.8.1
([#&#8203;20651](https://redirect.github.com/eslint/eslint/issues/20651))
(루밀LuMir)
-
[`c0a6f4a`](https://redirect.github.com/eslint/eslint/commit/c0a6f4a2b4169edeca2a81bf7b47783e39ade366)
chore: update dependency
[@&#8203;eslint/json](https://redirect.github.com/eslint/json) to ^1.2.0
([#&#8203;20652](https://redirect.github.com/eslint/eslint/issues/20652))
(renovate\[bot])
-
[`cc43f79`](https://redirect.github.com/eslint/eslint/commit/cc43f795c42e5ec2f19bb43b1f6d534ef2e469f3)
chore: update dependency c8 to v11
([#&#8203;20650](https://redirect.github.com/eslint/eslint/issues/20650))
(renovate\[bot])
-
[`2ce4635`](https://redirect.github.com/eslint/eslint/commit/2ce4635b036ff2665c7009afddf9c0fb2274dceb)
chore: update dependency
[@&#8203;eslint/json](https://redirect.github.com/eslint/json) to v1
([#&#8203;20649](https://redirect.github.com/eslint/eslint/issues/20649))
(renovate\[bot])
-
[`f0406ee`](https://redirect.github.com/eslint/eslint/commit/f0406eedcc3dc415babbbf6bbdb5db1eebfd487b)
chore: update dependency markdownlint-cli2 to ^0.21.0
([#&#8203;20646](https://redirect.github.com/eslint/eslint/issues/20646))
(renovate\[bot])
-
[`dbb4c95`](https://redirect.github.com/eslint/eslint/commit/dbb4c9582a00bac604d5c6ac671bb7111468a846)
chore: remove trunk
([#&#8203;20478](https://redirect.github.com/eslint/eslint/issues/20478))
(sethamus)
-
[`c672a2a`](https://redirect.github.com/eslint/eslint/commit/c672a2a70579fddf1c6ce33dfa712d705726e1c9)
test: fix CLI test for empty output file
([#&#8203;20640](https://redirect.github.com/eslint/eslint/issues/20640))
(kuldeep kumar)
-
[`c7ada24`](https://redirect.github.com/eslint/eslint/commit/c7ada2455680036bbfc42fcb1511ff28afe3c587)
ci: bump pnpm/action-setup from 4.3.0 to 4.4.0
([#&#8203;20636](https://redirect.github.com/eslint/eslint/issues/20636))
(dependabot\[bot])
-
[`07c4b8b`](https://redirect.github.com/eslint/eslint/commit/07c4b8b4a9f49145e60a3448dd57853213ed4de3)
test: fix `RuleTester` test without test runners
([#&#8203;20631](https://redirect.github.com/eslint/eslint/issues/20631))
(Francesco Trotta)
-
[`079bba7`](https://redirect.github.com/eslint/eslint/commit/079bba7ff17d0a99fdffe32bf991d005ba797fae)
test: Add tests for `isValidWithUnicodeFlag`
([#&#8203;20601](https://redirect.github.com/eslint/eslint/issues/20601))
(Manish chaudhary)
-
[`5885ae6`](https://redirect.github.com/eslint/eslint/commit/5885ae66216bcee9310bbf73786b7d7d5774aeaf)
ci: unpin Node.js 25.x in CI
([#&#8203;20615](https://redirect.github.com/eslint/eslint/issues/20615))
(Copilot)
-
[`f65e5d3`](https://redirect.github.com/eslint/eslint/commit/f65e5d3c0df65fdb317ad6d23f7ae113c5f4b6d7)
chore: update pnpm/action-setup digest to
[`b906aff`](https://redirect.github.com/eslint/eslint/commit/b906aff)
([#&#8203;20610](https://redirect.github.com/eslint/eslint/issues/20610))
(renovate\[bot])

###
[`v10.0.3`](https://redirect.github.com/eslint/eslint/compare/v10.0.2...bfce7eaa0ec5d6591fd247b7ff57b51e45fb88a1)

[Compare
Source](https://redirect.github.com/eslint/eslint/compare/v10.0.2...v10.0.3)

###
[`v10.0.2`](https://redirect.github.com/eslint/eslint/compare/v10.0.1...55122d6f971119607c85b0df8e62942171c939f7)

[Compare
Source](https://redirect.github.com/eslint/eslint/compare/v10.0.1...v10.0.2)

###
[`v10.0.1`](https://redirect.github.com/eslint/eslint/releases/tag/v10.0.1)

[Compare
Source](https://redirect.github.com/eslint/eslint/compare/v10.0.0...v10.0.1)

#### Bug Fixes

-
[`c87d5bd`](https://redirect.github.com/eslint/eslint/commit/c87d5bded54c5cf491eb04c24c9d09bbbd42c23e)
fix: update eslint
([#&#8203;20531](https://redirect.github.com/eslint/eslint/issues/20531))
(renovate\[bot])
-
[`d841001`](https://redirect.github.com/eslint/eslint/commit/d84100115c14691691058f00779c94e74fca946a)
fix: update `minimatch` to `10.2.1` to address security vulnerabilities
([#&#8203;20519](https://redirect.github.com/eslint/eslint/issues/20519))
(루밀LuMir)
-
[`04c2147`](https://redirect.github.com/eslint/eslint/commit/04c21475b3004904948f02049f2888b401d82c78)
fix: update error message for unused suppressions
([#&#8203;20496](https://redirect.github.com/eslint/eslint/issues/20496))
(fnx)
-
[`38b089c`](https://redirect.github.com/eslint/eslint/commit/38b089c1726feac0e31a31d47941bd99e29ce003)
fix: update dependency
[@&#8203;eslint/config-array](https://redirect.github.com/eslint/config-array)
to ^0.23.1
([#&#8203;20484](https://redirect.github.com/eslint/eslint/issues/20484))
(renovate\[bot])

#### Documentation

-
[`5b3dbce`](https://redirect.github.com/eslint/eslint/commit/5b3dbce50a1404a9f118afe810cefeee79388a2a)
docs: add AI acknowledgement section to templates
([#&#8203;20431](https://redirect.github.com/eslint/eslint/issues/20431))
(루밀LuMir)
-
[`6f23076`](https://redirect.github.com/eslint/eslint/commit/6f23076037d5879f20fb3be2ef094293b1e8d38c)
docs: toggle nav in no-JS mode
([#&#8203;20476](https://redirect.github.com/eslint/eslint/issues/20476))
(Tanuj Kanti)
-
[`b69cfb3`](https://redirect.github.com/eslint/eslint/commit/b69cfb32a16c5d5e9986390d484fae1d21e406f9)
docs: Update README (GitHub Actions Bot)

#### Chores

-
[`e5c281f`](https://redirect.github.com/eslint/eslint/commit/e5c281ffd038a3a7a3e5364db0b9378e0ad83020)
chore: updates for v9.39.3 release (Jenkins)
-
[`8c3832a`](https://redirect.github.com/eslint/eslint/commit/8c3832adb77cd993b4a24891900d5eeaaf093cdc)
chore: update
[@&#8203;typescript-eslint/parser](https://redirect.github.com/typescript-eslint/parser)
to ^8.56.0
([#&#8203;20514](https://redirect.github.com/eslint/eslint/issues/20514))
(Milos Djermanovic)
-
[`8330d23`](https://redirect.github.com/eslint/eslint/commit/8330d238ae6adb68bb6a1c9381e38cfedd990d94)
test: add tests for config-api
([#&#8203;20493](https://redirect.github.com/eslint/eslint/issues/20493))
(Milos Djermanovic)
-
[`37d6e91`](https://redirect.github.com/eslint/eslint/commit/37d6e91e88fa6a2ca6d8726679096acff21ba6cc)
chore: remove eslint v10 prereleases from eslint-config-eslint deps
([#&#8203;20494](https://redirect.github.com/eslint/eslint/issues/20494))
(Milos Djermanovic)
-
[`da7cd0e`](https://redirect.github.com/eslint/eslint/commit/da7cd0e79197ad16e17052eef99df141de6dbfb1)
refactor: cleanup error message templates
([#&#8203;20479](https://redirect.github.com/eslint/eslint/issues/20479))
(Francesco Trotta)
-
[`84fb885`](https://redirect.github.com/eslint/eslint/commit/84fb885d49ac810e79a9491276b4828b53d913e5)
chore: package.json update for
[@&#8203;eslint/js](https://redirect.github.com/eslint/js) release
(Jenkins)
-
[`1f66734`](https://redirect.github.com/eslint/eslint/commit/1f667344b57c4c09b548d94bcfac1f91b6e5c63d)
chore: add `eslint` to `peerDependencies` of `@eslint/js`
([#&#8203;20467](https://redirect.github.com/eslint/eslint/issues/20467))
(Milos Djermanovic)

###
[`v10.0.0`](https://redirect.github.com/eslint/eslint/compare/v9.39.2...4e6c4ac042e321da8fc29ce53ed03c86dcaa44a7)

[Compare
Source](https://redirect.github.com/eslint/eslint/compare/v9.39.4...v10.0.0)

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - "before 10am on monday"
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/oxc-project/oxc).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMjMuOCIsInVwZGF0ZWRJblZlciI6IjQzLjE1OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Cameron Clark <cameron.clark@hey.com>
2026-05-04 21:33:50 +01:00
Sysix 8b4829b04d feat(linter): split no-negated-condition rule to unicorn & eslint (#21998)
>## Pull request overview

> Splits the previously shared `no-negated-condition` implementation into distinct `eslint/no-negated-condition` and `unicorn/no-negated-condition` rules while reusing a shared implementation module, and removes the now-unneeded unicorn↔eslint aliasing in config and rule-status tooling.

Question: Should we support `unicorn/no-named-default`? Because it is marked as not supported because it is already implemented in `import/no-named-default`.
See unicorn issue: https://github.com/oxc-project/oxc/issues/684
2026-05-01 08:12:27 +00:00
camchenry 8653bf4b1c refactor(lint_rules): remove vitest compatible code (#21986) 2026-04-30 13:20:38 +00:00
Nicolas Le Cam a5626951f1 feat(linter/react): mark react/prop-types as unsupported (#21611)
PropTypes are deprecated and ignored by React 19, we don't support Flow
checks, so what remains is TypeScript which is already covered by
TypeScript itself + the `no-unsafe-xxx` rules.
2026-04-21 12:41:55 +01:00
absidue ec3be33038 fix(tasks/linter): Fix incomplete list of recommended vue rules again (#21476) 2026-04-15 21:43:21 +01:00
absidue 822f03575e fix(tasks/linter): Fix incomplete list of recommended vue rules (#21404)
The list of recommended Vue rules in #11440 is missing a lot of the
rules that are enabled with the recommended config in the JavaScript
`eslint-plugin-vue` project, that is because the recommended
configuration extends from other configurations which the generation
script doesn't account for. This pull request adds those missing
extended configurations. I also switched from `Object.entries()` +
`Map()` to `Object.keys()` + `Set()` as that portion of the script only
needs the keys/rule names.

References:
-
https://github.com/vuejs/eslint-plugin-vue/blob/master/lib/configs/vue3-recommended.ts#L7
-
https://github.com/vuejs/eslint-plugin-vue/blob/master/lib/configs/vue3-strongly-recommended.ts#L7
-
https://github.com/vuejs/eslint-plugin-vue/blob/master/lib/configs/vue3-essential.ts#L7

Co-authored-by: Cameron <cameron.clark@hey.com>
2026-04-15 10:56:18 +01:00
Said Atrahouch c6832791da feat(linter/jest): mark valid-expect-with-promise as unsupported due to type information requirement (#21377)
[The rule needs Typescript information to know what diagnostic to
report](https://github.com/jest-community/eslint-plugin-jest/blob/v29.15.2/src/rules/valid-expect-with-promise.ts).
The rule reports:
- Using promises methods in a non promise variable.
- Non using the methods when expecting a promise.

The second diagnostic it’s possible to make an effort to detect it, but
we can’t say the same for detecting non promises variables.

Co-authored-by: Cameron <cameron.clark@hey.com>
2026-04-13 11:07:12 +01:00
Mikhail Baev f636217d2e docs(linter): add explanation for n/no-callback-literal in unsupported rules (#21327) 2026-04-11 09:52:31 +01:00
Codex 49ddfacaf1 fix(tasks/lint-rule): include type-aware rules in lint rules tracking (#21001)
The TypeScript lint tracking comment omitted type-aware rules because
generation skipped them.

- **Issue context**: Type-aware `@typescript-eslint` rules were excluded
from the generated tracking comment, so coverage appeared incomplete.
- **Change**: Always load TypeScript plugin rules with type checking
enabled in the issue generator and remove the unused flag, ensuring all
rules (typed and untyped) are included when rendering the tracking
markdown.
- **Housekeeping**: Removed stray `.serena/project.yml` from the repo.

```js
// tasks/lint_rules/src/main.mjs
const linter = createESLintLinter();
loadTargetPluginRules(linter);
```

---------

Co-authored-by: openai-code-agent[bot] <242516109+Codex@users.noreply.github.com>
Co-authored-by: camc314 <18101008+camc314@users.noreply.github.com>
Co-authored-by: Cameron Clark <cameron.clark@hey.com>
2026-04-03 21:16:19 +01:00
Mikhail Baev c8563d1531 docs(linter): mark react/require-optimization as legacy rule (#20110)
this PR moves`react/require-optimization` rule to legacy, as discussed
here
https://github.com/oxc-project/oxc/pull/17370#issuecomment-4017100880
2026-03-08 17:43:34 +00:00
connorshea 20e25a32b2 docs(linter): Mark 3 more React rules as unsupported. (#20014)
- [`react/prefer-read-only-props`](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/prefer-read-only-props.md) - quite niche, no real reason to support natively, mostly relevant to Flow (technically applies to TS as well, but again quite niche), and mostly focused on class components which are not used in modern React.
- [`react/jsx-sort-props`](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-sort-props.md) - Stylistic.
- [`react/no-adjacent-inline-elements`](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-adjacent-inline-elements.md) - Stylistic and also weird.
2026-03-05 09:10:10 +00:00
connorshea 9dc1548b7d docs(linter): Add import/order rule to unsupported rules list. (#19624)
We are not going to implement the rule, as it's incredibly complex and its behavior is already covered very well by Oxfmt's import sorting. There's no good reason for us to implement the same complex behavior twice.
2026-02-23 10:08:39 +00:00
camc314 79fc6d7e9f fix(linter): move no-use-before-define to eslint plugin (#19438)
fixes #19437
fixes https://github.com/oxc-project/oxc/issues/19542
2026-02-19 12:04:23 +00:00
camc314 f4fefb6201 chore(linter): mark eslint/no-use-before-define as won't implement (#19378) 2026-02-14 00:29:36 +00:00
camc314 58b7c80202 feat(linter): mark typescript/no-invalid-this as wont implement (#19376)
I see little value in supporting this rule (although it would be trivial to do so), as this is checked via the noImplicitThis TS compiler option, which is enabled by default in v6.

If users of oxlint which to use this rule, they should use type aware linting with --typecheck, and tsgolint will report these errors

@connorshea let me know if you disagree.
2026-02-14 00:17:16 +00:00
camc314 9195430793 docs(linter): Mark no-useless-default-assignment as unsupported (use type aware version (#19256) 2026-02-11 09:38:40 +00:00
connorshea 78779885d3 docs(linter): Mark eslint/dot-notation and eslint/consistent-return as unsupported, we will implement them via tsgolint. (#19246)
Simple enough, see https://github.com/oxc-project/tsgolint/pull/658
2026-02-11 09:14:31 +00:00
connorshea d91afb9f5f chore(linter): Update unsupported-rules.json with import/no-internal-modules (#19197)
As discussed in Discord.
2026-02-10 09:18:27 +00:00
connorshea cd86347ad7 docs(linter): Mark some react rules as unsupported, misc docs improvements (#18617)
Marks the following rules from eslint-plugin-react as unsupported:

- [react/default-props-match-prop-types](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/default-props-match-prop-types.md)
- [react/forbid-foreign-prop-types](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/forbid-foreign-prop-types.md)
- [react/forbid-prop-types](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/forbid-prop-types.md)
- [react/no-access-state-in-setstate](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-access-state-in-setstate.md)
- [react/no-unused-class-component-methods](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-unused-class-component-methods.md)
- [react/no-unused-state](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-unused-state.md)
- [react/no-unused-prop-types](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-unused-prop-types.md)
- [react/prefer-exact-props](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/prefer-exact-props.md)
- [react/sort-comp](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/sort-comp.md)
- [react/sort-default-props](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/sort-default-props.md)
- [react/sort-prop-types](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/sort-prop-types.md)
- [react/static-property-placement](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/static-property-placement.md)

I also considered adding [`react/require-optimization`](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/require-optimization.md) to the unsupported list, but there's an open PR for it right now, so I'll leave it be.

These rules are not necessary to support, as React 19 and/or TypeScript have basically eliminated their usefulness entirely. Some are also arguably stylistic.

See https://react.dev/blog/2024/04/25/react-19-upgrade-guide#removed-proptypes-and-defaultprops for notes on the defaultProps/propTypes removal.

Basically, modern React for >7 years has been primarily about function components

`createReactClass` has been removed entirely from React core, it was moved into a separate package:

```js
var Component = createReactClass({
  propTypes: {
    a: PropTypes.any,
    r: PropTypes.array,
    o: PropTypes.object
  },
...
});
```

Class-based components are discouraged and marked as legacy [in the React docs](https://react.dev/reference/react/Component)
```js
class Greeting extends Component {
  render() {
    return <h1>Hello, {this.props.name}!</h1>;
  }
}
```

And these rules mostly - or exclusively - cover behaviors relating to these older component patterns.

I'm actually curious to hear @baevm's opinion on dropping these as rules we want to add support for, in case he has any opinion on the matter.
2026-01-27 06:19:59 +00:00
connorshea e7ad2e09f6 docs(linter): Mark react/jsx-uses-react as an unsupported rule. (#18618)
This rule is no longer necessary with React 17+ (which released in 2020) and the new JSX transform, it also modifies the behavior of no-unused-vars which would be complicated to add.

See more here: https://legacy.reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html#removing-unused-react-imports

Original rule: https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-uses-react.md
2026-01-27 03:06:50 +00:00
Boshen 56185d6c12 fix(task): update lint_rules to parse generated rules_enum.rs (#18479)
## Summary

- Updates `tasks/lint_rules/src/oxlint-rules.mjs` to read implemented rules from `crates/oxc_linter/src/generated/rules_enum.rs` instead of looking for the removed `declare_all_lint_rules!` macro in `rules.rs`
- Parses the new `pub use crate::rules::<plugin>::<rule_module>::...` format
- Converts snake_case to kebab-case for both plugin and rule names (e.g., `jsx_a11y` → `jsx-a11y`, `react_perf` → `react-perf`)

Fixes CI failure: https://github.com/oxc-project/oxc/actions/runs/21313184657/job/61352327462

🤖 Generated with [Claude Code](https://claude.com/claude-code)
2026-01-24 11:17:41 +00:00
connorshea 1073a6d7a1 chore(lint_rules): Update unsupported-rules list to include a few new Vue rules. (#18205)
These require template parsing and so are not possible yet.

See https://github.com/vuejs/eslint-plugin-vue/releases/tag/v10.7.0
2026-01-19 05:24:22 +00:00
connorshea af56fa6d2f docs(linter): Mark 5 more rules as unsupported (#17867)
Part of #17618.
2026-01-12 10:27:37 +00:00
connorshea f71243f80f chore(linter): Fix the phrasing of the issue instructions. (#17913)
And also update the justfile to have a `new-eslint-rule` alias. This is what is rendered in the relevant issue for eslint core rules, so we should support it.

Split out of #17620.
2026-01-12 05:57:13 +00:00
camchenry 16fbb2f243 chore(lint_rules): add no-invalid-this as unsupported (#17843)
`no-invalid-this` is basically already implemented by TypeScript, so implementing this in the linter is redundant, especially if you're using `oxlint --type-check`. So I don't think we should implement this rule.

https://eslint.org/docs/latest/rules/no-invalid-this#handled_by_typescript
2026-01-10 11:39:52 +00:00