ring-websites-toolbelt
Version:
Ring Publishing Platform tool to work with Ring Websites
29 lines (24 loc) • 1.47 kB
JavaScript
const npmCheck = require('npm-check');
module.exports = async function() {
const originalConsoleLog = console.log;
console.log = () => {}; // To hide logs printed by npmCheck
try {
const currentState = await npmCheck({ global: true });
const packages = currentState.get('packages');
const toolbeltData = packages.filter(el => el.moduleName === 'ring-websites-toolbelt').shift();
if (toolbeltData && toolbeltData.installed !== toolbeltData.latest) {
const padSpacesCount = 70;
console.warn('Out of date version of ring-websites-toolbelt package');
console.warn('------------------------------------------------------------------------');
console.warn(`* ring-websites-toolbelt update available.`.padEnd(padSpacesCount), '*');
console.warn(`* Version installed: ${toolbeltData.installed}, latest: ${toolbeltData.latest}.`.padEnd(padSpacesCount), '*');
console.warn(`* Please update the package:`.padEnd(padSpacesCount), '*');
console.warn(`* sudo npm install --global ring-websites-toolbelt@latest`.padEnd(padSpacesCount), '*');
console.warn('------------------------------------------------------------------------');
}
} catch (error) {
console.warn('Unable to check ring-websites-toolbelt package version, reason:');
console.warn(error.message);
}
console.log = originalConsoleLog;
}