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.
Enabling Plugins ​
You can enable plugins using the --<plugin-name>-plugin
CLI flag. For example, to enable eslint-plugin-import
, run
oxlint --import-plugin
Once enabled, rules in categories you have enabled will automatically be turned on. For example,
oxlint --import-plugin -D correctness -W suspicious
From 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-plugin
Only 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 |
---|---|---|---|
typescript | ✅ | #2180 | TypeScript-specific rules from @typescript-eslint . We do not currently support rules that require type information. |
unicorn | ✅ | #684 | Rules ported from eslint-plugin-unicorn |
react | ✅ | #1022, #2174 | Rules ported from eslint-plugin-react and eslint-plugin-react-hooks |
react-perf | #2041 | Rules ported from eslint-plugin-react-perf | |
nextjs | #1929 | Rules ported from eslint-plugin-next | |
oxc | ✅ | N/A | Custom oxc-specific rules, as well as some rules ported from deepscan |
import | #1117 | Rules ported from eslint-plugin-import | |
jsdoc | #1170 | Rules ported from eslint-plugin-jsdoc | |
jsx-a11y | #1141 | Rules ported from eslint-plugin-jsx-a11y | |
node | #493 | Rules ported from eslint-plugin-n | |
promise | #4655 | Rules ported from eslint-plugin-promise | |
jest | #492 | Rules ported from eslint-plugin-jest | |
vitest | #4656 | Rules ported 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.