52 lines
1.3 KiB
TypeScript
52 lines
1.3 KiB
TypeScript
'use strict';
|
|
import batch from './batch';
|
|
import request = require('request');
|
|
import log = require('./log');
|
|
import pjson = require('pjson');
|
|
|
|
const current_version = pjson.version;
|
|
|
|
/* Check if the current version is the latest */
|
|
log.info('Crunchy version ' + current_version);
|
|
request.get({ uri: 'https://box.godzil.net/getVersion.php?tool=crunchy&v=' + current_version },
|
|
(error: Error, response: any, body: any) =>
|
|
{
|
|
if (response && (response.statusCode === 200))
|
|
{
|
|
const onlinepkg = JSON.parse(body);
|
|
if (onlinepkg.status === 'ok')
|
|
{
|
|
let tmp = current_version.split('.');
|
|
const cur = (Number(tmp[0]) * 10000) + (Number(tmp[1]) * 100) + Number(tmp[2]);
|
|
tmp = onlinepkg.version.split('.');
|
|
const dist = (Number(tmp[0]) * 10000) + (Number(tmp[1]) * 100) + Number(tmp[2]);
|
|
if (dist > cur)
|
|
{
|
|
log.warnMore('There is a newer version of crunchy (v' + onlinepkg.version + '), you should update!');
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
log.info('Error while checking for the current version.');
|
|
}
|
|
});
|
|
|
|
batch(process.argv, (err: any) =>
|
|
{
|
|
if (err)
|
|
{
|
|
if (err.stack)
|
|
{
|
|
console.error(err.stack || err);
|
|
}
|
|
else
|
|
{
|
|
console.error(err);
|
|
}
|
|
process.exit(-1);
|
|
}
|
|
console.info('Done!');
|
|
process.exit(0);
|
|
});
|