The JavaScript Tooling Company. We are the maintainers of @vite_js, @vitest_dev, @rolldown_rs and @oxcproject

Earth
Another milestone! @vitest_dev crossed 100 million weekly downloads for the first time in history πŸŽ‰ Are you responsible for at least one of them?
2
6
96
31,633
Ran vp dev but meant your dev npm script? The latest Vite+ now tells you when you ran the built-in command but probably meant your own npm script. Your future debugging-you & your agents will thank you!
5
8
80
17,688
Tales from the Void: June 2026 is live 🌚 πŸš€ Vite+ enters beta: Your single toolchain for dev, test, lint, format & build ⚑ @vite_js 8.1 ships with bundled dev mode πŸ¦€ Faster Oxc & Rolldown βœ… Oxlint by default in the Vite React template πŸ“° and more news from the community Full recap πŸ‘‡
8
20
183
93,399
Vite+ is now in beta πŸš€ One CLI for your whole toolchain, now more powerful than ever: β—† Smarter caching (vp run auto-tracks files + reads Vite metadata) β—† Better `vp migrate` for humans and agents β—† Org templates for teams + proxy- & custom-CA-aware HTTP β—† Hardened across every major OS & shell β—† 150+ bug fixes to make Vite+ even more stable Read the announcement for the road to 1.0, real-world adoption & ecosystem updates πŸ‘‡
22
75
533
141,302
Less than four months after @vite_js 8 shipped, it already surpassed the weekly downloads of Vite 7! If you weren't one of the 47.3m downloads last week and haven't migrate yet, what is holding you back? πŸ‘€
3
8
75
11,949
VoidZero is joining Cloudflare. Our mission stays the same: to make JavaScript developers more productive than ever before. Vite, Vitest, Rolldown, Oxc, and Vite+ remain MIT-licensed. Evan and the VoidZero team will continue leading them. Cloudflare shares our commitment to open source. Together, we can keep investing in the tooling developers rely on every day, while bringing the Vite ecosystem and Cloudflare’s platform even closer together.
224
712
4,953
930,046
Rolldown is now available as Rust crate and will be published continuously there in addition to npm.
5
21
413
31,183
πŸͺ©
1
2
78
5,588
Couldn't keep up with all the news? We got some selected highlight from last month to recap! πŸŒ€ β†’ Vite Plus lazyPlugins API β†’ Vitest 5 sneak peak: A new Trace Viewer β†’ Oxlint: RFC for linting Svelte/Vue/Angular templates β†’ Module Federation in Vite via plugin Full video πŸ”½
2
17
106
21,422
Vite+ now supports custom org templates πŸŽ‰ Built-in templates are great defaults! But for more complex setups, you can now set up your own templates and reuse them easily.
1
16
136
23,915
πŸš€Rolldown 1.0 is here!πŸš€ Rust-based high-performance JavaScript bundler. 🏎️ Runs at native speed that’s 10~30x faster than Rollup 🀝 Compatible with existing Rollup & Vite plugins ⚑The underlying bunder for Vite 8 After 2 years, Rolldown is officially stable and has 20+M weekly downloads. Companies like Framer & PLAID are already using Rolldown in production. Thank you to every contributor, user, and team that helped us get here.
35
403
2,561
311,269
Tales from the Void: April 2026 is out! ✨ This month at VoidZero: β—‡ Our approach to supply chain security & trusted publishing β—‡ A new Oxc-based Angular Compiler that is up 20x faster β—‡ Vite+ `lazyPlugin` to reduce slowdown β—‡ New Vitest Browser Mode trace viewer β—‡ Rolldown inlines const enums + module tags for chunking Plus community highlights: Railway moved off Next.js to Vite + TanStack, Netlify migrated to Oxfmt, Renovate now fully on Oxlint. Read the full recap πŸ‘‡
4
14
136
14,154
Did you know you can use most ESLint plugins with Oxlint? That also includes the @reactjs compiler rules πŸŽ‰
6
8
130
18,648
Oxfmt can now format your JSDoc comments! πŸ‘€ All you need is setting the `jsdoc` option in your Oxfmt config file, either as default empty object or with custom options.
3
20
183
9,927
Did you know that the latest version of @vite_js's @reactjs plugin comes without Babel? Less dependencies as Oxc is taking over these transforms since Vite 8. πŸŽ‰ If you wonder how the React Compiler works then, no worries, there is a preset for it adding Babel back.
4
8
126
14,297
Vite+ shipped under MIT! πŸŽ‰ And the unified frontend toolchain now also has @bunjavascript support as package manager, in addition to existing @pnpmjs, @yarnpkg, and @npmjs support.
4
22
239
13,523
ICYMI: Last month, @evanyou announced Void πŸ‘€ Time to join the waitlist if you haven't yet. PS: Which Void feature are you most excited about?
2
7
34
5,278
Did you know that @vitest_dev has an Agent reporter? πŸ€– Instead of outputting all the details, it ensures only the failing tests and summary are sent to your agent. That means less tokens used and less info overload. Since Vitest 4.1 this is the default when detecting an agent.
2
9
133
9,744
Great news for all Windows users! Vite+ now has a standalone installer, supporting both x64 and ARM πŸŽ‰ setup.viteplus.dev/
1
20
239
22,866
Introducing the Oxc Angular Compiler ✨ Up to 20x faster @angular builds. β—† 6.4x faster than Angular CLI β—† 20.7x faster than Webpack β—† First-class @vite_js plugin with full HMR β—† Built on Rust with @OxcProject β—† Tested on Bitwarden's code base β—† Not another slop fork While this is experiment, the Angular team is looking into an Oxc integration.
19
81
733
80,084
March was PACKED for the Vite ecosystem. πŸ‘€ Vite Plus, Vite 8 with Rolldown, Vitest test tags, Oxlint JS plugins, and much more. Full recap in the video!
2
12
82
16,405
ICYMI: tsdown can generate single executable files of your Node.js applications!
2
17
177
20,871
New Tales from the Void πŸŒ‘ Our March recap is live! β—† Everything that shipped during our launch week β—† New features in Vite+ β—† Void as new deployment platform πŸ‘€ β—† Vitest 5 planning β—† Oxlint & Oxfmt supporting ts-based config Plus community highlights & upcoming events πŸ‘‡
3
10
150
30,194
Effective immediately, we are making the vite-plus repository private. The source will be distributed exclusively through our production sourcemaps. We believe this is the only logical path forward given the recent events. This does not change our stance on Open Source!
34
57
1,340
92,867
Did you know that @vitest_dev UI shows you slow tests since 4.1? No more scrolling to find them! Do you use Vitest UI or rather prefer the terminal output?
2
32
5,603
Oxfmt is in beta for a month now! πŸŽ‰ β—† 100% Prettier conformance for JS/TS β—† Seamless migration from Prettier via command β—† Stable import sorting & Tailwind CSS support β—† and more! Are you using it already? What is your favorite feature?
7
4
132
19,157
Vite's new plugin registry is live! πŸŽ‰ Browse @vite_js, @rolldown_rs, and @RollupJS plugins from the Vite team and the community. Filter by version compatibility to find plugins that work with your setup. And if you are a maintainer, you can add your plugin easily too
5
21
199
24,486
Couldn't keep up with all the launch week releases? No worries, we got you covered with a full recap! Including: β—† Oxlint JS Plugin Alpha β—† Vite 8 stable release β—† Vitest 4.1 with test tags β—† Vite+ was open sourced β—† Void as our upcoming deployment platform Read the full recap below!
1
17
247
18,352
One week after its release, Vite 8 has already been downloaded over 2.6M times 🀯 Rolldown is now running in production across the ecosystem and the adoption curve is just getting started!
9
188
15,988
Let it be the last switch then! No pressure to do it now (or at all, because your agent can do it for you as well).
oxfmt is 30x faster than prettier. most devs will stick with prettier because we're tired of switching tools every 3 months for nothing
4
8
232
16,928

