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

148 lines (110 loc) 3.58 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = render; function _table() { const data = require("table"); _table = function () { return data; }; return data; } function _chalk() { const data = _interopRequireDefault(require("chalk")); _chalk = function () { return data; }; return data; } // const NAME_COLUMN_WIDTH = 100; // const DESCRIPTION_COLUMN_WIDTH = 30; const summeryTableColumnConfig = { columnDefault: { alignment: 'left' } }; function _formatStatusCell(status) { if (status) { return _chalk().default.green('passed'); } return _chalk().default.red('failed'); } function _createSummeryRow(examineResult) { const meta = examineResult.diagnosisMetaData; const status = _formatStatusCell(examineResult.bareResult.valid); return [meta.category, meta.name, meta.description, status]; } function _createSummeryTable(examineResult) { const header = [_chalk().default.bold('category'), _chalk().default.bold('name'), _chalk().default.bold('description'), _chalk().default.bold('status')]; const rows = examineResult.map(_createSummeryRow); // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX! rows.unshift(header); const output = (0, _table().table)(rows, summeryTableColumnConfig); return output; } function _createSummerySection(examineResult) { // A placeholder if we will decide we want a title const title = _chalk().default.underline(''); const summeryTable = _createSummeryTable(examineResult); return `${title}\n${summeryTable}`; } function _createFullReportForDiagnosis(examineResult) { if (examineResult.bareResult.valid) { return ''; } const title = _chalk().default.underline(examineResult.diagnosisMetaData.name); const symptomsTitle = _chalk().default.underline('symptoms'); const symptomsText = examineResult.formattedSymptoms; const cureTitle = _chalk().default.underline('cure'); const cureText = examineResult.formattedManualTreat; return `${title} ${symptomsTitle} ${symptomsText} ${cureTitle} ${cureText}\n`; } function _createFullReportForDiagnoses(examineResult) { const fullDiagnosesReport = examineResult.map(_createFullReportForDiagnosis).join('\n'); return fullDiagnosesReport; } function _createFullReportSection(examineResult) { const title = _chalk().default.underline('Error report'); const fullDiagnosesReport = _createFullReportForDiagnoses(examineResult); if (fullDiagnosesReport.trim() === '') { return ''; } return `${title} ${fullDiagnosesReport}`; } function _createWrittenFileSection(savedFilePath) { if (!savedFilePath) { return ''; } return `File written to ${savedFilePath}`; } function _createMetaSection(metaData) { return ` bit version : ${metaData.bitVersion} node version : ${metaData.nodeVersion} npm version : ${metaData.npmVersion || 'NA'} yarn version : ${metaData.yarnVersion || 'NA'} platform : ${metaData.platform} user details : ${metaData.userDetails} `; } function render({ examineResults, savedFilePath, metaData }) { const meatSection = _createMetaSection(metaData); const summerySection = _createSummerySection(examineResults); const fullReportSection = _createFullReportSection(examineResults); const writtenFileSection = _createWrittenFileSection(savedFilePath); const output = `${meatSection} ${summerySection} ${fullReportSection} ${writtenFileSection}`; return output; }