gia-cli
Version:
Guardian US Interactive CLI tool
24 lines (20 loc) • 870 B
JavaScript
var exec = require( 'child_process' ).exec;
var Promise = require( 'sander' ).Promise;
var semver = require( 'semver' );
var chalk = require( 'chalk' );
var localVersion = require( '../../package.json' ).version;
module.exports = function ( force ) {
return new Promise( function ( fulfil, reject ) {
exec( 'npm show gia-cli version', function ( err, result ) {
if ( err ) return reject( err );
fulfil( result.trim() );
});
}).then( function ( latestVersion ) {
if ( semver.gt( latestVersion, localVersion ) ) {
if ( !force ) {
throw new Error( 'gia-cli is out of date (you have ' + localVersion + ', latest version is ' + latestVersion + '). Run npm i -g gia-cli@latest' );
}
console.error( '\ngia-cli is out of date (you have %s, latest version is %s). --force mode enabled, continuing anyway', localVersion, latestVersion );
}
});
};