libreccm-legacy/tools-ng/tinymce/plugins/ccm-cms-images/node_modules/cross-spawn
baka 50ec8b6c4e [3056] Image plugin now in new directory. Also temporarly removes the toolbar button because its not working anyways. Running npm run build inside the plugin root will now compile the plugin into ccm-core.
git-svn-id: https://svn.libreccm.org/ccm/trunk@5740 8810af33-2d31-482b-a856-94f89814c4df
2018-11-21 10:20:00 +00:00
..
lib [3056] Image plugin now in new directory. Also temporarly removes the toolbar button because its not working anyways. Running npm run build inside the plugin root will now compile the plugin into ccm-core. 2018-11-21 10:20:00 +00:00
CHANGELOG.md [3056] Image plugin now in new directory. Also temporarly removes the toolbar button because its not working anyways. Running npm run build inside the plugin root will now compile the plugin into ccm-core. 2018-11-21 10:20:00 +00:00
LICENSE [3056] Image plugin now in new directory. Also temporarly removes the toolbar button because its not working anyways. Running npm run build inside the plugin root will now compile the plugin into ccm-core. 2018-11-21 10:20:00 +00:00
README.md [3056] Image plugin now in new directory. Also temporarly removes the toolbar button because its not working anyways. Running npm run build inside the plugin root will now compile the plugin into ccm-core. 2018-11-21 10:20:00 +00:00
index.js [3056] Image plugin now in new directory. Also temporarly removes the toolbar button because its not working anyways. Running npm run build inside the plugin root will now compile the plugin into ccm-core. 2018-11-21 10:20:00 +00:00
package.json [3056] Image plugin now in new directory. Also temporarly removes the toolbar button because its not working anyways. Running npm run build inside the plugin root will now compile the plugin into ccm-core. 2018-11-21 10:20:00 +00:00

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
  • No options.shell support on node < v6
  • It does not allow you to run del or dir

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' });

Caveats

options.shell as an alternative to cross-spawn

Starting from node v6, spawn has a shell option that allows you run commands from within a shell. This new option solves most of the problems that cross-spawn attempts to solve, but:

  • It's not supported in node < v6
  • It has no support for shebangs on Windows
  • You must manually escape the command and arguments which is very error prone, specially when passing user input

If you are using the shell option to spawn a command in a cross platform way, consider using cross-spawn instead. You have been warned.

Shebangs

While cross-spawn handles shebangs on Windows, its support is limited: e.g.: it doesn't handle arguments after the path, e.g.: #!/bin/bash -e.

Remember to always test your code on Windows!

Tests

$ npm test

License

Released under the MIT License.