aboutsummaryrefslogtreecommitdiff
path: root/node_modules/flagged-respawn/lib
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/flagged-respawn/lib')
-rw-r--r--node_modules/flagged-respawn/lib/reorder.js16
-rw-r--r--node_modules/flagged-respawn/lib/respawn.js15
2 files changed, 31 insertions, 0 deletions
diff --git a/node_modules/flagged-respawn/lib/reorder.js b/node_modules/flagged-respawn/lib/reorder.js
new file mode 100644
index 000000000..556a7d13b
--- /dev/null
+++ b/node_modules/flagged-respawn/lib/reorder.js
@@ -0,0 +1,16 @@
+module.exports = function (flags, argv) {
+ if (!argv) {
+ argv = process.argv;
+ }
+ var args = [argv[1]];
+ argv.slice(2).forEach(function (arg) {
+ var flag = arg.split('=')[0];
+ if (flags.indexOf(flag) !== -1) {
+ args.unshift(arg);
+ } else {
+ args.push(arg);
+ }
+ });
+ args.unshift(argv[0]);
+ return args;
+};
diff --git a/node_modules/flagged-respawn/lib/respawn.js b/node_modules/flagged-respawn/lib/respawn.js
new file mode 100644
index 000000000..086585300
--- /dev/null
+++ b/node_modules/flagged-respawn/lib/respawn.js
@@ -0,0 +1,15 @@
+const spawn = require('child_process').spawn;
+
+module.exports = function (argv) {
+ var child = spawn(argv[0], argv.slice(1), { stdio: 'inherit' });
+ child.on('exit', function (code, signal) {
+ process.on('exit', function () {
+ if (signal) {
+ process.kill(process.pid, signal);
+ } else {
+ process.exit(code);
+ }
+ });
+ });
+ return child;
+};