@@ -290,20 +290,26 @@ class PackageManager {
290
290
}
291
291
292
292
async upgrade ( packageName ) {
293
- const realname = stripVersion ( packageName )
294
- if (
295
- isTestOrDebug &&
296
- ( packageName === '@vue/cli-service' || isOfficialPlugin ( resolvePluginId ( realname ) ) )
297
- ) {
298
- // link packages in current repo for test
299
- const src = path . resolve ( __dirname , `../../../../${ realname } ` )
300
- const dest = path . join ( this . context , 'node_modules' , realname )
301
- await fs . remove ( dest )
302
- await fs . symlink ( src , dest , 'dir' )
303
- return
293
+ // manage multiple packages separated by spaces
294
+ const packageNamesArray = [ ]
295
+
296
+ for ( const packname of packageName . split ( ' ' ) ) {
297
+ const realname = stripVersion ( packname )
298
+ if (
299
+ isTestOrDebug &&
300
+ ( packname === '@vue/cli-service' || isOfficialPlugin ( resolvePluginId ( realname ) ) )
301
+ ) {
302
+ // link packages in current repo for test
303
+ const src = path . resolve ( __dirname , `../../../../${ realname } ` )
304
+ const dest = path . join ( this . context , 'node_modules' , realname )
305
+ await fs . remove ( dest )
306
+ await fs . symlink ( src , dest , 'dir' )
307
+ } else {
308
+ packageNamesArray . push ( packname )
309
+ }
304
310
}
305
311
306
- return await this . runCommand ( 'add' , [ packageName ] )
312
+ if ( packageNamesArray . length ) return await this . runCommand ( 'add' , packageNamesArray )
307
313
}
308
314
}
309
315
0 commit comments