summaryrefslogtreecommitdiff
path: root/server/.yarn/unplugged/nodemon-npm-2.0.19-5d6fa595c6/node_modules/nodemon/lib/spawn.js
diff options
context:
space:
mode:
Diffstat (limited to 'server/.yarn/unplugged/nodemon-npm-2.0.19-5d6fa595c6/node_modules/nodemon/lib/spawn.js')
-rw-r--r--server/.yarn/unplugged/nodemon-npm-2.0.19-5d6fa595c6/node_modules/nodemon/lib/spawn.js73
1 files changed, 73 insertions, 0 deletions
diff --git a/server/.yarn/unplugged/nodemon-npm-2.0.19-5d6fa595c6/node_modules/nodemon/lib/spawn.js b/server/.yarn/unplugged/nodemon-npm-2.0.19-5d6fa595c6/node_modules/nodemon/lib/spawn.js
new file mode 100644
index 0000000..9aa4f80
--- /dev/null
+++ b/server/.yarn/unplugged/nodemon-npm-2.0.19-5d6fa595c6/node_modules/nodemon/lib/spawn.js
@@ -0,0 +1,73 @@
+const path = require('path');
+const utils = require('./utils');
+const merge = utils.merge;
+const bus = utils.bus;
+const spawn = require('child_process').spawn;
+
+module.exports = function spawnCommand(command, config, eventArgs) {
+ var stdio = ['pipe', 'pipe', 'pipe'];
+
+ if (config.options.stdout) {
+ stdio = ['pipe', process.stdout, process.stderr];
+ }
+
+ const env = merge(process.env, { FILENAME: eventArgs[0] });
+
+ var sh = 'sh';
+ var shFlag = '-c';
+ var spawnOptions = {
+ env: merge(config.options.execOptions.env, env),
+ stdio: stdio,
+ };
+
+ if (!Array.isArray(command)) {
+ command = [command];
+ }
+
+ if (utils.isWindows) {
+ // if the exec includes a forward slash, reverse it for windows compat
+ // but *only* apply to the first command, and none of the arguments.
+ // ref #1251 and #1236
+ command = command.map(executable => {
+ if (executable.indexOf('/') === -1) {
+ return executable;
+ }
+
+ return executable.split(' ').map((e, i) => {
+ if (i === 0) {
+ return path.normalize(e);
+ }
+ return e;
+ }).join(' ');
+ });
+ // taken from npm's cli: https://git.io/vNFD4
+ sh = process.env.comspec || 'cmd';
+ shFlag = '/d /s /c';
+ spawnOptions.windowsVerbatimArguments = true;
+ }
+
+ const args = command.join(' ');
+ const child = spawn(sh, [shFlag, args], spawnOptions);
+
+ if (config.required) {
+ var emit = {
+ stdout: function (data) {
+ bus.emit('stdout', data);
+ },
+ stderr: function (data) {
+ bus.emit('stderr', data);
+ },
+ };
+
+ // now work out what to bind to...
+ if (config.options.stdout) {
+ child.on('stdout', emit.stdout).on('stderr', emit.stderr);
+ } else {
+ child.stdout.on('data', emit.stdout);
+ child.stderr.on('data', emit.stderr);
+
+ bus.stdout = child.stdout;
+ bus.stderr = child.stderr;
+ }
+ }
+};