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
JavaScript
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;
;