UNPKG

@vivo-minigame/cli

Version:

Command line interface for rapid Vivo minigame development

32 lines (31 loc) 1.32 kB
"use strict";var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");_Object$defineProperty(exports, "__esModule", { value: true });exports.default = loadCommand;var _cliSharedUtils = require("@vivo-minigame/cli-shared-utils"); var _importGlobal = _interopRequireDefault(require("import-global")); function loadCommand(commandName, moduleName) { const isNotFoundError = (err) => { return err.message.match(/Cannot find module/); }; try { return require(moduleName); } catch (err) { if (isNotFoundError(err)) { try { return (0, _importGlobal.default)(moduleName); } catch (err2) { if (isNotFoundError(err2)) { const installCommand = `npm install -g`; (0, _cliSharedUtils.log)(); (0, _cliSharedUtils.log)( ` Command ${_cliSharedUtils.chalk.cyan(`mg ${commandName}`)} requires a global addon to be installed.\n` + ` Please run ${_cliSharedUtils.chalk.cyan(`${installCommand} ${moduleName}`)} and try again.` ); (0, _cliSharedUtils.log)(); process.exit(1); } else { throw err2; } } } else { throw err; } } }