cli.ts 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. 'use strict';
  2. import batch from './batch';
  3. import request = require('request');
  4. import log = require('./log');
  5. import pjson = require('pjson');
  6. const current_version = pjson.version;
  7. /* Check if the current version is the latest */
  8. log.info('Crunchy version ' + current_version);
  9. request.get({ uri: 'https://box.godzil.net/getVersion.php?tool=crunchy&v=' + current_version },
  10. (error: Error, response: any, body: any) =>
  11. {
  12. if (response && (response.StatusCode === 200))
  13. {
  14. const onlinepkg = JSON.parse(body);
  15. if (onlinepkg.status === 'ok')
  16. {
  17. let tmp = current_version.split('.');
  18. const cur = (Number(tmp[0]) * 10000) + (Number(tmp[1]) * 100) + Number(tmp[2]);
  19. tmp = onlinepkg.version.split('.');
  20. const dist = (Number(tmp[0]) * 10000) + (Number(tmp[1]) * 100) + Number(tmp[2]);
  21. if (dist > cur)
  22. {
  23. log.warnMore('There is a newer version of crunchy (v' + onlinepkg.version + '), you should update!');
  24. }
  25. }
  26. }
  27. else
  28. {
  29. log.info('Cannot check version.');
  30. }
  31. });
  32. batch(process.argv, (err: any) =>
  33. {
  34. if (err)
  35. {
  36. if (err.stack)
  37. {
  38. console.error(err.stack || err);
  39. }
  40. else
  41. {
  42. console.error(err);
  43. }
  44. process.exit(-1);
  45. }
  46. console.info('Done!');
  47. process.exit(0);
  48. });