Vite and the Future of JavaScript Tooling

This ad is not shown to multipass and full ticket holders
JSNation US
JSNation US 2025
November 17 - 20, 2025
New York, US & Online
See JS stars in the US biggest planetarium
Learn More
In partnership with Focus Reactive
Upcoming event
JSNation US 2025
JSNation US 2025
November 17 - 20, 2025. New York, US & Online
Learn more
Bookmark
Rate this content

At VoidZero, we have been hard at work on building the foundation for a unified toolchain for JavaScript. Over the past year and half, we have reworked everything inside Vite from the ground up, now running on a Rust-powered toolchain containing OXC and Rolldown. In this talk, we will discuss the why, the implications, and the future vision of all this work.

This talk has been presented at JSNation 2025, check out the latest edition of this JavaScript Conference.

FAQ

Vite addresses the fragmentation in the JavaScript ecosystem, where different tools have overlapping duties. It aims to unify the toolchain and reduce decision fatigue for developers by providing a more coherent stack.

Rolldown is a bundler specifically designed for Vite to solve problems related to dependency management and overlapping duties among existing tools. It aims to improve efficiency and performance by integrating tightly with Vite.

OXC acts as the language toolchain supporting Vite's higher-level components. It includes a parser, linker, resolver, transformer, and minifier, all optimized for performance and designed to work seamlessly with Vite.

TS-down is a library bundler integrated into Vite+ as its library mode. It handles TypeScript DTS generation and bundling efficiently, reducing package size and improving type checking speed.

Vite+ aims to provide a comprehensive plugin interface that allows frameworks to integrate deeply with Vite's toolchain. This enables frameworks to leverage Vite+ features, such as custom test environments and dev tools panels, enhancing their capabilities.

Rolldown provides faster performance, integrates directly with Vite, and offers advanced features such as built-in transforms, node-compatible resolution, and multi-federation support. It also supports Rollup plugins with high compatibility.

Rust is chosen for its balance between performance and memory safety. It has a mature ecosystem for JavaScript tooling and excellent interop with JavaScript, making it suitable for performance-sensitive tasks like parsing and bundling.

Vite is a rapidly growing tool that has become a shared infrastructure layer for the next generation of web applications. It is widely used in production by major companies and has a vast ecosystem of tools and frameworks built on top of it.

ViteTest offers a feature-complete testing solution that includes browser mode, component testing, and benchmarking. It prioritizes correctness by enforcing test isolation to prevent shared global state issues.

Vite+ is an end-to-end toolchain designed to be a drop-in upgrade for existing Vite users. It aims to serve as a comprehensive toolkit for JavaScript development, similar to Cargo for Rust, integrating additional commands and features.

Evan You
Evan You
23 min
16 Jun, 2025

Comments

Sign in or register to post your comment.
  • Va Da
    Va Da
    P4
    "framework for frameworks"
Video Summary and Transcription
Evan Yeo discusses Vite's growth, challenges with dependencies like ES Build and Rollup, and the creation of the bundler Rolldown. The JavaScript ecosystem faces fragmentation, but the company aims for a unified JavaScript stack. Rust is chosen for lower-level development, while JavaScript and TypeScript for high-level APIs. Roldown offers advanced bundling features, outperforming existing tools. Integration with Vite leads to tailored optimizations and significant speed improvements. Vite+ development focuses on creating a comprehensive toolkit. VitePlus integrates TS-down for library bundling, ViteTest for testing, and OX-Lint for linting. Future plans include monorepo awareness, build orchestration, and framework-like features.

1. Analysis of Vite and JavaScript Tooling

Short description:

Evan Yeo discusses Vite's growth, challenges with dependencies like ES Build, Rollup, and the decision to create the bundler Rolldown. The JavaScript ecosystem faces fragmentation in parsers, transformers, and more, causing decision fatigue but also fostering innovation.

So, hello, everyone. My name is Evan Yeo, and I'm here to talk about Vite and the future of JavaScript tooling. Okay. So, many of you have probably heard of Vite. In the past few years, it's been growing really fast. We're now seeing 29 million weekly NPM downloads and more than 1.1 thousand GitHub contributors. We have a vast ecosystem of tools and frameworks building on top of Vite, including some of the most familiar tools. Companies are using Vite or Vite-based frameworks in production, including some of the biggest names. Today, Vite has become the shared infrastructure layer for the next generation of web applications.

