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
195 lines (153 loc) • 5.76 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
function _defineProperty2() {
const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
_defineProperty2 = function () {
return data;
};
return data;
}
function _consumer() {
const data = require("../../../api/consumer");
_consumer = function () {
return data;
};
return data;
}
function _componentTemplate() {
const data = _interopRequireDefault(require("../../templates/component-template"));
_componentTemplate = function () {
return data;
};
return data;
}
function _constants() {
const data = require("../../../constants");
_constants = function () {
return data;
};
return data;
}
function _generalError() {
const data = _interopRequireDefault(require("../../../error/general-error"));
_generalError = function () {
return data;
};
return data;
}
class Show {
constructor() {
(0, _defineProperty2().default)(this, "name", 'show <id>');
(0, _defineProperty2().default)(this, "description", `show component overview.\n https://${_constants().BASE_DOCS_DOMAIN}/docs/view#show`);
(0, _defineProperty2().default)(this, "alias", '');
(0, _defineProperty2().default)(this, "opts", [['j', 'json', 'return a json version of the component'], ['r', 'remote', 'show a remote component'], ['v', 'versions', 'return a json of all the versions of the component'], ['o', 'outdated', 'show latest version from the remote scope (if exists)'], ['c', 'compare [boolean]', 'compare current file system component to latest tagged component [default=latest]'], ['d', 'detailed', 'show more details'], ['', 'dependents', 'EXPERIMENTAL. show all dependents recursively'], ['', 'dependencies', 'EXPERIMENTAL. show all dependencies recursively']]);
(0, _defineProperty2().default)(this, "loader", true);
(0, _defineProperty2().default)(this, "migration", true);
(0, _defineProperty2().default)(this, "skipWorkspace", true);
(0, _defineProperty2().default)(this, "remoteOp", true);
}
action([id], {
json,
versions,
remote = false,
outdated = false,
compare = false,
detailed = false,
dependents = false,
dependencies = false
}) {
if (versions && (compare || outdated)) {
throw new (_generalError().default)('the [--compare] or [--outdated] flag cannot be used along with --versions');
}
if (versions && remote) {
throw new (_generalError().default)('the [--versions] and [--remote] flags cannot be used together');
}
if (compare && outdated) {
throw new (_generalError().default)('please make sure to use either [--compare] or [--outdated], alone');
}
return (0, _consumer().show)({
id,
// @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
json,
versions,
remote,
outdated,
compare,
detailed,
dependents,
dependencies
});
}
report({
component,
componentModel,
dependenciesInfo,
dependentsInfo,
json,
versions,
components,
outdated,
detailed
}) {
if (versions) {
return JSON.stringify((components || []).map(c => c.toObject()), null, ' ');
}
if (component.componentFromModel) {
component.scopesList = component.componentFromModel.scopesList;
}
if (json) {
const makeEnvFilesReadable = env => {
if (!env) return undefined;
if (env.files && env.files.length) {
const readableFiles = env.files.map(file => file.toReadableString());
return readableFiles;
}
return [];
};
const makeComponentReadable = comp => {
if (!comp) return comp;
const componentObj = comp.toObject(); // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
componentObj.files = comp.files.map(file => file.toReadableString()); // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
// @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
componentObj.dists = componentObj.dists.getAsReadable();
if (comp.compiler) {
// @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
componentObj.compiler.files = makeEnvFilesReadable(comp.compiler);
}
if (comp.tester) {
// @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
componentObj.tester.files = makeEnvFilesReadable(comp.tester);
}
if (comp.componentMap) {
componentObj.componentDir = comp.componentMap.getComponentDir();
}
return componentObj;
};
const componentFromFileSystem = makeComponentReadable(component);
if (dependenciesInfo) {
// @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
componentFromFileSystem.dependenciesInfo = dependenciesInfo;
}
if (dependentsInfo) {
// @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
componentFromFileSystem.dependentsInfo = dependentsInfo;
}
if (component.scopesList) {
// @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
componentFromFileSystem.scopesList = component.scopesList;
}
const componentFromModel = componentModel ? makeComponentReadable(componentModel) : undefined;
const jsonObject = componentFromModel ? {
componentFromFileSystem,
componentFromModel
} : componentFromFileSystem;
return JSON.stringify(jsonObject, null, ' ');
}
return (0, _componentTemplate().default)(component, componentModel, outdated, detailed, dependenciesInfo, dependentsInfo);
}
}
exports.default = Show;