Oxlint is a Rust-based JavaScript linter that's 50-100x faster than ESLint. It's designed as a drop-in enhancement — run it alongside ESLint today, replace ESLint tomorrow.
The Free APIs You're Missing
1. Zero Config — Works Immediately
npx oxlint@latest .
That's it. No .eslintrc, no plugin installations, no config file. Oxlint uses sensible defaults that catch real bugs.
2. Category-Based Rules — Organized Linting
# Enable specific categories
oxlint --deny-warnings \\
-D correctness \\
-D perf \\
-D suspicious \\
-W style
# Or use config file
// .oxlintrc.json
{
"rules": {
"no-unused-vars": "warn",
"no-console": "warn",
"eqeqeq": "error",
"no-var": "error"
},
"categories": {
"correctness": "error",
"suspicious": "warn",
"perf": "warn"
}
}
3. ESLint Compatibility — 400+ Rules
Oxlint implements rules from:
- eslint (core)
- typescript-eslint
- eslint-plugin-react
- eslint-plugin-react-hooks
- eslint-plugin-jsx-a11y
- eslint-plugin-import
- eslint-plugin-unicorn
- eslint-plugin-jest
# Check which ESLint rules oxlint covers
oxlint --rules
4. IDE Integration — VSCode Extension
// .vscode/settings.json
{
"oxc.lint.enable": true,
"oxc.lint.run": "onType"
}
Real-time linting as you type — no perceptible delay even in large codebases.
5. CI Integration — Fast Checks
# .github/workflows/lint.yml
name: Lint
on: [push, pull_request]
jobs:
oxlint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npx oxlint@latest --deny-warnings -D correctness -D suspicious .
5-second lint check for a 100K LOC codebase. No node_modules needed.
Benchmarks
| Codebase | ESLint | Oxlint | Speedup |
|---|---|---|---|
| 10K LOC | 8.2s | 0.08s | 100x |
| 100K LOC | 45s | 0.9s | 50x |
| 1M LOC | 5min+ | 4.5s | 67x |
Getting Started
npx oxlint@latest .
Need data from any website delivered as clean JSON? I build production web scrapers that handle anti-bot, proxies, and rate limits. 77 scrapers running in production. Email me: Spinov001@gmail.com
Check out my awesome-web-scraping list for the best scraping tools and resources.
Top comments (0)