cli.ts 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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. const onlinepkg = JSON.parse(body);
  13. if (onlinepkg.status === 'ok')
  14. {
  15. let tmp = current_version.split('.');
  16. const cur = (Number(tmp[0]) * 10000) + (Number(tmp[1]) * 100) + Number(tmp[2]);
  17. tmp = onlinepkg.version.split('.');
  18. const dist = (Number(tmp[0]) * 10000) + (Number(tmp[1]) * 100) + Number(tmp[2]);
  19. if (dist > cur)
  20. {
  21. log.warnMore('There is a newer version of crunchy (v' + onlinepkg.version + '), you should update!');
  22. }
  23. }
  24. });
  25. batch(process.argv, (err: any) =>
  26. {
  27. if (err)
  28. {
  29. if (err.stack)
  30. {
  31. console.error(err.stack || err);
  32. }
  33. else
  34. {
  35. console.error(err);
  36. }
  37. process.exit(-1);
  38. }
  39. console.info('Done!');
  40. process.exit(0);
  41. });