cli.ts 1016 B

12345678910111213141516171819202122232425262728293031323334
  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. console.error(err.stack || err);
  27. process.exit(-1);
  28. }
  29. console.info('Done!');
  30. process.exit(0);
  31. });