UNPKG

@axway/axway-cli-pm

Version:

Package manager for Axway products

74 lines (60 loc) 6.28 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ListrTextRenderer = void 0; exports.runListr = runListr; var _listr = require("listr2"); var _cliKit = require("cli-kit"); /** * Custom Listr renderer for non-TTY environments. */ class ListrTextRenderer { constructor(tasks, options) { this._tasks = tasks; this._console = (options === null || options === void 0 ? void 0 : options.console) || console; } static get nonTTY() { return true; } render() { this._console.error(_cliKit.ansi.cursor.hide); for (const task of this._tasks) { task.subscribe(event => { if (event.type === 'STATE') { const message = task.isPending() ? 'started' : task.state.toLowerCase(); this._console.log(`${task.title} [${message}]`); } else if (event.type === 'TITLE') { this._console.log(task.title); } }, err => this._console.error(err)); } } end() { this._console.error(_cliKit.ansi.cursor.show); } } /** * Creates a Listr instance with the appropriate settings and executes the tasks. * * @param {Object} params - Various parameters. * @param {Object} params.console - The console instance. * @param {Boolean} params.json - When `true`, indicates JSON mode and thus silence Listr rendering. * @param {Array.<Object>} params.tasks - A list of tasks to execute. * @returns {Promise} */ exports.ListrTextRenderer = ListrTextRenderer; async function runListr({ console, json, tasks }) { await new _listr.Listr(tasks, { concurrent: 10, console, dateFormat: false, exitOnError: false, renderer: json ? 'silent' : process.stdout.isTTY === true ? 'default' : ListrTextRenderer }).run(); } //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJuYW1lcyI6WyJMaXN0clRleHRSZW5kZXJlciIsImNvbnN0cnVjdG9yIiwidGFza3MiLCJvcHRpb25zIiwiX3Rhc2tzIiwiX2NvbnNvbGUiLCJjb25zb2xlIiwibm9uVFRZIiwicmVuZGVyIiwiZXJyb3IiLCJhbnNpIiwiY3Vyc29yIiwiaGlkZSIsInRhc2siLCJzdWJzY3JpYmUiLCJldmVudCIsInR5cGUiLCJtZXNzYWdlIiwiaXNQZW5kaW5nIiwic3RhdGUiLCJ0b0xvd2VyQ2FzZSIsImxvZyIsInRpdGxlIiwiZXJyIiwiZW5kIiwic2hvdyIsInJ1bkxpc3RyIiwianNvbiIsIkxpc3RyIiwiY29uY3VycmVudCIsImRhdGVGb3JtYXQiLCJleGl0T25FcnJvciIsInJlbmRlcmVyIiwicHJvY2VzcyIsInN0ZG91dCIsImlzVFRZIiwicnVuIl0sInNvdXJjZXMiOlsidXRpbHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTGlzdHIgfSBmcm9tICdsaXN0cjInO1xuaW1wb3J0IHsgYW5zaSB9IGZyb20gJ2NsaS1raXQnO1xuXG4vKipcbiAqIEN1c3RvbSBMaXN0ciByZW5kZXJlciBmb3Igbm9uLVRUWSBlbnZpcm9ubWVudHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBMaXN0clRleHRSZW5kZXJlciB7XG5cdGNvbnN0cnVjdG9yKHRhc2tzLCBvcHRpb25zKSB7XG5cdFx0dGhpcy5fdGFza3MgPSB0YXNrcztcblx0XHR0aGlzLl9jb25zb2xlID0gb3B0aW9ucz8uY29uc29sZSB8fCBjb25zb2xlO1xuXHR9XG5cblx0c3RhdGljIGdldCBub25UVFkoKSB7XG5cdFx0cmV0dXJuIHRydWU7XG5cdH1cblxuXHRyZW5kZXIoKSB7XG5cdFx0dGhpcy5fY29uc29sZS5lcnJvcihhbnNpLmN1cnNvci5oaWRlKTtcblxuXHRcdGZvciAoY29uc3QgdGFzayBvZiB0aGlzLl90YXNrcykge1xuXHRcdFx0dGFzay5zdWJzY3JpYmUoXG5cdFx0XHRcdGV2ZW50ID0+IHtcblx0XHRcdFx0XHRpZiAoZXZlbnQudHlwZSA9PT0gJ1NUQVRFJykge1xuXHRcdFx0XHRcdFx0Y29uc3QgbWVzc2FnZSA9IHRhc2suaXNQZW5kaW5nKCkgPyAnc3RhcnRlZCcgOiB0YXNrLnN0YXRlLnRvTG93ZXJDYXNlKCk7XG5cdFx0XHRcdFx0XHR0aGlzLl9jb25zb2xlLmxvZyhgJHt0YXNrLnRpdGxlfSBbJHttZXNzYWdlfV1gKTtcblx0XHRcdFx0XHR9IGVsc2UgaWYgKGV2ZW50LnR5cGUgPT09ICdUSVRMRScpIHtcblx0XHRcdFx0XHRcdHRoaXMuX2NvbnNvbGUubG9nKHRhc2sudGl0bGUpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSxcblx0XHRcdFx0ZXJyID0+IHRoaXMuX2NvbnNvbGUuZXJyb3IoZXJyKVxuXHRcdFx0KTtcblx0XHR9XG5cdH1cblxuXHRlbmQoKSB7XG5cdFx0dGhpcy5fY29uc29sZS5lcnJvcihhbnNpLmN1cnNvci5zaG93KTtcblx0fVxufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBMaXN0ciBpbnN0YW5jZSB3aXRoIHRoZSBhcHByb3ByaWF0ZSBzZXR0aW5ncyBhbmQgZXhlY3V0ZXMgdGhlIHRhc2tzLlxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBwYXJhbXMgLSBWYXJpb3VzIHBhcmFtZXRlcnMuXG4gKiBAcGFyYW0ge09iamVjdH0gcGFyYW1zLmNvbnNvbGUgLSBUaGUgY29uc29sZSBpbnN0YW5jZS5cbiAqIEBwYXJhbSB7Qm9vbGVhbn0gcGFyYW1zLmpzb24gLSBXaGVuIGB0cnVlYCwgaW5kaWNhdGVzIEpTT04gbW9kZSBhbmQgdGh1cyBzaWxlbmNlIExpc3RyIHJlbmRlcmluZy5cbiAqIEBwYXJhbSB7QXJyYXkuPE9iamVjdD59IHBhcmFtcy50YXNrcyAtIEEgbGlzdCBvZiB0YXNrcyB0byBleGVjdXRlLlxuICogQHJldHVybnMge1Byb21pc2V9XG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBydW5MaXN0cih7IGNvbnNvbGUsIGpzb24sIHRhc2tzIH0pIHtcblx0YXdhaXQgKG5ldyBMaXN0cih0YXNrcywge1xuXHRcdGNvbmN1cnJlbnQ6IDEwLFxuXHRcdGNvbnNvbGUsXG5cdFx0ZGF0ZUZvcm1hdDogZmFsc2UsXG5cdFx0ZXhpdE9uRXJyb3I6IGZhbHNlLFxuXHRcdHJlbmRlcmVyOiBqc29uID8gJ3NpbGVudCcgOiBwcm9jZXNzLnN0ZG91dC5pc1RUWSA9PT0gdHJ1ZSA/ICdkZWZhdWx0JyA6IExpc3RyVGV4dFJlbmRlcmVyXG5cdH0pKS5ydW4oKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDTyxNQUFNQSxpQkFBTixDQUF3QjtFQUM5QkMsV0FBVyxDQUFDQyxLQUFELEVBQVFDLE9BQVIsRUFBaUI7SUFDM0IsS0FBS0MsTUFBTCxHQUFjRixLQUFkO0lBQ0EsS0FBS0csUUFBTCxHQUFnQixDQUFBRixPQUFPLFNBQVAsSUFBQUEsT0FBTyxXQUFQLFlBQUFBLE9BQU8sQ0FBRUcsT0FBVCxLQUFvQkEsT0FBcEM7RUFDQTs7RUFFZ0IsV0FBTkMsTUFBTSxHQUFHO0lBQ25CLE9BQU8sSUFBUDtFQUNBOztFQUVEQyxNQUFNLEdBQUc7SUFDUixLQUFLSCxRQUFMLENBQWNJLEtBQWQsQ0FBb0JDLGFBQUtDLE1BQUwsQ0FBWUMsSUFBaEM7O0lBRUEsS0FBSyxNQUFNQyxJQUFYLElBQW1CLEtBQUtULE1BQXhCLEVBQWdDO01BQy9CUyxJQUFJLENBQUNDLFNBQUwsQ0FDQ0MsS0FBSyxJQUFJO1FBQ1IsSUFBSUEsS0FBSyxDQUFDQyxJQUFOLEtBQWUsT0FBbkIsRUFBNEI7VUFDM0IsTUFBTUMsT0FBTyxHQUFHSixJQUFJLENBQUNLLFNBQUwsS0FBbUIsU0FBbkIsR0FBK0JMLElBQUksQ0FBQ00sS0FBTCxDQUFXQyxXQUFYLEVBQS9DOztVQUNBLEtBQUtmLFFBQUwsQ0FBY2dCLEdBQWQsQ0FBbUIsR0FBRVIsSUFBSSxDQUFDUyxLQUFNLEtBQUlMLE9BQVEsR0FBNUM7UUFDQSxDQUhELE1BR08sSUFBSUYsS0FBSyxDQUFDQyxJQUFOLEtBQWUsT0FBbkIsRUFBNEI7VUFDbEMsS0FBS1gsUUFBTCxDQUFjZ0IsR0FBZCxDQUFrQlIsSUFBSSxDQUFDUyxLQUF2QjtRQUNBO01BQ0QsQ0FSRixFQVNDQyxHQUFHLElBQUksS0FBS2xCLFFBQUwsQ0FBY0ksS0FBZCxDQUFvQmMsR0FBcEIsQ0FUUjtJQVdBO0VBQ0Q7O0VBRURDLEdBQUcsR0FBRztJQUNMLEtBQUtuQixRQUFMLENBQWNJLEtBQWQsQ0FBb0JDLGFBQUtDLE1BQUwsQ0FBWWMsSUFBaEM7RUFDQTs7QUE5QjZCO0FBaUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7O0FBQ08sZUFBZUMsUUFBZixDQUF3QjtFQUFFcEIsT0FBRjtFQUFXcUIsSUFBWDtFQUFpQnpCO0FBQWpCLENBQXhCLEVBQWtEO0VBQ3hELE1BQU8sSUFBSTBCLFlBQUosQ0FBVTFCLEtBQVYsRUFBaUI7SUFDdkIyQixVQUFVLEVBQUUsRUFEVztJQUV2QnZCLE9BRnVCO0lBR3ZCd0IsVUFBVSxFQUFFLEtBSFc7SUFJdkJDLFdBQVcsRUFBRSxLQUpVO0lBS3ZCQyxRQUFRLEVBQUVMLElBQUksR0FBRyxRQUFILEdBQWNNLE9BQU8sQ0FBQ0MsTUFBUixDQUFlQyxLQUFmLEtBQXlCLElBQXpCLEdBQWdDLFNBQWhDLEdBQTRDbkM7RUFMakQsQ0FBakIsQ0FBRCxDQU1Gb0MsR0FORSxFQUFOO0FBT0EifQ==