UNPKG

arredemo

Version:

Instantly build a static site for your package

96 lines (76 loc) 1.98 kB
import { blue_bold, blue_light, red_bold, red_light } from "tinguir" const _bl = blue_light const _bb = blue_bold function _prepare_text(text) { return text .split("\n") .map((line) => line.replace(/^ +/, "")) // remove left spaces .join("\n") .replace(/\n\n\n/g, "\n\n") // remove doubled empty lines } function _log_text(text) { console.log(_prepare_text(text)) } function _log_err(error = undefined) { if (error !== undefined) { const eprefix = red_bold("Error") const emsg = red_light(error?.message || "") console.log(`${eprefix}: ${emsg}`) } } function _log_help(action, usage, extra, error = undefined) { const prefix = _bl("arredemo") const saction = _bb(action) let text = ` ${prefix} ${saction} Usage: ${usage} ` if (extra) { text += ` ${extra} ` } _log_text(text) _log_err(error) } const _buildUsage = `\t${_bl("npx arredemo")} ${_bb("build")} ${_bl("[force]")}` const _helpUsage = `\t${_bl("npx arredemo")} ${_bb("help")}` const _versionUsage = `\t${_bl("npx arredemo")} ${_bb("version")}` function buildHelp(_pkgPath, error = undefined) { const usage = _buildUsage const extra = ` Run this command to build your library's docs&demo site. It will guide you through the several steps.` _log_help("build", usage, extra) _log_err(error) } function helpHelp(_pkgPath, error = undefined) { const usage = _helpUsage _log_help("help", usage, "") _log_err(error) } function versionHelp(_pkgPath, error = undefined) { const usage = _versionUsage _log_help("version", usage, "") _log_err(error) } function globalHelp(error = undefined, extra = undefined) { if (error) { _log_err(error) if (extra) { _log_text(extra) } } const text = [ "arredemo's available commands", "\n", _buildUsage, "\n", _helpUsage, "\n", _versionUsage ].join("\n") _log_text(text) } export { buildHelp, helpHelp, versionHelp, globalHelp }