blob: efb7ac33ced8e674e832ff68b49593f0482f6a14 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
import path from 'path'
import { DepGraph } from 'dependency-graph'
export default function createDependencyGraph() {
const graph = new DepGraph()
return {
add(message) {
message.parent = path.resolve(message.parent)
graph.addNode(message.parent)
if (message.type === 'dir-dependency') {
message.dir = path.resolve(message.dir)
graph.addNode(message.dir)
graph.addDependency(message.parent, message.dir)
} else {
message.file = path.resolve(message.file)
graph.addNode(message.file)
graph.addDependency(message.parent, message.file)
}
return message
},
dependantsOf(node) {
node = path.resolve(node)
if (graph.hasNode(node)) return graph.dependantsOf(node)
return []
},
}
}
|