import { logger } from './szci.logging.ts'; import * as plugins from './szci.plugins.ts'; import * as paths from './szci.paths.ts'; import { Szci } from './szci.classes.szci.ts'; export class SzciCli { public szciRef: Szci; public smartcli: plugins.smartcli.Smartcli; constructor(szciArg: Szci) { this.szciRef = szciArg; this.smartcli = new plugins.smartcli.Smartcli(); this.smartcli.addVersion(this.szciRef.szciInfo.version); // docker this.smartcli.addCommand('docker').subscribe( async (argvArg) => { await this.szciRef.dockerManager.handleCli(argvArg); }, (err) => { console.log(err); Deno.exit(1); } ); // git this.smartcli.addCommand('git').subscribe( async (argvArg) => { await this.szciRef.gitManager.handleCli(argvArg); }, (err) => { console.log(err); Deno.exit(1); } ); // node this.smartcli.addCommand('node').subscribe( async (argvArg) => { await this.szciRef.nodejsManager.handleCli(argvArg); }, (err) => { console.log(err); Deno.exit(1); } ); // npm this.smartcli.addCommand('npm').subscribe( async (argvArg) => { await this.szciRef.npmManager.handleCli(argvArg); }, (err) => { console.log(err); } ); // ssh this.smartcli.addCommand('ssh').subscribe(async (argvArg) => { const modSsh = await import('./mod_ssh/index.ts'); await modSsh.handleCli(argvArg); }); } public startParse = () => { this.smartcli.startParse(); }; }