123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- 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;
- },
- });
|