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

128 lines (96 loc) 2.88 kB
"use strict"; 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;