/posts/announcing-voidzero-inc.md
Announcing VoidZero - Next Generation Toolchain for JavaScript
October 1, 2024

Announcing VoidZero - Next Generation Toolchain for JavaScript

Evan You

Evan You

TL;DR: I have founded VoidZero Inc., a company dedicated to building an open-source, high-performance, and unified development toolchain for the JavaScript ecosystem. We have raised $4.6 million in seed funding, led by Accel.


Fifteen years ago, when I started building apps with JavaScript, it was mostly a browser-based scripting language. Today, it has evolved into the most widely used language in the world, powering everything from web and mobile apps to game development and even IoT.

Over the years, many excellent tools have emerged to address the increasing scale and complexity of JavaScript applications. However, the ecosystem has always been fragmented: every application relies on a myriad of third-party dependencies, and configuring them to work well together remains one of the most daunting tasks in the development cycle.

As the author of one of the most widely used frontend frameworks, I’ve spent significant effort researching every layer of the JavaScript tooling stack, assembling hundreds of dependencies, and designing complex abstractions on top of them. The goal was always to give end users a cohesive, out-of-the-box development experience. These efforts eventually led to the creation of Vite in 2020.

Fast forward four years, Vite is now one of the most popular build tools for web development, with over 15 million downloads per week and a vast ecosystem. In addition to being the go-to choice for single-page applications built with React and Vue, Vite is also powering meta frameworks like Remix, Nuxt, Astro, SvelteKit, SolidStart, Qwik, Redwood, and more. It has clearly established itself as the shared infrastructure layer for the next generation of web frameworks.

vite download graph

Vite weekly NPM downloads since 2020

The trust the community has placed in Vite made me reflect deeply on its future. While Vite has greatly improved the high-level developer experience, internally, it still relies on various dependencies, with abstractions and workarounds to smooth over inconsistencies. Performance-wise, it remains bottlenecked by duplicated parsing and serialization costs across different tools, and it can't fully leverage native tooling like esbuild due to feature constraints and limited customizability.

We started to design a new bundler, Rolldown, tailored for Vite's needs. But as I ventured deeper into the layers beneath the bundler, I came to the realization that the challenges Vite is facing is a reflection of the JavaScript ecosystem at large: fragmentation, incompatibilities, and inefficiency. To fundamentally change this, a unified toolchain is needed.

Imagine a toolchain that is:

  • Unified: using the same AST, resolver, and module interop for all tasks (parsing, transforming, linting, formatting, bundling, minification, testing), eliminating inconsistencies and reducing redundant parsing costs.
  • High Performance: written in a compile-to-native language, designed from the ground up for speed, with maximum parallelization and low-overhead JS plugin support. The performance budget unlocks more ambitious features that improve not only developer experience, but end user experience as well.
  • Composable: each component of the toolchain is independently consumable, offering building blocks for advanced customization.
  • Runtime Agnostic: not tied to any specific JavaScript runtime—delivering the same developer experience across all environments.

Such a toolchain will not only enhance Vite but also drive significant improvements throughout the JavaScript ecosystem. This is an ambitious vision, and achieving it requires a full-time, dedicated team—something that wasn’t possible under the independent sustainability model of my past projects. This is why VoidZero was founded.

I'm excited to announce that we've raised $4.6 million in seed funding to pursue this vision. Our seed round was led by Accel, with participation from Amplify Partners, Preston-Werner Ventures, BGZ, Eric Simons (StackBlitz), Paul Copplestone (Supabase), David Cramer (Sentry), Matt Biilmann & Christian Bach (Netlify), Dafeng Guo (Strikingly), Sebastien Chopin (NuxtLabs), Johannes Schickling (Prisma), and Zeno Rocha (Resend).

The progress so far

Over the past year, we’ve built a team with deep expertise in JavaScript tooling, including creators and core contributors to widely adopted open-source projects like Vite, Vitest, Oxc, and former core contributors to Rspack.

