What is the problem this feature will solve?
It would be nice if child_process functionality, such as exec and execFile, had Promised based versions by default. Currently it does not, see https://nodejs.org/api/child_process.html
Note that only child_process functions that can be async/await should be considered. This does not include things such as fork or spawn.
What is the feature you are proposing to solve the problem?
A new child_process/promises import path that can be used similar to how fs promises are used:
// Using ESM Module syntax:
import { exec } from 'child_process/promises';
try {
const { stdout } = await exec(
'sysctl -n net.ipv4.ip_local_port_range'
);
console.log('successfully executed the child process command');
} catch (error) {
console.error('there was an error:', error.message);
}
The ask is basically that child_process/promises could just return a variant such as const exec = util.promisify(process.exec); as a convenience.
What alternatives have you considered?
I am already using const exec = util.promisify(process.exec); but that is not as nice. And this new proposal follows along what is happening in other Node.js APIs.
(The original ask in #38823 was perceived as asking for the entire module and all APIs to be async/await. This issue here narrows it down to only focus on the functions that can be.)
What is the problem this feature will solve?
It would be nice if child_process functionality, such as
execandexecFile, had Promised based versions by default. Currently it does not, see https://nodejs.org/api/child_process.htmlNote that only child_process functions that can be async/await should be considered. This does not include things such as
forkorspawn.What is the feature you are proposing to solve the problem?
A new
child_process/promisesimport path that can be used similar to how fs promises are used:The ask is basically that
child_process/promisescould just return a variant such asconst exec = util.promisify(process.exec);as a convenience.What alternatives have you considered?
I am already using
const exec = util.promisify(process.exec);but that is not as nice. And this new proposal follows along what is happening in other Node.js APIs.(The original ask in #38823 was perceived as asking for the entire module and all APIs to be async/await. This issue here narrows it down to only focus on the functions that can be.)