We've been thinking about what we can do to make Vite serve its role better. Vite is far from perfect in its current state. The biggest problem we saw was that Vite relied on different dependencies with overlapping duties. Vite wrapped third-party dependencies, including ES Build, Rollup, and sometimes S3C for transformation. Many of these tools have overlapping duties, are in different languages, and have efficiency problems passing data between them. So, we decided to build a bundler called Rolldown specifically for Vite's goals. As we worked on Rolldown, we delved deeper into the stack and realized the challenge Vite faces reflects the fragmentation in the JavaScript ecosystem.

When looking at the lower-level dependencies a bundler needs, we see fragmentation at every layer in the JavaScript ecosystem. For parsers, transformers, test runners, linkers, formatters, there are numerous solutions leading to decision fatigue. The lack of central guidance in the JavaScript ecosystem allows freedom to explore. The ecosystem is vibrant and active, but the abundance of options can overwhelm newcomers to JavaScript development. This diversity, while challenging, also provides space for innovation and exploration.

2. Fragmentation in the JavaScript Ecosystem

Short description:

The speaker discusses the fragmentation in the JavaScript ecosystem, the need for a unified toolchain, and the company's mission to provide a coherent JavaScript stack. The company works on open-source pieces like Vite, Vitest, Rodan, and RxC, aiming for a unified experience in JavaScript development.

But as we are looking into the work on Rolldown, we started digging deeper into the stack. We realized that in order to build a bundler, we need to also pick and choose what parser we use, what AST we use, what transformer we use, what minifier we use. And when you go down the rabbit hole, you realize the challenge that Vite is facing is really a reflection of the JavaScript ecosystem at large. So, if we look into the bundler and look at all the lower-level dependencies that a bundler needs, we realize that the JS ecosystem actually suffers from fragmentation at every layer. So, for parsers, transformers, test runners, linkers, formatters, all the things that we use at every layer for every task, there are so many different solutions. And it just leads to a lot of decision fatigue. And for the average user who are just getting into JavaScript development, it's probably not the easiest task to decide which one to use.

This is not all bad, right? The JavaScript ecosystem was probably one of the most vibrant ones, the most active ones. And this sort of lack of central guidance results in a freedom to explore. And the abundance of choice was critical for the ecosystem in the early days. These solutions are what helped us to get where we are. We're building more ambitious JavaScript apps than ever before, and these are the tools that helped us get here. But as the language matures, as we arrive on a lot more consensus and conventions on some of these problems, this has led to a complexity tax for everyone. So, I believe it is now a time where JavaScript deserves a unified toolchain.

So, we've been hard at work on this goal at VoiZero, which is a company I have founded. And the mission of the company is really to build a unified JavaScript toolchain to give users a more coherent stack, a coherent experience when we want to just get into it and stop thinking about picking and choosing a bunch of different solutions. There are four major open-source pieces that the company works on, including Vite, Vitest, Rodan, and RxC. At the very top are the framework tools that build on top of the Vite ecosystem. Vite itself is obviously the integration point. Many of these frameworks also use Vitest. Vitest can be used alone in any JavaScript project. You can use it to test backend code. Many projects that are not even using Vite would also use Vitest. So, Vite and Vitest inter-ops more directly with frameworks and end users. And Rodan is the bundler that supports Vite internally. It handles some of the more low-level tasks of bundling your code, optimizing your code, and giving you advanced chunk splitting, etc. At the bottom layer, RxC is the language toolchain that supports all of the higher-level pieces. RxC itself includes the parser, which is at the core. The parser also defines the AST that we use for all these other tasks, such as transformation, linking, formatting, minification, semantic analysis, etc.

3. Development in Rust and Progress in OXC

Short description:

The speaker discusses the importance of the parser in defining the AST for various tasks and the choice of Rust for lower-level development. The company's focus on performance, memory safety, and ecosystem support in Rust is highlighted. JavaScript and TypeScript are chosen for high-level APIs, emphasizing constant iteration and flexibility in development. Progress in OXC, including completed components like the parser, linker, resolver, and transformer, is outlined, with a focus on performance and future improvements.

The parser also defines the AST that we use for all these other tasks, such as transformation, linking, formatting, minification, semantic analysis, etc. OXC also ships a resolver that is Node.js compliant. The minifier currently is in alpha status. It is already usable. And the formatter is still a work in progress. So, by combining all of these pieces together, we also are working on a solution called V+. So, V is meant to be the end-to-end toolchain that integrates all of these things together in a more coherent package.