We’ve been hard at work developing the foundational elements of our envisioned toolchain. In addition to ongoing improvements to Vite, we’ve also delivered:

  • The fastest and most spec-compliant JavaScript parser (oxc-parser), 3x faster than SWC - benchmark
  • The fastest Node.js-compatible resolver (oxc-resolver), 28x faster than enhanced-resolve - benchmark
  • The fastest TypeScript / JSX transformer (oxc-transform), 4x faster than SWC - benchmark
  • The fastest linter (oxlint), 50–100x faster than ESLint - benchmark
  • The most feature-complete test runner for web applications (Vitest)
  • The fastest bundler (Rolldown), built on top of Oxc. Faster than esbuild and all other Rust bundlers - benchmark (currently in alpha)

While it’s still early days, our open-source projects are already being used by some of the world’s leading engineering teams, including those at OpenAI (ChatGPT web client), Google, Apple, Microsoft, Visa, Shopify, Cloudflare, Atlassian, Reddit, HuggingFace, Linear, and many more.

What's next

Our primary goal for the coming months is to stabilize Rolldown and make it the unified bundler for Vite in both development and production. We have already made great progress and are aiming for an alpha release of Rolldown powered Vite later this year.

In 2025, we will continue to complete the other planned features of Oxc (minification, formatting) and gradually migrate the entire Vite ecosystem to be powered by Rolldown and Oxc. We will work closely with ecosystem partners and stakeholders to ensure a smooth transition for end users.

Everything we’ve open-sourced will remain open source. On top of our open-source projects, we will offer an end-to-end JavaScript tooling solution specifically designed to meet the scale and security requirements of enterprise environments.

Get in touch!

Follow us on X to stay updated on our progress. If you have requirements for these tools at scale, get in touch! If you're interested in contributing to or building on top of our projects, join us on our Discord servers (Vite, Vitest, Oxc, Rolldown). Finally, don't forget to tune in to ViteConf this week, where we'll share more details about our progress and future plans.


FAQs

  • What is the relationship between these open source projects and VoidZero?

    Vite and Vitest's team-based governance remain the same as before. Both core teams include members employed by multiple different organizations (VoidZero, StackBlitz, NuxtLabs, Astro). VoidZero Inc. employs / sponsors multiple core contributors to both Vite and Vitest.

    VoidZero Inc. holds the copyrights, funds the development, and controls the direction of both Oxc and Rolldown.

  • What about Vue?

    VoidZero as a business is entirely separate from Vue. Vue will continue as an independent project but will receive first-class support from the new tooling developed by VoidZero.

  • Why Oxc instead of SWC?

    Many of our team members have made non-trivial contributions to SWC in the past. Beyond raw performance benefits, Oxc has some fundamental design differences from SWC that make it a better foundation for the end-to-end toolchain we are building. We will share more technical insights on this topic in future blog posts. Stay tuned!

  • Why Rolldown instead of esbuild / Rollup?

    We need a bundler that is extremely fast, well-suited for application bundling, and fully compatible with Vite's plugin ecosystem. This is discussed in detail in the Rolldown documentation. Building Rolldown on top of Oxc also unlocks the ability to perform more AST-related tasks in parallel during the bundling phase, e.g. emitting and bundling dts with isolatedDeclarations: true.

  • Why will this be different from previous attempts to create a unified JS toolchain?

    The biggest challenge of a unified toolchain is the zero-to-one problem: it needs to gain critical mass for exponential adoption to justify continued development, but it is hard to cross the chasm before it actually fulfills the vision. VoidZero does not have this problem, because Vite is already the fastest growing toolchain in the JavaScript ecosystem.

04CallToAction.vue

Interested in the future of JavaScript tooling and want to stay ahead of the curve?

We’d love to talk to you.

ContactButton.vueserved in 13ms@click=”contact”

Copyright © 2024 VoidZero Inc.