diff options
author | Samy Pessé <samypesse@gmail.com> | 2016-02-25 20:32:08 +0100 |
---|---|---|
committer | Samy Pessé <samypesse@gmail.com> | 2016-02-25 20:32:08 +0100 |
commit | b344d6530297e79019629ba132ad08380c554da9 (patch) | |
tree | 2b2b3c0b9a9b0f728b67820a4d7741c44d43f204 /lib/utils | |
parent | ce967f35cac2eb5919465ad3c68bf31b78563931 (diff) | |
download | gitbook-b344d6530297e79019629ba132ad08380c554da9.zip gitbook-b344d6530297e79019629ba132ad08380c554da9.tar.gz gitbook-b344d6530297e79019629ba132ad08380c554da9.tar.bz2 |
Fix exec of svgexport on windows
Diffstat (limited to 'lib/utils')
-rw-r--r-- | lib/utils/command.js | 27 | ||||
-rw-r--r-- | lib/utils/images.js | 1 |
2 files changed, 12 insertions, 16 deletions
diff --git a/lib/utils/command.js b/lib/utils/command.js index d2beba0..de240df 100644 --- a/lib/utils/command.js +++ b/lib/utils/command.js @@ -1,16 +1,10 @@ var _ = require('lodash'); var childProcess = require('child_process'); +var spawn = require("spawn-cmd").spawn; var Promise = require('./promise'); -// On borwser, command execution is not possible -var isAvailable = childProcess && childProcess.exec; - // Execute a command function exec(command, options) { - if (!isAvailable) { - return Promise.reject(new Error('Command execution is not possible on this platform')); - } - var d = Promise.defer(); var child = childProcess.exec(command, options, function(err, stdout, stderr) { @@ -34,18 +28,22 @@ function exec(command, options) { } // Spawn an executable -function spawn(command, args, options) { - if (!isAvailable) { - return Promise.reject(new Error('Command execution is not possible on this platform')); - } - +function spawnCmd(command, args, options) { var d = Promise.defer(); - var child = childProcess.spawn(command, args, options); + var child = spawn(command, args, options); child.on('error', function(error) { return d.reject(error); }); + child.stdout.on('data', function (data) { + d.notify(data); + }); + + child.stderr.on('data', function (data) { + d.notify(data); + }); + child.on('close', function(code) { if (code === 0) { d.resolve(); @@ -76,8 +74,7 @@ function optionsToShellArgs(options) { } module.exports = { - isAvailable: isAvailable, exec: exec, - spawn: spawn, + spawn: spawnCmd, optionsToShellArgs: optionsToShellArgs }; diff --git a/lib/utils/images.js b/lib/utils/images.js index 1dd8df9..e387d6b 100644 --- a/lib/utils/images.js +++ b/lib/utils/images.js @@ -5,7 +5,6 @@ var error = require('./error'); // Convert a svg file to a pmg function convertSVGToPNG(source, dest, options) { - if (!command.isAvailable) return Promise.reject(new Error('Could not convert SVG in this platform')); if (!fs.existsSync(source)) return Promise.reject(new error.FileNotFoundError({ filename: source })); return command.spawn('svgexport', [source, dest]) |