What is Oxlint?
Oxlint is a fast, Rust-based linter that implements a growing subset of ESLint-compatible rules plus its own correctness and performance checks. Key properties:- 50–100× faster than ESLint on equivalent rule sets
- No plugin ecosystem complexity — rules ship as part of the binary
- ESLint-compatible rule names —
no-unused-vars,prefer-const, and friends work exactly as you expect - Language-server support — integrates with any editor that speaks LSP
Installation
Add Oxlint as a dev dependency in each package, or install it once at the monorepo root if you run it via the rootpackage.json scripts:
Configuration
Create an.oxlintrc.json file at the root of each package (or at the monorepo root to share a single config):
.oxlintrc.json
Oxlint picks up
.oxlintrc.json automatically when you run it from a directory that contains the file. You do not need to pass a --config flag in most cases.Running Oxlint
lint script to your package.json so contributors and CI can use a consistent entry point:
package.json
IDE Integration
- VS Code
- Other Editors
Install the official Oxlint extension from the VS Code Marketplace (Lint diagnostics appear inline as you type, with quick-fix actions available via the lightbulb menu.
oxc.oxlint). Once installed:- Open your workspace settings (
Cmd+,/Ctrl+,). - Search for “oxlint” and enable Format On Save.
- Set Oxlint as the default formatter for TypeScript files if you want auto-fix on save:
.vscode/settings.json
CI Integration
Add the strict lint step to your CI workflow so that warnings become blocking errors before code reaches the main branch:.github/workflows/ci.yml
typecheck step and before your test step. Linting is fast enough that it adds negligible time to the pipeline.