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
104 lines (80 loc) • 3.37 kB
JavaScript
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 _componentDependencies() {
const data = _interopRequireDefault(require("./component-dependencies"));
_componentDependencies = function () {
return data;
};
return data;
}
function _componentObjects() {
const data = _interopRequireDefault(require("./component-objects"));
_componentObjects = function () {
return data;
};
return data;
}
class VersionDependencies {
constructor(component, dependencies, devDependencies, extensionsDependencies, sourceScope) {
(0, _defineProperty2().default)(this, "component", void 0);
(0, _defineProperty2().default)(this, "dependencies", void 0);
(0, _defineProperty2().default)(this, "devDependencies", void 0);
(0, _defineProperty2().default)(this, "extensionsDependencies", void 0);
(0, _defineProperty2().default)(this, "allDependencies", void 0);
(0, _defineProperty2().default)(this, "sourceScope", void 0);
this.component = component;
this.dependencies = dependencies;
this.devDependencies = devDependencies;
this.extensionsDependencies = extensionsDependencies;
this.allDependencies = [...this.dependencies, ...this.devDependencies, ...this.extensionsDependencies];
this.sourceScope = sourceScope;
}
toConsumer(repo, manipulateDirData) {
var _this = this;
return (0, _bluebird().coroutine)(function* () {
const depToConsumer = dep => dep.toConsumer(repo, manipulateDirData);
const dependenciesP = Promise.all(_this.dependencies.map(depToConsumer));
const devDependenciesP = Promise.all(_this.devDependencies.map(depToConsumer));
const extensionDependenciesP = Promise.all(_this.extensionsDependencies.map(depToConsumer));
const componentP = _this.component.toConsumer(repo, manipulateDirData);
const [component, dependencies, devDependencies, extensionDependencies] = yield Promise.all([componentP, dependenciesP, devDependenciesP, extensionDependenciesP]);
return new (_componentDependencies().default)({
component,
dependencies,
devDependencies,
extensionDependencies
});
})();
}
toObjects(repo, clientVersion) {
const depsP = Promise.all(this.allDependencies.map(dep => dep.toObjects(repo, clientVersion)));
const compP = this.component.toObjects(repo, clientVersion);
return Promise.all([compP, depsP]).then(([component, dependencies]) => {
const flattened = dependencies.reduce((array, compObjects) => {
// @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
array.push(...compObjects.objects.concat([compObjects.component]));
return array;
}, []); // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
return new (_componentObjects().default)(component.component, flattened.concat(component.objects));
});
}
}
exports.default = VersionDependencies;
;