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

173 lines (129 loc) 3.6 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = 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 _uuid() { const data = _interopRequireDefault(require("uuid")); _uuid = function () { return data; }; return data; } function _path() { const data = _interopRequireDefault(require("path")); _path = function () { return data; }; return data; } function _filenamify() { const data = _interopRequireDefault(require("filenamify")); _filenamify = function () { return data; }; return data; } function _fs() { const data = require("fs"); _fs = function () { return data; }; return data; } function _capsule() { const data = require("@teambit/capsule"); _capsule = function () { return data; }; return data; } function _container() { const data = _interopRequireDefault(require("./container")); _container = function () { return data; }; return data; } function _containerExec() { const data = _interopRequireDefault(require("./container-exec")); _containerExec = function () { return data; }; return data; } class Capsule extends _capsule().Capsule { constructor(container, fs, console = new (_capsule().Console)(), state, component) { super(container, fs, console, state); this.container = container; this.fs = fs; this.console = console; this.state = state; this.component = component; (0, _defineProperty2().default)(this, "_wrkDir", void 0); this._wrkDir = container.wrkDir; } get wrkDir() { return (0, _fs().realpathSync)(this._wrkDir); } start() { return this.container.start(); } execNode(executable, args, exec) { var _this = this; return (0, _bluebird().coroutine)(function* () { return _this.typedExec({ command: ['node', executable, ...(args.args || [])], cwd: '' }, exec); })(); } typedExec(opts, exec = new (_containerExec().default)()) { var _this2 = this; return (0, _bluebird().coroutine)(function* () { return _this2.container.exec(opts, exec); })(); } outputFile(file, data, options) { return this.container.outputFile(file, data, options); } removePath(dir) { return this.container.removePath(dir); } symlink(src, dest) { return this.container.symlink(src, dest); } static createFromComponent(component, baseDir, opts) { return (0, _bluebird().coroutine)(function* () { // TODO: make this a static method and combine with ComponentCapsule const config = Object.assign({ alwaysNew: false, name: undefined }, opts); const capsuleDirName = config.name || (0, _filenamify().default)(component.id.toString(), { replacement: '_' }); const wrkDir = _path().default.join(baseDir, config.alwaysNew ? `${capsuleDirName}_${(0, _uuid().default)()}` : capsuleDirName); const container = new (_container().default)(wrkDir); const capsule = new Capsule(container, container.fs, new (_capsule().Console)(), new (_capsule().State)(), component); yield capsule.start(); return capsule; })(); } } exports.default = Capsule;