Why Rust? If I haven't mentioned it before, everything in the lower-level pieces, both OXC and Rodan, are written in Rust. We picked Rust because it provides a good balance between performance ceiling and memory safety. And more importantly, it already has a very active ecosystem around JS tooling, so it is easier to find libraries and contributors. It has very mature JavaScript interop through the excellent NotPIS project. And it also has very mature WebAssembly support, which allows us to, for example, compile Rodan into WebAssembly and run directly in the browser with great performance.

We're not trying to Rustify everything. We believe that there is a good abstraction layer where Rust is really good at for the more well-defined and perf-sensitive tasks, for example, transformation, parsing, bundling. But for the CLIs, for the high-level APIs that interface with the user, we believe it requires constant iteration and flexibility, so JavaScript slash TypeScript is still the tool of choice for those layers. In OXC, we have completed the parser, the linker, resolver, transformer. The minifier is currently out of status, but already usable. It actually has pretty decent performance characteristics. Most of these things that we have built are the fastest in its own category, even compared to other solutions also written in native languages. The parser, the linker, the resolver, transformer are all fastest in category. The minifier is second fastest, but it also has better compression ratio than the fastest solution. So it is still a very decent choice. Also, because the minifier is still in alpha, we actually have plans to further improve the compression ratio in the future. Some additional transformer metrics. We focus a lot on optimizing the memory usage and binary size, too. So it also shows great performance in these areas compared to other solutions.

4. Roldown Progress and Features

Short description:

Stay tuned for additional transformer metrics and Roldown updates. Roldown, now in 1.0 beta, offers advanced bundling features and integration with OXE for enhanced performance and functionality. The bundler includes unique features like tree-shaking, define-inject, and advanced chunk-splitting, surpassing existing tools like Rollup and ESbuild.

So stay tuned. Some additional transformer metrics. We focus a lot on optimizing the memory usage and binary size, too. So it also shows great performance in these areas compared to other solutions.

And now onto Roldown. So we have been working on Roldown for almost a year and a half now. Roldown is now in 1.0 beta status, which means you can already use it almost as a drop-in replacement of Roldown, and you'll see great performance improvements. We have completed not just basic bundling, but also integrating OXE, which means Roldown comes with built-in transforms for TypeScript, JSX, common JS transformations, comes with built-in node-compatible resolution, which means you don't need plug-ins for that.

This is much bigger in scope compared to Rollup, where a lot of these features require external plug-in support. We also complete a lot of advanced features in the bundler, including tree-shaking, define-inject, these are features presenting ES build but not Rollup, and then advanced chunk-splitting, which is something a lot of people like in Webpack, but it's not present in ESbuild or Rollup. This is indeed implemented in Roldown. We also implement a multi-federation support as well. We have also invested a lot of effort into behavior alignment with ESbuild and Rollup.

5. Roldown Integration and Performance

Short description:

Roldown integrates seamlessly with ESbuild and Rollup, offering high compatibility with Rollup plug-ins. It outperforms other Rust-based bundlers in speed, especially on multiple cores. The integration of Roldown into Vite results in tailored optimizations for improved performance. Early adopters experience a significant speed boost without code changes, with projects showing a 16 times faster build.

We actually run Roldown against ESbuild and Rollup's test cases to get as much coverage as where applicable. We also support Rollup plug-ins out of the box, with a 90% interface compatibility. The majority of Rollup plug-ins will work inside Roldown, making it a Rust bundler that supports JavaScript plug-ins. Roldown, now in 1.0 beta, outperforms ESbuild and other Rust-based bundlers in terms of speed. The integration of Roldown into Vite is currently a primary focus, enhancing Vite's performance and functionality.

Comparing Roldown's performance to ESbuild and other Rust-based bundlers showcases Roldown as one of the fastest bundlers available, especially with multiple cores. The ongoing integration of Roldown into Vite involves replacing ESbuild, Rollup, and SFSC with Roldown. This tailored integration allows for dedicated optimizations to meet Vite's specific requirements. A future release will offer an opt-in for Bundle mode, addressing performance bottlenecks in large applications during server startup.

Early adopters of Roldown Vite have experienced significant performance boosts without any code changes. Projects like ExcalaJAR have achieved a 16 times faster build by transitioning to Roldown Vite. The transition to Roldown Vite is seamless, offering substantial speed improvements without conflicts. The impending official release of Roldown Vite is expected to provide enhanced performance and efficiency for various projects and users.

6. Enhancements for Vite with Roldown

Short description:

