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
126 lines (97 loc) • 3.05 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getEjectConfDataToPersist = getEjectConfDataToPersist;
exports.default = void 0;
function _bluebird() {
const data = require("bluebird");
_bluebird = function () {
return data;
};
return data;
}
function _config() {
const data = _interopRequireDefault(require("../config"));
_config = function () {
return data;
};
return data;
}
function _showDoctorError() {
const data = _interopRequireDefault(require("../../error/show-doctor-error"));
_showDoctorError = function () {
return data;
};
return data;
}
function _generalError() {
const data = _interopRequireDefault(require("../../error/general-error"));
_generalError = function () {
return data;
};
return data;
}
function _dataToPersist() {
const data = _interopRequireDefault(require("../component/sources/data-to-persist"));
_dataToPersist = function () {
return data;
};
return data;
}
var _default = /*#__PURE__*/function () {
var _ejectConf = (0, _bluebird().coroutine)(function* (component, consumer) {
const {
id,
ejectedPath,
dataToPersist
} = yield getEjectConfDataToPersist(component, consumer);
dataToPersist.addBasePath(consumer.getPath());
yield dataToPersist.persistAllToFS();
return {
id,
ejectedPath
};
});
function ejectConf(_x, _x2) {
return _ejectConf.apply(this, arguments);
}
return ejectConf;
}();
exports.default = _default;
function getEjectConfDataToPersist(_x3, _x4) {
return _getEjectConfDataToPersist.apply(this, arguments);
}
function _getEjectConfDataToPersist() {
_getEjectConfDataToPersist = (0, _bluebird().coroutine)(function* (component, consumer) {
const componentMap = component.componentMap;
if (!componentMap) {
throw new (_showDoctorError().default)('could not find component in the .bitmap file');
}
const componentDir = componentMap.getComponentDir();
if (!componentDir) {
throw new (_generalError().default)('could not eject config for a component without a root dir');
}
const id = component.id.toStringWithoutVersion();
const bitJson = getBitJsonToWrite(component);
const jsonFilesToWrite = yield bitJson.prepareToWrite({
workspaceDir: consumer.getPath(),
componentDir
});
const dataToPersist = new (_dataToPersist().default)();
dataToPersist.addManyFiles(jsonFilesToWrite);
return {
id,
ejectedPath: componentDir,
dataToPersist
};
});
return _getEjectConfDataToPersist.apply(this, arguments);
}
function getBitJsonToWrite(component) {
const componentConfig = _config().default.fromComponent(component);
componentConfig.setCompiler(component.compiler ? component.compiler.toBitJsonObject() : {});
componentConfig.setTester(component.tester ? component.tester.toBitJsonObject() : {});
return componentConfig;
}
;