Big announcements this edition:
- We released tsrs, a Rust port of TypeScript
- Void is open source!
- ViteConf talks are being released on YouTube
Welcome to another edition of Tales from the Void!
Regularly, we recap the project updates for Void, Vite+, Vite, Vitest, Rolldown, Oxc, and what's happening in our community.
Introducing tsrs: Our TypeScript Rust port
We teamed up with Max Schwenk from Owner.com and worked closely with the TypeScript team on tsrs, a Rust port of the TypeScript compiler.
The result: tsrs is up to 8x faster and uses ~70% less memory than TypeScript 7.0 with the same number of checker workers (see benchmarks).
Unlike most other ports, tsrs is not a fork and is built in close collaboration with the TS team. They stay in full control of the language, and tsrs follows their lead as a drop-in replacement for the TS7 compiler and language server, aiming for 100% conformance to TypeScript 7.1, while upstreaming performance improvements back to TS.
Besides performance, another benefit of Rust is that the full TypeScript toolchain can run sandboxed on Workers, in the browser, or on embedded devices thanks to WASM. You can see it in action in the tsrs playground.
Soon, tsrs will also power Oxlint's type-aware linting, with all 61 existing type-aware rules implemented.
To try out tsrs in your project, install it with vp add -D tsrs and run vpx tsrs --noEmit --fast to type-check your project. Read the full announcement for more details.
Project Updates
Void
- Void is open source! That does not only include the Void SDK but also the CLI and the self-hostable platform where companies can deploy and manage their employees' AI-built apps.
- Links in your app are now type-checked: Void 1.5 adds
routeUrl()and a typedrouter.visit(). - Broke your database?
void db restorerolls your DB back to an earlier restore point. - HTTP and WebSocket routes can now return JSX.
Vite+
vpxnow runs TypeScript files directly via oxc-node, similar totsx, now also supporting TypeScript-only syntax such as enums.vpxadded a--watchmode.- You can now scaffold a new Vite+ project by running
npm create vite-plus@latest. - Vite+ 1.2 supports authenticated private npm registries.
vp check --deny-warningstreats lint warnings as errors, so your CI fails until they are fixed.vp devgot a massive perf boost, now spawning ~24% faster and using ~30% less memory in its parent process.
Vite
- Want to see how Bundled Dev progress is going? Take a look at the compatibility page.
- New projects from
create-viteuse TypeScript 7 where possible, so type checking is faster from day one. - Builds with source maps do less work, as Vite no longer encodes intermediate source maps.
- The Vite repository itself moved to Oxlint.
Vitest
- Vitest 5.1 adds an experimental
--since-last-runflag that reruns only the tests affected by your changes, without relying on Git. That's especially helpful for agents running tests in a loop. - Updating snapshots no longer means accepting all of them at once: press
ito review each snapshot interactively and accept or reject it. - Trace View is now stable and records failing tests by default, so you can see what happened without rerunning them.
- Istanbul coverage replaced Babel with Rolldown and magic-string, cutting large benchmark times by 36% in Node and 60% in Browser Mode.
Rolldown
- Looking into reducing your chunks? Take a look at our new guide on inlining common chunks.
- Agents can measure page load performance with perf-kit, a new browser harness, and read build metrics from the Devtools report mode.
- Import attributes are now passed to plugin hooks and become part of a module's identity, so
import data from './file' with { type: 'json' }and a plain import of the same file no longer get mixed up (experimentalimportAttributes). - The new
output.charsetoption controls whether non-ASCII characters are escaped in your output.
Oxc
- Oxfmt now formats Markdown and HTML natively, speeding formatting up by 8~10x.
- Oxfmt 0.73 formats Astro files with the opt-in
astro: trueoption. - The new
associationsconfig in Oxfmt lets you choose how files are formatted, e.g..conffiles as JSON or.htmlfiles as Angular templates. - oxc-node 1.0 is out! It runs TypeScript in Node.js, gained an
oxnode watchmode and a jiti-style importer, and powersvpxin Vite+. - Oxlint now supports the type-aware
no-unsafe-enum-assignmentrule.
Rewatch ViteConf
ViteConf 2026 was a blast! Missed it? The talks are now being released one by one on the ViteConf YouTube channel. The first ones are already out, including:
- Developer Tooling in the Agentic Era by Evan You
- Deploy to Void by Christoph Nakazawa
- The Toolchain Tax: How Vite+ Gives Developers Their Time Back by Alexander Lichter
- Unifying the Asset URL Generation by sapphi-red
- Why You Should Migrate to Vitest 5 by Vladimir Sheremet
- Clever is Stupid: How to Write Performant JS by Jim Dummett
More talks are coming over the next weeks, so subscribe to the channel to not miss any of them.
From The Community
- Cameron Clark and Jim Dummett joined TypeScript.fm to talk about type-aware linting, Vite+, and more.
- Wes, Scott, and CJ covered the open-source release of Void on Syntax, and The New Stack wrote about it as well.
- Yusuke Wada moved ramen-api to Vite+, replacing ESLint and Prettier with
vp check. - Web Dev Simplified explained why he'll never use Prettier or ESLint again, thanks to Vite+.
- Miro migrated 70,000 tests from Jest to Vitest in about two months with the help of AI agents, running tests 50% faster with 65% less heap usage.
- Linear reworked its CI to keep up with AI coding, including a move to Oxlint and Vitest's
isolate: false, their biggest single win. - Daniele Irsuti moved a 13-year-old frontend to TypeScript with an Oxlint ratchet in CI, and switched to Vite, bringing builds from 2 minutes down to 15 seconds.
- Expo SDK 58 beta ships an experimental Metro transformer built on Oxc, with ~3x faster module transforms and ~2x faster cold bundling.
- The Angular CLI now uses Oxfmt for automatic file formatting when it's installed.
- REA lets agents reverse engineer anything, from app behavior down to native binaries, and is built with Oxlint, Oxfmt, Rolldown, Vitest, and tsrs.
- Marco Roth released oxc-ruby, Ruby bindings for Oxc.




