You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
and run Oxlint before ESLint in your local or CI setup for a quicker feedback loop.
20
21
:::
21
22
22
23
## Features
23
24
24
-
- 50 - 100 times faster than ESLint, and scales with the number of CPU cores ([benchmark](https://github.com/oxc-project/bench-javascript-linter)).
25
-
- Over 520 rules with a growing list from `eslint`, `typescript`, `eslint-plugin-react`, `eslint-plugin-jest`, `eslint-plugin-unicorn`, `eslint-plugin-jsx-a11y` and [many more](https://github.com/oxc-project/oxc/issues/481).
25
+
- 50 - 100 times faster than ESLint, and scales with the number of CPU cores
@@ -34,7 +38,8 @@ and run Oxlint before ESLint in your local or CI setup for a quicker feedback lo
34
38
- Supports:
35
39
- JavaScript and TypeScript by their extensions `js`, `mjs`, `cjs`, `jsx`, `ts`, `mts`, `cts` and `tsx`.
36
40
-`<script>` content of `.vue`, `.astro` and `.svelte` files.
37
-
-[type-aware rules](https://typescript-eslint.io/getting-started/typed-linting) defined by `typescript-eslint` (preview, requires `--type-aware` flag and `oxlint-tsgolint` package).
41
+
-[type-aware rules](https://typescript-eslint.io/getting-started/typed-linting) defined by
42
+
`typescript-eslint` (preview, requires `--type-aware` flag and `oxlint-tsgolint` package).
38
43
- No support for:
39
44
-[stylistic rules](https://eslint.style).
40
45
@@ -52,7 +57,8 @@ Oxlint supports type-aware rules in preview mode. To enable type-aware linting:
52
57
pnpm dlx oxlint --type-aware
53
58
```
54
59
55
-
For more details and the list of supported type-aware rules, see the [type-aware linting announcement](/blog/2025-08-17-oxlint-type-aware).
60
+
For more details and the list of supported type-aware rules, see the
`oxlint` does not require Node.js, the binaries can be downloaded from the [latest GitHub releases](https://github.com/oxc-project/oxc/releases/latest).
113
+
`oxlint` does not require Node.js, the binaries can be downloaded from the
@@ -116,13 +123,16 @@ See [Configuration File](./linter/config)
116
123
117
124
## Migrate from eslint flat config
118
125
119
-
If you have an existing `eslint.config.*` file, you can convert it to an `.oxlintrc.json` config with [oxlint-migrate](https://github.com/oxc-project/oxlint-migrate).
126
+
If you have an existing `eslint.config.*` file, you can convert it to an `.oxlintrc.json` config with
If you are looking for a way to use oxlint in projects that still need ESLint, you can use [eslint-plugin-oxlint](https://github.com/oxc-project/eslint-plugin-oxlint) to turn off ESLint rules that are already supported by oxlint. So you can enjoy the speed of oxlint while still using ESLint.
133
+
If you are looking for a way to use oxlint in projects that still need ESLint, you can use
134
+
[eslint-plugin-oxlint](https://github.com/oxc-project/eslint-plugin-oxlint) to turn off ESLint rules
135
+
that are already supported by oxlint. So you can enjoy the speed of oxlint while still using ESLint.
|`typescript`| ✅ |[#2180](https://github.com/oxc-project/oxc/issues/2180)| TypeScript-specific rules from [`@typescript-eslint`](https://typescript-eslint.io/rules/). Type-aware rules are supported in preview (use `--type-aware` flag). |
86
-
|`unicorn`| ✅ |[#684](https://github.com/oxc-project/oxc/issues/684)| Rules ported from [`eslint-plugin-unicorn`](https://github.com/sindresorhus/eslint-plugin-unicorn)|
87
-
|`react`||[#1022](https://github.com/oxc-project/oxc/issues/1022), [#2174](https://github.com/oxc-project/oxc/issues/2174)| Rules ported from [`eslint-plugin-react`](https://www.npmjs.com/package/eslint-plugin-react) and [`eslint-plugin-react-hooks`](https://www.npmjs.com/package/eslint-plugin-react-hooks)|
88
-
|`react-perf`||[#2041](https://github.com/oxc-project/oxc/issues/2041)| Rules ported from [`eslint-plugin-react-perf`](https://github.com/cvazac/eslint-plugin-react-perf)|
89
-
|`nextjs`||[#1929](https://github.com/oxc-project/oxc/issues/1929)| Rules ported from [`eslint-plugin-next`](https://nextjs.org/docs/pages/building-your-application/configuring/eslint#eslint-plugin)|
85
+
|`typescript`| ✅ |[#2180](https://github.com/oxc-project/oxc/issues/2180)| TypeScript-specific rules from [`@typescript-eslint`](https://typescript-eslint.io/rules/). Type-aware rules are supported in preview (use `--type-aware` flag). |
86
+
|`unicorn`| ✅ |[#684](https://github.com/oxc-project/oxc/issues/684)| Rules from [`eslint-plugin-unicorn`](https://github.com/sindresorhus/eslint-plugin-unicorn)|
87
+
|`react`||[#1022](https://github.com/oxc-project/oxc/issues/1022), [#2174](https://github.com/oxc-project/oxc/issues/2174)| Rules from [`eslint-plugin-react`](https://www.npmjs.com/package/eslint-plugin-react) and [`eslint-plugin-react-hooks`](https://www.npmjs.com/package/eslint-plugin-react-hooks)|
88
+
|`react-perf`||[#2041](https://github.com/oxc-project/oxc/issues/2041)| Rules from [`eslint-plugin-react-perf`](https://github.com/cvazac/eslint-plugin-react-perf)|
89
+
|`nextjs`||[#1929](https://github.com/oxc-project/oxc/issues/1929)| Rules from [`eslint-plugin-next`](https://nextjs.org/docs/pages/building-your-application/configuring/eslint#eslint-plugin)|
90
90
|`oxc`| ✅ | N/A | Custom oxc-specific rules, as well as some rules ported from [deepscan](https://deepscan.io/)|
91
-
|`import`||[#1117](https://github.com/oxc-project/oxc/issues/1117)| Rules ported from [`eslint-plugin-import`](https://github.com/import-js/eslint-plugin-import)|
92
-
|`jsdoc`||[#1170](https://github.com/oxc-project/oxc/issues/1170)| Rules ported from [`eslint-plugin-jsdoc`](https://github.com/gajus/eslint-plugin-jsdoc)|
93
-
|`jsx-a11y`||[#1141](https://github.com/oxc-project/oxc/issues/1141)| Rules ported from [`eslint-plugin-jsx-a11y`](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y)|
94
-
|`node`||[#493](https://github.com/oxc-project/oxc/issues/493)| Rules ported from [`eslint-plugin-n`](https://github.com/eslint-community/eslint-plugin-n)|
95
-
|`promise`||[#4655](https://github.com/oxc-project/oxc/issues/4655)| Rules ported from [`eslint-plugin-promise`](https://github.com/eslint-community/eslint-plugin-promise)|
96
-
|`jest`||[#492](https://github.com/oxc-project/oxc/issues/492)| Rules ported from [`eslint-plugin-jest`](https://github.com/jest-community/eslint-plugin-jest)|
97
-
|`vitest`||[#4656](https://github.com/oxc-project/oxc/issues/4656)| Rules ported from [`eslint-plugin-vitest`](https://github.com/vitest-dev/eslint-plugin-vitest)|
91
+
|`import`||[#1117](https://github.com/oxc-project/oxc/issues/1117)| Rules from [`eslint-plugin-import`](https://github.com/import-js/eslint-plugin-import)|
92
+
|`jsdoc`||[#1170](https://github.com/oxc-project/oxc/issues/1170)| Rules from [`eslint-plugin-jsdoc`](https://github.com/gajus/eslint-plugin-jsdoc)|
93
+
|`jsx-a11y`||[#1141](https://github.com/oxc-project/oxc/issues/1141)| Rules from [`eslint-plugin-jsx-a11y`](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y)|
94
+
|`node`||[#493](https://github.com/oxc-project/oxc/issues/493)| Rules from [`eslint-plugin-n`](https://github.com/eslint-community/eslint-plugin-n)|
95
+
|`promise`||[#4655](https://github.com/oxc-project/oxc/issues/4655)| Rules from [`eslint-plugin-promise`](https://github.com/eslint-community/eslint-plugin-promise)|
96
+
|`jest`||[#492](https://github.com/oxc-project/oxc/issues/492)| Rules from [`eslint-plugin-jest`](https://github.com/jest-community/eslint-plugin-jest)|
97
+
|`vitest`||[#4656](https://github.com/oxc-project/oxc/issues/4656)| Rules from [`eslint-plugin-vitest`](https://github.com/vitest-dev/eslint-plugin-vitest)|
0 commit comments