# with pkg.pr.new binaries
pnpm tsx ecosystem-ci.ts vitepress --release https://pkg.pr.new/rolldown/vite@2814e17
# with local builds
pnpm tsx ecosystem-ci.ts vitepress --repo rolldown/vite --branch rolldown-v6
These commands are written in sh.
# run it before editing
tests-patches/pre-create-patch vite-plugin-vue/vite-plugin-vue
# run it after editing
tests-patches/create-patch vite-plugin-vue/vite-plugin-vue
# not need to run, but you can run this to check the applied state
tests-patches/apply-patch vite-plugin-vue/vite-plugin-vue
The created patches will be applied automatically when running pnpm tsx ecosystem-ci.ts
suite | state | description |
---|---|---|
analogjs | ✅ | |
astro | 👀 | need to investigate further |
histoire | ⏭️ | skipped for now. It is failing with Vite 6. |
ladle | ✅ | |
laravel | ✅ | |
marko | ✅ | passed by esbuild-rollup plugin conversion |
nuxt | ✅ | uses function type outputOptions.assetFileNames in generateBundle hook but can be worked around |
previewjs | fails locally but when running tests manually in playwright ui, it works. probably fine | |
quasar | ✅ | |
qwik | passes, but uses some missing features | |
rakkas | ✅ | patched one plugin to return moduleType: 'js' |
react-router | ✅ | better to run with CI=1 as some tests are flaky and setting that will retry them |
redwoodjs | ⏭️ | skipped for now. It is failing with Vite 6. |
storybook | ✅ | |
sveltekit | mostly works, only one minor issue | |
unocss | ❌ | modifies chunk.modules . |
vike | ❌ | uses advanced manualChunks |
vite-environment-examples | ✅ | |
vite-plugin-pwa | ✅ | patched one place that was assigning to OutputBundle |
vite-plugin-react | ✅ | I did not ran because it was tested separately. See rolldown/vite-plugin-react#1 |
vite-plugin-react-swc | ⏭️ | skipped for now. It should be fine as vite-plugin-react is tested. |
vite-plugin-svelte | one test failing but not correctness failures | |
vite-plugin-vue | 2 tests failing but not correctness failures | |
vite-setup-catalogue | ✅ | |
vitepress | ✅ | patched one place that was assigning to OutputBundle |
vitest | 👀 | will check |
vuepress | ✅ | |
waku | ✅ | needs VITE_USE_LEGACY_PARSE_AST=1 |
[WIP]
- ❌ uses missing features
- uses
meta.chunks
inrenderChunk
hook, also doesdelete chunk.modules[id]
- uses
- ❌ many tests failing
- TODO: need to investigate further
⚠️ Errors because it tries to updateinput
option inbuildStart
- Added a patch to update
input
option inoptions
hook
- Added a patch to update
- ✅ passed by converting esbuild plugins to rollup plugins
⚠️ uses function typeoutputOptions.assetFileNames
ingenerateBundle
hook- it can be workaround by using
this.environment.config.build.rollupOptions.output.assetFileNames
(applied this workaround) - rolldown/rolldown#3445
- it can be workaround by using
⚠️ uses missing featuresmanualChunks
- wants to group chunks by entry (code, introduced in QwikDev/qwik#6670, related issue rollup/rollup#5574)
preserveSignature
option inthis.emitFile({ type: 'chunk' })
- ✅
pnpm tsx --require ./scripts/runBefore.ts starters/dev-server.ts 3301
hanged- added a fix, probably because there was a dead-lock
better to run with CI=1
as some tests are flaky and setting that will retry them
⚠️ usesmanualChunks
but can be replaced withadvancedChunks
- Note that the test expects a single chunk to be output, but rolldown outputs 5 chunks (probably because it'll break the execution order),
I guess this is finemaybe not (sveltejs/kit#3882), it seems they want to make sure there's a single chunk - Also found some issue with
experimental.strictExecutionOrder
: rolldown/rolldown#3410
- Note that the test expects a single chunk to be output, but rolldown outputs 5 chunks (probably because it'll break the execution order),
- ✅ tests in
apps/dev-only
- passed by converting esbuild plugins to rollup plugins
- ❌
test/fixtures.test.ts > fixtures > vite client
/test/fixtures.test.ts > fixtures > vite lib
/test/fixtures.test.ts > fixtures > vite lib rollupOptions
fails- UnoCSS modifies
chunk.modules
to fool the css plugin to generate the css in corresponding chunk (unocss/unocss#4403)
- UnoCSS modifies
- uses missing features
- ❌ uses
manualChunks
that requires callbacks- https://github.com/vikejs/vike/blob/ea3a84264222768b9869e5f87ce4429e0685f3ae/vike/node/plugin/plugins/distFileNames.ts#L45-L101
- introduced to workaround vikejs/vike#1815
- maybe this can be workaround by adding
?url
to all CSS imports
- ❌ uses
- ❌
|e2e| test/preload/prod.spec.ts
fails- because
manualChunks
is not supported
- because
⚠️ pnpm test:build
packages/e2e-tests/kit-node/__tests__/kit.spec.ts > kit-node > index route > should not include dynamic import from onmount in ssr output
- caused by rolldown/rolldown#3403
- ✅
pnpm test:serve
- passed by converting esbuild plugins to rollup plugins
The failing tests are
⚠️ playground/vue-lib/__tests__/vue-lib.spec.ts
>vue component library > should output tree shakeable css module code
- This is happening because OXC minifier does not drop non-used variables
- ✅
playground/vue-legacy/__tests__/vue-legacy.spec.ts
- This is expected as rolldown-vite currently does not support the legacy plugin
needs VITE_USE_LEGACY_PARSE_AST=1
(waiting for oxc-project/oxc#8983, released in OXC 0.50.0)
make sure to run with BROWSER=chromium
if you have a different value set to BROWSER
⚠️ usespreserveEntrySignatures: 'exports-only'