🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more

execa

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install
e

execa

Process execution for humans

9.6.0
latest
97

Supply Chain Security

100

Vulnerability

100

Quality

96

Maintenance

100

License

Version published
Weekly downloads
103M
-17.51%
Maintainers
2
Weekly downloads
 
Created
Issues
14

What is execa?

The execa npm package is a process execution tool that simplifies working with child processes in Node.js. It provides a better user experience than the default child_process module by offering a promise-based API, improved Windows support, and additional convenience options.

What are execa's main functionalities?

Executing a shell command

This feature allows you to execute a shell command and obtain the result. The example shows how to execute the 'echo' command and print 'unicorns' to the console.

const execa = require('execa');

(async () => {
  const { stdout } = await execa('echo', ['unicorns']);
  console.log(stdout);
})();

Running a command synchronously

This feature is used to execute a command synchronously, blocking the event loop until the process has finished. The example synchronously executes the 'echo' command and logs the result.

const execa = require('execa');

const { stdout } = execa.sync('echo', ['unicorns']);
console.log(stdout);

Handling errors

This feature demonstrates error handling when a command fails to execute. The example attempts to run a non-existent command and catches the error.

const execa = require('execa');

(async () => {
  try {
    const { stdout } = await execa('wrong-command');
    console.log(stdout);
  } catch (error) {
    console.error('Error occurred:', error);
  }
})();

Streaming output

This feature allows you to stream the output of a command directly to the console or another stream. The example streams the output of the 'echo' command to the process's stdout.

const execa = require('execa');

const subprocess = execa('echo', ['unicorns']);
subprocess.stdout.pipe(process.stdout);

Other packages similar to execa

FAQs

Package last updated on 26 May 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts