@@ -16,6 +16,9 @@ import argsUtils from './util/args'
1616import  {  telemetry  }  from  '@packages/telemetry' 
1717import  {  getCtx ,  hasCtx  }  from  '@packages/data-context' 
1818import  {  warning  as  errorsWarning  }  from  './errors' 
19+ import  pkg  from  '@packages/root' 
20+ import  {  info  }  from  './modes/info' 
21+ import  {  toNumber  }  from  'lodash' 
1922
2023const  debug  =  Debug ( 'cypress:server:cypress' ) 
2124
@@ -206,74 +209,88 @@ export = {
206209    } ) 
207210  } , 
208211
209-   startInMode  ( mode : Mode ,  options : any )  { 
212+     async   startInMode  ( mode : Mode ,  options : any )  { 
210213    debug ( 'starting in mode %s with options %o' ,  mode ,  options ) 
211214
212215    switch  ( mode )  { 
213216      case  'version' :
214-         return   require ( './modes/pkg' ) ( options ) 
215-         . get ( ' version' ) 
216-         . then ( ( version :  any )   =>   { 
217-            return   console . log ( version )   // eslint-disable-line no-console 
218-         } ) . then ( exit0 ) 
219-         . catch ( exitErr ) 
220- 
217+         try   { 
218+            console . log ( pkg . version ) // eslint-disable-line no-console 
219+            exit0 ( ) 
220+         }   catch   ( err )   { 
221+            exitErr ( err ) 
222+         } 
223+          break 
221224      case  'info' :
222-         return  require ( './modes/info' ) ( options ) 
223-         . then ( exit0 ) 
224-         . catch ( exitErr ) 
225- 
225+         try  { 
226+           await  info ( ) 
227+           exit0 ( ) 
228+         }  catch  ( err )  { 
229+           exitErr ( err ) 
230+         } 
231+         break 
226232      case  'smokeTest' :
227-         return  this . runElectron ( mode ,  options ) 
228-         . then ( ( pong : any )  =>  { 
233+         try  { 
234+           const  pong  =  await  this . runElectron ( mode ,  options ) 
235+ 
229236          if  ( ! this . isCurrentlyRunningElectron ( ) )  { 
230-             return  pong 
237+             return  exit ( pong ) 
231238          } 
232239
233240          if  ( pong  ===  options . ping )  { 
234-             return  0 
241+             return  exit ( 0 ) 
235242          } 
236243
237-           return  1 
238-         } ) . then ( exit ) 
239-         . catch ( exitErr ) 
244+           return  exit ( 1 ) 
245+         }  catch  ( err )  { 
246+           exitErr ( err ) 
247+         } 
248+         break 
240249
241250      case  'returnPkg' :
242-         return  require ( './modes/pkg' ) ( options ) 
243-         . then ( ( pkg : any )  =>  { 
244-           return  console . log ( JSON . stringify ( pkg ) )  // eslint-disable-line no-console 
245-         } ) . then ( exit0 ) 
246-         . catch ( exitErr ) 
251+         try  { 
252+           console . log ( JSON . stringify ( pkg ) )  // eslint-disable-line no-console 
253+           exit0 ( ) 
254+         }  catch  ( err )  { 
255+           exitErr ( err ) 
256+         } 
257+         break 
247258
248259      case  'exitWithCode' :
249-         return  require ( './modes/exit' ) ( options ) 
250-         . then ( exit ) 
251-         . catch ( exitErr ) 
260+         try  { 
261+           const  exitCode  =  toNumber ( options . exitWithCode ) 
252262
263+           exit ( exitCode ) 
264+         }  catch  ( err )  { 
265+           exitErr ( err ) 
266+         } 
267+         break 
253268      case  'run' :
254269        // run headlessly and exit 
255270        // with num of totalFailed 
256-         return  this . runElectron ( mode ,  options ) 
257-         . then ( ( results : any )  =>  { 
271+         try  { 
272+         const  results  =  await  this . runElectron ( mode ,  options ) 
273+ 
258274          if  ( results . runs )  { 
259275            const  isCanceled  =  results . runs . filter ( ( run )  =>  run . skippedSpec ) . length 
260276
261277            if  ( isCanceled )  { 
262278              // eslint-disable-next-line no-console 
263279              console . log ( require ( 'chalk' ) . magenta ( '\n  Exiting with non-zero exit code because the run was canceled.' ) ) 
264280
265-               return  1 
281+               return  exit ( 1 ) 
266282            } 
267283          } 
268284
269285          if  ( options . posixExitCodes )  { 
270-             return  results . totalFailed  ? 1  : 0 
286+             return  exit ( results . totalFailed  ? 1  : 0 ) 
271287          } 
272288
273-           return  results . totalFailed 
274-         } ) 
275-         . then ( exit ) 
276-         . catch ( exitErr ) 
289+           return  exit ( results . totalFailed ) 
290+         }  catch  ( err )  { 
291+           exitErr ( err ) 
292+         } 
293+         break 
277294
278295      case  'interactive' :
279296        return  this . runElectron ( mode ,  options ) 
0 commit comments