-
-
Notifications
You must be signed in to change notification settings - Fork 9k
build: use rolldown #13599
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
build: use rolldown #13599
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the ✨ Finishing touches🧪 Generate unit tests (beta)
Comment |
59a42e4 to
d754e71
Compare
@vue/compiler-core
@vue/compiler-dom
@vue/compiler-sfc
@vue/compiler-ssr
@vue/reactivity
@vue/runtime-core
@vue/runtime-dom
@vue/server-renderer
@vue/shared
vue
@vue/compat
commit: |
6c94c9c to
87190a2
Compare
|
/ecosystem-ci run |
|
📝 Ran ecosystem CI: Open
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR migrates the build system from Rollup to Rolldown, a faster Rust-based bundler. The migration addresses several treeshaking bugs in Rolldown (as documented in the PR description) and updates all related tooling and configuration.
- Replaces
rollupwithrolldownacross the build system - Updates from
@swc/coreminification tooxc-minify - Migrates from
rollup-plugin-dtstorolldown-plugin-dtsfor type declaration bundling - Updates
oxc-parserandoxc-transformto v0.105.0 to match rolldown compatibility - Updates all build scripts, configurations, and documentation to reflect the new bundler
Reviewed changes
Copilot reviewed 14 out of 16 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| tsconfig.json | Adds rolldown.dts.config.js to include paths |
| scripts/usage-size.js | Migrates from rollup to rolldown, swc to oxc-minify for size analysis |
| scripts/inline-enums.js | Updates parser API calls and type annotations for oxc-parser v0.105.0 |
| scripts/dev.js | Simplifies watch API usage with rolldown |
| scripts/create-rolldown-config.js | Updates plugin imports, output paths, and build configuration for rolldown |
| scripts/build.js | Updates build output path handling for rolldown |
| scripts/build-types.js | Migrates from rollup to rolldown for type bundling |
| scripts/aliases.js | Updates comment to reference rolldown instead of rollup |
| rolldown.dts.config.js | Renames and updates from rollup.dts.config.js with rolldown-plugin-dts |
| pnpm-lock.yaml | Updates all dependencies including [email protected], oxc packages, and rolldown-plugin-dts |
| package.json | Updates build dependencies and scripts for rolldown |
| .github/renovate.json5 | Updates dependency grouping to track rolldown and oxc packages |
| .github/contributing.md | Updates documentation to reference rolldown instead of rollup/esbuild |
| packages/vue/README.md | Adds rolldown to list of supported bundlers |
| packages/shared/src/makeMap.ts | Generalizes treeshaking comment |
| packages/compiler-sfc/src/template/transformAssetUrl.ts | Updates comment to reference @rolldown/plugin-node-polyfills |
Files not reviewed (1)
- pnpm-lock.yaml: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| import replace from '@rollup/plugin-replace' | ||
| import { rolldown } from 'rolldown' | ||
| import { minify } from 'oxc-minify' | ||
| import { replacePlugin } from 'rolldown/experimental' |
Copilot
AI
Dec 24, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Inconsistent import path for replacePlugin. This file imports from rolldown/experimental while scripts/create-rolldown-config.js imports from rolldown/plugins. These should use the same import path for consistency. Please verify which is the correct import path for [email protected] and update both files to use the same path.
| import { replacePlugin } from 'rolldown/experimental' | |
| import { replacePlugin } from 'rolldown/plugins' |
treeshaking bugs in rolldown
__exportfunction breaking ES module imports rolldown/rolldown#7634