From f94eade0589b0c36f7904fb28ab02dff7d53a9de Mon Sep 17 00:00:00 2001 From: Connor Shea <2977353+connorshea@users.noreply.github.com> Date: Sun, 17 May 2026 22:49:48 -0600 Subject: [PATCH 1/8] docs: Add Oxlint as a replacement option for eslint-plugin-import and eslint-plugin-react. I added the disclaimer about Oxlint not being a full drop-in replacement (though it's a bit repetitive since the disclaimer is basically mentioned twice in each of these pages) to match the disclaimer on `eslint-plugin-react` about the `@eslint-react/eslint-plugin` package. --- docs/modules/eslint-plugin-import.md | 11 +++++++++++ docs/modules/eslint-plugin-react.md | 13 +++++++++++++ 2 files changed, 24 insertions(+) diff --git a/docs/modules/eslint-plugin-import.md b/docs/modules/eslint-plugin-import.md index 7f2859a..7b020d4 100644 --- a/docs/modules/eslint-plugin-import.md +++ b/docs/modules/eslint-plugin-import.md @@ -62,3 +62,14 @@ module.exports = { } } ``` + +## `oxlint` + +[`oxlint`](https://oxc.rs/docs/guide/usage/linter.html) is a Rust-based linter for JavaScript and TypeScript that is compatible with ESLint, It has most of the rules from ESLint and its popular plugins ported, including `eslint-plugin-import`. + +Oxlint is intended to be backwards-compatible with ESLint as much as possible, but not all rules are implemented yet, and some are not planned to be implemented at all. See [the GitHub issue](https://github.com/oxc-project/oxc/issues/1117) for specifics. + +The migration process from ESLint is covered in [the Oxlint documentation](https://oxc.rs/docs/guide/usage/linter/migrate-from-eslint.html) and can usually be done automatically from an ESLint flat config using [`@oxlint/migrate`](https://github.com/oxc-project/oxlint-migrate). + +> [!NOTE] +> `oxlint` is not necessarily a full, drop‑in replacement. See [the GitHub issue](https://github.com/oxc-project/oxc/issues/1117) for rules from `eslint-plugin-import` that are not yet implemented or not planned to be implemented. diff --git a/docs/modules/eslint-plugin-react.md b/docs/modules/eslint-plugin-react.md index 2464a3a..1e7f58e 100644 --- a/docs/modules/eslint-plugin-react.md +++ b/docs/modules/eslint-plugin-react.md @@ -34,3 +34,16 @@ export default [ > [!NOTE] > `@eslint-react/eslint-plugin` is not a drop‑in replacement. Use [their migration guide](https://www.eslint-react.xyz/docs/migrating-from-eslint-plugin-react) to map rules/options and automate changes where possible. + +## `oxlint` + +[`oxlint`](https://oxc.rs/docs/guide/usage/linter.html) is a Rust-based linter for JavaScript and TypeScript that is compatible with ESLint, It has most of the rules from ESLint and its popular plugins ported, including `eslint-plugin-react` (as well as a few `eslint-plugin-react-hooks` rules). + +Oxlint is intended to be backwards-compatible with ESLint as much as possible, but not all rules are implemented yet, and some are not planned to be implemented at all. See [the GitHub issue](https://github.com/oxc-project/oxc/issues/1022) for specifics. + +[JS Plugins](https://oxc.rs/docs/guide/usage/linter/js-plugins.html) are supported, and compatible with ESLint plugins if there are other ESLint plugins needing to be migrated. JS Plugins can also be used to migrate React Compiler rules over to Oxlint if needed. + +The migration process from ESLint is covered in [the Oxlint documentation](https://oxc.rs/docs/guide/usage/linter/migrate-from-eslint.html) and can usually be done automatically from an ESLint flat config using [`@oxlint/migrate`](https://github.com/oxc-project/oxlint-migrate). + +> [!NOTE] +> `oxlint` is not necessarily a full, drop‑in replacement. See [the GitHub issue](https://github.com/oxc-project/oxc/issues/1022) for rules from `eslint-plugin-react` that are not yet implemented or not planned to be implemented. From 09d180b56e5cd2839a4773a3b3c33d3d83773682 Mon Sep 17 00:00:00 2001 From: Connor Shea <2977353+connorshea@users.noreply.github.com> Date: Sun, 17 May 2026 22:51:09 -0600 Subject: [PATCH 2/8] feat(preferred): Add `oxlint` as a replacement for `eslint-plugin-import` and `eslint-plugin-react`. --- manifests/preferred.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manifests/preferred.json b/manifests/preferred.json index a7e4fe3..7fea2d3 100644 --- a/manifests/preferred.json +++ b/manifests/preferred.json @@ -267,7 +267,7 @@ "eslint-plugin-import": { "type": "module", "moduleName": "eslint-plugin-import", - "replacements": ["eslint-plugin-import-x"], + "replacements": ["eslint-plugin-import-x", "oxlint"], "url": {"type": "e18e", "id": "eslint-plugin-import"} }, "eslint-plugin-node": { @@ -279,7 +279,7 @@ "eslint-plugin-react": { "type": "module", "moduleName": "eslint-plugin-react", - "replacements": ["@eslint-react/eslint-plugin"], + "replacements": ["@eslint-react/eslint-plugin", "oxlint"], "url": {"type": "e18e", "id": "eslint-plugin-react"} }, "eslint-plugin-vitest": { From 4f538b00293505b1d79295a5b69318d459130fc3 Mon Sep 17 00:00:00 2001 From: Connor Shea <2977353+connorshea@users.noreply.github.com> Date: Sun, 17 May 2026 23:03:46 -0600 Subject: [PATCH 3/8] Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- docs/modules/eslint-plugin-react.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/modules/eslint-plugin-react.md b/docs/modules/eslint-plugin-react.md index 1e7f58e..cd9583d 100644 --- a/docs/modules/eslint-plugin-react.md +++ b/docs/modules/eslint-plugin-react.md @@ -37,11 +37,11 @@ export default [ ## `oxlint` -[`oxlint`](https://oxc.rs/docs/guide/usage/linter.html) is a Rust-based linter for JavaScript and TypeScript that is compatible with ESLint, It has most of the rules from ESLint and its popular plugins ported, including `eslint-plugin-react` (as well as a few `eslint-plugin-react-hooks` rules). +[`oxlint`](https://oxc.rs/docs/guide/usage/linter.html) is a Rust-based linter for JavaScript and TypeScript that is compatible with ESLint. It has most of the rules from ESLint and its popular plugins ported, including `eslint-plugin-react` (as well as a few `eslint-plugin-react-hooks` rules). Oxlint is intended to be backwards-compatible with ESLint as much as possible, but not all rules are implemented yet, and some are not planned to be implemented at all. See [the GitHub issue](https://github.com/oxc-project/oxc/issues/1022) for specifics. -[JS Plugins](https://oxc.rs/docs/guide/usage/linter/js-plugins.html) are supported, and compatible with ESLint plugins if there are other ESLint plugins needing to be migrated. JS Plugins can also be used to migrate React Compiler rules over to Oxlint if needed. +[JS Plugins](https://oxc.rs/docs/guide/usage/linter/js-plugins.html) are supported and are compatible with ESLint plugins if there are other ESLint plugins needing to be migrated. JS Plugins can also be used to migrate React Compiler rules over to Oxlint if needed. The migration process from ESLint is covered in [the Oxlint documentation](https://oxc.rs/docs/guide/usage/linter/migrate-from-eslint.html) and can usually be done automatically from an ESLint flat config using [`@oxlint/migrate`](https://github.com/oxc-project/oxlint-migrate). From c3a5b4b6f10ecdcc6ed3f369195e9b770e8744c1 Mon Sep 17 00:00:00 2001 From: Connor Shea <2977353+connorshea@users.noreply.github.com> Date: Sun, 17 May 2026 23:05:01 -0600 Subject: [PATCH 4/8] Fix tests, resolve feedback. --- docs/modules/eslint-plugin-import.md | 2 +- docs/modules/eslint-plugin-react.md | 2 +- manifests/preferred.json | 5 +++++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/docs/modules/eslint-plugin-import.md b/docs/modules/eslint-plugin-import.md index 7b020d4..04b9a6e 100644 --- a/docs/modules/eslint-plugin-import.md +++ b/docs/modules/eslint-plugin-import.md @@ -72,4 +72,4 @@ Oxlint is intended to be backwards-compatible with ESLint as much as possible, b The migration process from ESLint is covered in [the Oxlint documentation](https://oxc.rs/docs/guide/usage/linter/migrate-from-eslint.html) and can usually be done automatically from an ESLint flat config using [`@oxlint/migrate`](https://github.com/oxc-project/oxlint-migrate). > [!NOTE] -> `oxlint` is not necessarily a full, drop‑in replacement. See [the GitHub issue](https://github.com/oxc-project/oxc/issues/1117) for rules from `eslint-plugin-import` that are not yet implemented or not planned to be implemented. +> `oxlint` is not necessarily a full, drop-in replacement. See [the GitHub issue](https://github.com/oxc-project/oxc/issues/1117) for rules from `eslint-plugin-import` that are not yet implemented or not planned to be implemented. diff --git a/docs/modules/eslint-plugin-react.md b/docs/modules/eslint-plugin-react.md index cd9583d..8362965 100644 --- a/docs/modules/eslint-plugin-react.md +++ b/docs/modules/eslint-plugin-react.md @@ -46,4 +46,4 @@ Oxlint is intended to be backwards-compatible with ESLint as much as possible, b The migration process from ESLint is covered in [the Oxlint documentation](https://oxc.rs/docs/guide/usage/linter/migrate-from-eslint.html) and can usually be done automatically from an ESLint flat config using [`@oxlint/migrate`](https://github.com/oxc-project/oxlint-migrate). > [!NOTE] -> `oxlint` is not necessarily a full, drop‑in replacement. See [the GitHub issue](https://github.com/oxc-project/oxc/issues/1022) for rules from `eslint-plugin-react` that are not yet implemented or not planned to be implemented. +> `oxlint` is not necessarily a full, drop-in replacement. See [the GitHub issue](https://github.com/oxc-project/oxc/issues/1022) for rules from `eslint-plugin-react` that are not yet implemented or not planned to be implemented. diff --git a/manifests/preferred.json b/manifests/preferred.json index 7fea2d3..31eddaf 100644 --- a/manifests/preferred.json +++ b/manifests/preferred.json @@ -3323,6 +3323,11 @@ "type": "documented", "replacementModule": "oxc-resolver" }, + "oxlint": { + "id": "oxlint", + "type": "documented", + "replacementModule": "oxlint" + }, "package-manager-detector": { "id": "package-manager-detector", "type": "documented", From 194428fc72269032e328c8cdf7342307ca4fbb1c Mon Sep 17 00:00:00 2001 From: Connor Shea <2977353+connorshea@users.noreply.github.com> Date: Sun, 17 May 2026 23:06:26 -0600 Subject: [PATCH 5/8] Clean up grammar. --- docs/modules/eslint-plugin-import.md | 2 +- docs/modules/eslint-plugin-react.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/modules/eslint-plugin-import.md b/docs/modules/eslint-plugin-import.md index 04b9a6e..bc24213 100644 --- a/docs/modules/eslint-plugin-import.md +++ b/docs/modules/eslint-plugin-import.md @@ -65,7 +65,7 @@ module.exports = { ## `oxlint` -[`oxlint`](https://oxc.rs/docs/guide/usage/linter.html) is a Rust-based linter for JavaScript and TypeScript that is compatible with ESLint, It has most of the rules from ESLint and its popular plugins ported, including `eslint-plugin-import`. +[`oxlint`](https://oxc.rs/docs/guide/usage/linter.html) is a Rust-based linter for JavaScript and TypeScript that is compatible with ESLint. It has ports of most rules from ESLint and its popular plugins, including `eslint-plugin-import`. Oxlint is intended to be backwards-compatible with ESLint as much as possible, but not all rules are implemented yet, and some are not planned to be implemented at all. See [the GitHub issue](https://github.com/oxc-project/oxc/issues/1117) for specifics. diff --git a/docs/modules/eslint-plugin-react.md b/docs/modules/eslint-plugin-react.md index 8362965..6a03ddf 100644 --- a/docs/modules/eslint-plugin-react.md +++ b/docs/modules/eslint-plugin-react.md @@ -37,7 +37,7 @@ export default [ ## `oxlint` -[`oxlint`](https://oxc.rs/docs/guide/usage/linter.html) is a Rust-based linter for JavaScript and TypeScript that is compatible with ESLint. It has most of the rules from ESLint and its popular plugins ported, including `eslint-plugin-react` (as well as a few `eslint-plugin-react-hooks` rules). +[`oxlint`](https://oxc.rs/docs/guide/usage/linter.html) is a Rust-based linter for JavaScript and TypeScript that is compatible with ESLint. It has ports of most rules from ESLint and its popular plugins, including `eslint-plugin-react` (as well as a few `eslint-plugin-react-hooks` rules). Oxlint is intended to be backwards-compatible with ESLint as much as possible, but not all rules are implemented yet, and some are not planned to be implemented at all. See [the GitHub issue](https://github.com/oxc-project/oxc/issues/1022) for specifics. From e93640c9bc9ae12493224c9adba670c808872af4 Mon Sep 17 00:00:00 2001 From: Connor Shea <2977353+connorshea@users.noreply.github.com> Date: Sat, 23 May 2026 11:12:34 -0600 Subject: [PATCH 6/8] Update docs/modules/eslint-plugin-import.md Co-authored-by: Willow (GHOST) --- docs/modules/eslint-plugin-import.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/docs/modules/eslint-plugin-import.md b/docs/modules/eslint-plugin-import.md index bc24213..256247d 100644 --- a/docs/modules/eslint-plugin-import.md +++ b/docs/modules/eslint-plugin-import.md @@ -72,4 +72,11 @@ Oxlint is intended to be backwards-compatible with ESLint as much as possible, b The migration process from ESLint is covered in [the Oxlint documentation](https://oxc.rs/docs/guide/usage/linter/migrate-from-eslint.html) and can usually be done automatically from an ESLint flat config using [`@oxlint/migrate`](https://github.com/oxc-project/oxlint-migrate). > [!NOTE] -> `oxlint` is not necessarily a full, drop-in replacement. See [the GitHub issue](https://github.com/oxc-project/oxc/issues/1117) for rules from `eslint-plugin-import` that are not yet implemented or not planned to be implemented. +## Oxlint + +[Oxlint](https://oxc.rs/docs/guide/usage/linter.html) is a high-performance linter for JavaScript and TypeScript, built on the Rust-based `Oxc` compiler stack. It's intended to be fully backwards-compatible with ESLint, having ported most of the ESLint rules, as well as those from popular plugins including `eslint-plugin-import`. + +The migration process from ESLint is covered in [the Oxlint documentation](https://oxc.rs/docs/guide/usage/linter/migrate-from-eslint.html), and can be done automatically from an ESLint flat config using [`npx @oxlint/migrate`](https://github.com/oxc-project/oxlint-migrate). + +> [!NOTE] +> Oxlint is not necessarily a full drop-in replacement, as not all of the `eslint-plugin-import` rules have been, or will be, implemented. Check [the GitHub issue](https://github.com/oxc-project/oxc/issues/1117) to view the progress. From 4689132c4d619d82a4d96ba93febd8dee9454589 Mon Sep 17 00:00:00 2001 From: Connor Shea <2977353+connorshea@users.noreply.github.com> Date: Sat, 23 May 2026 11:56:14 -0600 Subject: [PATCH 7/8] Format --- docs/modules/eslint-plugin-import.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/modules/eslint-plugin-import.md b/docs/modules/eslint-plugin-import.md index 256247d..b861555 100644 --- a/docs/modules/eslint-plugin-import.md +++ b/docs/modules/eslint-plugin-import.md @@ -72,6 +72,7 @@ Oxlint is intended to be backwards-compatible with ESLint as much as possible, b The migration process from ESLint is covered in [the Oxlint documentation](https://oxc.rs/docs/guide/usage/linter/migrate-from-eslint.html) and can usually be done automatically from an ESLint flat config using [`@oxlint/migrate`](https://github.com/oxc-project/oxlint-migrate). > [!NOTE] + ## Oxlint [Oxlint](https://oxc.rs/docs/guide/usage/linter.html) is a high-performance linter for JavaScript and TypeScript, built on the Rust-based `Oxc` compiler stack. It's intended to be fully backwards-compatible with ESLint, having ported most of the ESLint rules, as well as those from popular plugins including `eslint-plugin-import`. From e3d591a451e09f4a88ecdc922e2e8e6a6fa6e88c Mon Sep 17 00:00:00 2001 From: "Willow (GHOST)" Date: Sun, 24 May 2026 00:34:11 +0100 Subject: [PATCH 8/8] chore: apply suggestion --- docs/modules/eslint-plugin-import.md | 10 ---------- docs/modules/eslint-plugin-react.md | 12 ++++-------- 2 files changed, 4 insertions(+), 18 deletions(-) diff --git a/docs/modules/eslint-plugin-import.md b/docs/modules/eslint-plugin-import.md index b861555..5c8a1f8 100644 --- a/docs/modules/eslint-plugin-import.md +++ b/docs/modules/eslint-plugin-import.md @@ -63,16 +63,6 @@ module.exports = { } ``` -## `oxlint` - -[`oxlint`](https://oxc.rs/docs/guide/usage/linter.html) is a Rust-based linter for JavaScript and TypeScript that is compatible with ESLint. It has ports of most rules from ESLint and its popular plugins, including `eslint-plugin-import`. - -Oxlint is intended to be backwards-compatible with ESLint as much as possible, but not all rules are implemented yet, and some are not planned to be implemented at all. See [the GitHub issue](https://github.com/oxc-project/oxc/issues/1117) for specifics. - -The migration process from ESLint is covered in [the Oxlint documentation](https://oxc.rs/docs/guide/usage/linter/migrate-from-eslint.html) and can usually be done automatically from an ESLint flat config using [`@oxlint/migrate`](https://github.com/oxc-project/oxlint-migrate). - -> [!NOTE] - ## Oxlint [Oxlint](https://oxc.rs/docs/guide/usage/linter.html) is a high-performance linter for JavaScript and TypeScript, built on the Rust-based `Oxc` compiler stack. It's intended to be fully backwards-compatible with ESLint, having ported most of the ESLint rules, as well as those from popular plugins including `eslint-plugin-import`. diff --git a/docs/modules/eslint-plugin-react.md b/docs/modules/eslint-plugin-react.md index 6a03ddf..9913438 100644 --- a/docs/modules/eslint-plugin-react.md +++ b/docs/modules/eslint-plugin-react.md @@ -35,15 +35,11 @@ export default [ > [!NOTE] > `@eslint-react/eslint-plugin` is not a drop‑in replacement. Use [their migration guide](https://www.eslint-react.xyz/docs/migrating-from-eslint-plugin-react) to map rules/options and automate changes where possible. -## `oxlint` +## Oxlint -[`oxlint`](https://oxc.rs/docs/guide/usage/linter.html) is a Rust-based linter for JavaScript and TypeScript that is compatible with ESLint. It has ports of most rules from ESLint and its popular plugins, including `eslint-plugin-react` (as well as a few `eslint-plugin-react-hooks` rules). +[Oxlint](https://oxc.rs/docs/guide/usage/linter.html) is a high-performance linter for JavaScript and TypeScript, built on the Rust-based `Oxc` compiler stack. It's intended to be fully backwards-compatible with ESLint, having ported most of the ESLint rules, as well as those from popular plugins including `eslint-plugin-react`. -Oxlint is intended to be backwards-compatible with ESLint as much as possible, but not all rules are implemented yet, and some are not planned to be implemented at all. See [the GitHub issue](https://github.com/oxc-project/oxc/issues/1022) for specifics. - -[JS Plugins](https://oxc.rs/docs/guide/usage/linter/js-plugins.html) are supported and are compatible with ESLint plugins if there are other ESLint plugins needing to be migrated. JS Plugins can also be used to migrate React Compiler rules over to Oxlint if needed. - -The migration process from ESLint is covered in [the Oxlint documentation](https://oxc.rs/docs/guide/usage/linter/migrate-from-eslint.html) and can usually be done automatically from an ESLint flat config using [`@oxlint/migrate`](https://github.com/oxc-project/oxlint-migrate). +The migration process from ESLint is covered in [the Oxlint documentation](https://oxc.rs/docs/guide/usage/linter/migrate-from-eslint.html), and can be done automatically from an ESLint flat config using [`npx @oxlint/migrate`](https://github.com/oxc-project/oxlint-migrate). > [!NOTE] -> `oxlint` is not necessarily a full, drop-in replacement. See [the GitHub issue](https://github.com/oxc-project/oxc/issues/1022) for rules from `eslint-plugin-react` that are not yet implemented or not planned to be implemented. +> Oxlint is not necessarily a full drop-in replacement, as not all of the `eslint-plugin-react` rules have been, or will be, implemented. Check [the GitHub issue](https://github.com/oxc-project/oxc/issues/1022) to view the progress.