Oxlint
Oxlint is a high-performance linter for JavaScript and TypeScript that is 50–100x faster than ESLint. It is correctness-focused by default and supports 695+ rules across a wide range of plugins — including TypeScript, React, Unicorn, Import, and jsx-a11y — making migration straightforward.
Oxlint replaces ESLint (and the linting part of Biome) with a Rust-based tool
that runs dramatically faster in CI. Drop in oxlint.config.ts to get
started and retain fine-grained rule control.
Installation
Section titled “Installation”npm i -D oxlintyarn add -D oxlintpnpm add -D oxlintbun add -d oxlintConfiguration
Section titled “Configuration”Oxlint can be configured with a TypeScript config file (oxlint.config.ts) or
a JSON file (.oxlintrc.json). The TypeScript format provides type-safe
config with auto-complete.
{ "$schema": "./node_modules/oxlint/configuration_schema.json", "plugins": ["import", "typescript"], "categories": { "correctness": "error", "suspicious": "warn" }, "rules": { "no-console": "warn" }, "ignorePatterns": ["dist/**", ".astro/**", "src/content/docs/snippets/**"], "overrides": [ { "files": ["scripts/**"], "rules": { "no-console": "off" } } ]}Available plugins
Section titled “Available plugins”Enable only the plugins relevant to your stack:
| Plugin | Coverage |
|---|---|
typescript |
@typescript-eslint rules |
import |
eslint-plugin-import-x rules |
unicorn |
eslint-plugin-unicorn rules |
react |
eslint-plugin-react + react-hooks rules |
jsx-a11y |
Accessibility rules for JSX |
jest |
eslint-plugin-jest rules |
vitest |
eslint-plugin-vitest rules |
jsdoc |
JSDoc documentation rules |
promise |
eslint-plugin-promise rules |
node |
Node.js-specific rules |
Rule categories
Section titled “Rule categories”Control entire categories at once via categories:
{ "categories": { "correctness": "error", "suspicious": "warn", "style": "warn" }}Individual rules in rules override category-level settings.
Scripts
Section titled “Scripts”Add to package.json:
{ "scripts": { "lint": "oxlint .", "lint:fix": "oxlint --fix ." }}Type-aware linting
Section titled “Type-aware linting”Oxlint supports type-aware rules by integrating with
oxlint-tsgolint, the tsgo
(TypeScript 7 native Go port) bridge.
npm i -D oxlint-tsgolintyarn add -D oxlint-tsgolintpnpm add -D oxlint-tsgolintbun add -d oxlint-tsgolintEnable type-aware mode in your config:
import { defineConfig } from 'oxlint'
export default defineConfig({ options: { typeAware: true, }, // ...})Astro support
Section titled “Astro support”Oxlint lints the <script> blocks of .astro files automatically — no
plugin needed.
VS Code integration
Section titled “VS Code integration”Install the OXC extension and add to your workspace settings:
{ "oxc.enable": true, "editor.codeActionsOnSave": { "source.fixAll.oxc": "explicit" }}