UNPKG

bit-bin

Version:

<a href="https://opensource.org/licenses/Apache-2.0"><img alt="apache" src="https://img.shields.io/badge/License-Apache%202.0-blue.svg"></a> <a href="https://github.com/teambit/bit/blob/master/CONTRIBUTING.md"><img alt="prs" src="https://img.shields.io/b

84 lines (61 loc) 1.85 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.BuildPipe = void 0; function _bluebird() { const data = require("bluebird"); _bluebird = function () { return data; }; return data; } function _pMapSeries() { const data = _interopRequireDefault(require("p-map-series")); _pMapSeries = function () { return data; }; return data; } function _taskProcess() { const data = require("./task-process"); _taskProcess = function () { return data; }; return data; } class BuildPipe { constructor(tasks, logger) { this.tasks = tasks; this.logger = logger; } /** * execute a pipeline of build tasks. */ execute(buildContext) { var _this = this; return (0, _bluebird().coroutine)(function* () { return (0, _pMapSeries().default)(_this.tasks, /*#__PURE__*/function () { var _ref = (0, _bluebird().coroutine)(function* (task) { _this.logger.info(task.extensionId, `running task "${task.extensionId}" on ${buildContext.components.length} components`); const taskResult = yield task.execute(buildContext); const taskProcess = new (_taskProcess().TaskProcess)(task, taskResult, buildContext); taskProcess.throwIfErrorsFound(); _this.logger.info(task.extensionId, `task "${task.extensionId}" has completed successfully`); yield taskProcess.saveTaskResults(); // @todo: return summery results? }); return function (_x) { return _ref.apply(this, arguments); }; }()); })(); } /** * create a build pipe from an array of tasks. */ static from(tasks, logger) { return new BuildPipe(tasks, logger); } } exports.BuildPipe = BuildPipe;