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

141 lines (104 loc) 3.59 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 _path() { const data = _interopRequireDefault(require("path")); _path = function () { return data; }; return data; } function _sources() { const data = require("../consumer/component/sources"); _sources = function () { return data; }; return data; } function _linkGenerator() { const data = require("../links/link-generator"); _linkGenerator = function () { return data; }; return data; } /** * This is a formal API for extension developers, changes in this API should result a major version. */ class ExtensionIsolateResult { constructor(isolator, componentWithDependencies) { (0, _defineProperty2().default)(this, "isolator", void 0); (0, _defineProperty2().default)(this, "capsule", void 0); (0, _defineProperty2().default)(this, "componentWithDependencies", void 0); this.isolator = isolator; this.capsule = isolator.capsule; this.componentWithDependencies = componentWithDependencies; } capsuleExec(cmd, options) { this.isolator.capsuleExec(cmd, options); } writeDists(builtFiles, mainDist) { var _this = this; return (0, _bluebird().coroutine)(function* () { const capsuleComponent = _this.componentWithDependencies.component; if (!capsuleComponent.dists || capsuleComponent.dists.isEmpty()) { if (!builtFiles) { return; } capsuleComponent.setDists(builtFiles.map(file => new (_sources().Dist)(file)), mainDist); } // Make sure we are going to write the dists files (also for testers) capsuleComponent.dists.writeDistsFiles = true; const distsToWrite = yield capsuleComponent.dists.getDistsToWrite(capsuleComponent, _this.isolator.capsuleBitMap, null, true, _this.componentWithDependencies); if (distsToWrite) { distsToWrite.persistAllToCapsule(_this.capsule); } })(); } writeLinks() { this.isolator.writeLinks(); } getDependenciesLinks() { const links = (0, _linkGenerator().getComponentsDependenciesLinks)([this.componentWithDependencies], null, false, this.isolator.capsuleBitMap); return links.files; } addSharedDir(filesToAdd) { const sharedDir = this.componentWithDependencies.component.originallySharedDir; let updatedFiles = filesToAdd; if (sharedDir) { updatedFiles = filesToAdd.map(file => { const fileAsAbstractVinyl = _sources().AbstractVinyl.fromVinyl(file); fileAsAbstractVinyl.updatePaths({ newRelative: _path().default.join(sharedDir, file.relative) }); return fileAsAbstractVinyl; }); } return updatedFiles; } installPackages(packages = []) { var _this2 = this; return (0, _bluebird().coroutine)(function* () { yield _this2.isolator.installPackagesOnRoot(packages); // after installing packages on capsule root, some links/symlinks from node_modules might // be deleted. rewrite the links to recreate them. yield _this2.isolator.writeLinksOnNodeModules(); })(); } } exports.default = ExtensionIsolateResult;