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
128 lines (96 loc) • 2.88 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.INSIGHT_NAME = 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 _react() {
const data = _interopRequireDefault(require("react"));
_react = function () {
return data;
};
return data;
}
function _ink() {
const data = require("ink");
_ink = function () {
return data;
};
return data;
}
/* eslint-disable @typescript-eslint/no-unused-vars */
const INSIGHT_NAME = 'cyclic dependencies';
exports.INSIGHT_NAME = INSIGHT_NAME;
class FindCycles {
constructor(graphBuilder) {
(0, _defineProperty2().default)(this, "name", INSIGHT_NAME);
(0, _defineProperty2().default)(this, "description", 'Get all cyclic dependencies in component graph');
(0, _defineProperty2().default)(this, "graphBuilder", void 0);
this.graphBuilder = graphBuilder;
}
_runInsight() {
var _this = this;
return (0, _bluebird().coroutine)(function* () {
const graph = yield _this.graphBuilder.getGraph();
if (!graph) {
return {
message: '',
data: undefined
};
}
const cycles = graph.findCycles();
if (cycles.length === 1) {
return {
message: `Found ${cycles.length} cycle.`,
data: cycles
};
}
return {
message: `Found ${cycles.length} cycles.`,
data: cycles
};
})();
}
_renderData(data) {
if (data.data.length === 0) {
return /*#__PURE__*/_react().default.createElement("div", null, /*#__PURE__*/_react().default.createElement(_ink().Text, null, "No cyclic dependencies"));
}
return /*#__PURE__*/_react().default.createElement("div", null, /*#__PURE__*/_react().default.createElement("div", {
key: "data"
}, /*#__PURE__*/_react().default.createElement("div", null, data.message), /*#__PURE__*/_react().default.createElement("div", null, data.data)));
}
run() {
var _this2 = this;
return (0, _bluebird().coroutine)(function* () {
const bareResult = yield _this2._runInsight();
const renderedData = _this2._renderData(bareResult);
const result = {
metaData: {
name: _this2.name,
description: _this2.description
},
data: bareResult.data,
renderedData
};
if (bareResult.message) {
result.message = bareResult.message;
}
return result;
})();
}
}
exports.default = FindCycles;
;