cli.ts 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  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://raw.githubusercontent.com/Godzil/Crunchy/master/package.json' },
  10. (error: Error, response: any, body: any) =>
  11. {
  12. const onlinepkg = JSON.parse(body);
  13. let tmp = current_version.split('.');
  14. const cur = (Number(tmp[0]) * 10000) + (Number(tmp[1]) * 100) + Number(tmp[2]);
  15. tmp = onlinepkg.version.split('.');
  16. const dist = (Number(tmp[0]) * 10000) + (Number(tmp[1]) * 100) + Number(tmp[2]);
  17. if (dist > cur)
  18. {
  19. log.warn('There is a newer version of crunchy (v' + onlinepkg.version + '), you should update!');
  20. }
  21. });
  22. batch(process.argv, (err: any) =>
  23. {
  24. if (err)
  25. {
  26. if (err.stack)
  27. {
  28. console.error(err.stack || err);
  29. }
  30. else
  31. {
  32. console.error(err);
  33. }
  34. process.exit(-1);
  35. }
  36. console.info('Done!');
  37. process.exit(0);
  38. });