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

428 lines (322 loc) 10.1 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.runOne = runOne; exports.listDiagnoses = listDiagnoses; exports.default = void 0; function _bluebird() { const data = require("bluebird"); _bluebird = function () { return data; }; return data; } function _os() { const data = _interopRequireDefault(require("os")); _os = function () { return data; }; return data; } function _tarStream() { const data = _interopRequireDefault(require("tar-stream")); _tarStream = function () { return data; }; return data; } function _fsExtra() { const data = _interopRequireDefault(require("fs-extra")); _fsExtra = function () { return data; }; return data; } function _doctorRegistrarBuilder() { const data = _interopRequireDefault(require("../../../doctor/doctor-registrar-builder")); _doctorRegistrarBuilder = function () { return data; }; return data; } function _doctorRegistrar() { const data = _interopRequireDefault(require("../../../doctor/doctor-registrar")); _doctorRegistrar = function () { return data; }; return data; } function _utils() { const data = require("../../../utils"); _utils = function () { return data; }; return data; } function _logger() { const data = _interopRequireDefault(require("../../../logger/logger")); _logger = function () { return data; }; return data; } function _constants() { const data = require("../../../constants"); _constants = function () { return data; }; return data; } function globalConfig() { const data = _interopRequireWildcard(require("./global-config")); globalConfig = function () { return data; }; return data; } function _consumerLocator() { const data = require("../../../consumer/consumer-locator"); _consumerLocator = function () { return data; }; return data; } function _bitMap() { const data = _interopRequireDefault(require("../../../consumer/bit-map")); _bitMap = function () { return data; }; return data; } function _missingDiagnosisName() { const data = _interopRequireDefault(require("./exceptions/missing-diagnosis-name")); _missingDiagnosisName = function () { return data; }; return data; } function _diagnosisNotFound() { const data = _interopRequireDefault(require("./exceptions/diagnosis-not-found")); _diagnosisNotFound = function () { return data; }; return data; } function _npmClient() { const data = _interopRequireDefault(require("../../../npm-client")); _npmClient = function () { return data; }; return data; } function _workspaceConfig() { const data = _interopRequireDefault(require("../../../consumer/config/workspace-config")); _workspaceConfig = function () { return data; }; return data; } // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX! let runningTimeStamp; var _default = /*#__PURE__*/function () { var _runAll = (0, _bluebird().coroutine)(function* ({ filePath }) { (0, _doctorRegistrarBuilder().default)(); runningTimeStamp = _getTimeStamp(); const doctorRegistrar = _doctorRegistrar().default.getInstance(); const examineP = doctorRegistrar.diagnoses.map(diagnosis => diagnosis.examine()); const examineResults = yield Promise.all(examineP); const envMeta = yield _getEnvMeta(); const savedFilePath = yield _saveExamineResultsToFile(examineResults, envMeta, filePath); return { examineResults, savedFilePath, metaData: envMeta }; }); function runAll(_x) { return _runAll.apply(this, arguments); } return runAll; }(); exports.default = _default; function runOne(_x2) { return _runOne.apply(this, arguments); } function _runOne() { _runOne = (0, _bluebird().coroutine)(function* ({ diagnosisName, filePath }) { if (!diagnosisName) { throw new (_missingDiagnosisName().default)(); } (0, _doctorRegistrarBuilder().default)(); runningTimeStamp = _getTimeStamp(); const doctorRegistrar = _doctorRegistrar().default.getInstance(); const diagnosis = doctorRegistrar.getDiagnosisByName(diagnosisName); if (!diagnosis) { throw new (_diagnosisNotFound().default)(diagnosisName); } const examineResult = yield diagnosis.examine(); const envMeta = yield _getEnvMeta(); const savedFilePath = yield _saveExamineResultsToFile([examineResult], envMeta, filePath); return { examineResult, savedFilePath, metaData: envMeta }; }); return _runOne.apply(this, arguments); } function listDiagnoses() { return _listDiagnoses.apply(this, arguments); } function _listDiagnoses() { _listDiagnoses = (0, _bluebird().coroutine)(function* () { (0, _doctorRegistrarBuilder().default)(); const doctorRegistrar = _doctorRegistrar().default.getInstance(); return Promise.resolve(doctorRegistrar.diagnoses); }); return _listDiagnoses.apply(this, arguments); } function _saveExamineResultsToFile(_x3, _x4, _x5) { return _saveExamineResultsToFile2.apply(this, arguments); } function _saveExamineResultsToFile2() { _saveExamineResultsToFile2 = (0, _bluebird().coroutine)(function* (examineResults, envMeta, filePath) { if (!filePath) { return Promise.resolve(undefined); } const finalFilePath = _calculateFinalFileName(filePath); const packStream = yield _generateExamineResultsTarFile(examineResults, envMeta); const yourTarball = _fsExtra().default.createWriteStream(finalFilePath); packStream.pipe(yourTarball); return new Promise(resolve => { yourTarball.on('close', function () { _logger().default.info(`wrote a file by bit doctor, file path: ${finalFilePath}`); resolve(finalFilePath); // fs.stat(finalFilePath, function (err, stats) { // if (err) throw err // console.log(stats) // console.log('Got file info successfully!') // }) }); }); }); return _saveExamineResultsToFile2.apply(this, arguments); } function _calculateFinalFileName(fileName) { if (fileName === '.') { return _getDefaultFileName(); } let finalFileName = fileName; if ((0, _utils().getExt)(fileName) !== 'tar' && (0, _utils().getExt)(fileName) !== 'tar.gz') { finalFileName = `${(0, _utils().getWithoutExt)(finalFileName)}.tar`; } return finalFileName; } function _getDefaultFileName() { const timestamp = runningTimeStamp || _getTimeStamp(); return `doctor-results-${timestamp}.tar`; } // TODO: move to utils function _getTimeStamp() { const d = new Date(); const timestamp = d.getTime(); return timestamp; } function _generateExamineResultsTarFile(_x6, _x7) { return _generateExamineResultsTarFile2.apply(this, arguments); } function _generateExamineResultsTarFile2() { _generateExamineResultsTarFile2 = (0, _bluebird().coroutine)(function* (examineResults, envMeta) { const pack = _tarStream().default.pack(); // pack is a streams2 stream const debugLog = yield _getDebugLogAsStream(); const consumerInfo = yield _getConsumerInfo(); let bitmap; if (consumerInfo && consumerInfo.path) { bitmap = _getBitMap(consumerInfo.path); } pack.entry({ name: 'env-meta.json' }, JSON.stringify(envMeta, null, 2)); pack.entry({ name: 'doc-results.json' }, JSON.stringify(examineResults, null, 2)); if (debugLog) { pack.entry({ name: 'debug.log' }, debugLog); } if (bitmap) { pack.entry({ name: '.bitmap' }, bitmap); } if (consumerInfo && consumerInfo.hasConsumerConfig) { // TODO: support new config as well const config = yield _workspaceConfig().default.loadIfExist(consumerInfo.path); const legacyPlainConfig = config === null || config === void 0 ? void 0 : config._legacyPlainObject(); if (legacyPlainConfig) { pack.entry({ name: 'config.json' }, JSON.stringify(legacyPlainConfig, null, 4)); } } pack.finalize(); return pack; }); return _generateExamineResultsTarFile2.apply(this, arguments); } function _getEnvMeta() { return _getEnvMeta2.apply(this, arguments); } function _getEnvMeta2() { _getEnvMeta2 = (0, _bluebird().coroutine)(function* () { const env = { nodeVersion: process.version, runningTimestamp: runningTimeStamp || _getTimeStamp(), platform: _os().default.platform(), bitVersion: _constants().BIT_VERSION, npmVersion: yield _npmClient().default.getNpmVersion(), yarnVersion: yield _npmClient().default.getYarnVersion(), userDetails: _getUserDetails() }; // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX! return env; }); return _getEnvMeta2.apply(this, arguments); } function _getUserDetails() { const name = globalConfig().getSync(_constants().CFG_USER_NAME_KEY) || ''; const email = globalConfig().getSync(_constants().CFG_USER_EMAIL_KEY) || ''; return `${name}<${email}>`; } function _getDebugLogAsStream() { return _getDebugLogAsStream2.apply(this, arguments); } function _getDebugLogAsStream2() { _getDebugLogAsStream2 = (0, _bluebird().coroutine)(function* () { const exists = yield _fsExtra().default.pathExists(_constants().DEBUG_LOG); if (exists) { return _fsExtra().default.readFile(_constants().DEBUG_LOG); } return Promise.resolve(undefined); }); return _getDebugLogAsStream2.apply(this, arguments); } function _getConsumerInfo() { return _getConsumerInfo2.apply(this, arguments); } function _getConsumerInfo2() { _getConsumerInfo2 = (0, _bluebird().coroutine)(function* () { const consumerInfo = yield (0, _consumerLocator().getConsumerInfo)(process.cwd()); return consumerInfo; }); return _getConsumerInfo2.apply(this, arguments); } function _getBitMap(workspaceDir) { return _bitMap().default.loadRawSync(workspaceDir); }