API/api.medcify.app/node_modules/pm2/lib/VersionCheck.js

47 lines
1022 B
JavaScript
Raw Permalink Normal View History

2022-09-26 06:11:44 +00:00
var vCheck = require('@pm2/pm2-version-check')
var semver = require('semver')
var fs = require('fs')
var os = require('os')
function hasDockerEnv() {
try {
fs.statSync('/.dockerenv');
return true;
} catch (_) {
return false;
}
}
function hasDockerCGroup() {
try {
return fs.readFileSync('/proc/self/cgroup', 'utf8').includes('docker');
} catch (_) {
return false;
}
}
module.exports = function (opts) {
var params = {
state: opts.state,
version: opts.version
}
try {
params.os = os.type()
params.uptime = Math.floor(process.uptime())
params.nodev = process.versions.node
params.docker = hasDockerEnv() || hasDockerCGroup()
} catch(e) {
}
vCheck.runCheck(params, (err, pkg) => {
if (err) return false
if (!pkg.current_version) return false
if (opts.version && semver.lt(opts.version, pkg.current_version)) {
console.log('[PM2] This PM2 is not UP TO DATE')
console.log('[PM2] Upgrade to version %s', pkg.current_version)
}
})
}