Plugins
Oxlint supports several of the most popular ESLint plugins out of the box with most rules in recommended configs already implemented.
Oxlint also supports plugins written in JS.
Enabling Plugins
You can enable plugins using the --<plugin-name>-plugin CLI flag. For example, to enable eslint-plugin-import, run
oxlint --import-pluginOnce enabled, rules in categories you have enabled will automatically be turned on. For example,
oxlint --import-plugin -D correctness -W suspiciousFrom the import plugin, this will enable all correctness rules as errors and suspicious rules as warnings, plus the rules from the base rule set. Note that correctness rules are turned on by default.
Enabling plugins in a configuration file
You can also enable plugins in a configuration file by adding the plugins field. For example, to enable eslint-plugin-import, add the following to your .oxlintrc.json file:
{
"plugins": ["import"]
}NOTE
Setting the plugins field will overwrite the base set of plugins. The plugins array should reflect all of the plugins you want to use.
Disabling Plugins
Several plugins are enabled by default, and are listed below. You can disable them with the --disable-<plugin-name>-plugin flag. For example, to disable eslint-plugin-unicorn, run:
oxlint --disable-unicorn-pluginOnly default plugins support being disabled, as other plugins can be omitted simply by not enabling them.
INFO
run oxlint --help to see a full list of flags to enable or disable plugins.
Disabling plugins in a configuration file
You can also disable default plugins in a configuration file by simply adding an empty array to the plugins field.
{
"plugins": []
}This configuration will disable all default plugins and only use the base set of rules.
Supported Plugins
INFO
You can also find this information on the linter product plan issue on GitHub.
| Plugin Name | Default? | Issue | Notes |
|---|---|---|---|
eslint | ✅ | #479 | Rules from eslint (core) |
typescript | ✅ | #2180 | TypeScript-specific rules from @typescript-eslint. Type-aware rules are supported in preview (use --type-aware flag). |
unicorn | ✅ | #684 | Rules from eslint-plugin-unicorn |
react | #1022, #2174 | Rules from eslint-plugin-react and eslint-plugin-react-hooks | |
react-perf | #2041 | Rules from eslint-plugin-react-perf | |
nextjs | #1929 | Rules from eslint-plugin-next | |
oxc | ✅ | N/A | Custom oxc-specific rules, as well as some rules ported from deepscan |
import | #1117 | Rules from eslint-plugin-import | |
jsdoc | #1170 | Rules from eslint-plugin-jsdoc | |
jsx-a11y | #1141 | Rules from eslint-plugin-jsx-a11y | |
node | #493 | Rules from eslint-plugin-n | |
promise | #4655 | Rules from eslint-plugin-promise | |
jest | #492 | Rules from eslint-plugin-jest | |
vitest | #4656 | Rules from eslint-plugin-vitest | |
vue | #11440 | Rules from eslint-plugin-vue that work with <script> tags |
Adding New Plugins
Do you have a favorite ESLint plugin that you'd like to see supported in Oxlint? Please open a feature request. Please be aware that for plugins that require special parsers, such as eslint-plugin-vue and eslint-plugin-svelte, we only support linting the <script> sections of those files.