Oxlint

Rust-based JavaScript/TypeScript linter that runs 50-100x faster than ESLint, with zero configuration required.

Tool
npm
v1.85.0
22,902 stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
90 /100 Excellent
Development Activity 100
Maintenance 100
Community 68
Maturity 52
Momentum 40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
86 /100 Excellent
Architecture 90
Code Quality 88
Innovation 85
Learning Curve 82

Oxlint is the linter of the Oxc (Oxidation Compiler) project, a suite of Rust-based JavaScript and TypeScript tooling built by the team behind Rolldown and the VoidZero unified toolchain. It parses and analyzes source files with the same high-performance Rust engine that powers Oxc’s parser and semantic analyzer, running lint passes across an entire codebase in milliseconds using Rayon-based multi-threading — commonly reported as 50-100x faster than ESLint on equivalent workloads.

With over 900 built-in rules spanning ESLint core, TypeScript, React, Next.js, Jest/Vitest, Unicorn, JSX-a11y, and other popular plugin ecosystems, oxlint works out of the box with zero configuration while also supporting .oxlintrc.json config files, ESLint-compatible rule severities, an --init command, automated migration tooling from existing ESLint setups, a built-in language server for editor integration, and — via the optional oxlint-tsgolint companion — type-aware linting rules that would otherwise require the full TypeScript compiler.

What You Get

  • 900+ built-in lint rules covering ESLint core, TypeScript, React, Next.js, JSX-a11y, Jest/Vitest, Unicorn, Promise, and more, enabled through plugin categories rather than individual installs
  • A Rayon-parallelized Rust linting engine that reuses Oxc’s shared parser/AST/semantic-analysis layer, delivering order-of-magnitude speedups over JS-based linters
  • Zero-config operation for the common case, plus .oxlintrc.json for ESLint-style plugin selection, overrides, ignore patterns, globals, and per-rule severities
  • An oxlint --init migration path and automated ESLint-config translation tooling to move an existing ESLint setup over incrementally
  • A built-in language server (--lsp) for real-time diagnostics in editors, and JSON/GitHub Actions/checkstyle/SARIF-style output formatters for CI

Common Use Cases

  • Replacing or front-loading ESLint in CI to catch the majority of lint violations in milliseconds before a slower, type-aware pass runs
  • Linting large monorepos where ESLint’s Node.js-based rule execution becomes a bottleneck as file counts grow
  • Adding fast pre-commit/pre-push lint checks without paying ESLint’s startup and rule-execution overhead on every run
  • Migrating an existing ESLint configuration incrementally via automated config translation and rule-compatibility mapping

Under The Hood

Architecture - Oxlint is the CLI crate (apps/oxlint, entry point src/main.rs) built on top of the oxc_linter library crate. The CLI parses arguments with bpaf, then hands off to CliRunner, which drives LintService (crates/oxc_linter/src/service/mod.rs) — a Rayon-parallelized file-walking runtime that reuses Oxc’s shared oxc_allocator/oxc_parser/oxc_semantic pipeline to parse and semantically analyze each file once, then runs every applicable RuleEnum against the resulting AST/semantic graph. Rules are looked up through a ConfigStore built from .oxlintrc.json (crates/oxc_linter/src/config/), and diagnostics flow through oxc_diagnostics/miette for terminal rendering or through pluggable output formatters for CI. A separate --lsp mode spins up a Tokio runtime and language server (src/lsp/) for editor integration, while the napi/ crate exposes the same lint_impl entry point to the oxlint npm package via NAPI-RS, including hooks (JsLoadPluginCb, JsLintFileCb, etc.) for loading JS-authored plugins and type-aware tsgolint rules.

