Plugins
Oxlint supports several of the most popular ESLint plugins out of the box with most rules in recommended configs already implemented.
WARNING
Oxlint does not support custom plugins at this time. We have plans to implement this in the future. You can track its status on our backlog and provide feedback in this discussion.
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 |
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 we have no plans on supporting rules in plugins that require special parsers, such as eslint-plugin-vue and eslint-plugin-svelte, though we are open to supporting rules in these plugins that only affect script tags in their source files.