const { build } = require('gluegun'); /** * Create the cli and kick it off */ async function run(argv) { // create a CLI runtime const cli = build() .brand('pwcli') .src(__dirname) .plugins('./node_modules', { matching: 'pwcli-*', hidden: true }) .plugin(__dirname + '/../node_modules/@lenne.tech/gluegun-menu/dist', { commandFilePattern: '*.js', extensionFilePattern: '*.js' }) .help({ name: 'help', alias: 'h', hidden: false, dashed: true, run: toolbox => { toolbox.print.info('This is the help'); } }) // provides default for help, h, --help, -h // .version() // provides default for version, v, --version, -v .create(); // enable the following method if you'd like to skip loading one of these core extensions // this can improve performance if they're not necessary for your project: // .exclude(['meta', 'strings', 'print', 'filesystem', 'semver', 'system', 'prompt', 'http', 'template', 'patching', 'package-manager']) // and run it const toolbox = await cli.run(argv); // send it back (for testing, mostly) return toolbox; } module.exports = { run };