cli.js 842 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #!/usr/bin/env node
  2. 'use strict';
  3. var argv = require('minimist')(process.argv.slice(2));
  4. var pkg = require('./package.json');
  5. var binVersionCheck = require('./');
  6. function help() {
  7. console.log([
  8. '',
  9. ' ' + pkg.description,
  10. '',
  11. ' Usage',
  12. ' bin-version-check <binary> <semver-range>',
  13. '',
  14. ' Example',
  15. ' $ curl --version',
  16. ' curl 7.30.0 (x86_64-apple-darwin13.0)',
  17. ' $ bin-version-check curl \'>=8\'',
  18. ' curl 7.30.0 does not satisfy the version requirement of >=8',
  19. '',
  20. ' Exits with code 0 if the semver range is satisfied and 1 if not'
  21. ].join('\n'));
  22. }
  23. if (argv._.length === 0 || argv.help) {
  24. help();
  25. return;
  26. }
  27. if (argv.version) {
  28. console.log(pkg.version);
  29. return;
  30. }
  31. binVersionCheck(argv._[0], argv._[1], function (err) {
  32. if (err) {
  33. console.error(err.message);
  34. process.exit(1);
  35. }
  36. });