By default, Ultracite's Oxlint presets run on native Rust rules for maximum speed. To achieve higher parity with ESLint, you can opt-in to the js-plugins preset, which runs JavaScript-based plugins like eslint-plugin-github, eslint-plugin-sonarjs, and oxlint-plugin-react-doctor through Oxlint's JS plugin support.
Note: This is off by default because it adds dependencies and runs a slower JavaScript lint pass.
Option 1: Interactive or CLI Setup
Use the ultracite init command to choose plugins during setup:
npx ultracite init --linter oxlint --js-plugins eslint-plugin-github eslint-plugin-sonarjs oxlint-plugin-react-doctor
Option 2: Manual Setup
If adding manually, install the plugins as dev dependencies:
npm install -D eslint-plugin-github eslint-plugin-sonarjs oxlint-plugin-react-doctor
Then update your oxlint.config.ts:
import { defineConfig } from "oxlint";
import core from "ultracite/oxlint/core";
import jsPlugins from "ultracite/oxlint/js-plugins";
export default defineConfig({
extends: [core, jsPlugins],
ignorePatterns: core.ignorePatterns,
});