40x Faster Linting and Formatting: ESLint and Prettier Replaced with Oxc

Makerkit 1.4 replaces ESLint and Prettier with Oxc (oxlint + oxfmt). Linting drops from 10s to 300ms, formatting from 10s to 200ms. 40+ per-package configs replaced with a single root config.

Version 1.4 for both the Drizzle and Prisma kits replaces ESLint and Prettier with Oxc, a Rust-based toolchain for JavaScript and TypeScript. Total lint + format time drops from 20+ seconds to ~500ms across the entire monorepo.

The numbers

Real numbers from the MakerKit monorepo, not synthetic benchmarks:

  • Linting: ~300ms (down from 10s+ with ESLint), roughly 33x faster
  • Formatting: ~200ms (down from 10s+ with Prettier), roughly 50x faster

What 40x faster means in practice

  • AI agents no longer wait. If you use Claude Code, Cursor, or MakerKit's MCP server, every lint/format cycle used to cost 10+ seconds of idle time. At sub-second speeds, agents get instant feedback and move on. This compounds fast when an agent runs dozens of iterations.
  • Developer experience and CI improve. Locally, you get near-instant feedback on every save. In CI, the lint + format step goes from a meaningful chunk of your pipeline to a rounding error.
  • Configuration complexity is gone. The old setup required 40+ eslint.config.mjs files spread across every package in the monorepo, plus dedicated tooling/eslint/ and tooling/prettier/ directories. All of that is replaced by a single .oxlintrc.json at the root. The tooling directories are removed entirely.

The tooling swap

oxlint v1.50.0 replaces ESLint. It includes built-in support for React, Next.js, and import rules with no plugin ecosystem to manage. oxfmt v0.36.0 replaces Prettier. It's mostly compatible with Prettier's output, but you may see many files reformatted after upgrading. The changes are cosmetic and safe to commit in bulk.

Two config files at the root:

  • .oxlintrc.json: linting rules and overrides
  • .oxfmtrc.jsonc: formatting settings (Prettier-compatible)

The commands stay familiar:

pnpm lint # Run oxlint
pnpm lint:fix # Auto-fix lint issues
pnpm format:fix # Format with oxfmt

Coming to Supabase kits v3

We want MakerKit to have the best developer experience of any SaaS starter, and fast tooling is a big part of that. This same migration is coming to the Supabase kits as part of v3. If you're on the Drizzle or Prisma kit, pull the latest with git pull upstream main.