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

97 lines (73 loc) 2.52 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); function _padRight() { const data = _interopRequireDefault(require("pad-right")); _padRight = function () { return data; }; return data; } function _chalk() { const data = _interopRequireDefault(require("chalk")); _chalk = function () { return data; }; return data; } function _allHelp() { const data = _interopRequireDefault(require("./all-help")); _allHelp = function () { return data; }; return data; } function _constants() { const data = require("../../constants"); _constants = function () { return data; }; return data; } const SPACE = ' '; const TITLE_LEFT_SPACES_NUMBER = 2; const COMMAND_LEFT_SPACES_NUMBER = 4; const NAME_WITH_SPACES_LENGTH = 15; const baseTemplate = commands => { return `${_chalk().default.bold('usage: bit [--version] [--help] <command> [<args>]')} ${_chalk().default.grey('bit is a free and open source tool for turning components from existing source-code to a collection of reusable components.')} ${_chalk().default.grey('easily share, reuse, maintain and discover code components from any project.')} ${_chalk().default.grey(`bit documentation: https://${_constants().BASE_DOCS_DOMAIN}`)} ${commandsTemplate(commands)} ${_chalk().default.grey("please use 'bit <command> --help' for more information and guides on specific commands.")}`; }; function commandTemplate(command) { const { name, description } = command; const nameSpace = SPACE.repeat(COMMAND_LEFT_SPACES_NUMBER); const nameWithRightSpace = (0, _padRight().default)(name, NAME_WITH_SPACES_LENGTH, SPACE); const res = `${nameSpace}${_chalk().default.cyan(nameWithRightSpace)}${description}`; return res; } function commandsSectionTemplate(section) { const titleSpace = SPACE.repeat(TITLE_LEFT_SPACES_NUMBER); const title = `${titleSpace}${_chalk().default.underline(section.title)}`; const commands = section.commands.map(commandTemplate).join('\n'); const res = `${title}\n${commands}`; return res; } function commandsTemplate(commands) { const res = commands.map(commandsSectionTemplate).join('\n\n'); return res; } module.exports = function (extensionsCommands) { if (extensionsCommands && extensionsCommands.length) { _allHelp().default.push({ group: 'extensions', title: 'extensions commands', commands: extensionsCommands }); } return baseTemplate(_allHelp().default); };