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

146 lines (107 loc) 3.61 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; function _bluebird() { const data = require("bluebird"); _bluebird = function () { return data; }; return data; } function path() { const data = _interopRequireWildcard(require("path")); path = function () { return data; }; return data; } function _ramda() { const data = _interopRequireDefault(require("ramda")); _ramda = function () { return data; }; return data; } function _config() { const data = _interopRequireDefault(require("../config")); _config = function () { return data; }; return data; } function _removeEmptyDir() { const data = _interopRequireDefault(require("../../utils/fs/remove-empty-dir")); _removeEmptyDir = function () { return data; }; return data; } function _generalError() { const data = _interopRequireDefault(require("../../error/general-error")); _generalError = function () { return data; }; return data; } function _constants() { const data = require("../../constants"); _constants = function () { return data; }; return data; } function _showDoctorError() { const data = _interopRequireDefault(require("../../error/show-doctor-error")); _showDoctorError = function () { return data; }; return data; } /** * the opposite of 'eject-conf'. * delete configuration files on the fs. */ var _default = /*#__PURE__*/function () { var _injectConf = (0, _bluebird().coroutine)(function* (component, consumerPath, force = false) { 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)('unable to inject-conf for a component without root directory'); } if (!force && areEnvsModified(component, component.componentFromModel)) { throw new (_generalError().default)('unable to inject-conf, some or all configuration files are modified. please use "--force" flag to force removing the configuration files'); } // Delete bit.json const bitJsonDirFullPath = path().normalize(path().join(consumerPath, componentDir)); yield _config().default.removeIfExist(bitJsonDirFullPath); yield (0, _removeEmptyDir().default)(bitJsonDirFullPath); return { id: component.id.toStringWithoutVersion() }; }); function injectConf(_x, _x2) { return _injectConf.apply(this, arguments); } return injectConf; }(); /** * returns whether the envs configuration files were modified on the filesystem */ exports.default = _default; function areEnvsModified(componentFromFs, componentFromModel) { if (!componentFromModel) return false; const envTypes = [_constants().COMPILER_ENV_TYPE, _constants().TESTER_ENV_TYPE]; return envTypes.some(envType => { const fsHashes = // $FlowFixMe componentFromFs[envType] && componentFromFs[envType].files ? componentFromFs[envType].files.map(file => file.toSourceAsLinuxEOL().hash()).sort() : []; const modelHashes = // $FlowFixMe componentFromModel[envType] && componentFromModel[envType].files ? componentFromModel[envType].files.map(file => file.file.hash()).sort() : []; return !_ramda().default.equals(fsHashes, modelHashes); }); }