Skip to content

Commit a06930e

Browse files
committed
fix: missing asset info in module details
1 parent 71bde22 commit a06930e

3 files changed

Lines changed: 34 additions & 12 deletions

File tree

packages/devtools/src/app/components/data/AssetDetails.vue

Lines changed: 33 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,44 @@
22
import type { Asset as AssetInfo } from '@rolldown/debug'
33
import type { RolldownAssetInfo, RolldownChunkInfo, SessionContext } from '~~/shared/types'
44
import { useRpc } from '#imports'
5+
import { useAsyncState } from '@vueuse/core'
56
import { computed, ref } from 'vue'
67
import { settings } from '~~/app/state/settings'
78
8-
const props = defineProps<{
9-
chunks: RolldownChunkInfo[]
9+
const props = withDefaults(defineProps<{
1010
session: SessionContext
1111
asset: RolldownAssetInfo
12-
importers: AssetInfo[]
13-
imports: AssetInfo[]
14-
}>()
12+
chunks?: RolldownChunkInfo[]
13+
importers?: AssetInfo[]
14+
imports?: AssetInfo[]
15+
lazy?: boolean
16+
}>(), {
17+
lazy: false,
18+
})
1519
1620
const rpc = useRpc()
1721
const showSource = ref(false)
18-
const assetChunks = computed(() => props.chunks.filter(c => c.chunk_id === props.asset.chunk_id))
22+
const { state } = useAsyncState(
23+
async () => {
24+
const res = await rpc.value!['vite:rolldown:get-asset-details']?.({
25+
session: props.session.id,
26+
id: props.asset.filename,
27+
})
28+
return {
29+
chunks: [{ ...res?.chunk, type: 'chunk' }],
30+
importers: res?.importers,
31+
imports: res?.imports,
32+
} satisfies {
33+
chunks: RolldownChunkInfo[]
34+
importers: AssetInfo[]
35+
imports: AssetInfo[]
36+
}
37+
},
38+
null,
39+
)
40+
const assetChunks = computed(() => props.lazy ? state.value?.chunks : props.chunks?.filter(c => c.chunk_id === props.asset.chunk_id))
41+
const _importers = computed(() => props.lazy ? state.value?.importers : props.importers)
42+
const _imports = computed(() => props.lazy ? state.value?.imports : props.imports)
1943
2044
function openInEditor() {
2145
rpc.value!['vite:open-in-editor'](`${props.session.meta.dir}/${props.asset.filename}`)
@@ -81,14 +105,14 @@ function openInEditor() {
81105
/>
82106
</div>
83107
</div>
84-
<template v-if="importers.length || imports.length">
108+
<template v-if="_importers?.length || _imports?.length">
85109
<div flex="~ col gap-2">
86110
<div op50>
87111
Asset Relationships
88112
</div>
89113
<DataAssetRelationships
90-
:importers="importers"
91-
:imports="imports"
114+
:importers="_importers"
115+
:imports="_imports"
92116
/>
93117
</div>
94118
</template>

packages/devtools/src/app/components/flowmap/ModuleFlow.vue

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,6 @@ function handleClose() {
5050
<ModuleFlowDetails
5151
:selected="selected"
5252
:session="session"
53-
:chunks="info.chunks"
5453
@close="handleClose"
5554
/>
5655
</div>

packages/devtools/src/app/components/flowmap/ModuleFlowDetails.vue

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import PluginName from '../display/PluginName.vue'
77
const props = defineProps<{
88
selected: RolldownChunkInfo | RolldownModuleFlowNode | null
99
session: SessionContext
10-
chunks: RolldownChunkInfo[]
1110
}>()
1211
1312
const emit = defineEmits<{
@@ -62,7 +61,7 @@ function handleClose() {
6261
<DataAssetDetails
6362
:asset="selected"
6463
:session="session"
65-
:chunks="chunks"
64+
:lazy="true"
6665
/>
6766
</div>
6867
</template>

0 commit comments

Comments
 (0)