Roldown tailored for Vite offers dedicated optimizations and a future opt-in for Bundle mode to enhance performance. Full bundle mode targets large apps' network bottleneck issues during startup, with early adopters seeing a 16 times faster build. Transitioning to Roldown Vite provides significant speed boosts without conflicts, with potential 10x faster builds for pure React apps. Vite+ development focuses on creating a comprehensive toolkit similar to Rust's cargo for enhanced functionality and seamless upgrades.

So this means now it's a vertical stack that Roldown is specifically designed for Vite, which means we can ship more dedicated optimizations to cater to Vite's needs. In a future release, which is also currently a work in progress, we will also ship a version of Vite that provides an opt-in for Bundle mode. Vite's dev server uses unbundled ESM, making things super easy and flexible, enabling hot module replacement implementation. However, this approach can introduce performance bottlenecks for large apps that need to load thousands of modules upfront, creating a network bottleneck and slowing down server startup.

Full bundle mode is designed to address the network bottleneck issue during server startup, particularly for large single-page applications experiencing page load problems. The initial design of full bundle mode targets improving dev server startup performance. Phase one of this mode is already available, providing a solution to the performance challenges faced by large applications. Early adopters of Roldown Vite have effortlessly experienced a significant performance boost without any code changes, with projects like ExcalaJAR achieving a 16 times faster build by transitioning to Roldown Vite.

Transitioning to Roldown Vite offers substantial speed improvements without conflicts, with varying levels of performance gains depending on project configurations and custom plugins used. Projects with complex setups may observe 2 to 3 times faster builds, while pure React applications could experience more than a 10x speed improvement. The ongoing development of Vite+ aims to create a comprehensive toolkit akin to cargo in Rust, enhancing and expanding Vite's capabilities. Upgrading to Vite+ from Vite will be seamless, allowing for a more powerful command-line interface while maintaining backward compatibility with the existing Vite functionality.

7. Advancements with Vite+ and Roldown

Short description:

Adopting Roldown Vite results in significant speed improvements without conflicts, offering 16 times faster builds even for complex applications with custom plugins. Vite+ development aims to create a comprehensive toolkit similar to Rust's cargo, providing enhanced functionality and a seamless upgrade process. Vite+ introduces additional powerful commands, GUI dev tools, workspace audits, policy enforcements, and potential AI integration for enterprise users.

So notably, adopting Roldown Vite is extremely easy because it requires no code changes. It is a dropping replacement. So we have seen projects like ExcalaJAR switching to Roldown Vite and get a 16 times faster build by simply swapping out the NPM package. So no code changes, no conflict changes, really. It just gets 16 times faster. And depending on how your project is configured and depending on the number of custom plugins you use, you will see varying levels of performance gains. But at the minimum, you should see like 2 to 3x faster builds. These are probably the most complicated applications with tons of custom plugins. But if you are building, for example, a pure React app, you'll likely see more than 10x faster builds.

Now let's dig a bit into Vite+. We mentioned this a bit earlier, and we're still actively working on this. This is in very, very early stages, so I'm mostly talking about something that's going to come out in the future, but I want to give everyone a sort of sneak peek at understanding what we're building towards. The idea of Vite is what we want to build conceptually cargo for JavaScript. If you have worked with Rust, you probably know that cargo is the all-in-one toolkit toolchain that can serve most of the development workflow needs during a Rust development. There's nothing like that in JavaScript, and Vite is exactly what we're trying to build to fulfill that role. Interestingly, we want to design Vite as a dropping upgrade of the existing Vite.

Which means, if you are using Vite directly today, upgrading to Vite means you also just point use your packed manager to alias Vite to Vite+, and you're good to go. Everything that works in today's Vite will continue to work exactly the same way, but the Vite command line just becomes more powerful. Now it comes equipped with additional commands like Vite's lib that is dedicated for library bundling, Vite test and bench, Vite linked and format, Vite new for project scaffolding, Vite task for monorepo task orchestration, and Vite build caching. It comes with the GUI dev tools, it comes with workspace audits and policy enforcements for enterprise users, and will also likely ship AI integration with the built-in MCP server. So, I want to dig a bit deeper into some of these commands that I talked about, for example, Vite lib.

8. Library Bundling, Testing, and Linting in VitePlus

Short description:

VitePlus integrates TS-down for library bundling, providing faster DTS generation and bundling, reducing package size, and enhancing type checking. VitePlus includes ViteTest for comprehensive testing with safe isolation and fast performance. OX-Lint offers efficient syntactic linting and plans for type-aware linting integration, ensuring compatibility with popular ES-Lint plugins.

Library bundling is an interesting topic because Vite currently ships with a Vite library mode, which not many people actually use it because we have sort of held back in investing into the command due to library bundling actually being quite a complicated topic in itself. The behavior is quite different from bundling applications. That's why it needs a dedicated command or a mode to handle it. So we recently started, we recently moved TS-down, a project by Kevin Den, into the scope of Voice Zero and the Rodown organization. So TS-down is now the official library bundler based on Rodown and it is also the successor to TS-up, which is a wildly popular library bundler, which is now no longer active maintained.

The interesting thing that TS-down does is it comes with built-in TypeScript DTS generation and bundling. So there are two important things here. One is you can enable isolated declarations in your TS config to let OXC generate your individual DTS files without going through TSC. This makes the DTS generation process a pure syntactical transform, which is orders of magnitude faster than generating it through TSC. Second is we also implemented and shipped a plugin called Rodown Plugin DTS that uses some custom techniques to be able to bundle your DTS into a single file, so that it not only reduces your package distribution size but also makes the consumer of your package be able to type check your library faster because TypeScript works better when it has fewer files to work with. So it also handles a lot of conventions like multiple output formats, export conditions, patch manifest correctness, linting, etc. And this will be integrated into VitePlus as its library mode.

A bit about testing, right? So ViteTest is going to essentially be the Vite test command in VitePlus. ViteTest now is probably the most feature complete JavaScript test runner. Initially, ViteTest was born as a sort of replica of Jest with the same API, but designed for Vite. But now it comes with a lot more, so it comes with browser mode, component testing, and even benchmarking features. One important thing I want to mention here is when we are evaluating test runner speed. There are some test runners, for example, BounceTestRunner by default runs the commands, runs each test without isolation, so a lot of these tests actually share global state, which means it's not technically safe. So if a test mutates global state, it can actually impact the results of other tests. ViteTest opts to be safe by default, so all the test cases are isolated, forced to be isolated by default, which makes things, you know, there is a performance overhead for this, but we opt for correctness over performance in this case. You can disable it if you want, but we recommend turning isolation off. Linting and formatting. So OX-Lint handles the syntactic linting, and it's 100 times faster than ES-Lint. The rules are not as complete, and we're currently working on a JavaScript plugin system for OX-Lint, so you can write custom plugins for OX-Lint and potentially be compatible with some popular ES-Lint plugins. But in OX-Lint itself, we have already ported a majority of the rules in some most of some of the most popular plugins. Another important topic that we're researching right now is type-aware linting. There are multiple ways to do this. There are different projects, for example, Biome, exploring different directions, but our current short-term approach is likely going to integrate TSS-Lint together with OX-Lint to serve as the lint command in B-plus. So TSS-Lint actually integrates TSC type check paths to implement linting rules during the type check, so you only pay the TSC cost once instead of running it again in your linter. We are also actively looking at the TS-Go implementation and checking out how we can implement an efficient Go-Rust interop, probably using SyncRPC, so that we can hook into TS-Go diagnostics in our linting to perform the type-aware linting with the best performance.

9. Development Plans for B-plus

Short description:

Stylistic rules and formatting in progress. B-plus to be monorepo aware with pipelines, build orchestration, caching, constant workspaces. GUI dev tools, shared config, and consistent functionalities across commands. B-plus positioned as a framework for frameworks, leveraging future V-plus features through plugins.

And then there's stylistic rules and formatting, which is currently in the works. That's going to go into the format. And B-plus is going to be monorepo aware, which means we will have pipelines, build orchestration, caching, similar to that of TurboRepo, and we'll have first-class constant workspaces and policy enforcements.

There's also going to be a very good GUI dev tools. If you've used Nuxt, you've probably seen Nuxt dev tools, which is made by the prolific Anthony Vu, who is now working on the dev tools for B-plus. And then there's the single source of truth config that is shared across the entire repo for all your commands. So, module resolution, transforms, respecting TS config, they should all work consistently and the same across all these commands.

Finally, you want to position B-plus as a framework for frameworks. So if you're active in the meta-framework space, you'll see that there are many frameworks now going with the framework as a V-plugging route. Remix router, a Remix React router, Ten-Stack Start, Redwood SDK, are all going towards this direction. And it's a very smart way of leveraging V-plus and, you know, the future features in V-plus as well. Because in the future, when you ship your framework as a V-plus plugin, you'll be also able to hook into these additional commands. So you can do things like inject linked rules, inject custom test masters and environments, inject dev tools panels. The possibility is limitless when you have the full tool chain accessible through the plugin interface. That said, V-plus is still a work in progress. We're in the very early stages of it. So if you're interested in having feedback, please holla at void0.dev, hello, and we're eager to hear your feedback. Thank you.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Vite: Rethinking Frontend Tooling
JSNation Live 2021JSNation Live 2021
31 min
Vite: Rethinking Frontend Tooling
Top Content
Vite is a next-generation build tool that leverages native ES modules for improved performance. It eliminates the need for bundling and improves hot module replacement. Vite provides an opinionated default configuration while still allowing advanced customization through plugins. It is framework agnostic and can be used for React and other applications. Vite is being adopted by Next.js and Create React App, and integration with Nuxt 3 offers significant speed improvements.
Welcome to Nuxt 3
Vue.js London Live 2021Vue.js London Live 2021
29 min
Welcome to Nuxt 3
Top Content
Nux3 has made significant improvements in performance, output optimization, and serverless support. Nuxt Bridge brings the Nitro engine for enhanced performance and easier transition between Nuxt 2 and Nuxt Read. Nuxt 3 supports Webpack 5, Bytes, and Vue 3. NextLab has developed brand new websites using Docus technology. Nuxt.js is recommended for building apps faster and simpler, and Nuxt 2 should be used before migrating to Nuxt 3 for stability. DOCUS is a new project that combines Nuxt with additional features like content modules and an admin panel.
10 Years of Independent OSS: A Retrospective
JSNation 2024JSNation 2024
33 min
10 Years of Independent OSS: A Retrospective
This talk is a ten-year retrospective into the growth of the Vue.js framework as an open-source project. It highlights the challenges faced by open-source developers, the importance of finding balance and managing scope, and the collaborative nature of the Vue community. The talk also discusses the development of Vite as a build tool and the vision for a unified JavaScript toolchain. It emphasizes the need for community alignment, contributions, and testing, while acknowledging the challenges of bad actors in the open-source community.
What's New in Vite 6
JSNation US 2024JSNation US 2024
29 min
What's New in Vite 6
Watch video: What's New in Vite 6
Vite, a popular build tool for front-end development, has seen significant growth since its public release in 2021. It has been downloaded 12 million times and has over 1,000 contributors. Vite offers benefits such as a powerful dev server, hot module reloading, and a plugin API based on Rollup. However, there are limitations with server-side rendering that require extra code and handling of SSR flags. Vite's environment API allows for cleaner communication between the browser and server, and plugins can configure and customize specific environments. The future plans for Vite include stabilizing the environment API and integrating Rolldown Vite for faster builds. Vite is compatible with various front-end frameworks and is used by projects like Vaku and Vinci. The environment API has potential for per-local builds and building on older versions of Node, but may not be recommended for internationalization purposes.
The Inner Workings of Vite Build
DevOps.js Conf 2022DevOps.js Conf 2022
31 min
The Inner Workings of Vite Build
Welcome to vidBuild, a tool that optimizes your application for production by offering fast hodgemodule replacement and support for various technologies. The build process in vidBuild involves optimizing and minifying assets, bundling JS and CSS, and generating chunks for dynamic imports. The pipeline in vidBuild includes plugins for alias, resolution, CSS modules, and asset handling. Vid is a complete build tool with a flexible plugin system and support from a vibrant community. Vite's plugin API is compatible with Rollup, and Vite aims for simplicity while pushing complexity to the plugin system.
The Eternal Sunshine of the Zero Build Pipeline
React Finland 2021React Finland 2021
36 min
The Eternal Sunshine of the Zero Build Pipeline
For many years, we have migrated all our devtools to Node.js for the sake of simplicity: a common language (JS/TS), a large ecosystem (NPM), and a powerful engine. In the meantime, we moved a lot of computation tasks to the client-side thanks to PWA and JavaScript Hegemony.
So we made Webapps for years, developing with awesome reactive frameworks and bundling a lot of dependencies. We progressively moved from our simplicity to complex apps toolchains. We've become the new Java-like ecosystem. It sucks.
It's 2021, we've got a lot of new technologies to sustain our Users eXperience. It's time to have a break and rethink our tools rather than going faster and faster in the same direction. It's time to redesign the Developer eXperience. It's time for a bundle-free dev environment. It's time to embrace a new frontend building philosophy, still with our lovely JavaScript.
Introducing Snowpack, Vite, Astro, and other Bare Modules tools concepts!