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
123 lines (90 loc) • 2.88 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 _fsExtra() {
const data = _interopRequireDefault(require("fs-extra"));
_fsExtra = function () {
return data;
};
return data;
}
function _consumer() {
const data = require("../../../consumer");
_consumer = function () {
return data;
};
return data;
}
function _objects() {
const data = require("../../../scope/objects");
_objects = function () {
return data;
};
return data;
}
function _utils() {
const data = require("../../../utils");
_utils = function () {
return data;
};
return data;
}
function _objectsWithoutConsumer() {
const data = _interopRequireDefault(require("./exceptions/objects-without-consumer"));
_objectsWithoutConsumer = function () {
return data;
};
return data;
}
var _default = /*#__PURE__*/function () {
var _init = (0, _bluebird().coroutine)(function* (absPath = process.cwd(), noGit = false, reset = false, resetHard = false, force = false, workspaceConfigProps) {
if (reset || resetHard) {
yield _consumer().Consumer.reset(absPath, resetHard, noGit);
}
const consumer = yield _consumer().Consumer.create(absPath, noGit, workspaceConfigProps);
if (!force) {
yield throwForOutOfSyncScope(consumer);
}
return consumer.write();
});
function init() {
return _init.apply(this, arguments);
}
return init;
}();
/**
* throw an error when .bitmap is empty but a scope has objects.
* a user may got into this state for reasons such as:
* 1. deleting manually .bitmap hoping to re-start Bit from scratch. (probably unaware of `--reset-hard` flag).
* 2. switching to a branch where Bit wasn't initialized
* in which case, it's better to stop and show an error describing what needs to be done.
* it can always be ignored by entering `--force` flag.
*/
exports.default = _default;
function throwForOutOfSyncScope(_x) {
return _throwForOutOfSyncScope.apply(this, arguments);
}
function _throwForOutOfSyncScope() {
_throwForOutOfSyncScope = (0, _bluebird().coroutine)(function* (consumer) {
if (!consumer.bitMap.isEmpty()) return;
const scopePath = consumer.scope.getPath();
const objectsPath = _objects().Repository.getPathByScopePath(scopePath);
const dirExist = yield _fsExtra().default.pathExists(objectsPath);
if (!dirExist) return;
const hasObjects = !(yield (0, _utils().isDirEmpty)(objectsPath));
if (hasObjects) {
throw new (_objectsWithoutConsumer().default)(scopePath);
}
});
return _throwForOutOfSyncScope.apply(this, arguments);
}