ESLint is slow. On large codebases, it takes minutes. Oxlint written in Rust does the same job in seconds.
What is Oxlint?
Oxlint is a JavaScript/TypeScript linter written in Rust by the Oxc project. It is 50-100x faster than ESLint and catches many of the same issues.
Quick Start
npx oxlint@latest
That is it. No config file needed. It works out of the box.
Speed Comparison
Project: 10,000 TypeScript files
ESLint: 45 seconds
Oxlint: 0.8 seconds
50x faster. On CI, this means faster builds and quicker feedback.
What It Catches
// Catches: no-unused-vars
const unused = 42;
// Catches: no-debugger
debugger;
// Catches: no-console (configurable)
console.log("debug");
// Catches: eqeqeq
if (x == null) {} // Should be ===
// Catches: no-empty
try {} catch (e) {}
// Catches: no-constant-condition
if (true) {}
// Catches: no-self-compare
if (x === x) {}
Configuration
// .oxlintrc.json (optional)
{
"rules": {
"no-console": "warn",
"no-debugger": "error",
"eqeqeq": "error",
"no-unused-vars": "warn"
},
"ignore_patterns": ["dist/**", "node_modules/**"]
}
CLI Options
# Lint specific files
oxlint src/
# Fix auto-fixable issues
oxlint --fix
# Specific rules
oxlint --deny no-debugger --warn no-console
# Output formats
oxlint --format json
oxlint --format github # GitHub Actions annotations
Use Alongside ESLint
Oxlint is designed to complement ESLint, not replace it entirely. Use Oxlint for the fast checks it supports, keep ESLint for plugin-specific rules.
// package.json
{
"scripts": {
"lint": "oxlint && eslint --no-eslintrc -c .eslintrc.plugins.json src/",
"lint:fix": "oxlint --fix && eslint --fix src/"
}
}
Rules Coverage
Oxlint supports 400+ rules from:
- eslint (core rules)
- typescript-eslint
- eslint-plugin-react
- eslint-plugin-react-hooks
- eslint-plugin-jsx-a11y
- eslint-plugin-import
- eslint-plugin-unicorn
- eslint-plugin-jest
- eslint-plugin-jsdoc
Oxlint vs ESLint vs Biome
| Feature | Oxlint | ESLint | Biome |
|---|---|---|---|
| Speed | 50-100x faster | Baseline | 10-20x faster |
| Language | Rust | JavaScript | Rust |
| Config | Optional | Required | Optional |
| Plugins | No | 2000+ | No |
| Formatter | No | No | Yes |
| Drop-in | Mostly | N/A | Partial |
Need to lint scraping code? Check out my production-ready actors on Apify Store — clean, linted code that just works. For custom solutions, email spinov001@gmail.com.
Top comments (0)