You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
2 years ago | |
|---|---|---|
| .. | ||
| lib | 2 years ago | |
| .editorconfig | 2 years ago | |
| .eslintrc | 2 years ago | |
| .npmignore | 2 years ago | |
| .travis.yml | 2 years ago | |
| LICENSE | 2 years ago | |
| README.md | 2 years ago | |
| appveyor.yml | 2 years ago | |
| index.js | 2 years ago | |
| package.json | 2 years ago | |
README.md
cross-spawn
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
delordir - 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.