UNPKG

@wpk-cli/cli

Version:

an unofficial CLI for webpack

101 lines (75 loc) 2.29 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _isString = _interopRequireDefault(require("lodash/isString")); var _isArray = _interopRequireDefault(require("lodash/isArray")); var _isFunction = _interopRequireDefault(require("lodash/isFunction")); var _logger = _interopRequireDefault(require("@wpk-cli/logger")); var _assign = _interopRequireDefault(require("lodash/assign")); var _cliClear = _interopRequireDefault(require("cli-clear")); var _utilities = require("@wpk-cli/utilities"); let initialised = false; const globals = global.wpk = { log: _logger.default, clear() {}, logExitDebugs() {}, exit(code) { _logger.default.intercept.restore(); globals.logExitDebugs(); const shouldExit = process.env.__WPK_TEST__DISABLE_PROCESS_EXIT; if (!shouldExit || shouldExit === "false") { process.exit(code); } }, try(what, fn, report = false) { if ((0, _isString.default)(what)) { what = [what]; } else if (!(0, _isArray.default)(what)) { throw new Error("expecting what to be array or string"); } if (!(0, _isFunction.default)(fn)) { throw new Error("expecting fn to be function"); } what[0] = "failed " + what; try { return fn(); } catch (err) { (0, _utilities.printError)(err, what, report); globals.exit(1); } }, initialise: /* istanbul ignore next */ function initialise({ program, command, cmd, info }) { if (initialised) { throw new Error("tried to initialise global.wpk twice"); } initialised = true; (0, _assign.default)(this, { commandInfo: info, startedAt: Date.now(), help: program.help.bind(program), clear() { (0, _cliClear.default)(); (0, _logger.default)(globals.commandInfo); }, logExitDebugs() { if (cmd.wpkDebug) { const endedAt = Date.now(); _logger.default.debug("command finished"); _logger.default.debug("run time:", (endedAt - globals.startedAt) / 1000, "seconds"); } } }); } }; var _default = globals; exports.default = _default;