legendary-doc-site/apps/core/assets/node_modules/cross-spawn
2020-07-03 21:41:01 -05:00
..
lib chore: Convert to umbrella app 2020-07-03 21:41:01 -05:00
node_modules chore: Convert to umbrella app 2020-07-03 21:41:01 -05:00
.editorconfig chore: Convert to umbrella app 2020-07-03 21:41:01 -05:00
.eslintrc chore: Convert to umbrella app 2020-07-03 21:41:01 -05:00
.npmignore chore: Convert to umbrella app 2020-07-03 21:41:01 -05:00
.travis.yml chore: Convert to umbrella app 2020-07-03 21:41:01 -05:00
appveyor.yml chore: Convert to umbrella app 2020-07-03 21:41:01 -05:00
index.js chore: Convert to umbrella app 2020-07-03 21:41:01 -05:00
LICENSE chore: Convert to umbrella app 2020-07-03 21:41:01 -05:00
package.json chore: Convert to umbrella app 2020-07-03 21:41:01 -05:00
README.md chore: Convert to umbrella app 2020-07-03 21:41:01 -05:00

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.