Files
pwcli/src/cli.ts
T

38 lines
1.1 KiB
TypeScript

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 };