cross-spawn / 4.0.0 last updated 19 days ago created on Jun 30th 2014

Install

npm install --save cross-spawn

Clone

git clone git@github.com:IndigoUnited/node-cross-spawn.git

dependencies

main lru-cache 4.0.1 ISC
which 1.2.10 ISC

maintainers

satazor

versions 40 total

4.0.0 19 days ago satazor
3.0.1 a month ago satazor
3.0.0 a month ago satazor
2.2.3 2 months ago satazor
2.2.2 2 months ago satazor
2.2.0 2 months ago satazor
2.1.5 5 months ago satazor
2.1.4 5 months ago satazor
2.1.3 5 months ago satazor
2.1.2 5 months ago satazor
2.1.1 5 months ago satazor
2.1.0 6 months ago satazor
2.0.1 7 months ago satazor
2.0.0 a year ago satazor
1.0.4 a year ago satazor
1.0.3 a year ago satazor
1.0.2 a year ago satazor
1.0.1 a year ago satazor
1.0.0 a year ago satazor
0.4.1 a year ago satazor
0.4.0 a year ago satazor
0.3.0 a year ago satazor
0.2.9 a year ago satazor
0.2.8 a year ago satazor
0.2.7 a year ago satazor
0.2.6 a year ago satazor
0.2.5 a year ago satazor
0.2.4 a year ago satazor
0.2.3 2 years ago satazor
0.2.2 2 years ago satazor
0.2.1 2 years ago satazor
0.2.0 2 years ago satazor
0.1.7 2 years ago satazor
0.1.6 2 years ago satazor
0.1.5 2 years ago satazor
0.1.4 2 years ago satazor
0.1.3 2 years ago satazor
0.1.2 2 years ago satazor
0.1.1 2 years ago satazor
0.1.0 2 years ago satazor
51254 Downloads yesterday.

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.

1
2
3
4
5
6
7
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' });

Caveat

On Windows, cross-spawn will only spawn cmd.exe if necessary. If the extension of the executable is .exe or .com, it will spawn it directly. If you wish to override this behavior and always spawn a shell, pass the {shell: true} option.

Tests

$ npm test

License

Released under the MIT License.

Resolving all dependencies.. This could take a while as our cache is not yet fully warmed up.