@@ -290,20 +290,26 @@ class PackageManager {
290290 }
291291
292292 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+ }
304310 }
305311
306- return await this . runCommand ( 'add' , [ packageName ] )
312+ if ( packageNamesArray . length ) return await this . runCommand ( 'add' , packageNamesArray )
307313 }
308314}
309315
0 commit comments