Skip to content

Commit 27300e7

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

File tree

3 files changed

+36
-12
lines changed

3 files changed

+36
-12
lines changed

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

Lines changed: 35 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,46 @@
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+
if (!props.lazy)
25+
return
26+
const res = await rpc.value!['vite:rolldown:get-asset-details']?.({
27+
session: props.session.id,
28+
id: props.asset.filename,
29+
})
30+
return {
31+
chunks: [{ ...res?.chunk, type: 'chunk' }],
32+
importers: res?.importers,
33+
imports: res?.imports,
34+
} satisfies {
35+
chunks: RolldownChunkInfo[]
36+
importers: AssetInfo[]
37+
imports: AssetInfo[]
38+
}
39+
},
40+
null,
41+
)
42+
const assetChunks = computed(() => props.lazy ? state.value?.chunks : props.chunks?.filter(c => c.chunk_id === props.asset.chunk_id))
43+
const _importers = computed(() => props.lazy ? state.value?.importers : props.importers)
44+
const _imports = computed(() => props.lazy ? state.value?.imports : props.imports)
1945
2046
function openInEditor() {
2147
rpc.value!['vite:open-in-editor'](`${props.session.meta.dir}/${props.asset.filename}`)
@@ -81,14 +107,14 @@ function openInEditor() {
81107
/>
82108
</div>
83109
</div>
84-
<template v-if="importers.length || imports.length">
110+
<template v-if="_importers?.length || _imports?.length">
85111
<div flex="~ col gap-2">
86112
<div op50>
87113
Asset Relationships
88114
</div>
89115
<DataAssetRelationships
90-
:importers="importers"
91-
:imports="imports"
116+
:importers="_importers"
117+
:imports="_imports"
92118
/>
93119
</div>
94120
</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)