Socket
Socket
Sign inDemoInstall

cross-spawn

Package Overview
Dependencies
1
Maintainers
1
Versions
54
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    cross-spawn

Cross platform child_process#spawn


Version published
Weekly downloads
69M
decreased by-0.28%
Maintainers
1
Install size
38.9 kB
Created
Weekly downloads
 

Package description

What is cross-spawn?

The cross-spawn npm package is a cross-platform solution for spawning child processes in Node.js. It aims to resolve issues with spawning commands across different operating systems, particularly Windows, where the built-in child_process.spawn can behave inconsistently. It provides a consistent API for spawning processes and handling their output, errors, and exit codes.

What are cross-spawn's main functionalities?

Spawning a child process

This feature allows you to spawn a child process, similar to child_process.spawn, but with improved cross-platform support. The code sample demonstrates how to spawn an 'npm install' process and listen for its exit event.

const spawn = require('cross-spawn');
const child = spawn('npm', ['install']);
child.on('exit', function (code, signal) {
  console.log('Child process exited with code ' + code);
});

Spawning a synchronous child process

This feature allows you to spawn a child process and wait for it to finish synchronously, returning the result. The code sample demonstrates how to synchronously spawn an 'npm install' process and log the exit code.

const spawnSync = require('cross-spawn').sync;
const result = spawnSync('npm', ['install'], { stdio: 'inherit' });
console.log('Child process exited with code ' + result.status);

Handling command-line arguments properly

This feature ensures that command-line arguments are handled properly across different platforms. The code sample demonstrates how to spawn an 'echo' command with arguments and handle the standard output.

const spawn = require('cross-spawn');
const child = spawn('echo', ['Hello World!'], { shell: true });
child.stdout.on('data', function (data) {
  console.log('stdout: ' + data.toString());
});

Other packages similar to cross-spawn

Readme

Source

cross-spawn Build Status

A cross platform solution to node's spawn.

Installation

$ npm install cross-spawn

Why

Node has issues when using spawn on Windows:

  • It ignores PATHEXT
  • It does not support shebangs
  • It does not allow you to run del or dir

All these issues are handled correctly by cross-spawn. There are some known modules, such as win-spawn, that try to solve this but they are either broken or provide faulty escaping of shell arguments.

Usage

Exactly the same way as node's spawn, so it's a drop in replacement.

Tests

$ npm test

License

Released under the MIT License.

Keywords

FAQs

Last updated on 08 Apr 2015

Did you know?

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc