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
170 lines (126 loc) • 3.45 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.BuilderExtension = void 0;
function _bluebird() {
const data = require("bluebird");
_bluebird = function () {
return data;
};
return data;
}
function _defineProperty2() {
const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
_defineProperty2 = function () {
return data;
};
return data;
}
function _environments() {
const data = require("../environments");
_environments = function () {
return data;
};
return data;
}
function _workspace() {
const data = require("../workspace");
_workspace = function () {
return data;
};
return data;
}
function _run() {
const data = require("./run.cmd");
_run = function () {
return data;
};
return data;
}
function _builder() {
const data = require("./builder.service");
_builder = function () {
return data;
};
return data;
}
function _scope() {
const data = require("../scope");
_scope = function () {
return data;
};
return data;
}
function _isolator() {
const data = require("../isolator");
_isolator = function () {
return data;
};
return data;
}
function _cli() {
const data = require("../cli");
_cli = function () {
return data;
};
return data;
}
function _reporter() {
const data = require("../reporter");
_reporter = function () {
return data;
};
return data;
}
function _logger() {
const data = require("../logger");
_logger = function () {
return data;
};
return data;
}
class BuilderExtension {
/**
* extension dependencies
*/
constructor(envs, workspace, service) {
this.envs = envs;
this.workspace = workspace;
this.service = service;
}
tagListener(ids) {
var _this = this;
return (0, _bluebird().coroutine)(function* () {
// @todo: some processes needs dependencies/dependents of the given ids
const components = yield _this.workspace.getMany(ids);
return _this.build(components);
})();
}
/**
* build given components for release.
*/
build(components) {
var _this2 = this;
return (0, _bluebird().coroutine)(function* () {
const envs = yield _this2.envs.createEnvironment(components);
const buildResult = yield envs.run(_this2.service);
return buildResult;
})();
}
static provider([cli, envs, workspace, scope, isolator, reporter, logger]) {
return (0, _bluebird().coroutine)(function* () {
const logPublisher = logger.createLogPublisher(BuilderExtension.id);
const builderService = new (_builder().BuilderService)(isolator, workspace, logPublisher);
const builder = new BuilderExtension(envs, workspace, builderService);
const func = builder.tagListener.bind(builder);
if (scope) scope.onTag(func);
cli.register(new (_run().BuilderCmd)(builder, workspace, reporter));
return builder;
})();
}
}
exports.BuilderExtension = BuilderExtension;
(0, _defineProperty2().default)(BuilderExtension, "id", '@teambit/builder');
(0, _defineProperty2().default)(BuilderExtension, "dependencies", [_cli().CLIExtension, _environments().Environments, _workspace().WorkspaceExt, _scope().ScopeExtension, _isolator().IsolatorExtension, _reporter().ReporterExt, _logger().LoggerExt]);
;