npmci/ts/npmci.classes.npmcicli.ts

111 lines
2.5 KiB
TypeScript
Raw Normal View History

2019-08-29 18:26:23 +00: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(
2021-05-14 18:11:12 +00:00
async (argv) => {
2019-08-29 18:26:23 +00:00
const modClean = await import('./mod_clean/index');
await modClean.clean();
},
2021-05-14 18:11:12 +00:00
(err) => {
2019-08-29 18:26:23 +00:00
console.log(err);
process.exit(1);
}
);
// command
this.smartcli.addCommand('command').subscribe(
2021-05-14 18:11:12 +00:00
async (argv) => {
2019-08-29 18:26:23 +00:00
const modCommand = await import('./mod_command/index');
await modCommand.command();
},
2021-05-14 18:11:12 +00:00
(err) => {
2019-08-29 18:26:23 +00:00
console.log(err);
process.exit(1);
}
);
// command
this.smartcli.addCommand('git').subscribe(
2021-05-14 18:11:12 +00:00
async (argvArg) => {
2019-08-29 18:26:23 +00:00
await this.npmciRef.gitManager.handleCli(argvArg);
},
2021-05-14 18:11:12 +00:00
(err) => {
2019-08-29 18:26:23 +00:00
console.log(err);
process.exit(1);
}
);
// build
this.smartcli.addCommand('docker').subscribe(
2021-05-14 18:11:12 +00:00
async (argvArg) => {
2019-08-29 18:26:23 +00:00
await this.npmciRef.dockerManager.handleCli(argvArg);
},
2021-05-14 18:11:12 +00:00
(err) => {
2019-08-29 18:26:23 +00:00
console.log(err);
process.exit(1);
}
);
// node
this.smartcli.addCommand('node').subscribe(
2021-05-14 18:11:12 +00:00
async (argvArg) => {
2019-08-29 18:26:23 +00:00
await this.npmciRef.nodejsManager.handleCli(argvArg);
},
2021-05-14 18:11:12 +00:00
(err) => {
2019-08-29 18:26:23 +00:00
console.log(err);
process.exit(1);
}
);
// npm
this.smartcli.addCommand('npm').subscribe(
2021-05-14 18:11:12 +00:00
async (argvArg) => {
2019-08-29 18:26:23 +00:00
await this.npmciRef.npmManager.handleCli(argvArg);
},
2021-05-14 18:11:12 +00:00
(err) => {
2019-08-29 18:26:23 +00:00
console.log(err);
}
);
// trigger
this.smartcli.addCommand('ssh').subscribe(
2021-05-14 18:11:12 +00:00
async (argvArg) => {
2019-08-29 18:26:23 +00:00
const modSsh = await import('./mod_ssh/index');
await modSsh.handleCli(argvArg);
},
2021-05-14 18:11:12 +00:00
(err) => {
2019-08-29 18:26:23 +00:00
console.log(err);
process.exit(1);
}
);
// trigger
this.smartcli.addCommand('trigger').subscribe(
2021-05-14 18:11:12 +00:00
async (argv) => {
2019-08-29 18:26:23 +00:00
const modTrigger = await import('./mod_trigger/index');
await modTrigger.trigger();
},
2021-05-14 18:11:12 +00:00
(err) => {
2019-08-29 18:26:23 +00:00
console.log(err);
process.exit(1);
}
);
}
public startParse = () => {
this.smartcli.startParse();
2019-08-29 18:38:44 +00:00
};
2019-08-29 18:26:23 +00:00
}