Oxfmt Beta, More Oxlint Rules and Vite Plugin Registry - Our February Highlights
Chapters8
A recap of February’s activity at VoidZero, highlighting ecosystem updates around Vite, Vitest, Rolldown, Oxc, and community news, with a prompt to read the full recap on the blog and subscribe to the newsletter.
VoidZero highlights February: Oxfmt beta lands with Prettier-aligned formatting, Oxlint grows with type-aware rules, plus a Vite registry, Vitest 4.1 Beta, and Rust-backed Astro experiments.
Summary
VoidZero’s February recap, led by the team’s own updates, covers a busy month across core tools. Oxfmt beta now aims for 100% conformance with Prettier for JavaScript and TypeScript formatting, with migration commands that preserve config while enabling tweaks like printWidth. OXlint expands its type-aware linting, hitting 59 of 61 possible TypeScript-ESLint rules, with nursery-sandboxed rules still under evaluation. The Vite ecosystem gains a plugin registry at registry.vite.dev, showcasing official and community plugins with version compatibility and dependency constraints. Vitest 4.1 Beta brings a speed-focused UI update to surface slow tests and adds filtering and sorting for quick triage. Rolldown’s tsdown update demonstrates how to produce single executables for Node.js apps (requiring Node 25+). Astro’s Rust-based compiler experiment is highlighted as a strategic move to improve maintenance and performance, with Rust tooling and NAPI-RS bindings under consideration. Schema Benchmarks arrives as a DX-rich comparison of schema libraries (Zod, Valibot, Arktype, etc.) using Rolldown for bundle-size parity. If you’re following VoidZero, you’ll want to read the full blog post for details and consider subscribing to the newsletter for ongoing February highlights and the March reveal with Evan You on March 13th.
Key Takeaways
- Oxfmt beta achieves 100% conformance with Prettier for JavaScript/TypeScript formatting, with a migration path and configurable printWidth.
- OxLint now includes 59 of 61 TypeScript-ESLint rules via tsgolint-based type-aware linting, speeding up catch rates and feedback.
- Vite’s new plugin registry (registry.vite.dev) surfaces official and community plugins with version compatibility and dependency constraints.
- Vitest 4.1 Beta adds a dedicated UI for slow tests, plus filtering and sorting to improve test-suite triage and performance visibility.
- Rolldown tsdown enables single-executable Node.js runtimes and supports multitarget, cross-platform executables (Node 25+ required).
- Astro is testing a Rust-based compiler option to improve maintenance and performance, leveraging NAPI-RS bindings and ongoing Go-to-Rust migration discussions.
- Schema Benchmarks provides a comparative view of schema libraries (e.g., Zod, Valibot, Arktype) including bundle size and runtime performance, using Rolldown as a baseline in many scenarios.
Who Is This For?
Essential viewing for developers who rely on Vite, Vitest, Rolldown, Oxc/Oxfmt, and Oxlint—especially teams planning migrations to beta features, or exploring compiler/tooling upgrades and performance-focused DX improvements.
Notable Quotes
"Less than three months after the alpha release of Oxfmt the Oxfmt beta is officially available."
—Announces the Oxfmt beta release and sets expectations for continued improvements.
"The latest Vitest 4.1 Beta brings changes to the Vitest UI and they are all about speeds or to find the slow culprits in your test suites."
—Highlights UI improvements and perf-focused features in Vitest 4.1 Beta.
"100% conformance with Prettier in terms of JavaScript and TypeScript formatting."
—Key goal of the Oxfmt beta to align formatting behavior with Prettier.
"Astro is rewriting their compiler in Rust and not just because rewriting in Rust is a fancy thing right now... there are practical reasons."
—Explains the motivation behind Astro’s Rust-based compiler experiment.
"Schema Benchmarks get released which is a website that compares different schema libraries..."
—Mentions Schema Benchmarks as a practical DX resource for comparing libraries.
Questions This Video Answers
- how does the new Vite plugin registry decide which plugins to show in registry.vite.dev
- what’s new in Vitest 4.1 Beta UI changes and how to use the slow tests filter
- how does Oxfmt beta ensure compatibility with Prettier for TS/JS formatting
- what is tsdown and when do you need Node.js 25+ for single-executable bundles
- why is Astro moving its compiler from Go to Rust and what are the implications for maintenance and performance
Vite plugin registryVitest 4.1 BetaRolldown tsdownOxfmt betaOxlint rulesAstro Rust compilerSchema BenchmarksNAPI-RSGo to Rust migration
Full Transcript
February has been quite a busy month here at VoidZero and also a lot has happened in the ecosystem So theres time for some selected highlights and news all around your favorite tools namely Vite Vitest Rolldown and Oxc and of course all about the community If you want to read the whole recap then make sure to check out our blog A link to the post is down below as usual If you dont want to miss out these things then join our newsletter so you get them all straight into your inbox But now to the highlights Vite Did you know that Vite has a plugin registry now It will list all kind of Rollup Rolldown and Vite plugins and will also show their compatibility with different versions and if you actually still need them in your setup And here you can find plugins that are published by the Vite team for example the React plugin by the Rollup team like Plugin Node resolve and also by the Rolldown team and from anyone else because there are a lot of great community plugins that can be surfaced like that You can also put down your dependency constraints If you say okay this has to support Vite 7 at least then we are here good to go and we will see only plugins that work with Vite 7 If you say like okay Vite 2.0.0 thats the way yes we also have these available they still exist Nevertheless for all of them to best knowledge based on the package.json this is shown and if your plugin should show up there then follow the guide to edit Its pretty simple we just need a few keywords to detect them And of course if you want to you can also search for plugins so lets remove the Vite constraints here and we can search for example Rolldown And we will find down here the Node polyfills plugin for Rolldown which brings Node polyfills into your bundle as needed You can find the registry under registry.vite.dev and its also linked from the new Vite docs and the Rolldown docs So check it out Vitest The latest Vitest 4.1 Beta brings changes to the Vitest UI and they are all about speeds or to find the slow culprits in your test suites The dashboard now not only has the passed failed and total amount of tests but also the slow ones and there is a filter over here that just shows the slow tests So no worries no digging through the thousands of tests you might have to find the slow ones and also you can sort them now as well if necessary So thats one more reason why one should use Vitest UI and I wonder do you use it or not Let me know Rolldown The February Rolldown highlight is actually about tsdown the elegant library bundler on top of Rolldown because it adds experimental support for single executables that can be created based on Nodejs SEA support That means you need Nodejs version 25 and later If you dont have that it wont work But other than that the only thing you have to do is run your build command as before and use the exa flag for executables and you are good to go You can even configure multitarget and crossplatform executables that can be generated but thats all in the docs that are also linked below as usual So for now we got our CLI generated and yes with almost 129 megabytes its quite big because it will bundle a lot of things that this simple CLI might not need but another Node application do need And now we can just run dist index the file that has been generated is executable and we see our CLI here and we can run hello test and we get hello test or hello everyone and we get the results So of course for this small CLI you probably dont want to do that but if you have a big Nodejs application that you want to ship somewhere now its possible to put it all in a single executable Oxlint As some of you might already know Oxlint is doing type-aware linting under the hood by calling another library called tsgolint which is basically using the newest tsgo version does some things on top so we can actually get the API information that we need and then implements rules all based in Go And this tsgolint now added 12 more typeaware rules bringing it to a total of 59 out of 61 implemented rules from typescript-eslint Only naming convention and preferred structuring are missing out And that means for everyone using Oxlint together with type-aware linting which you should you have a few more rules at your disposal now Some of them are also in nursery so they are still being fully evaluated and tested Please try them out give us feedback as usual but so far weve got great results and good feedback here And its only a matter of time until we get to the magic 61 out of 61 and all the type-aware linting rules are ready So if you havent used type-aware linting yet then I wonder why not Oxfmt And of February it finally happened Less than three months after the alpha release of Oxfmt the Oxfmt beta is officially available One of the great goals of the Oxfmt beta was the 100% conformance with Prettier in terms of JavaScript and TypeScript formatting So no weird diffs when you switch from one tool to the other with our migration command Of course if you have different config settings then you might get them but the good part is that you can migrate first and then change tweak the config change the printWidth etc etc An important note is that this beta is just a milestone and there is way more to come leaving room for opinionated options more configuration and of course we still have a few features we want to stabilize Even though quite some got stabilized in the beta already like import sorting Tailwind CSS class support etc etc Oh and before I forget yes supporting Prettier plugins via Oxfmt is still on the roadmap for 1.0 So fans that are waiting for example for Svelte support or Astro support because they are Prettier plugins for Prettier dont worry I know it will take a bit maybe even before 1.0 but we are all awaiting this as eagerly as you are Community Astro is rewriting their compiler in Rust and not just because rewriting in Rust is a fancy thing right now no it has actual practical reason In an RFC the reasons are mentioned here for example that the current code base of the Go compiler is difficult to get into finding someone who is doing the whole thing in Go and maintaining it it didnt work out so far and also it has a couple of issues And given that some Astro team members are already well versed in Rust for example Biome maintainer Emanuele down here that seems like a good fit And same for Princessuh aka Erika she is also quite a bit involved in that and working on the compiler right now This is actually available as an experimental option in Astro already and the code base is here heavily using NAPI-RS for native API bindings and Oxc under the hood which has been a bit tweaked to make sure that it meets Astros needs This is definitely an interesting project and I hope people try it out already and give feedback Im curious to hear how the new Rust compiler will perform versus the old Go compiler and if there will be less issues and hopefully more maintenance In February Schema Benchmarks get released which is a website that compares different schema libraries think of Zod Valibot arktype and you name it for different criteria For example bundle size with and without minification but with tree shaking different runtime benchmarks for validation for parsing and how they treat standard schema etc etc Besides the fact that they use Roldown for the bundle size comparison to give everybody a level playing field with a modern bundler they also have a lot of DX and productivity parts like how easy it is to find a stack trace And as I said before runtime comparison which is extremely important to not add too much overhead to your application All in all a very helpful project created by eskimojo and next time you choose your schema library definitely have a look at schema benchmarks before that The end?
Yes this is almost the end of this monthly recap highlight video Of course not all the news from the blog post would fit into a video of this length so definitely make sure to read the whole post Its really worth it And also subscribe to the newsletter so you get them straight in your inbox and dont miss any news And the last announcement for everybody thats still on there Dont forget to tune in on Friday March 13th where Evan You himself will reveal a few more things Keep your eyes peeled and see you online
More from VoidZero
Get daily recaps from
VoidZero
AI-powered summaries delivered to your inbox. Save hours every week while staying fully informed.

