@@ -22,11 +22,18 @@ const modulesMap = computed(() => {
2222 return map
2323})
2424
25- const chunkSize = computed (() => props .chunk .modules .reduce ((total , moduleId ) => {
26- const moduleInfo = modulesMap .value .get (moduleId )
27- const transforms = moduleInfo ?.buildMetrics ?.transforms
28- return transforms ?.length ? total + transforms [transforms .length - 1 ]! .transformed_code_size : total
29- }, 0 ))
25+ function getModuleSize(modules : string []) {
26+ return modules .reduce ((total , id ) => {
27+ const moduleInfo = modulesMap .value .get (id )
28+ if (! moduleInfo || ! moduleInfo .buildMetrics ?.transforms ?.length )
29+ return total
30+
31+ const transforms = moduleInfo .buildMetrics .transforms
32+ return total + transforms [transforms .length - 1 ]! .transformed_code_size
33+ }, 0 )
34+ }
35+
36+ const chunkSize = computed (() => getModuleSize (props .chunk .modules ))
3037
3138const route = useRoute ()
3239const rpc = useRpc ()
@@ -45,7 +52,7 @@ const { state, isLoading } = useAsyncState(
4552
4653const normalizedChunks = computed (() => props .chunks || state .value )
4754
48- const imports = computed ((): RolldownChunkImport [] => {
55+ const imports = computed ((): Array < RolldownChunkImport & { size : number }> => {
4956 return props .chunk .imports .map ((importChunk ) => {
5057 const chunk = normalizedChunks .value ?.find (c => c .chunk_id === importChunk .chunk_id )
5158 return {
@@ -54,6 +61,7 @@ const imports = computed((): RolldownChunkImport[] => {
5461 reason: chunk ?.reason || ' common' ,
5562 imports: chunk ?.imports .length || 0 ,
5663 modules: chunk ?.modules .length || 0 ,
64+ size: getModuleSize (chunk ?.modules || []),
5765 }
5866 })
5967})
@@ -79,7 +87,10 @@ const importers = computed((): RolldownChunkImport[] => {
7987 <ChunksBaseInfo :chunk =" chunk" >
8088 <template #left-after >
8189 <DisplayBadge v-if =" chunk.is_initial" text =" initial" />
82- <DisplayFileSizeBadge :bytes =" chunkSize" text-sm />
90+ <DisplayFileSizeBadge :bytes =" chunkSize" text-sm title =" Chunk size" />
91+ <div v-if =" imports.length" text-sm op50 flex =" ~ items-center" title =" Total size of imports" >
92+ (<DisplayFileSizeBadge :bytes =" imports.reduce((total, i) => total + i.size, 0) " />)
93+ </div >
8394 </template >
8495 <slot />
8596 </ChunksBaseInfo >
0 commit comments