| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 | 
							- 'use strict';
 
- var Console = require('console').Console;
 
- var gray = require('ansi-gray');
 
- var timestamp = require('time-stamp');
 
- var supportsColor = require('color-support');
 
- var nodeVersion = require('parse-node-version')(process.version);
 
- var colorDetectionOptions = {
 
-   // If on Windows, ignore the isTTY check
 
-   // This is due to AppVeyor (and thus probably common Windows platforms?) failing the check
 
-   // TODO: If this is too broad, we can reduce it to an APPVEYOR env check
 
-   ignoreTTY: (process.platform === 'win32'),
 
- };
 
- // Needed to add this because node 10 decided to start coloring log output randomly
 
- var console;
 
- if (nodeVersion.major >= 10) {
 
-   // Node 10 also changed the way this is constructed
 
-   console = new Console({
 
-     stdout: process.stdout,
 
-     stderr: process.stderr,
 
-     colorMode: false,
 
-   });
 
- } else {
 
-   console = new Console(process.stdout, process.stderr);
 
- }
 
- function hasFlag(flag) {
 
-   return (process.argv.indexOf('--' + flag) !== -1);
 
- }
 
- function addColor(str) {
 
-   if (hasFlag('no-color')) {
 
-     return str;
 
-   }
 
-   if (hasFlag('color')) {
 
-     return gray(str);
 
-   }
 
-   if (supportsColor(colorDetectionOptions)) {
 
-     return gray(str);
 
-   }
 
-   return str;
 
- }
 
- function getTimestamp() {
 
-   return '[' + addColor(timestamp('HH:mm:ss')) + ']';
 
- }
 
- function log() {
 
-   var time = getTimestamp();
 
-   process.stdout.write(time + ' ');
 
-   console.log.apply(console, arguments);
 
-   return this;
 
- }
 
- function info() {
 
-   var time = getTimestamp();
 
-   process.stdout.write(time + ' ');
 
-   console.info.apply(console, arguments);
 
-   return this;
 
- }
 
- function dir() {
 
-   var time = getTimestamp();
 
-   process.stdout.write(time + ' ');
 
-   console.dir.apply(console, arguments);
 
-   return this;
 
- }
 
- function warn() {
 
-   var time = getTimestamp();
 
-   process.stderr.write(time + ' ');
 
-   console.warn.apply(console, arguments);
 
-   return this;
 
- }
 
- function error() {
 
-   var time = getTimestamp();
 
-   process.stderr.write(time + ' ');
 
-   console.error.apply(console, arguments);
 
-   return this;
 
- }
 
- module.exports = log;
 
- module.exports.info = info;
 
- module.exports.dir = dir;
 
- module.exports.warn = warn;
 
- module.exports.error = error;
 
 
  |