Skip to content

Conversation

@logaretm
Copy link
Member

@logaretm logaretm commented Feb 2, 2026

Benchmarks

Overal

Metric Before (ESLint) After (Oxlint) Speedup
yarn lint:lerna ~133s ~11s 12x*
CI Time 5m 58s 2m 32s 2.4x*

Note that:

  • Lerna adds a considerable overhead that eats a lot of the gains we can potentially get.
  • CI time is hogged by building types step

SDK Packages

Package Files ESLint Oxlint Speedup
core 365 9.6s 53ms 181x
browser 136 6.8s 55ms 124x
node 105 6.1s 64ms 95x
node-core 101 6.2s 56ms 111x
nextjs 181 10.9s 79ms 138x
sveltekit 63 6.4s 71ms 90x
opentelemetry 58 4.3s 52ms 83x
cloudflare 43 3.8s 45ms 84x
remix 38 7.1s 42ms 169x
react 39 6.5s 49ms 133x
feedback 38 3.8s 48ms 79x
replay-internal 152 5.6s 38ms 147x
vue 24 4.0s 48ms 83x
svelte 15 4.0s 52ms 77x
angular 12 3.7s 37ms 100x

Dev Packages

Package Files ESLint Oxlint Speedup
browser-integration-tests 778 10.8s 209ms 52x
node-integration-tests 605 9.0s 291ms 31x
node-core-integration-tests 268 6.2s 74ms 84x
e2e-tests 10 2.6s 44ms 59x
cloudflare-integration-tests 27 2.5s 35ms 71x
test-utils 5 2.4s 21ms 114x
rollup-utils 13 ❌ error 22ms N/A
bundler-tests 3 ❌ error 51ms N/A

What Changed

  • All .eslintrc.* files replaced with .oxlintrc.json configs
  • Lint scripts updated from eslint . to oxlint .
  • 61 ESLint config files removed

Current State

  • 0 errors, 45 warnings (mostly complexity - functions with cyclomatic complexity >20)
  • All existing rules migrated or documented as gaps

Gaps (things we lost)

  • Import sorting (simple-import-sort) - use Prettier
  • Some TypeScript rules (member-ordering, naming-convention)
  • 4 custom Sentry rules - can be ported via JS plugins later

Kept

  • eslint-config-sdk and eslint-plugin-sdk packages (published for SDK users)
  • ESLint in e2e test apps (they simulate real user setups)

Docs

I included more details in docs/oxlint-migration-gaps.md

@github-actions
Copy link
Contributor

github-actions bot commented Feb 2, 2026

Codecov Results 📊


Generated by Codecov Action

@github-actions
Copy link
Contributor

github-actions bot commented Feb 2, 2026

node-overhead report 🧳

Note: This is a synthetic benchmark with a minimal express app and does not necessarily reflect the real-world performance impact in an application.

Scenario Requests/s % of Baseline Prev. Requests/s Change %
GET Baseline 8,732 - 9,086 -4%
GET With Sentry 1,636 19% 1,653 -1%
GET With Sentry (error only) 5,932 68% 6,094 -3%
POST Baseline 1,151 - 1,166 -1%
POST With Sentry 521 45% 539 -3%
POST With Sentry (error only) 1,003 87% 1,027 -2%
MYSQL Baseline 3,138 - 3,282 -4%
MYSQL With Sentry 373 12% 393 -5%
MYSQL With Sentry (error only) 2,589 83% 2,680 -3%

View base workflow run

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants