<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/vite-7-production-migration-from-esbuild-to-rolldown-and-oxc-h20aqbpeg" -->

---
title: Vite 7 Production Migration: From esbuild to Rolldown...
description: Vite 7 replaces its dual-bundler setup (esbuild for dev, Rollup for production) with a unified Rust-based pipeline using Rolldown and Oxc. The guide covers the...
canonical: https://daily.dev/posts/vite-7-production-migration-from-esbuild-to-rolldown-and-oxc-h20aqbpeg
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Vite 7 Production Migration: From esbuild to Rolldown and Oxc | daily.dev
og:description: Vite 7 replaces its dual-bundler setup (esbuild for dev, Rollup for production) with a unified Rust-based pipeline using Rolldown and Oxc. The guide covers the...
og:url: https://daily.dev/posts/vite-7-production-migration-from-esbuild-to-rolldown-and-oxc-h20aqbpeg
og:image: https://api.daily.dev/og/posts/h20AqbpEG.png
og:image:alt: Vite 7 Production Migration: From esbuild to Rolldown and Oxc
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Vite 7 Production Migration: From esbuild to Rolldown and Oxc

**[SitePoint](https://daily.dev/sources/sitepoint)** · 18 min read · 0 upvotes · 0 comments

## Summary

Vite 7 replaces its dual-bundler setup (esbuild for dev, Rollup for production) with a unified Rust-based pipeline using Rolldown and Oxc. The guide covers the full migration path: upgrading to Vite 7 with Node.js ≥20.19, renaming `build.rollupOptions` to `build.rolldownOptions`, replacing the `esbuild` config block with the `oxc` key, auditing plugin compatibility, validating bundle output against a baseline snapshot, and updating CI/CD pipelines. It includes before/after config examples, a configuration mapping table, a bundle comparison script, rollback strategy, and troubleshooting for common issues like plugin hook failures and bundle size regressions. Important caveats note that some config key names are based on pre-release RFCs and should be verified against the official Vite 7 changelog before applying.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.sitepoint.com/vite-7-production-migration-rolldown-oxc-build-optimization>

## Questions this post answers

### What configuration key replaces build.rollupOptions in Vite 7?

The build.rollupOptions key is renamed to build.rolldownOptions in Vite 7, reflecting the switch from Rollup to Rolldown as the production bundler. Most sub-options like input, output.manualChunks, external, and output.dir map directly with the same names and behavior, though this should be verified against the official Vite 7 changelog before shipping since it was based on pre-release RFC information.

_Teams planning a Vite 7 config migration can track verified details on daily.dev before touching production builds._

### What replaces esbuild for JavaScript and TypeScript transforms in Vite 7?

Oxc, a Rust-based JavaScript toolchain, replaces esbuild for parsing, transforming, and minifying JavaScript and TypeScript in Vite 7, configured via a new top-level oxc key instead of the esbuild key. It also becomes the default minifier, with build.minify defaulting to 'oxc' instead of esbuild; Terser remains an opt-in alternative as before.

_Developers weighing bundler changes can follow Rolldown and Oxc coverage on daily.dev before migrating build configs._

### What is the minimum Node.js version required for Vite 7?

Vite 7 requires Node.js 20.19 or newer, or Node.js 22.12 or newer, dropping support for Node.js 18 entirely. Teams should verify CI runners, Docker base images, and local dev environments meet this before upgrading, and can confirm exact minimums by running npm show vite@7 engines.

_Anyone planning a Node version bump alongside a Vite upgrade can find migration checklists on daily.dev._

## Similar posts on daily.dev

- [Vite 8 Migration: Moving from esbuild to Oxc in Production React Apps](https://daily.dev/posts/vite-8-migration-moving-from-esbuild-to-oxc-in-production-react-apps-vmzcblsny) · SitePoint · 1 upvotes · 0 comments
- [Pimp my Bundler: Vite edition](https://daily.dev/posts/pimp-my-bundler-vite-edition-iuirxsbjp) · Bytes by ui.dev · 25 upvotes · 1 comments
- [Vite team claims 10-30x faster builds with Rolldown](https://daily.dev/posts/vite-team-claims-10-30x-faster-builds-with-rolldown-mksk39ams) · The Register · 2 upvotes · 0 comments
- [Vite Version 8: Unified Rust-Based Bundler and Up to 30x Faster Builds](https://daily.dev/posts/vite-version-8-unified-rust-based-bundler-and-up-to-30x-faster-builds-qoibhahrs) · InfoQ · 35 upvotes · 0 comments

---

Tags: [#webdev](https://daily.dev/tags/webdev), [#vite](https://daily.dev/tags/vite)

[View this post on daily.dev](https://daily.dev/posts/vite-7-production-migration-from-esbuild-to-rolldown-and-oxc-h20aqbpeg)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Vite 7 Production Migration: From esbuild to Rolldown and Oxc","url":"https://daily.dev/posts/vite-7-production-migration-from-esbuild-to-rolldown-and-oxc-h20aqbpeg","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/vite-7-production-migration-from-esbuild-to-rolldown-and-oxc-h20aqbpeg"},"datePublished":"2026-07-15T03:18:58.759Z","dateModified":"2026-09-14T06:49:03.957Z","description":"Vite 7 replaces its dual-bundler setup (esbuild for dev, Rollup for production) with a unified Rust-based pipeline using Rolldown and Oxc. The guide covers the...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/35ee1e3a734dc7b32e75e315bb692612?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/35ee1e3a734dc7b32e75e315bb692612?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"SitePoint","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"SitePoint","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/sitepoint","url":"https://daily.dev/sources/sitepoint"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/vite-7-production-migration-from-esbuild-to-rolldown-and-oxc-h20aqbpeg","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"webdev,vite","timeRequired":"PT18M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"SitePoint","item":"https://daily.dev/sources/sitepoint"},{"@type":"ListItem","position":3,"name":"Vite 7 Production Migration: From esbuild to Rolldown and Oxc"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/vite-7-production-migration-from-esbuild-to-rolldown-and-oxc-h20aqbpeg#faq","mainEntity":[{"@type":"Question","name":"What configuration key replaces build.rollupOptions in Vite 7?","acceptedAnswer":{"@type":"Answer","text":"The build.rollupOptions key is renamed to build.rolldownOptions in Vite 7, reflecting the switch from Rollup to Rolldown as the production bundler. Most sub-options like input, output.manualChunks, external, and output.dir map directly with the same names and behavior, though this should be verified against the official Vite 7 changelog before shipping since it was based on pre-release RFC information. Teams planning a Vite 7 config migration can track verified details on daily.dev before touching production builds."}},{"@type":"Question","name":"What replaces esbuild for JavaScript and TypeScript transforms in Vite 7?","acceptedAnswer":{"@type":"Answer","text":"Oxc, a Rust-based JavaScript toolchain, replaces esbuild for parsing, transforming, and minifying JavaScript and TypeScript in Vite 7, configured via a new top-level oxc key instead of the esbuild key. It also becomes the default minifier, with build.minify defaulting to 'oxc' instead of esbuild; Terser remains an opt-in alternative as before. Developers weighing bundler changes can follow Rolldown and Oxc coverage on daily.dev before migrating build configs."}},{"@type":"Question","name":"What is the minimum Node.js version required for Vite 7?","acceptedAnswer":{"@type":"Answer","text":"Vite 7 requires Node.js 20.19 or newer, or Node.js 22.12 or newer, dropping support for Node.js 18 entirely. Teams should verify CI runners, Docker base images, and local dev environments meet this before upgrading, and can confirm exact minimums by running npm show vite@7 engines. Anyone planning a Node version bump alongside a Vite upgrade can find migration checklists on daily.dev."}}]}
```

