refactor(lint): hard cut Devkit over to Oxlint - #404
Conversation
|
Warning Review limit reached
Next review available in: 9 minutes Limit details: You’ve used all 1 included review currently available under your plan. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (3)
📒 Files selected for processing (10)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
4dc191c to
ff28c07
Compare
Summary
bun run lint, the self-host hook, and CI now invoke Oxlint only.@biomejs/biomedependency, root self-host config, and the two fallback lint profiles. The package’s publishedbiome/baseandbiome/reactfiles remain only as temporary consumer compatibility paths; Devkit does not install or execute Biome.tsctype/build checks.no-useless-concatenforcement remains enabled.Explicit policy decisions
This is a real self-host hard cutover, not a smaller duplicate Biome pass.
useTopLevelRegexcheck: Oxlint 1.78 has no native equivalent, and a one-rule custom plugin would recreate the maintenance burden this change removes.The decision record and the readable rationale are committed with the raw benchmark samples:
docs/benchmarks/experiments/2026-08-18-oxlint-native-devkit-adoption/.Benchmark
Measured the real old and new
bun run lintcommands on macOS arm64, Node 24.19.0, Bun 1.3.1: three warm-ups, then ten alternating samples. Each side installs its locked dependencies in advance in an isolated tree; installation is excluded from the timing.CPU is the decision metric—the reduction frees capacity for local agents. Memory is recorded as a safety measure, not as a reason to reject the migration.
Validation
Post-rebase green:
bun run format:checkbun run lint(Oxlint only)bun run lint:structurebun run typecheckbun run buildKnown unrelated blockers, reported rather than hidden:
bun run test:runcompleted with 3,889 passing / 5 skipped tests; two long-running process-reaping assertions fail only under parallel load and pass in isolation.bun run test:e2ehas two pre-existingguard-fallow-stagedbin-shim failures from current main (34 tests pass).bun run lint:anti-slopreports 22 inherited findings in untouched files under Shortcut #1788’s existing baseline-attribution issue. This PR does not rebaseline unrelated debt.The normal pre-push gate cannot reach a clean terminal result because of those unrelated failures, so the rebased branch was pushed with the previously authorised no-verify exception.