UNPKG

@artus-cli/plugin-help

Version:

show help information for @artus-cli

50 lines (49 loc) 1.8 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const artus_cli_1 = require("@artus-cli/artus-cli"); let UsageLifecycle = class UsageLifecycle { async configDidLoad() { // add global options this.program.option({ help: { type: 'boolean', description: 'Show Help', alias: 'h', }, }); this.program.use(async (ctx, next) => { const { binName: bin } = this.program; if (ctx.fuzzyMatched && ctx.args.help) { // redirect to help command const utils = ctx.container.get(artus_cli_1.Utils); return utils.redirect(['help', ctx.fuzzyMatched.uid]); } try { await next(); } catch (e) { if (e instanceof artus_cli_1.ArtusCliError) { // built-in error in artus-cli console.error(`\n ${e.message}, try '${ctx.fuzzyMatched.cmds.join(' ') || bin} --help' for more information.\n`); process.exit(1); } throw e; } }); } }; tslib_1.__decorate([ (0, artus_cli_1.Inject)(), tslib_1.__metadata("design:type", artus_cli_1.Program) ], UsageLifecycle.prototype, "program", void 0); tslib_1.__decorate([ (0, artus_cli_1.LifecycleHook)(), tslib_1.__metadata("design:type", Function), tslib_1.__metadata("design:paramtypes", []), tslib_1.__metadata("design:returntype", Promise) ], UsageLifecycle.prototype, "configDidLoad", null); UsageLifecycle = tslib_1.__decorate([ (0, artus_cli_1.LifecycleHookUnit)() ], UsageLifecycle); exports.default = UsageLifecycle;