ESLint works but takes 30+ seconds on large codebases. Oxlint runs the same checks 50-100x faster — built in Rust, zero config, and compatible with your existing rules.
What Is Oxlint?
Oxlint is a JavaScript/TypeScript linter written in Rust. It's part of the Oxc project (Oxidation Compiler) and provides instant linting feedback even on massive codebases.
Speed Comparison
| Codebase Size | ESLint | Oxlint |
|---|---|---|
| 1K files | 5s | 0.1s |
| 10K files | 30s | 0.5s |
| 50K files | 3 min | 2s |
Quick Start
npx oxlint@latest
No config file, no plugins to install, no .eslintrc. It just works.
What It Checks
Oxlint includes 200+ rules from popular ESLint plugins:
# Default — catches common bugs
npx oxlint
# Enable more categories
npx oxlint -A correctness -A perf -A suspicious
# Deny specific rules
npx oxlint -D no-unused-vars -D no-console
Built-in Plugin Rules
-
eslintcore rules -
typescript-eslintrules -
eslint-plugin-reactrules -
eslint-plugin-importrules -
eslint-plugin-jestrules -
eslint-plugin-unicornrules -
eslint-plugin-jsx-a11yrules
Use With ESLint
Oxlint is designed to complement ESLint, not replace it:
// .eslintrc.json — disable rules Oxlint already handles
{
"extends": ["plugin:oxlint/recommended"]
}
Run Oxlint first (fast catches), then ESLint (custom rules):
// package.json
{
"scripts": {
"lint": "oxlint && eslint ."
}
}
CI Integration
- name: Lint
run: npx oxlint@latest --deny-warnings
Configuration
// oxlintrc.json (optional)
{
"rules": {
"no-unused-vars": "warn",
"no-console": "off",
"eqeqeq": "error"
},
"ignorePatterns": ["dist", "node_modules"]
}
Why Oxlint
- 50-100x faster than ESLint
- Zero config — works immediately
- 200+ rules built-in from popular plugins
- Better error messages — clear, actionable diagnostics
- No dependencies — single binary
- IDE support — VS Code extension available
Get Started
- Documentation
- GitHub — 13K+ stars
- VS Code Extension
Linting your scraping code? My Apify actors follow best practices for data extraction. Custom solutions: spinov001@gmail.com
Top comments (0)