If we take a look at TypeScript itself here, for example, OXC minify takes the leads in front of the rest when it comes to minzip size while still being faster than SWC, for example. So we always see that, as I said, it depends a lot on the files tested, but definitely things are in a similar range.
The good thing is though, we're of course working on the whole thing to make sure that we can also climb the top on the benchmarks, not for the sake of the benchmark, but to get you smaller files for, well, still a pretty fast time to build.
But now coming from things that are usually interesting for people building, well, frameworks, libraries, bundlers, et cetera, because you can use all these components separately.
The things that are interesting for you, if you're not a framework author, which probably most of you aren't, that's also more than fine because you all build amazing applications, I suppose. So let's talk about linting.
And I want to talk a bit about Oxlin, which is the linter part of OXC. It is a linter for JavaScript and TypeScript. So yes, JSX, TSX, of course, included, and it has partial custom component support. For now, more is on the roadmap later.
It is roughly 50 to 100 times faster than ESLint. That's without type of linting. And we ported over 600 rules, so more than that, over from popular ESLint plugins. So that also means that a big chunk of React-specific hooks are already built in. So for example, exhaustive debs, rule of hooks, et cetera, et cetera. Good to go.
By the way, there's still a few that are not implemented yet. So if you're interested in contributions, that's a great chance to also look into Rust a bit more. Nevertheless, it's used in pretty big projects like Preact, Bund, Vue, Linear, Shopify, Airbnb, and so on, so on. So that's quite worth it. It's already stable as well.
We had 1 to 26 times of release. And there's still some features being worked on. For example, type of linting, which works already. It is there in technical preview, but there's still a few more things to do. And it's one of the key things why your linting is usually slow.
So that works together with tsgo lint, and it's pretty decent fast. And there's JS plugin support. So actually custom lint rules that you may have wrote or somebody on your team or company, or you just say, hey, I want to use some ESLint plugin because the idea is they should be performance, but the performance comes afterward, right? Make it happen first, and then you can make it nice and fast.
But the idea is to be ESLint compatible, and that already works pretty well.
Comments