sauce-connect-launcher
Advanced tools
Comparing version 0.0.1 to 0.1.0
@@ -13,5 +13,25 @@ var | ||
openProcesses = [], | ||
logger = console.log; | ||
logger = console.log, | ||
cleanup_registered = false; | ||
// Make sure all processes have been closed | ||
// when the script goes down | ||
function closeOnProcessTermination() { | ||
if (cleanup_registered) { | ||
return; | ||
} | ||
cleanup_registered = true; | ||
process.on('exit', function (err) { | ||
logger("Shutting down"); | ||
while (openProcesses.length) { | ||
var fakeProcess = openProcesses.pop(); | ||
try { | ||
fakeProcess.emit("exit"); | ||
fakeProcess.kill('SIGTERM'); | ||
} catch (e) {} | ||
} | ||
}); | ||
} | ||
function download(options, callback) { | ||
@@ -105,2 +125,3 @@ var req = http.request({ | ||
logger("Testing tunnel ready"); | ||
closeOnProcessTermination(); | ||
callback(null, child); | ||
@@ -124,2 +145,3 @@ } else if (data.indexOf(credentialsError) !== -1) { | ||
function downloadAndStartProcess(options, callback) { | ||
if (arguments.length === 1) { | ||
@@ -157,14 +179,2 @@ callback = options; | ||
// Make sure all processes have been closed | ||
// when the script goes down | ||
process.on('exit', function (err) { | ||
logger("Shutting down"); | ||
while (openProcesses.length) { | ||
var fakeProcess = openProcesses.pop(); | ||
try { | ||
fakeProcess.emit("exit"); | ||
fakeProcess.kill('SIGTERM'); | ||
} catch (e) {} | ||
} | ||
}); | ||
@@ -171,0 +181,0 @@ module.exports = downloadAndStartProcess; |
{ | ||
"name": "sauce-connect-launcher", | ||
"description": "A library to download and launch Sauce Connect.", | ||
"version": "0.0.1", | ||
"version": "0.1.0", | ||
"homepage": "https://github.com/bermi/sauce-connect-launcher", | ||
@@ -6,0 +6,0 @@ "author": "Bermi Ferrer <bermi@bermilabs.com>", |
@@ -7,4 +7,11 @@ # sauce-connect-launcher | ||
## Installation | ||
```sh | ||
npm install sauce-connect-launcher | ||
``` | ||
## Usage | ||
```javascript | ||
@@ -11,0 +18,0 @@ |
8280
207
40