Spaces:
Sleeping
Sleeping
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; | |
}, | |
}); | |