feat(pack): add pack-destination config · npm/cli@c984fb5 (original) (raw)
1
1
`const t = require('tap')
`
2
2
`const mockNpm = require('../fixtures/mock-npm')
`
3
3
`const pacote = require('pacote')
`
``
4
`+
const path = require('path')
`
4
5
``
5
6
`const OUTPUT = []
`
6
7
`const output = (...msg) => OUTPUT.push(msg)
`
`@@ -27,6 +28,7 @@ const mockPacote = {
`
27
28
`t.afterEach(() => OUTPUT.length = 0)
`
28
29
``
29
30
`t.test('should pack current directory with no arguments', (t) => {
`
``
31
`+
let tarballFileName
`
30
32
`const Pack = t.mock('../../lib/pack.js', {
`
31
33
` libnpmpack,
`
32
34
`npmlog: {
`
`@@ -35,14 +37,46 @@ t.test('should pack current directory with no arguments', (t) => {
`
35
37
`clearProgress: () => {},
`
36
38
`},
`
37
39
`fs: {
`
38
``
`-
writeFile: (file, data, cb) => cb(),
`
``
40
`+
writeFile: (file, data, cb) => {
`
``
41
`+
tarballFileName = file
`
``
42
`+
cb()
`
``
43
`+
},
`
``
44
`+
},
`
``
45
`+
})
`
``
46
`+
const npm = mockNpm({
`
``
47
`+
output,
`
``
48
`+
})
`
``
49
`+
const pack = new Pack(npm)
`
``
50
+
``
51
`+
pack.exec([], err => {
`
``
52
`+
t.error(err, { bail: true })
`
``
53
+
``
54
`` +
const filename = npm-${require('../../package.json').version}.tgz
``
``
55
`+
t.strictSame(OUTPUT, [[filename]])
`
``
56
`+
t.strictSame(tarballFileName, path.resolve(filename))
`
``
57
`+
t.end()
`
``
58
`+
})
`
``
59
`+
})
`
``
60
+
``
61
`+
t.test('follows pack-destination config', (t) => {
`
``
62
`+
let tarballFileName
`
``
63
`+
const Pack = t.mock('../../lib/pack.js', {
`
``
64
`+
libnpmpack,
`
``
65
`+
npmlog: {
`
``
66
`+
notice: () => {},
`
``
67
`+
showProgress: () => {},
`
``
68
`+
clearProgress: () => {},
`
``
69
`+
},
`
``
70
`+
fs: {
`
``
71
`+
writeFile: (file, data, cb) => {
`
``
72
`+
tarballFileName = file
`
``
73
`+
cb()
`
``
74
`+
},
`
39
75
`},
`
40
76
`})
`
41
77
`const npm = mockNpm({
`
42
78
`config: {
`
43
``
`-
unicode: false,
`
44
``
`-
json: false,
`
45
``
`-
'dry-run': false,
`
``
79
`+
'pack-destination': '/tmp/test',
`
46
80
`},
`
47
81
` output,
`
48
82
`})
`
`@@ -53,10 +87,10 @@ t.test('should pack current directory with no arguments', (t) => {
`
53
87
``
54
88
`` const filename = npm-${require('../../package.json').version}.tgz
``
55
89
`t.strictSame(OUTPUT, [[filename]])
`
``
90
`+
t.strictSame(tarballFileName, path.resolve('/tmp/test', filename))
`
56
91
`t.end()
`
57
92
`})
`
58
93
`})
`
59
``
-
60
94
`t.test('should pack given directory', (t) => {
`
61
95
`const testDir = t.testdir({
`
62
96
`'package.json': JSON.stringify({
`