utils.js 889 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. const exec = require('child_process').exec;
  2. const execFile = require('child_process').execFile;
  3. const logger = require('../logger').global;
  4. module.exports = {
  5. /**
  6. * @param {String} cmd
  7. * @returns {Promise}
  8. */
  9. exec: function (cmd) {
  10. return new Promise((resolve, reject) => {
  11. exec(cmd, function (err, stdout, /*stderr*/) {
  12. if (err && typeof err === 'object') {
  13. reject(err);
  14. } else {
  15. resolve(stdout.trim());
  16. }
  17. });
  18. });
  19. },
  20. /**
  21. * @param {String} cmd
  22. * @param {Array} args
  23. * @returns {Promise}
  24. */
  25. execFile: function (cmd, args) {
  26. logger.debug('CMD: ' + cmd + ' ' + (args ? args.join(' ') : ''));
  27. return new Promise((resolve, reject) => {
  28. execFile(cmd, args, function (err, stdout, /*stderr*/) {
  29. if (err && typeof err === 'object') {
  30. reject(err);
  31. } else {
  32. resolve(stdout.trim());
  33. }
  34. });
  35. });
  36. }
  37. };