JSPM

  • Created
  • Published
  • Downloads 100230944
  • Score
    100M100P100Q259772F
  • License MIT

Cross platform child_process#spawn and child_process#spawnSync

Package Exports

  • cross-spawn

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (cross-spawn) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

cross-spawn

NPM version Downloads Build Status Build status Dependency status Dev Dependency status

A cross platform solution to node's spawn and spawnSync.

Installation

$ npm install cross-spawn

If you are using spawnSync on node 0.10 or older, you will also need to install spawn-sync:

$ npm install spawn-sync

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
  • It does not properly escape arguments with spaces or special characters

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 or spawnSync, so it's a drop in replacement.

var spawn = require('cross-spawn');

// Spawn NPM asynchronously
var child = spawn('npm', ['list', '-g', '-depth', '0'], { stdio: 'inherit' });

// Spawn NPM synchronously
var results = spawn.sync('npm', ['list', '-g', '-depth', '0'], { stdio: 'inherit' });

Tests

$ npm test

License

Released under the MIT License.