SvelteKit 2 now fully supports Vite 8
SvelteKit 3 will require it - giving additional optimizations and functionality. E.g. SvelteKit 3 will use @rolldown.rs hook filters to spend more compilation time in rust and less in JavaScript. And SvelteKit 3 adapters use only rolldown without esbuild
Posts by Rolldown
Rolldown can panic sometimes... but we make sure you never have to!
It's rare, but when it happens, you won't be staring at a cryptic stack trace. @rolldown.rs straight up tells you it is not your code. And a link to report it so we can fix it fast.
Good error messages => good DX
✨ What's New in ViteLand: January 2026 Recap
◆ Unified redesign across all VoidZero sites
◆ @vite.dev crossed 3 billion npm downloads
◆ @rolldown.rs reached RC status
◆ Lazy Barrel Optimization landed in Rolldown
◆ Oxfmt hit 100% Prettier conformance
◆ ...and more 👀
voidzero.dev/posts/whats-...
The State of JS 2025 results are out!
🏆 Most Adopted Tech → Vitest
🏆 Highest Satisfaction → Vite (98%) & Vitest (97%)
🏆 Highest Interest → Vitest (83%) & Rolldown (80%)
But that's not all!
A thread 🧵
Rolldown - Lazy Barrel Optimization
🚀 Lazy Barrel Optimization in Rolldown
Barrel files, files that re-export from other modules, are common in modern JavaScript projects but a nightmare for your build time.
Rolldown now has Lazy Barrel Optimization to fix this.
Here's how it works 🧵
🔍 @rolldown.rs can now automatically discover your tsconfig, similar to how @vite.dev does it, respecting `references`.
The feature was available beforehand but is now enabled by default!
Don't want auto discovery? Then provide a path to another config
More in the docs
rolldown.rs/reference/In...
✨
Image saying "Automatically clean up the previous Rolldown build" and showing the following code: import { defineConfig } from 'rolldown' export default defineConfig({ output: { dir: './dist'. cleanDir: true, } })
In the next version of Rolldown, you can automatically clean up the previous build when rebuilding by setting `output.cleanDir` to true 🧹
Thanks to @aprosail for the contribution!
github.com/rolldown/rol...
Watch VoidZero's @thealexlichter.com spill the tea about @rolldown.rs and bundlers. Why bundlers are needed and how come @vite.dev is migrating to Rolldown in Vite 8.
Full video in comment 👇
In the next version of Rolldown, bundling will be ~10% faster 🎉
This was achieved by optimizing the semantic scoping process
Internal plugins like define and inject now flag when they haven't changed the AST, allowing to skip redundant scope recreation
github.com/rolldown/rol...
Rolldown 👀
Partial list of PRs to Oxc which improved performance, grouped by field. Full list: https://gist.github.com/Boshen/7ee09b4cd22fcb8146b75f55c5ac5321
Building performant tools doesn't happen by accident. They need a strong foundation!
@rolldown.rs and @vite.dev 8 are powered by Oxc for that reason
We've evaluated all previous PRs that went into the Oxidation compiler, 290 of them improving performance
This is what foundational work looks like!
Said no one ever 👀
Another beta - another bunch of improvements 🔥
Also includes changes from the latest Oxc version!
Faster on Windows ✔
Rolldown drops CJS support!
From the latest version of @rolldown.rs (1.0.0-beta.36) on, Rolldown will only be released in the ESM format.
The required Node version has also been bumped to align with @vite.dev (20.19+ and 22.12+). Node 18 has been dropped due to being EOL since April.
A screenshot from the tsup repository showing a text above the heading: "Warning: This project is not actively maintained anymore. Please consider using tsdown instead. Read more in the migration guide".
tsup is not actively maintained anymore 👀
With >9M NPM monthly downloads and >10k GitHub stars, tsup is undeniably a popular choice for bundling. Unfortunately, it is not under active maintenance anymore.
Thanks to @egoist.dev & contributors for all the work on tsup 🙏🏻
In the latest @rolldown.rs powered @vite.dev version, we've enabled the rust-based resolver plugin by default!
This will lead to even faster builds in case you don't use the experimental native plugins yet.
Wanna try out more native core plugins? Then enable them and make sure to use rolldown-vite
`oxlint --type-aware`. Mic drop.
It's incomplete and have numerous problems, including a noticeable performance issue.
BUT, you can finally see your floating promises quickly!
Example PR: github.com/rolldown/rol...
Problems: t.co/K7ZVnPjOPL
Remember how @gitlab.com got 2.6x faster builds and ~100x less memory consumption when using @rolldown.rs?
Now, with all the native plugins enabled, they are down to 22s. That is ~7x faster than Vite, ~half the time compared to using native resolver before and 43x faster than their webpack build 🔥
What's new in ViteLand?
Our July 2025 recap is out.
🎉 Announcing 1st in-person @viteconf.org in Amsterdam
📈 @vite.dev surpassing webpack's downloads
⏩ Major performance boosts for @rolldown.rs
🔥 Type-aware linting & custom rules for Oxlint
👀 and more
Read the post: voidzero.dev/posts/whats-...
Three code tabs: The source "index.ts" that includes just "const a = 1; console.log(a)". The config of rolldown showing that "output.topLevelVar" is set to true, and eventually the transformed code that shows "var a = 1" instead of the expected "const a = 1"
Did you know that @rolldown.rs supports converting your top-level variables to var?
It seems weird at first, but is actually helpful - and your output is still ESM and modern code!
The transform can improve perf due to avoiding "temporal dead zone" checks of VMs that can cause slowdowns up to 1000%
👀👀👀
Wow! @sapphi.red just made @rolldown.rs Vite's startup time 2x quicker.
How? By dealing with PIFEs and optimizing for the v8 engine, also coming to Oxc 👀
Everyone knows IIFEs but PIFEs? 😁
Really impressed by such deep knowledge 👏
✨ Node.js: Now with Rolldown?
Yes - to some degree!
@rolldown.rs is planned to power the future API documentation generator of @nodejs.org.
More info in the linked PR!
github.com/nodejs/api-d...
🚨 Speaker Alert 🚨
We're incredibly proud to bring together an exceptional group of speakers who are pushing the boundaries of web development with @vite.dev
Over the next few days, we'll be highlighting the incredible speakers who will be on our stage on Oct 9-10!
Stay tuned 🚀
viteconf.amsterdam
Picture of VS Code with an open minimal Vite project. The Vite config only sets `experimental.enableNativePlugin` to "resolver" with a comment saying "// or true, either is necessary", and "resolve.tsconfigPaths" to true. The tsconfig.json has `compilerOptions.paths` set to `{ "app/*": ["./src/app/*"]`. Eventually, the path resolution is used automatically (wtih autocomplete too!) in src/main.ts when using `import { App } from "app/my-app.ts`, instead of `import { App } from "./src/app/my-app.ts"`!
Did you know that Rolldown-Vite supports tsconfig path resolution out of the box? Use the path resolutions defined in your tsconfig by setting `resolve.tsconfigPaths`.
The only requirement? You must use native plugins, either only the resolver or all
No extra plugin needed 🙌
The new v0.24 of vite-plugin-node-polyfills now uses more of @rolldown.rs's built-in features, e.g. inject, which improves performance when detecting it is running via the Rolldown-powered @vite.dev! 🙌
More in the PR from @sapphi.red
The @rolldown.rs powered @vite.js version is out for a while, giving 2~16x build speed improvements!
If you ever wondered how to switch, then no worries. I show you how in less than 90 seconds!
Also, one more goodie for React users (switching to the Oxc-based Vite plugin)