- Assets
-
-
- {{
- {
- filename: asset.filename,
- size: asset.size,
- chunk: asset.chunk_id,
- }
- }}
+
+
+
+
+
+
+
+
+
+
+
+ WIP: Flamechart view
diff --git a/packages/devtools/src/app/state/settings.ts b/packages/devtools/src/app/state/settings.ts
index d395598c..7d27ab6e 100644
--- a/packages/devtools/src/app/state/settings.ts
+++ b/packages/devtools/src/app/state/settings.ts
@@ -13,6 +13,7 @@ export interface ClientSettings {
flowExpandAssets: boolean
flowShowAllTransforms: boolean
flowShowAllLoads: boolean
+ assetViewType: 'list' | 'folder' | 'flamechart'
}
export const settings = useLocalStorage
(
@@ -28,6 +29,7 @@ export const settings = useLocalStorage(
flowExpandAssets: true,
flowShowAllTransforms: false,
flowShowAllLoads: false,
+ assetViewType: 'list',
},
{
mergeDefaults: true,
diff --git a/packages/devtools/src/node/rpc/functions/rolldown-get-asset-details.ts b/packages/devtools/src/node/rpc/functions/rolldown-get-asset-details.ts
new file mode 100644
index 00000000..10a160e4
--- /dev/null
+++ b/packages/devtools/src/node/rpc/functions/rolldown-get-asset-details.ts
@@ -0,0 +1,21 @@
+import { defineRpcFunction } from '../utils'
+
+export const rolldownGetAssetDetails = defineRpcFunction({
+ name: 'vite:rolldown:get-asset-details',
+ type: 'query',
+ setup: ({ manager }) => {
+ return {
+ handler: async ({ session, id }: { session: string, id: string }) => {
+ const reader = await manager.loadSession(session)
+ const assets = await reader.manager.assets
+ const chunks = await reader.manager.chunks
+ const asset = assets.get(id)!
+ const chunk = chunks.get(asset.chunk_id!)!
+ return {
+ asset,
+ chunk,
+ }
+ },
+ }
+ },
+})
diff --git a/packages/devtools/src/node/rpc/index.ts b/packages/devtools/src/node/rpc/index.ts
index 2669b26e..027b6859 100644
--- a/packages/devtools/src/node/rpc/index.ts
+++ b/packages/devtools/src/node/rpc/index.ts
@@ -2,6 +2,7 @@ import type { DefinitionsToFunctions, FilterDefinitions } from './types'
import { getPayload } from './functions/get-payload'
import { openInEditor } from './functions/open-in-editor'
import { openInFinder } from './functions/open-in-finder'
+import { rolldownGetAssetDetails } from './functions/rolldown-get-asset-details'
import { rolldownGetAssetsList } from './functions/rolldown-get-assets-list'
import { rolldownGetChunksGraph } from './functions/rolldown-get-chunks-graph'
import { rolldownGetModuleInfo } from './functions/rolldown-get-module-info'
@@ -23,6 +24,7 @@ export const rpcFunctions = [
rolldownGetModuleTransforms,
rolldownGetChunksGraph,
rolldownGetAssetsList,
+ rolldownGetAssetDetails,
] as const
export type ServerFunctions = DefinitionsToFunctions