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

93 lines (79 loc) 3.18 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.Help = Help; 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-non-null-assertion */ // eslint-disable-next-line @typescript-eslint/no-unused-vars function Help(Renderer = DefaultHelpRender) { return function getHelpProps(commands, groups) { const help = Object.entries(commands).filter(([, command]) => !command.private && (command.shortDescription || command.description)).reduce(function (partialHelp, [id, command]) { partialHelp[command.group] = partialHelp[command.group] || { commands: {}, description: groups[command.group] || command.group }; partialHelp[command.group].commands[id] = command.shortDescription || command.description; return partialHelp; }, {}); return (0, _ink().render)( /*#__PURE__*/_react().default.createElement(Renderer, help)); }; } function DefaultHelpRender(props) { const element = /*#__PURE__*/_react().default.createElement(_ink().Box, { key: "help", flexDirection: "column" }, /*#__PURE__*/_react().default.createElement(HelpHeader, null), Object.entries(props).map(([groupName, group]) => { return /*#__PURE__*/_react().default.createElement(_ink().Box, { key: groupName, flexDirection: "column", marginBottom: 1 }, /*#__PURE__*/_react().default.createElement(_ink().Text, { bold: true, underline: true, key: `group_${groupName}` }, group.description), /*#__PURE__*/_react().default.createElement(_ink().Box, { flexDirection: "column" }, Object.entries(group.commands).map(([commandName, description]) => { return /*#__PURE__*/_react().default.createElement(_ink().Text, { key: commandName }, ' ', /*#__PURE__*/_react().default.createElement(_ink().Text, { bold: true }, alignCommandName(commandName)), description); }))); }), /*#__PURE__*/_react().default.createElement(HelpFooter, null)); return element; } function HelpHeader() { return /*#__PURE__*/_react().default.createElement(_ink().Box, { key: "HelpHeader", flexDirection: "column" }, /*#__PURE__*/_react().default.createElement(_ink().Text, { bold: true }, `usage: bit [--version] [--help] <command> [<args>]`, " "), /*#__PURE__*/_react().default.createElement(_ink().Color, { grey: true }, " bit documentation: https://docs.bit.dev")); } function HelpFooter() { const footer = `please use 'bit <command> --help' for more information and guides on specific commands.`; return /*#__PURE__*/_react().default.createElement(_ink().Box, null, /*#__PURE__*/_react().default.createElement(_ink().Color, { grey: true }, footer)); } function alignCommandName(name, sizeToAlign = 20) { return `${name}${new Array(sizeToAlign - name.length).join(' ')}`; }