ALT Funny Face Basketball GIF by Papa Johns

2
40
1,511
One more thing... piped.video/Bp86buftbX8
1
11
123
14,607
Announcing Vite+ Alpha. Now open source. To make JavaScript developers more productive than ever before. A single binary that: β—† Unifies your frontend toolchain. β—† Manages your runtime and package manager. β—† Has caching and monorepo support built-in. Works with every framework and meta framework in the Vite ecosystem.
27
105
868
178,931
How many config files does one need, right?
20
15
435
61,015
πŸ‘€ πŸ‘€ πŸ‘€
10
12
333
132,785
Highlights from the Void just dropped ✨ Watch our February recap and go a bit deeper into the highlights! Learn about the latest updates to Vite, Vitest, Rolldown, Oxlint, Oxfmt, and what's happening in the community. piped.video/watch?v=7Rj6v06f…
1
5
66
21,236
VoidZero is excited to sponsor @auvred_ for $10,000 as a small thank you for all their contributions that push the ecosystem forward. Thank you auvred for creating tsgolint and generously offering to continue its development under the @OxcProject organization.
3
9
112
19,563
Using styled-components with @vite_js 8? @OxcProject, which powers Vite's transforms, includes built-in styled-components support. It is covering most features of `babel-plugin-styled-components`: β—† displayName for debugging, β—† SSR, β—† minification, β—† and more. All running natively in Rust. If this was your only Babel plugin, you can simplify your setup and should see faster builds. Credits to the `babel-plugin-styled-components` authors. Oxc's implementation is largely based their work.
5
9
110
14,740
✨ What's New in ViteLand: February 2026 Recap β—† Oxfmt Beta: 100% Prettier conformance β—† @vite_js 8 includes devtools β—† @vitest_dev 4.1 beta adds aroundEach/aroundAll hooks β—† @rolldown_rs becomes 9.6% faster β—† Oxlint now supports 59/61 typescript-eslint rules β—† @nestframework migrates to Vitest β—† ...and much more πŸ‘€ Full Recap below!
5
31
328
30,429
A modern browser for the npm registry that nudges the ecosystem towards best practices and standards perfectly aligns with our mission: to make the next generation of JS developers more productive than ever before. We're happy to support our friends at npmx.dev!
5
9
191
9,103
Tree shaking and Dead Code Elimination are often used interchangeably but they are not the same! While both work together to make your bundle smaller, there is a difference... Tree shaking removes unused exports across modules. ```ts // math.ts export function add(a, b) { return a + b } export function multiply(a, b) { return a * b } // app.ts import { add } from './math.ts' // multiply is never imported β†’ removed from bundle ``` You import `add` but not `multiply`? The bundler drops unused but exported functions. This is called tree shaking. Dead code elimination (DCE) removes dead code within a module. ```ts function process(x) { if (false) { log('debug') } // removed, unreachable const answer = 42 // removed, unused return x * 2 } console.log(process(4)) ``` Think unused variables, unreachable code, e.g. after a return or in an "if (false) {}" branch from other optimizations. In practice, both work together in a pipeline: β—† Your bundler tree-shakes unused exports across modules β—† Then, your minifier (e.g. Oxc) then runs DCE to clean up what's left inside each module Technically, tree shaking is really *a type of DCE* that happens at the module/export level, not the statement level. @rolldown_rs handles tree shaking at the module level, then hands off to the @OxcProject minifier for statement-level DCE. Both are part of the same toolchain and built to work together.
2
19
210
11,275
Chunks are now entry-aware in Rolldown 1.0.0-rc.5 ⚑ What does that mean? When grouping chunks via `codeSplitting`, they can now be automatically split per entry point (usually per page), so users download less unused JavaScript. Just set `entriesAware: true`. Worried about too many small chunks? `entriesAwareMergeThreshold` has you covered. Time to reduce your initial JavaScript ✨
7
15
265
17,405
Flaky tests and memory leaks are the worst. @vitest_dev now has a --detect-async-leaks flag that catches uncleared intervals, lingering servers, and other async operations leaking across your tests. ⚠️ Don't run it on every run though. Use it to audit your test suite, then clean things up. Available in the latest 4.1 beta. Big shout out to Ari from the Vitest team for landing this PR! πŸ”₯
7
33
256
49,350
Why did adding ONE component make your build drastically slower? The answer is often: Barrel files. Luckily, you can enable Lazy Barrel Optimization in @vite_js 8 and @rolldown_rs do bring your build time back to normal.
7
23
255
20,650
Tests. Vitest's browser mode is stable since Vitest 4.0. Now you can be sure that your tests pass in an *actual* browser environment. vitest.dev/guide/browser/
4
9
114
11,044
You don't need these Rollup plugins anymore. @rolldown_rs makes them obsolete. Built-in support for: β—† rollup/plugin-node-resolve β—† rollup/plugin-json β—† rollup/plugin-commonjs First class options: β—† rollup/plugin-alias - Use `resolve.alias` β—† rollup/plugin-inject - Use `transform.inject` β—† rollup/plugin-terser - Use `output.minify` for a better, oxc-based minifier Native plugins: β—† rollup/plugin-replace - Use `import { replacePlugin } from 'rolldown/experimental'` β—† rollup/plugin-dynamic-import-vars - Use `import { dynamicImportVarsPlugin } from 'rolldown/experimental'` 8 plugins replaced by zero-config built-ins or native equivalents.
2
9
153
13,126
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 wondering what you broke. @rolldown_rs straight up tells you: "This is a bug in Rolldown, not in your code." No guessing games or digging through issue. But a direct link to report it so we can fix it fast. Because good error messages are good DX, and that's something we'll always care about.
1
4
106
7,723
✨ What's New in ViteLand: January 2026 Recap β—† Unified redesign across all VoidZero sites β—† @vite_js crossed 3 billion npm downloads β—† @rolldown_rs reached RC status β—† Lazy Barrel Optimization landed in Rolldown β—† Oxfmt hit 100% Prettier conformance β—† Oxlint gets a dynamic .ts config β—† ...and much more πŸ‘€ Full recap below!
1
19
143
21,765
Every test suite eventually categorizes tests: "skip this in CI," "this one is flaky," "that one needs more time." and so on. Vitest 4.1 (in beta right now) introduces Test Tags: You can now define these categories globally, attach config or behavior (retries, timeouts), and eventually filter what runs. ``` vitest --tags-filter="frontend && !(slow || flaky)" ``` No more scattered workarounds. Your test organization finally matches how you think about your code.
1
8
160
13,082
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 🧡
3
18
211
19,579
πŸš€ 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 🧡
12
56
413
42,749
New in @rolldown_rs - The `codeSplitting` option We've unified code splitting configuration under a single option, deprecating both `advancedChunks` and `inlineDynamicImports`. Migration is straightforward: the config object shape stays the same, just the name changes. Why combine them? Both previous configurations influence how modules should be distributed across output files. Having them separate made it possible to write contradictory configs where one says "don't split" and the other says "here's how to split." Now it is a single, clear option: from no chunks at all, to automatic splitting, to defining rules manually.
6
15
177
16,706
Did you know? In Vitest, a test without a callback function is automatically marked as `todo` and skipped. This is great for scaffolding out your test suite before you (or your LLM) write the actual tests, maybe even *before* the actual functionality is implemented πŸ™ŒπŸ»
5
11
102
6,545
πŸ” @rolldown_rs can now automatically discover your tsconfig, similar to how @vite_js does it, and respecting `references`. The feature was available beforehand but is now enabled by default! Don't want auto discovery? Then you can provide a path to a different config if needed.
3
10
100
9,964
Replying to @harlan_zw

