merge upstream

This commit is contained in:
Zoey
2024-01-20 14:34:47 +01:00
parent 04dd76f9eb
commit aeebd0841e
7 changed files with 350 additions and 527 deletions

View File

@@ -8,6 +8,10 @@ const error = require('./error');
module.exports = {
/**
* @param {String} cmd
*/
exec: async function(cmd, options = {}) {
logger.debug('CMD:', cmd);
@@ -29,7 +33,29 @@ module.exports = {
/**
* @param {String} cmd
* @returns {Promise}
* @param {Array} args
*/
execFile: async function (cmd, args, options = {}) {
logger.debug('CMD: ' + cmd + ' ' + (args ? args.join(' ') : ''));
const { stdout, stderr } = await new Promise((resolve, reject) => {
const child = execFile(cmd, args, options, (isError, stdout, stderr) => {
if (isError) {
reject(new error.CommandError(stderr, isError));
} else {
resolve({ stdout, stderr });
}
});
child.on('error', (e) => {
reject(new error.CommandError(stderr, 1, e));
});
});
return stdout;
},
/**
* @param {String} cmd
*/
execfg: function (cmd) {
return new Promise((resolve, reject) => {
@@ -53,26 +79,6 @@ module.exports = {
});
},
/**
* @param {String} cmd
* @param {Array} args
* @returns {Promise}
*/
execFile: function (cmd, args) {
// logger.debug('CMD: ' + cmd + ' ' + (args ? args.join(' ') : ''));
return new Promise((resolve, reject) => {
execFile(cmd, args, function (err, stdout, /*stderr*/) {
if (err && typeof err === 'object') {
reject(err);
} else {
resolve(stdout.trim());
}
});
});
},
/**
* Used in objection query builder
*