Bachir Soussi Chiadmi ac58a24f5c added bower, gulp 7 years ago
..
lib ac58a24f5c added bower, gulp 7 years ago
node_modules ac58a24f5c added bower, gulp 7 years ago
.editorconfig ac58a24f5c added bower, gulp 7 years ago
.eslintrc ac58a24f5c added bower, gulp 7 years ago
.npmignore ac58a24f5c added bower, gulp 7 years ago
.travis.yml ac58a24f5c added bower, gulp 7 years ago
LICENSE ac58a24f5c added bower, gulp 7 years ago
README.md ac58a24f5c added bower, gulp 7 years ago
appveyor.yml ac58a24f5c added bower, gulp 7 years ago
index.js ac58a24f5c added bower, gulp 7 years ago
package.json ac58a24f5c added bower, gulp 7 years ago

README.md

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.