UNPKG

@backstage/cli

Version:

CLI for developing Backstage plugins and apps

52 lines (45 loc) 1.31 kB
'use strict'; var chalk = require('chalk'); var ora = require('ora'); function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; } var chalk__default = /*#__PURE__*/_interopDefaultCompat(chalk); var ora__default = /*#__PURE__*/_interopDefaultCompat(ora); const TASK_NAME_MAX_LENGTH = 14; class Task { static log(name = "") { process.stderr.write(`${chalk__default.default.green(name)} `); } static error(message = "") { process.stderr.write(` ${chalk__default.default.red(message)} `); } static section(name) { const title = chalk__default.default.green(`${name}:`); process.stderr.write(` ${title} `); } static exit(code = 0) { process.exit(code); } static async forItem(task, item, taskFunc) { const paddedTask = chalk__default.default.green(task.padEnd(TASK_NAME_MAX_LENGTH)); const spinner = ora__default.default({ prefixText: chalk__default.default.green(` ${paddedTask}${chalk__default.default.cyan(item)}`), spinner: "arc", color: "green" }).start(); try { const result = await taskFunc(); spinner.succeed(); return result; } catch (error) { spinner.fail(); throw error; } } } exports.Task = Task; //# sourceMappingURL=tasks.cjs.js.map