Tech Stack - Rust (workspace Cargo.toml, 100+ member crates under crates/*, apps/*, napi/*), with rayon for data-parallel linting, bpaf for CLI argument parsing, oxc-miette for diagnostic rendering, tracing/tracing-subscriber for structured logging, napi/napi-derive (NAPI-RS) for the Node.js binding published as the oxlint package with per-platform prebuilt binaries (napi targets cover 19 OS/arch combinations), and tokio scoped narrowly to the LSP path so the default synchronous CLI lint run avoids spawning idle async worker threads.

Code Quality - The oxc_linter crate is organized into clearly separated modules (config, context, fixer, service, suppression, rules), each of the 900+ rules lives in its own file under crates/oxc_linter/src/rules/, and 772 of those rule files contain inline #[test] fn test() unit tests exercising pass/fail cases — a strong majority of the ruleset. The crate also carries workspace-wide Clippy lints ([lints] workspace = true) with targeted, commented #[expect(...)] overrides rather than blanket allows, and a size_asserts test pins RuleEnum to 16 bytes to guard a documented 15% performance win from a past size reduction, showing performance-sensitive code paths are actively monitored.

API Design - The Rule trait (crates/oxc_linter/src/rule.rs) gives rule authors a small, well-documented surface — run, run_once, run_on_jest_node, should_run, from_configuration — each with sensible no-op defaults and doc comments explaining when to implement them, so a new rule can start from a handful of methods without touching the linting engine itself. For end users, the CLI is designed to work with zero flags (npx oxlint@latest) and documents its options through --help, --rules, and an --init scaffolding command, while .oxlintrc.json mirrors ESLint’s configuration shape to minimize the conceptual overhead of switching linters.

Used by 70 apps in this directory

TypeScript
95%
MIT

Actual

Invoicing Finance

29,186

Local-first personal finance with envelope budgeting, end-to-end encryption, and multi-device sync — no subscription required.

View details
93
Repo Health
85
Technical
73
Dependency
Built with
TypeScript 95%
Updated 5 days ago
TypeScript
82%
Other

AFFiNE

Collaboration · Note Taking · Productivity

73,040

Write, draw, and plan in one infinite canvas — the open-source alternative to Notion and Miro that keeps your data yours.

View details
91
Repo Health
87
Technical
67
Dependency
Built with
TypeScript 82%
Rust 11%
Updated 6 days ago
TypeScript
95%
Apache 2.0

AionUi

AI Agents · Productivity

33,179

Free, open-source Cowork desktop app that unifies Claude Code, Codex, Gemini CLI, and 20+ AI agents into a single platform with multi-agent teams, 24/7 cron automation, and zero-config built-in agent.

View details
85
Repo Health
76
Technical
66
Dependency
Built with
TypeScript 95%
Updated 3 weeks ago
TypeScript
54%
MIT

Anarlog

AI Assistants · Note Taking · Productivity

9,404

Anarlog is an open-source, local-first AI meeting notetaker that records, transcribes, and summarizes meetings entirely on your device — no cloud lock-in, no mandatory account, and every note saved as a plain markdown file you own forever.

View details
86
Repo Health
77
Technical
68
Dependency
Built with
TypeScript 54%
Rust 34%
Updated 5 days ago
TypeScript
100%
MIT

Botpress

AI Assistants · AI Development · Customer Support

14,924

The open-source hub for building and deploying LLM-powered AI agents with TypeScript-first tooling, 40+ integrations, and a revolutionary code-execution agent framework.

View details
94
Repo Health
82
Technical
64
Dependency
Built with
TypeScript 100%
Updated 1 weeks ago
Rust
67%
MIT

Bun

Developer Tools

96,068

An all-in-one JavaScript and TypeScript toolkit — one Rust-and-JavaScriptCore binary that replaces Node.js, npm, a bundler, and a test runner with faster equivalents.

View details
92
Repo Health
91
Technical
64
Dependency
Built with
Rust 67%
C++ 19%
TypeScript 10%
Updated 6 days ago
Java
72%
Other

ByteChef

AI Agents · Automation

1,003

Unified open-source platform for AI agent orchestration and workflow automation with 180+ connectors, MCP support, and durable execution.

View details
85
Repo Health
82
Technical
67
Dependency
Built with
Java 72%
TypeScript 28%
Updated 6 days ago
JavaScript
99%
Other

ChartBrew

Analytics · Databases

4,063

Open-source reporting platform to build live dashboards from SQL, NoSQL, APIs, and SaaS tools with an AI assistant that creates charts from natural language.

View details
90
Repo Health
83
Technical
64
Dependency
Built with
JavaScript 99%
Updated 1 weeks ago
TypeScript
99%
AGPL 3.0

Cherry Studio

AI Assistants

52,202

All-in-one AI desktop client with 300+ assistants and multi-model support

View details
89
Repo Health
84
Technical
70
Dependency
Built with
TypeScript 99%
Updated 5 days ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers