Advertisement · 728 × 90

Posts by Rolldown

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

1 month ago 98 11 1 1
Post image

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

2 months ago 30 3 1 0
Post image

✨ 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-...

2 months ago 47 5 1 1
Post image

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 🧵

2 months ago 68 15 2 0
Rolldown - Lazy Barrel Optimization

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 🧵

2 months ago 85 12 2 5
Preview
Rolldown | Rust bundler for JavaScript Fast Rust-based bundler for JavaScript with Rollup-compatible API

🔍 @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...

2 months ago 33 4 0 0

2 months ago 21 0 0 0
2 months ago 14 1 0 0
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,
  }
})

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...

5 months ago 16 1 0 0
Video

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 👇

5 months ago 26 5 2 0
Advertisement
Preview
fix(rolldown): sync scoping properly in pre_process_ecma_ast by Boshen · Pull Request #6537 · rolldown/rolldown We need to recreate scoping after each transformation step because none of the steps syncs scoping at present, which is a huge waste that we should fix later in the future. But in the interim, defi...

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...

5 months ago 54 2 1 1

Rolldown 👀

5 months ago 2 0 1 0
Partial list of PRs to Oxc which improved performance, grouped by field.

Full list: https://gist.github.com/Boshen/7ee09b4cd22fcb8146b75f55c5ac5321

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!

6 months ago 66 7 2 1

Said no one ever 👀

6 months ago 12 0 0 0

Another beta - another bunch of improvements 🔥

Also includes changes from the latest Oxc version!

6 months ago 20 0 1 0

Faster on Windows ✔

6 months ago 25 0 1 0

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.

7 months ago 83 7 5 2
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".

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 🙏🏻

7 months ago 68 9 4 0
Preview
Rolldown Integration Next Generation Frontend Tooling

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

7 months ago 54 6 0 0
Advertisement
Post image

`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

8 months ago 111 14 3 4

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 🔥

8 months ago 47 5 2 0
Preview
What’s New in ViteLand: July 2025 Recap July 2025 brings exciting updates in the Vite ecosystem, including the release of Vite 7, Rolldown's new features, and the upcoming ViteConf in Amsterdam. Discover the latest news in Vite, Vitest, Oxc...

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-...

8 months ago 60 11 0 1
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"

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%

8 months ago 21 2 2 0

👀👀👀

8 months ago 7 0 0 0
feat: use PIFE for callbacks passed to `__esmMin` wrapper by sapphi-red · Pull Request #5319 · rolldown/rolldown This PR changes the generated code to use PIFE for callbacks passed to __esmMin wrapper. This improved the start up runtime performance by 2.1x in the case I tested. I tested this change on https:/...

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 👏

8 months ago 55 9 0 1
Preview
feat(web): add web generator by avivkeller · Pull Request #285 · nodejs/api-docs-tooling Fixes #7. This PR adds the web generator. Tasks / Issues P1 – Must Complete Before Merge Add more items (anyone can do this as they review1) P2 – Must complete before migration Add more items ...

✨ 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...

8 months ago 27 7 1 0
Video

🚨 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

8 months ago 26 8 1 2
Advertisement
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"`!

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 🙌

8 months ago 48 6 2 2
Preview
Add rolldown-vite support by sapphi-red · Pull Request #128 · davidmyersdev/vite-plugin-node-polyfills While this plugin mostly works with rolldown-vite, there are a few areas where it could leverage Rolldown's built-in features to improve performance. This PR includes the following changes: Us...

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

9 months ago 25 6 0 1
Video

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)

9 months ago 26 4 1 0