// updates

Tales from the Void: October 2026 Recap

NOV 5, 2026
Tales from the Void: October 2026 Recap
Alexander Lichter
5 MIN READ

Big announcements this edition:

  1. We released tsrs, a Rust port of TypeScript
  2. Void is open source!
  3. 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 ​

Tweet is loading...

Vite+ ​

Vite ​

Tweet is loading...

Vitest ​

  • Vitest 5.1 adds an experimental --since-last-run flag 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 i to 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 (experimental importAttributes).
  • The new output.charset option controls whether non-ASCII characters are escaped in your output.
Tweet is loading...
Tweet is loading...

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: true option.
  • The new associations config in Oxfmt lets you choose how files are formatted, e.g. .conf files as JSON or .html files as Angular templates.
  • oxc-node 1.0 is out! It runs TypeScript in Node.js, gained an oxnode watch mode and a jiti-style importer, and powers vpx in Vite+.
  • Oxlint now supports the type-aware no-unsafe-enum-assignment rule.
Tweet is loading...
Tweet is loading...

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:

More talks are coming over the next weeks, so subscribe to the channel to not miss any of them.

From The Community ​

Tweet is loading...
Tweet is loading...
Tweet is loading...
Tweet is loading...
Tweet is loading...