@@ -86,32 +86,30 @@ with --force.`)
86
86
return rimraf ( cachePath )
87
87
}
88
88
89
- // npm cache add <tarball-url>
90
- // npm cache add <pkg> <ver>
91
- // npm cache add <tarball>
92
- // npm cache add <folder>
89
+ // npm cache add <tarball-url>...
90
+ // npm cache add <pkg> <ver>...
91
+ // npm cache add <tarball>...
92
+ // npm cache add <folder>...
93
93
async add ( args ) {
94
94
const usage = 'Usage:\n' +
95
- ' npm cache add <tarball-url>\n' +
96
- ' npm cache add <pkg>@<ver>\n' +
97
- ' npm cache add <tarball>\n' +
98
- ' npm cache add <folder>\n'
95
+ ' npm cache add <tarball-url>... \n' +
96
+ ' npm cache add <pkg>@<ver>... \n' +
97
+ ' npm cache add <tarball>... \n' +
98
+ ' npm cache add <folder>... \n'
99
99
log . silly ( 'cache add' , 'args' , args )
100
- const spec = args [ 0 ] && args [ 0 ] +
101
- ( args [ 1 ] === undefined || args [ 1 ] === null ? '' : `@${ args [ 1 ] } ` )
102
-
103
- if ( ! spec )
100
+ if ( args . length === 0 )
104
101
throw Object . assign ( new Error ( usage ) , { code : 'EUSAGE' } )
105
102
106
- log . silly ( 'cache add' , 'spec' , spec )
107
-
108
- // we ask pacote for the thing, and then just throw the data
109
- // away so that it tee-pipes it into the cache like it does
110
- // for a normal request.
111
- await pacote . tarball . stream ( spec , stream => {
112
- stream . resume ( )
113
- return stream . promise ( )
114
- } , this . npm . flatOptions )
103
+ return Promise . all ( args . map ( spec => {
104
+ log . silly ( 'cache add' , 'spec' , spec )
105
+ // we ask pacote for the thing, and then just throw the data
106
+ // away so that it tee-pipes it into the cache like it does
107
+ // for a normal request.
108
+ return pacote . tarball . stream ( spec , stream => {
109
+ stream . resume ( )
110
+ return stream . promise ( )
111
+ } , this . npm . flatOptions )
112
+ } ) )
115
113
}
116
114
117
115
async verify ( ) {
0 commit comments