ALT Always Has Been Among Us GIF

5
1,648
Rolldown 1.0 RC is here πŸŽ‰ πŸ”’ Stable API: No breaking changes planned before 1.0 ⚑ 10-30x faster than Rollup while staying compatible 🧩 Multiple chunking algorithm improvements πŸ“¦ 3,400+ commits since beta: 749 features, 682 fixes, 109 perf optimizations
17
153
1,006
118,798
Who doesn't like less code in the final bundle? @rolldown_rs can remove a lot of different globals when they are side-effect free (and unused). More than any other bundler right now, including Rollup! And that's not the end, more tree-shaking improvements are on the way.
2
10
134
15,005
Did you know @vitest_dev has `expect.poll`? It reruns an assertion until it passes (or times out). You can configure how many times Vitest should rerun the `expect.poll` callback with custom interval and timeout options. Perfect for testing async workflows like background jobs or eventual consistency. No need wrapping everything in `vi.waitFor`! More in the docs vitest.dev/api/expect.html#p…
10
70
5,390
Are you using @rolldown_rs and want to parse a file? Then you don't have to install Oxc separately. Just use Rolldown's `parse`/`parseSync` function. Rolldown re-exports it from Oxc while keeping it as part of Rolldown's binary. This way, your dependencies stay lean! Well, as lean as your node_modules allow πŸ‘€ PS: @vite_js 8 also exposes these functions
2
9
110
17,386
Bonus time! We've prepared some wallpaper for mobile to show off your favorite project πŸ‘€ Time to share your screen with us 😁 All available under github.com/voidzero-dev/comm…
7
6
72
8,225