UNPKG

log4brains

Version:

Log and publish your architecture decisions (ADR) with Log4brains

71 lines (61 loc) 2.13 kB
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } var chalk = _interopDefault(require('chalk')); var cliCommon = require('@log4brains/cli-common'); var core = require('@log4brains/core'); var commander = _interopDefault(require('commander')); var init = require('@log4brains/init'); var cli = require('@log4brains/cli'); var web = require('@log4brains/web'); function createGlobalCli({ appConsole, version }) { const program = new commander.Command(); program.version(version).description("Log4brains CLI to preview and build your architecture knowledge base.\n" + "You can also manage your ADRs from here (see `log4brains adr --help`).\n\n" + "All the commands should be run from your project's root folder.\n\n" + "Add the `--help` option to any command to see its detailed documentation."); const initCli = init.createInitCli({ appConsole }); const cli$1 = cli.createCli({ appConsole }); const webCli = web.createWebCli({ appConsole }); [...initCli.commands, ...cli$1.commands, ...webCli.commands].forEach(cmd => { program.addCommand(cmd); }); return program; } const debug = !!process.env.DEBUG; const dev = process.env.NODE_ENV === "development"; const appConsole = new cliCommon.AppConsole({ debug, traces: debug || dev }); function handleError(err) { if (appConsole.isSpinning()) { appConsole.stopSpinner(true); } if (err instanceof cliCommon.FailureExit) { process.exit(1); } if (err instanceof core.Log4brainsConfigNotFoundError) { appConsole.fatal(`Cannot find ${chalk.bold(".log4brains.yml")}`); appConsole.printlnErr(chalk.red(`You are in the wrong directory or you need to run ${chalk.cyan("log4brains init")}`)); process.exit(1); } appConsole.fatal(err); process.exit(1); } try { // eslint-disable-next-line const pkgVersion = require("../package.json").version; const cli = createGlobalCli({ version: pkgVersion, appConsole }); cli.parseAsync(process.argv).catch(handleError); } catch (e) { handleError(e); } //# sourceMappingURL=index.js.map