You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							103 lines
						
					
					
						
							2.5 KiB
						
					
					
				
			
		
		
	
	
							103 lines
						
					
					
						
							2.5 KiB
						
					
					
				var noop = function () { };
 | 
						|
var path = require('path');
 | 
						|
const semver = require('semver');
 | 
						|
var version = process.versions.node.split('.') || [null, null, null];
 | 
						|
 | 
						|
var utils = (module.exports = {
 | 
						|
  semver: semver,
 | 
						|
  satisfies: test => semver.satisfies(process.versions.node, test),
 | 
						|
  version: {
 | 
						|
    major: parseInt(version[0] || 0, 10),
 | 
						|
    minor: parseInt(version[1] || 0, 10),
 | 
						|
    patch: parseInt(version[2] || 0, 10),
 | 
						|
  },
 | 
						|
  clone: require('./clone'),
 | 
						|
  merge: require('./merge'),
 | 
						|
  bus: require('./bus'),
 | 
						|
  isWindows: process.platform === 'win32',
 | 
						|
  isMac: process.platform === 'darwin',
 | 
						|
  isLinux: process.platform === 'linux',
 | 
						|
  isRequired: (function () {
 | 
						|
    var p = module.parent;
 | 
						|
    while (p) {
 | 
						|
      // in electron.js engine it happens
 | 
						|
      if (!p.filename) {
 | 
						|
        return true;
 | 
						|
      }
 | 
						|
      if (p.filename.indexOf('bin' + path.sep + 'nodemon.js') !== -1) {
 | 
						|
        return false;
 | 
						|
      }
 | 
						|
      p = p.parent;
 | 
						|
    }
 | 
						|
 | 
						|
    return true;
 | 
						|
  })(),
 | 
						|
  home: process.env.HOME || process.env.HOMEPATH,
 | 
						|
  quiet: function () {
 | 
						|
    // nukes the logging
 | 
						|
    if (!this.debug) {
 | 
						|
      for (var method in utils.log) {
 | 
						|
        if (typeof utils.log[method] === 'function') {
 | 
						|
          utils.log[method] = noop;
 | 
						|
        }
 | 
						|
      }
 | 
						|
    }
 | 
						|
  },
 | 
						|
  reset: function () {
 | 
						|
    if (!this.debug) {
 | 
						|
      for (var method in utils.log) {
 | 
						|
        if (typeof utils.log[method] === 'function') {
 | 
						|
          delete utils.log[method];
 | 
						|
        }
 | 
						|
      }
 | 
						|
    }
 | 
						|
    this.debug = false;
 | 
						|
  },
 | 
						|
  regexpToText: function (t) {
 | 
						|
    return t
 | 
						|
      .replace(/\.\*\\./g, '*.')
 | 
						|
      .replace(/\\{2}/g, '^^')
 | 
						|
      .replace(/\\/g, '')
 | 
						|
      .replace(/\^\^/g, '\\');
 | 
						|
  },
 | 
						|
  stringify: function (exec, args) {
 | 
						|
    // serializes an executable string and array of arguments into a string
 | 
						|
    args = args || [];
 | 
						|
 | 
						|
    return [exec]
 | 
						|
      .concat(
 | 
						|
      args.map(function (arg) {
 | 
						|
        // if an argument contains a space, we want to show it with quotes
 | 
						|
        // around it to indicate that it is a single argument
 | 
						|
        if (arg.length > 0 && arg.indexOf(' ') === -1) {
 | 
						|
          return arg;
 | 
						|
        }
 | 
						|
        // this should correctly escape nested quotes
 | 
						|
        return JSON.stringify(arg);
 | 
						|
      })
 | 
						|
      )
 | 
						|
      .join(' ')
 | 
						|
      .trim();
 | 
						|
  },
 | 
						|
});
 | 
						|
 | 
						|
utils.log = require('./log')(utils.isRequired);
 | 
						|
 | 
						|
Object.defineProperty(utils, 'debug', {
 | 
						|
  set: function (value) {
 | 
						|
    this.log.debug = value;
 | 
						|
  },
 | 
						|
  get: function () {
 | 
						|
    return this.log.debug;
 | 
						|
  },
 | 
						|
});
 | 
						|
 | 
						|
Object.defineProperty(utils, 'colours', {
 | 
						|
  set: function (value) {
 | 
						|
    this.log.useColours = value;
 | 
						|
  },
 | 
						|
  get: function () {
 | 
						|
    return this.log.useColours;
 | 
						|
  },
 | 
						|
});
 |