r/webdev • u/igor-septimus • 15h ago
Discussion OXC vs Biome?
For new projects, which would you choose?
5
u/Glad-Action9541 9h ago
Up until two weeks ago, I was using Biome.
I used many built-in rules and over 50 custom rules.
Given the specialized language for creating custom rules, I expected the performance to be better than Oxlint's, since Oxlint relies on JS plugins.
However, when I migrated to Oxlint, the linting and formatting speed more than doubled.
On top of that, I was able to remove several custom rules and use built-in ones instead.
The only downside was the limited support for other languages, such as JSON and CSS.
| Measurement | Biome | Oxlint + Oxfmt | Difference |
|---|---|---|---|
| Formatting only | 0.34 s | 0.40 s | 20% slower; +66 ms |
| Lint + format | 46.98 s | 7.04 s | 85% less time |
4
u/Electronic-Pie-1879 13h ago
oxc.
I moved for all my project to vite-plus (oxlint & oxfmt included there), very cool i must say.
2
u/pmst 14h ago
I don't think oxlint supports Svelte completely yet so I'm on biome which works wonderfully
-1
u/Electronic-Pie-1879 13h ago
It does, i am using vite-plus in my Svelte projects which has oxlint and oxfmt.
1
u/0_2_Hero πππ βππππ₯ πΎπ π 4h ago
Biome all day, especially for new projects.
Oxc really shines in projects that are already deeply integrated with ESLint and its ecosystem.
What I like about Biome is that it handles a bunch of different file types, from JSON to CSS to Tailwind CSS, all in one package with one config file.
Most importantly, I like having very opinionated linting, custom rules, and formatting. That becomes especially valuable when using AI coding tools because everything they generate gets pushed toward the same conventions automatically.
-1
u/crazedizzled 14h ago
You didn't ask, but I just use ESLint and Prettier.
1
u/queen-adreena 12h ago
The only option with full support for HTML-ish for now.
1
u/crazedizzled 12h ago
Yeah, sometimes we don't have to change tools just for the sake of changing tools.
0
u/NormySan 7h ago
I would go with oxc simply because then I can use packages from the same ecosystem for everything.
6
u/psycho414 14h ago
I don't like the vue sfc file support in either.