| 
									
										
										
										
											2019-08-29 20:26:23 +02:00
										 |  |  | import { logger } from './npmci.logging'; | 
					
						
							|  |  |  | import * as plugins from './npmci.plugins'; | 
					
						
							|  |  |  | import * as paths from './npmci.paths'; | 
					
						
							|  |  |  | import { Npmci } from './npmci.classes.npmci'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | export class NpmciCli { | 
					
						
							|  |  |  |   public npmciRef: Npmci; | 
					
						
							|  |  |  |   public smartcli: plugins.smartcli.Smartcli; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   constructor(npmciArg: Npmci) { | 
					
						
							|  |  |  |     this.npmciRef = npmciArg; | 
					
						
							|  |  |  |     this.smartcli = new plugins.smartcli.Smartcli(); | 
					
						
							|  |  |  |     this.smartcli.addVersion(this.npmciRef.npmciInfo.projectInfo.version); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     // clean
 | 
					
						
							|  |  |  |     this.smartcli.addCommand('clean').subscribe( | 
					
						
							|  |  |  |       async argv => { | 
					
						
							|  |  |  |         const modClean = await import('./mod_clean/index'); | 
					
						
							|  |  |  |         await modClean.clean(); | 
					
						
							|  |  |  |       }, | 
					
						
							|  |  |  |       err => { | 
					
						
							|  |  |  |         console.log(err); | 
					
						
							|  |  |  |         process.exit(1); | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |     ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     // command
 | 
					
						
							|  |  |  |     this.smartcli.addCommand('command').subscribe( | 
					
						
							|  |  |  |       async argv => { | 
					
						
							|  |  |  |         const modCommand = await import('./mod_command/index'); | 
					
						
							|  |  |  |         await modCommand.command(); | 
					
						
							|  |  |  |       }, | 
					
						
							|  |  |  |       err => { | 
					
						
							|  |  |  |         console.log(err); | 
					
						
							|  |  |  |         process.exit(1); | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |     ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     // command
 | 
					
						
							|  |  |  |     this.smartcli.addCommand('git').subscribe( | 
					
						
							|  |  |  |       async argvArg => { | 
					
						
							|  |  |  |         await this.npmciRef.gitManager.handleCli(argvArg); | 
					
						
							|  |  |  |       }, | 
					
						
							|  |  |  |       err => { | 
					
						
							|  |  |  |         console.log(err); | 
					
						
							|  |  |  |         process.exit(1); | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |     ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     // build
 | 
					
						
							|  |  |  |     this.smartcli.addCommand('docker').subscribe( | 
					
						
							|  |  |  |       async argvArg => { | 
					
						
							|  |  |  |         await this.npmciRef.dockerManager.handleCli(argvArg); | 
					
						
							|  |  |  |       }, | 
					
						
							|  |  |  |       err => { | 
					
						
							|  |  |  |         console.log(err); | 
					
						
							|  |  |  |         process.exit(1); | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |     ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     // node
 | 
					
						
							|  |  |  |     this.smartcli.addCommand('node').subscribe( | 
					
						
							|  |  |  |       async argvArg => { | 
					
						
							|  |  |  |         await this.npmciRef.nodejsManager.handleCli(argvArg); | 
					
						
							|  |  |  |       }, | 
					
						
							|  |  |  |       err => { | 
					
						
							|  |  |  |         console.log(err); | 
					
						
							|  |  |  |         process.exit(1); | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |     ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     // npm
 | 
					
						
							|  |  |  |     this.smartcli.addCommand('npm').subscribe( | 
					
						
							|  |  |  |       async argvArg => { | 
					
						
							|  |  |  |         await this.npmciRef.npmManager.handleCli(argvArg); | 
					
						
							|  |  |  |       }, | 
					
						
							|  |  |  |       err => { | 
					
						
							|  |  |  |         console.log(err); | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |     ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     // trigger
 | 
					
						
							|  |  |  |     this.smartcli.addCommand('ssh').subscribe( | 
					
						
							|  |  |  |       async argvArg => { | 
					
						
							|  |  |  |         const modSsh = await import('./mod_ssh/index'); | 
					
						
							|  |  |  |         await modSsh.handleCli(argvArg); | 
					
						
							|  |  |  |       }, | 
					
						
							|  |  |  |       err => { | 
					
						
							|  |  |  |         console.log(err); | 
					
						
							|  |  |  |         process.exit(1); | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |     ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     // trigger
 | 
					
						
							|  |  |  |     this.smartcli.addCommand('trigger').subscribe( | 
					
						
							|  |  |  |       async argv => { | 
					
						
							|  |  |  |         const modTrigger = await import('./mod_trigger/index'); | 
					
						
							|  |  |  |         await modTrigger.trigger(); | 
					
						
							|  |  |  |       }, | 
					
						
							|  |  |  |       err => { | 
					
						
							|  |  |  |         console.log(err); | 
					
						
							|  |  |  |         process.exit(1); | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |     ); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   public startParse = () => { | 
					
						
							|  |  |  |     this.smartcli.startParse(); | 
					
						
							| 
									
										
										
										
											2019-08-29 20:38:44 +02:00
										 |  |  |   }; | 
					
						
							| 
									
										
										
										
											2019-08-29 20:26:23 +02:00
										 |  |  | } |