diff --git a/.gitignore b/.gitignore
index 7bd4e23f..e022737e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -11,6 +11,9 @@ dist
packages/vite/src/public/fonts
packages/vite/src/app/public/fonts
packages/vite/runtime
+packages/rolldown/src/public/fonts
+packages/rolldown/src/app/public/fonts
+packages/rolldown/runtime
.rolldown
*.tsbuildinfo
docs/.vitepress/cache
diff --git a/AGENTS.md b/AGENTS.md
index d8b7c4c2..3e513478 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -9,7 +9,7 @@ Quick reference for future agents working on this repo.
- `packages/core` (`@vitejs/devtools`): Vite plugin, CLI, host/runtime (docks, views, terminals), websocket RPC server, standalone/webcomponents client.
- `packages/kit` (`@vitejs/devtools-kit`): public types/utilities (`defineRpcFunction`, shared state, events) for integration authors; client helpers.
- `packages/rpc` (`@vitejs/devtools-rpc`): thin typed RPC wrapper over `birpc`, with WS presets.
- - `packages/vite` (`@vitejs/devtools-vite`): Nuxt-based UI served from the plugin; registers Vite dock and RPC functions for Rolldown build data.
+ - `packages/rolldown` (`@vitejs/devtools-rolldown`): Nuxt-based UI served from the plugin; registers Vite dock and RPC functions for Rolldown build data.
- `packages/webext`: browser extension scaffolding (currently ancillary).
- Docs under `docs/` (VitePress); user-facing guides in `docs/guide`.
- Path aliases defined in `alias.ts` and propagated to `tsconfig.base.json` (do not edit paths manually).
@@ -18,9 +18,9 @@ Quick reference for future agents working on this repo.
flowchart TD
core["@vitejs/devtools"] --> kit["@vitejs/devtools-kit"]
core --> rpc["@vitejs/devtools-rpc"]
- core --> viteUI["@vitejs/devtools-vite (Nuxt UI)"]
- viteUI --> kit
- viteUI --> rpc
+ core --> rolldownUI["@vitejs/devtools-rolldown (Nuxt UI)"]
+ rolldownUI --> kit
+ rolldownUI --> rpc
webext["@vitejs/devtools-webext"] --> core
```
@@ -31,8 +31,8 @@ flowchart TD
- **Client context**: webcomponents/Nuxt UI state (`packages/core/src/client/webcomponents/state/*`), holding dock entries, selected panels, and RPC client; created with `clientType` of `embedded` or `standalone`.
- Websocket server (`packages/core/src/node/ws.ts`) exposes RPC via `@vitejs/devtools-rpc/presets/ws`. Auth is skipped in build mode or when `devtools.clientAuth` is `false`; trusted IDs stored under `node_modules/.vite/devtools/auth.json`.
- DevTools middleware (`packages/core/src/node/server.ts`) serves connection meta and standalone client assets.
-- The Vite UI plugin (`packages/vite/src/node/plugin.ts`) registers RPC functions (Rolldown data fetchers) and hosts the Nuxt-generated static UI at `/.devtools-vite/`, adding a dock entry.
-- Nuxt app config (`packages/vite/src/nuxt.config.ts`): SPA, base `/.devtools-vite/`, disables Nuxt devtools, enables typed pages, uses Unocss/VueUse; sets `vite.devtools.clientAuth = false` for UI.
+- The Rolldown UI plugin (`packages/rolldown/src/node/plugin.ts`) registers RPC functions (Rolldown data fetchers) and hosts the Nuxt-generated static UI at `/.devtools-rolldown/`, adding a dock entry.
+- Nuxt app config (`packages/rolldown/src/nuxt.config.ts`): SPA, base `/.devtools-rolldown/`, disables Nuxt devtools, enables typed pages, uses Unocss/VueUse; sets `vite.devtools.clientAuth = false` for UI.
## Client Modes (kit/core)
- **Embedded mode**: default overlay injected into the host app; docks render inside the app shell; use `clientType: 'embedded'` when creating client context.
@@ -40,10 +40,10 @@ flowchart TD
## Development Workflow
- Install: `pnpm install` (repo requires `pnpm@10.x`).
-- Build all: `pnpm build` (runs `turbo run build`; for UI data, build generates Rolldown metadata under `packages/vite/node_modules/.rolldown`).
+- Build all: `pnpm build` (runs `turbo run build`; for UI data, build generates Rolldown metadata under `packages/rolldown/node_modules/.rolldown`).
- Dev:
- Core playground: `pnpm -C packages/core run play`
- - Vite UI: `pnpm -C packages/vite run dev`
+ - Rolldown UI: `pnpm -C packages/rolldown run dev`
- Standalone core client: `pnpm -C packages/core run dev:standalone`
- Tests: `pnpm test` (Vitest; projects under `packages/*` and `test`).
- Typecheck: `pnpm typecheck` (via `vue-tsc -b`).
@@ -64,7 +64,7 @@ flowchart TD
- Core webcomponents: `packages/core/src/client/webcomponents`
- Kit utilities: `packages/kit/src/utils/*`
- RPC presets: `packages/rpc/src/presets/ws/*`
-- Vite UI app: `packages/vite/src/app`
+- Rolldown UI app: `packages/rolldown/src/app`
- Docs: `docs/guide/*`
## Quick Checks Before PRs
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 36645806..9d8fcbf7 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -12,11 +12,11 @@ You can check the [TODO list](https://github.com/vitejs/devtools/issues/9) (excl
```bash
pnpm install
-pnpm build # Required: generates Rolldown meta under ./packages/vite/node_modules/.rolldown
+pnpm build # Required: generates Rolldown meta under ./packages/rolldown/node_modules/.rolldown
pnpm dev # Start dev server
```
-**Note**: After pulling latest commits, remove `./packages/vite/node_modules/.rolldown` and rebuild to get the latest data format.
+**Note**: After pulling latest commits, remove `./packages/rolldown/node_modules/.rolldown` and rebuild to get the latest data format.
## Project Structure
@@ -51,9 +51,9 @@ Utility library for integration authors.
---
-### `packages/vite` - `@vitejs/devtools-vite`
+### `packages/rolldown` - `@vitejs/devtools-rolldown`
-Built-in UI panel for Vite/Rolldown integration.
+Built-in UI panel for Rolldown integration.
- Vite plugin (enabled by default)
- Nuxt-based UI for build visualization
@@ -94,7 +94,7 @@ Browser extension (planned for future dev mode). **Not accepting contributions c
- `pnpm test` - Vitest
- `pnpm typecheck` - Type check
-Package-specific: `pnpm -C packages/core run cli`, `pnpm -C packages/vite run dev`
+Package-specific: `pnpm -C packages/core run cli`, `pnpm -C packages/rolldown run dev`
## Workflow
diff --git a/alias.ts b/alias.ts
index 544f112b..4d31a9ba 100644
--- a/alias.ts
+++ b/alias.ts
@@ -16,7 +16,7 @@ export const alias = {
'@vitejs/devtools-kit/utils/nanoid': r('kit/src/utils/nanoid.ts'),
'@vitejs/devtools-kit/utils/shared-state': r('kit/src/utils/shared-state.ts'),
'@vitejs/devtools-kit': r('kit/src/index.ts'),
- '@vitejs/devtools-vite': r('vite/src/index.ts'),
+ '@vitejs/devtools-rolldown': r('rolldown/src/index.ts'),
'@vitejs/devtools/client/inject': r('core/src/client/inject/index.ts'),
'@vitejs/devtools/client/webcomponents': r('core/src/client/webcomponents/index.ts'),
'@vitejs/devtools': r('core/src/index.ts'),
diff --git a/docs/guide/index.md b/docs/guide/index.md
index 21e75729..b75f8713 100644
--- a/docs/guide/index.md
+++ b/docs/guide/index.md
@@ -95,7 +95,7 @@ Vite DevTools consists of several core packages:
- **`@vitejs/devtools`**: The main entry point and CLI
- **`@vitejs/devtools-kit`**: Utilities and types for building custom integrations
-- **`@vitejs/devtools-vite`**: Built-in UI panel for Vite/Rolldown
+- **`@vitejs/devtools-rolldown`**: Built-in UI panel for Rolldown
- **`@vitejs/devtools-rpc`**: RPC layer for server-client communication
For more details on extending Vite DevTools, see the [DevTools Kit documentation](/kit/).
diff --git a/docs/public/rolldown-devtools-logo-dark.svg b/docs/public/rolldown-devtools-logo-dark.svg
new file mode 100644
index 00000000..4ae8a2bb
--- /dev/null
+++ b/docs/public/rolldown-devtools-logo-dark.svg
@@ -0,0 +1,98 @@
+
diff --git a/docs/public/rolldown-devtools-logo-light.svg b/docs/public/rolldown-devtools-logo-light.svg
new file mode 100644
index 00000000..037c0ccb
--- /dev/null
+++ b/docs/public/rolldown-devtools-logo-light.svg
@@ -0,0 +1,98 @@
+
diff --git a/eslint.config.js b/eslint.config.js
index b0051131..c79bf201 100644
--- a/eslint.config.js
+++ b/eslint.config.js
@@ -1,13 +1,13 @@
// @ts-check
import antfu from '@antfu/eslint-config'
-import nuxt from './packages/vite/src/.nuxt/eslint.config.mjs'
+import nuxt from './packages/rolldown/src/.nuxt/eslint.config.mjs'
export default antfu({
pnpm: true,
})
.append(nuxt())
.append({
- files: ['./packages/vite/src/node/**/*.ts'],
+ files: ['./packages/rolldown/src/node/**/*.ts'],
rules: {
'no-console': 'off',
},
diff --git a/package.json b/package.json
index 74413a0b..5761af2d 100644
--- a/package.json
+++ b/package.json
@@ -7,14 +7,14 @@
"build": "turbo run build",
"build:debug": "NUXT_DEBUG_BUILD=true pnpm -r run build",
"watch": "pnpm -r run watch",
- "dev": "pnpm -C packages/vite run dev",
+ "dev": "pnpm -C packages/rolldown run dev",
"docs": "pnpm -C docs run docs",
"docs:build": "pnpm -C docs run docs:build",
"docs:serve": "pnpm -C docs run docs:serve",
"play:devtools": "pnpm -C packages/core run play",
"play:devtools:standalone": "pnpm -C packages/core run dev:standalone",
- "play:ui": "pnpm -C packages/vite run dev",
- "prepare": "npx simple-git-hooks && pnpm -C packages/vite run dev:prepare && turbo run build",
+ "play:ui": "pnpm -C packages/rolldown run dev",
+ "prepare": "npx simple-git-hooks && pnpm -C packages/rolldown run dev:prepare && turbo run build",
"lint": "eslint --cache",
"test": "vitest",
"release": "bumpp -r",
diff --git a/packages/core/package.json b/packages/core/package.json
index 954a9fda..80aef85d 100644
--- a/packages/core/package.json
+++ b/packages/core/package.json
@@ -53,8 +53,8 @@
},
"dependencies": {
"@vitejs/devtools-kit": "workspace:*",
+ "@vitejs/devtools-rolldown": "workspace:*",
"@vitejs/devtools-rpc": "workspace:*",
- "@vitejs/devtools-vite": "workspace:*",
"birpc": "catalog:deps",
"birpc-x": "catalog:deps",
"cac": "catalog:deps",
@@ -72,7 +72,7 @@
},
"devDependencies": {
"@clack/prompts": "catalog:inlined",
- "@vitejs/devtools-vite": "workspace:*",
+ "@vitejs/devtools-rolldown": "workspace:*",
"@vitejs/plugin-vue": "catalog:build",
"@xterm/addon-fit": "catalog:frontend",
"@xterm/xterm": "catalog:frontend",
diff --git a/packages/core/playground/vite.config.ts b/packages/core/playground/vite.config.ts
index c956befd..bdd322cc 100644
--- a/packages/core/playground/vite.config.ts
+++ b/packages/core/playground/vite.config.ts
@@ -7,7 +7,7 @@ import Tracer from 'vite-plugin-vue-tracer'
import { alias } from '../../../alias'
// eslint-disable-next-line ts/ban-ts-comment
// @ts-ignore ignore the type error
-import { DevToolsViteUI } from '../../vite/src/node'
+import { DevToolsRolldownUI } from '../../rolldown/src/node'
import { DevTools } from '../src'
import { buildCSS } from '../src/client/webcomponents/scripts/build-css'
@@ -42,7 +42,7 @@ export default defineConfig({
DevTools({
builtinDevTools: false,
}),
- DevToolsViteUI(),
+ DevToolsRolldownUI(),
UnoCSS(),
Tracer({
viteDevtools: true,
diff --git a/packages/core/src/node/plugins/index.ts b/packages/core/src/node/plugins/index.ts
index e55c7ad1..710a116b 100644
--- a/packages/core/src/node/plugins/index.ts
+++ b/packages/core/src/node/plugins/index.ts
@@ -24,7 +24,7 @@ export async function DevTools(options: DevToolsOptions = {}): Promise
if (builtinDevTools) {
// eslint-disable-next-line ts/ban-ts-comment
// @ts-ignore ignore the type error
- plugins.push(await import('@vitejs/devtools-vite').then(m => m.DevToolsViteUI()))
+ plugins.push(await import('@vitejs/devtools-rolldown').then(m => m.DevToolsRolldownUI()))
}
return plugins
diff --git a/packages/vite/package.json b/packages/rolldown/package.json
similarity index 96%
rename from packages/vite/package.json
rename to packages/rolldown/package.json
index e6205b31..30c5cded 100644
--- a/packages/vite/package.json
+++ b/packages/rolldown/package.json
@@ -1,8 +1,8 @@
{
- "name": "@vitejs/devtools-vite",
+ "name": "@vitejs/devtools-rolldown",
"type": "module",
"version": "0.0.0-alpha.26",
- "description": "DevTools for Vite (work in progress)",
+ "description": "DevTools for Rolldown (work in progress)",
"author": "VoidZero Inc.",
"license": "MIT",
"homepage": "https://github.com/vitejs/devtools#readme",
diff --git a/packages/vite/src/app/app.vue b/packages/rolldown/src/app/app.vue
similarity index 85%
rename from packages/vite/src/app/app.vue
rename to packages/rolldown/src/app/app.vue
index edd5c87a..1a7b4cb8 100644
--- a/packages/vite/src/app/app.vue
+++ b/packages/rolldown/src/app/app.vue
@@ -1,7 +1,6 @@
+
+
+
+
diff --git a/packages/vite/src/app/components/display/ModuleGraph.vue b/packages/rolldown/src/app/components/display/ModuleGraph.vue
similarity index 100%
rename from packages/vite/src/app/components/display/ModuleGraph.vue
rename to packages/rolldown/src/app/components/display/ModuleGraph.vue
diff --git a/packages/vite/src/app/components/display/ModuleId.vue b/packages/rolldown/src/app/components/display/ModuleId.vue
similarity index 100%
rename from packages/vite/src/app/components/display/ModuleId.vue
rename to packages/rolldown/src/app/components/display/ModuleId.vue
diff --git a/packages/vite/src/app/components/display/PluginName.vue b/packages/rolldown/src/app/components/display/PluginName.vue
similarity index 100%
rename from packages/vite/src/app/components/display/PluginName.vue
rename to packages/rolldown/src/app/components/display/PluginName.vue
diff --git a/packages/vite/src/app/components/display/SafeImage.vue b/packages/rolldown/src/app/components/display/SafeImage.vue
similarity index 100%
rename from packages/vite/src/app/components/display/SafeImage.vue
rename to packages/rolldown/src/app/components/display/SafeImage.vue
diff --git a/packages/vite/src/app/components/display/TimeoutView.vue b/packages/rolldown/src/app/components/display/TimeoutView.vue
similarity index 100%
rename from packages/vite/src/app/components/display/TimeoutView.vue
rename to packages/rolldown/src/app/components/display/TimeoutView.vue
diff --git a/packages/vite/src/app/components/display/TreeNode.vue b/packages/rolldown/src/app/components/display/TreeNode.vue
similarity index 100%
rename from packages/vite/src/app/components/display/TreeNode.vue
rename to packages/rolldown/src/app/components/display/TreeNode.vue
diff --git a/packages/vite/src/app/components/display/Version.vue b/packages/rolldown/src/app/components/display/Version.vue
similarity index 100%
rename from packages/vite/src/app/components/display/Version.vue
rename to packages/rolldown/src/app/components/display/Version.vue
diff --git a/packages/vite/src/app/components/flowmap/Expandable.vue b/packages/rolldown/src/app/components/flowmap/Expandable.vue
similarity index 100%
rename from packages/vite/src/app/components/flowmap/Expandable.vue
rename to packages/rolldown/src/app/components/flowmap/Expandable.vue
diff --git a/packages/vite/src/app/components/flowmap/ModuleFlow.vue b/packages/rolldown/src/app/components/flowmap/ModuleFlow.vue
similarity index 100%
rename from packages/vite/src/app/components/flowmap/ModuleFlow.vue
rename to packages/rolldown/src/app/components/flowmap/ModuleFlow.vue
diff --git a/packages/vite/src/app/components/flowmap/ModuleFlowDetails.vue b/packages/rolldown/src/app/components/flowmap/ModuleFlowDetails.vue
similarity index 100%
rename from packages/vite/src/app/components/flowmap/ModuleFlowDetails.vue
rename to packages/rolldown/src/app/components/flowmap/ModuleFlowDetails.vue
diff --git a/packages/vite/src/app/components/flowmap/ModuleFlowTimeline.vue b/packages/rolldown/src/app/components/flowmap/ModuleFlowTimeline.vue
similarity index 100%
rename from packages/vite/src/app/components/flowmap/ModuleFlowTimeline.vue
rename to packages/rolldown/src/app/components/flowmap/ModuleFlowTimeline.vue
diff --git a/packages/vite/src/app/components/flowmap/Node.vue b/packages/rolldown/src/app/components/flowmap/Node.vue
similarity index 100%
rename from packages/vite/src/app/components/flowmap/Node.vue
rename to packages/rolldown/src/app/components/flowmap/Node.vue
diff --git a/packages/vite/src/app/components/flowmap/NodeAssetInfo.vue b/packages/rolldown/src/app/components/flowmap/NodeAssetInfo.vue
similarity index 100%
rename from packages/vite/src/app/components/flowmap/NodeAssetInfo.vue
rename to packages/rolldown/src/app/components/flowmap/NodeAssetInfo.vue
diff --git a/packages/vite/src/app/components/flowmap/NodeChunkInfo.vue b/packages/rolldown/src/app/components/flowmap/NodeChunkInfo.vue
similarity index 100%
rename from packages/vite/src/app/components/flowmap/NodeChunkInfo.vue
rename to packages/rolldown/src/app/components/flowmap/NodeChunkInfo.vue
diff --git a/packages/vite/src/app/components/flowmap/NodeModuleInfo.vue b/packages/rolldown/src/app/components/flowmap/NodeModuleInfo.vue
similarity index 100%
rename from packages/vite/src/app/components/flowmap/NodeModuleInfo.vue
rename to packages/rolldown/src/app/components/flowmap/NodeModuleInfo.vue
diff --git a/packages/vite/src/app/components/flowmap/NodePluginInfo.vue b/packages/rolldown/src/app/components/flowmap/NodePluginInfo.vue
similarity index 100%
rename from packages/vite/src/app/components/flowmap/NodePluginInfo.vue
rename to packages/rolldown/src/app/components/flowmap/NodePluginInfo.vue
diff --git a/packages/vite/src/app/components/flowmap/PluginFlow.vue b/packages/rolldown/src/app/components/flowmap/PluginFlow.vue
similarity index 100%
rename from packages/vite/src/app/components/flowmap/PluginFlow.vue
rename to packages/rolldown/src/app/components/flowmap/PluginFlow.vue
diff --git a/packages/vite/src/app/components/flowmap/PluginFlowTimeline.vue b/packages/rolldown/src/app/components/flowmap/PluginFlowTimeline.vue
similarity index 100%
rename from packages/vite/src/app/components/flowmap/PluginFlowTimeline.vue
rename to packages/rolldown/src/app/components/flowmap/PluginFlowTimeline.vue
diff --git a/packages/vite/src/app/components/modules/BuildMetrics.vue b/packages/rolldown/src/app/components/modules/BuildMetrics.vue
similarity index 100%
rename from packages/vite/src/app/components/modules/BuildMetrics.vue
rename to packages/rolldown/src/app/components/modules/BuildMetrics.vue
diff --git a/packages/vite/src/app/components/modules/DetailedList.vue b/packages/rolldown/src/app/components/modules/DetailedList.vue
similarity index 100%
rename from packages/vite/src/app/components/modules/DetailedList.vue
rename to packages/rolldown/src/app/components/modules/DetailedList.vue
diff --git a/packages/vite/src/app/components/modules/FlatList.vue b/packages/rolldown/src/app/components/modules/FlatList.vue
similarity index 100%
rename from packages/vite/src/app/components/modules/FlatList.vue
rename to packages/rolldown/src/app/components/modules/FlatList.vue
diff --git a/packages/vite/src/app/components/modules/Folder.vue b/packages/rolldown/src/app/components/modules/Folder.vue
similarity index 100%
rename from packages/vite/src/app/components/modules/Folder.vue
rename to packages/rolldown/src/app/components/modules/Folder.vue
diff --git a/packages/vite/src/app/components/modules/Graph.vue b/packages/rolldown/src/app/components/modules/Graph.vue
similarity index 100%
rename from packages/vite/src/app/components/modules/Graph.vue
rename to packages/rolldown/src/app/components/modules/Graph.vue
diff --git a/packages/vite/src/app/components/packages/Duplicated.vue b/packages/rolldown/src/app/components/packages/Duplicated.vue
similarity index 100%
rename from packages/vite/src/app/components/packages/Duplicated.vue
rename to packages/rolldown/src/app/components/packages/Duplicated.vue
diff --git a/packages/vite/src/app/components/packages/Importers.vue b/packages/rolldown/src/app/components/packages/Importers.vue
similarity index 100%
rename from packages/vite/src/app/components/packages/Importers.vue
rename to packages/rolldown/src/app/components/packages/Importers.vue
diff --git a/packages/vite/src/app/components/packages/Table.vue b/packages/rolldown/src/app/components/packages/Table.vue
similarity index 100%
rename from packages/vite/src/app/components/packages/Table.vue
rename to packages/rolldown/src/app/components/packages/Table.vue
diff --git a/packages/vite/src/app/components/panel/SessionSelector.vue b/packages/rolldown/src/app/components/panel/SessionSelector.vue
similarity index 100%
rename from packages/vite/src/app/components/panel/SessionSelector.vue
rename to packages/rolldown/src/app/components/panel/SessionSelector.vue
diff --git a/packages/vite/src/app/components/panel/SideNav.vue b/packages/rolldown/src/app/components/panel/SideNav.vue
similarity index 100%
rename from packages/vite/src/app/components/panel/SideNav.vue
rename to packages/rolldown/src/app/components/panel/SideNav.vue
diff --git a/packages/vite/src/app/components/plugins/FlatList.vue b/packages/rolldown/src/app/components/plugins/FlatList.vue
similarity index 100%
rename from packages/vite/src/app/components/plugins/FlatList.vue
rename to packages/rolldown/src/app/components/plugins/FlatList.vue
diff --git a/packages/vite/src/app/components/plugins/Sunburst.vue b/packages/rolldown/src/app/components/plugins/Sunburst.vue
similarity index 100%
rename from packages/vite/src/app/components/plugins/Sunburst.vue
rename to packages/rolldown/src/app/components/plugins/Sunburst.vue
diff --git a/packages/rolldown/src/app/components/visual/Loading.vue b/packages/rolldown/src/app/components/visual/Loading.vue
new file mode 100644
index 00000000..d3270802
--- /dev/null
+++ b/packages/rolldown/src/app/components/visual/Loading.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
{{ props.text ?? 'Loading...' }}
+
+
+
diff --git a/packages/rolldown/src/app/components/visual/LogoBanner.vue b/packages/rolldown/src/app/components/visual/LogoBanner.vue
new file mode 100644
index 00000000..517203a8
--- /dev/null
+++ b/packages/rolldown/src/app/components/visual/LogoBanner.vue
@@ -0,0 +1,111 @@
+
+
+
+
+
+
+
+
+
diff --git a/packages/vite/src/app/composables/chart.ts b/packages/rolldown/src/app/composables/chart.ts
similarity index 100%
rename from packages/vite/src/app/composables/chart.ts
rename to packages/rolldown/src/app/composables/chart.ts
diff --git a/packages/vite/src/app/composables/codemirror.ts b/packages/rolldown/src/app/composables/codemirror.ts
similarity index 100%
rename from packages/vite/src/app/composables/codemirror.ts
rename to packages/rolldown/src/app/composables/codemirror.ts
diff --git a/packages/vite/src/app/composables/graph-path-selector.ts b/packages/rolldown/src/app/composables/graph-path-selector.ts
similarity index 100%
rename from packages/vite/src/app/composables/graph-path-selector.ts
rename to packages/rolldown/src/app/composables/graph-path-selector.ts
diff --git a/packages/vite/src/app/composables/module-graph.ts b/packages/rolldown/src/app/composables/module-graph.ts
similarity index 100%
rename from packages/vite/src/app/composables/module-graph.ts
rename to packages/rolldown/src/app/composables/module-graph.ts
diff --git a/packages/vite/src/app/composables/rpc.ts b/packages/rolldown/src/app/composables/rpc.ts
similarity index 100%
rename from packages/vite/src/app/composables/rpc.ts
rename to packages/rolldown/src/app/composables/rpc.ts
diff --git a/packages/vite/src/app/composables/zoom-element.ts b/packages/rolldown/src/app/composables/zoom-element.ts
similarity index 100%
rename from packages/vite/src/app/composables/zoom-element.ts
rename to packages/rolldown/src/app/composables/zoom-element.ts
diff --git a/packages/vite/src/app/pages/compare/[sessions]/index.vue b/packages/rolldown/src/app/pages/compare/[sessions]/index.vue
similarity index 98%
rename from packages/vite/src/app/pages/compare/[sessions]/index.vue
rename to packages/rolldown/src/app/pages/compare/[sessions]/index.vue
index 9166f4b0..0dee7855 100644
--- a/packages/vite/src/app/pages/compare/[sessions]/index.vue
+++ b/packages/rolldown/src/app/pages/compare/[sessions]/index.vue
@@ -2,7 +2,6 @@
import type { SessionCompareContext } from '~~/shared/types'
import { useRoute } from '#app/composables/router'
import { useRpc } from '#imports'
-import VisualLoading from '@vitejs/devtools-ui/components/VisualLoading.vue'
import { computed, onMounted, ref } from 'vue'
const isLoading = ref(false)
diff --git a/packages/vite/src/app/pages/index.vue b/packages/rolldown/src/app/pages/index.vue
similarity index 97%
rename from packages/vite/src/app/pages/index.vue
rename to packages/rolldown/src/app/pages/index.vue
index 7ace42e1..3f0398a4 100644
--- a/packages/vite/src/app/pages/index.vue
+++ b/packages/rolldown/src/app/pages/index.vue
@@ -1,7 +1,6 @@