Comparing version 0.4.23 to 0.4.24
@@ -67,2 +67,3 @@ "use strict"; | ||
var backendFirstStart = true; | ||
var nodeDebugOpt; | ||
process.on('exit', function () { | ||
@@ -73,2 +74,14 @@ if (server) { | ||
}); | ||
var spawnServer = function (serverPath, debugOpt, logger) { | ||
server = child_process_1.spawn('node', [debugOpt, serverPath], { stdio: [0, 1, 2] }); | ||
logger("Spawning " + ['node', debugOpt, serverPath].join(' ')); | ||
server.on('exit', function (code) { | ||
if (code === 250) { | ||
startBackend = true; | ||
} | ||
logger('Backend has been stopped'); | ||
server = undefined; | ||
runServer(serverPath, logger); | ||
}); | ||
}; | ||
var runServer = function (serverPath, logger) { | ||
@@ -81,11 +94,18 @@ if (!fs.existsSync(serverPath)) { | ||
logger('Starting backend'); | ||
server = child_process_1.spawn('node', [serverPath], { stdio: [0, 1, 2] }); | ||
server.on('exit', function (code) { | ||
if (code === 250) { | ||
startBackend = true; | ||
} | ||
logger('Backend has been stopped'); | ||
server = undefined; | ||
runServer(serverPath, logger); | ||
}); | ||
if (!nodeDebugOpt) { | ||
child_process_1.exec('node -v', function (error, stdout, stderr) { | ||
if (error) { | ||
spinLogger.error(error); | ||
process.exit(1); | ||
} | ||
var nodeVersion = stdout.match(/^v([0-9]+)\.([0-9]+)\.([0-9]+)/); | ||
var nodeMajor = parseInt(nodeVersion[1]); | ||
var nodeMinor = parseInt(nodeVersion[2]); | ||
nodeDebugOpt = (nodeMajor >= 6 || (nodeMajor === 6 && nodeMinor >= 9)) ? '--inspect' : '--debug'; | ||
spawnServer(serverPath, nodeDebugOpt, logger); | ||
}); | ||
} | ||
else { | ||
spawnServer(serverPath, nodeDebugOpt, logger); | ||
} | ||
} | ||
@@ -92,0 +112,0 @@ }; |
{ | ||
"name": "spinjs", | ||
"version": "0.4.23", | ||
"version": "0.4.24", | ||
"scripts": { | ||
@@ -5,0 +5,0 @@ "clean": "rm -rf ./lib", |
@@ -1,2 +0,2 @@ | ||
import { spawn } from 'child_process'; | ||
import { exec, spawn } from 'child_process'; | ||
import * as containerized from 'containerized'; | ||
@@ -37,2 +37,3 @@ import * as crypto from 'crypto'; | ||
let backendFirstStart = true; | ||
let nodeDebugOpt; | ||
@@ -45,2 +46,16 @@ process.on('exit', () => { | ||
const spawnServer = (serverPath, debugOpt, logger) => { | ||
server = spawn('node', [debugOpt, serverPath], { stdio: [0, 1, 2] }); | ||
logger(`Spawning ${['node', debugOpt, serverPath].join(' ')}`); | ||
server.on('exit', code => { | ||
if (code === 250) { | ||
// App requested full reload | ||
startBackend = true; | ||
} | ||
logger('Backend has been stopped'); | ||
server = undefined; | ||
runServer(serverPath, logger); | ||
}); | ||
}; | ||
const runServer = (serverPath, logger) => { | ||
@@ -53,12 +68,18 @@ if (!fs.existsSync(serverPath)) { | ||
logger('Starting backend'); | ||
server = spawn('node', [serverPath], { stdio: [0, 1, 2] }); | ||
server.on('exit', code => { | ||
if (code === 250) { | ||
// App requested full reload | ||
startBackend = true; | ||
} | ||
logger('Backend has been stopped'); | ||
server = undefined; | ||
runServer(serverPath, logger); | ||
}); | ||
if (!nodeDebugOpt) { | ||
exec('node -v', (error, stdout, stderr) => { | ||
if (error) { | ||
spinLogger.error(error); | ||
process.exit(1); | ||
} | ||
const nodeVersion = stdout.match(/^v([0-9]+)\.([0-9]+)\.([0-9]+)/); | ||
const nodeMajor = parseInt(nodeVersion[1], 10); | ||
const nodeMinor = parseInt(nodeVersion[2], 10); | ||
nodeDebugOpt = nodeMajor >= 6 || (nodeMajor === 6 && nodeMinor >= 9) ? '--inspect' : '--debug'; | ||
spawnServer(serverPath, nodeDebugOpt, logger); | ||
}); | ||
} else { | ||
spawnServer(serverPath, nodeDebugOpt, logger); | ||
} | ||
} | ||
@@ -65,0 +86,0 @@ }; |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
298826
5008