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

170 lines (126 loc) 3.45 kB
"use strict"; 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]);