MCPcopy
hub / github.com/vitest-dev/vitest / getModuleGraph

Function getModuleGraph

packages/ui/client/composables/module-graph.ts:60–99  ·  view source on GitHub ↗
(
  data: ModuleGraphData,
  rootPath: string | undefined,
)

Source from the content-addressed store, hash-verified

58}
59
60export function getModuleGraph(
61 data: ModuleGraphData,
62 rootPath: string | undefined,
63): ModuleGraph {
64 if (!data) {
65 return defineGraph({})
66 }
67
68 const externalizedNodes = !config.value.experimental?.viteModuleRunner
69 ? defineExternalModuleNodes([...data.inlined, ...data.externalized])
70 : defineExternalModuleNodes(data.externalized)
71 const inlinedNodes
72 = !config.value.experimental?.viteModuleRunner
73 ? []
74 : data.inlined.map(module =>
75 defineInlineModuleNode(module, module === rootPath),
76 ) ?? []
77 const nodes = [...externalizedNodes, ...inlinedNodes]
78 const nodeMap = Object.fromEntries(nodes.map(node => [node.id, node]))
79 const links = Object.entries(data.graph).flatMap(
80 ([module, deps]) =>
81 deps
82 .map((dep) => {
83 const source = nodeMap[module]
84 const target = nodeMap[dep]
85 if (source === undefined || target === undefined) {
86 return undefined
87 }
88
89 return defineLink({
90 source,
91 target,
92 color: 'var(--color-link)',
93 label: false,
94 })
95 })
96 .filter(link => link !== undefined) as ModuleLink[],
97 )
98 return defineGraph({ nodes, links })
99}

Callers 1

onTestRunEndMethod · 0.90

Calls 4

defineInlineModuleNodeFunction · 0.85
entriesMethod · 0.80
filterMethod · 0.65

Tested by

no test coverage detected