UNPKG

cli-utils

Version:

Common utils for command line applications.

88 lines (68 loc) 1.65 kB
/*! * cli-utils <https://github.com/jonschlinkert/cli-utils> * * Copyright (c) 2016, Jon Schlinkert. * Licensed under the MIT License. */ 'use strict'; // require('time-require'); // cli stuff is a perfect use case for lazy evaluation, // and 'ansi-colors' exposes the 'lazy-cache' getter, so // we'll use that to cache module dependencies. var utils = require('ansi-colors'); var fn = require; require = utils; var cache = {}; require('error-symbol'); require('info-symbol'); require('success-symbol', 'check'); require('warning-symbol'); require('time-stamp'); require = fn; utils.symbol = {}; define(utils.symbol, 'error', function() { return utils.errorSymbol; }); define(utils.symbol, 'info', function() { return utils.infoSymbol; }); define(utils.symbol, 'success', function() { return utils.check; }); define(utils.symbol, 'warning', function() { return utils.warningSymbol; }); define(utils, 'error', function() { return utils.red(utils.symbol.error); }); define(utils, 'info', function() { return utils.cyan(utils.symbol.info); }); define(utils, 'success', function() { return utils.green(utils.symbol.success); }); define(utils, 'warning', function() { return utils.yellow(utils.symbol.warning); }); /** * Get a formatted timestamp. * * ```js * console.log(utils.timestamp); * ``` * @api public */ define(utils, 'timestamp', function() { return '[' + utils.gray(utils.timeStamp('HH:mm:ss')) + ']'; }); function define(obj, prop, fn) { Object.defineProperty(obj, prop, { configurable: true, enumerable: true, get: fn }); } /** * Expose `utils` */ module.exports = utils;