UNPKG

cross-tools

Version:

Cross-platform fundamental tools for developers

1 lines 2.13 kB
"use strict";const tslib_1=require("tslib"),command_1=require("@oclif/command"),colors_1=tslib_1.__importDefault(require("colors")),prompts_1=tslib_1.__importDefault(require("prompts")),fuzzy=tslib_1.__importStar(require("fuzzy")),processAndPorts_1=tslib_1.__importDefault(require("./operations/processAndPorts")),docker_1=tslib_1.__importDefault(require("./operations/docker")),network_1=tslib_1.__importDefault(require("./operations/network")),utility_1=tslib_1.__importDefault(require("./operations/utility")),settings_1=tslib_1.__importDefault(require("./operations/settings")),miscellaneous_1=tslib_1.__importDefault(require("./operations/miscellaneous")),choices=[{title:"Process & Port Tools",value:"process-and-ports",description:"Tools related to port and process"},{title:"Docker Tools",value:"docker",description:"Some handy tools for docker"},{title:"Network Tools",value:"network",description:"Network related handy tools"},{title:"Utilities",value:"utility",description:"Some other utilities"},{title:"Miscellaneous",value:"miscellaneous",description:"Some other miscellaneous tools"},{title:"Settings",value:"settings",description:"Configure your cross-tools"}],titles=choices.map(e=>e.title),promptOpt={type:"autocomplete",name:"operation",message:"Where do you wanna go?",suggest(e){const t=fuzzy.filter(e,titles).map(e=>e.index);return choices.filter((e,o)=>t.includes(o))},choices:choices},ask=async()=>await prompts_1.default(promptOpt,{onCancel:process.exit});class CrossTools extends command_1.Command{async run(){console.clear(),await this.bootApp();const{operation:e}=await ask();switch(e){case"process-and-ports":await processAndPorts_1.default.run();break;case"docker":await docker_1.default.run();break;case"network":await network_1.default.run();break;case"utility":await utility_1.default.run();break;case"settings":await settings_1.default.run();break;case"miscellaneous":await miscellaneous_1.default.run();break;default:console.log(colors_1.default.cyan("Oops. Hopefully next time"))}}async bootApp(){process.on("exit",()=>{console.log(colors_1.default.cyan("Bye 👋"))})}}module.exports=CrossTools;