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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
const t = require('tap')
const { normalizePath } = require('./fixtures/utils.js')
const fp = require('../lib/from-path.js')
const fromPath = (node, edge) => normalizePath(fp(node, edge))
t.equal(fromPath({
realpath: '/some/path',
}), '/some/path', 'use path if no resolved spec')
t.equal(fromPath({
realpath: '/some/path/to/directory',
resolved: 'file:/dont/use/this',
}), '/some/path/to/directory', 'use target path if dir type')
t.equal(fromPath({
realpath: '/some/path/to/install/target',
resolved: 'file:/some/path/to/file.tgz',
}), '/some/path/to', 'use dirname of resolved if file type')
t.equal(fromPath({
realpath: '/some/path/to/install/target',
resolved: 'https://registry.com/package.tgz',
}), '/some/path/to/install/target', 'use dirname if not dir or file type')
t.equal(fromPath({
root: {
realpath: '/some/root',
},
}, {
name: 'foo',
overrides: {
name: 'foo',
value: 'foo@2',
},
}), '/some/root', 'uses root realpath for overridden edges')
t.equal(fromPath({
sourceReference: {
root: {
realpath: '/some/root',
},
},
realpath: '/some/red/herring',
}, {
name: 'foo',
overrides: {
name: 'foo',
value: 'foo@2',
},
}), '/some/root', 'uses sourceReferences root realpath for overridden edges')
|