diff --git a/bin/reload b/bin/reload index c05b684..cb24e23 100755 --- a/bin/reload +++ b/bin/reload @@ -30,9 +30,18 @@ if (typeof program.watchDir === 'undefined') { program.watchDir = program.dir } -var args = ['-e', program.exts, '-w', program.watchDir, '-q', '--', serverFile, program.port, program.dir, !!program.browser, program.hostname, runFile, program.startPage, program.fallback, program.verbose] -supervisor.run(args) +var args +var start = function () { + args = ['-e', program.exts, '-w', program.watchDir, '-n', 'exit', '-q', '--', serverFile, program.port, program.dir, !!program.browser, program.hostname, runFile, program.startPage, program.fallback, program.verbose] + supervisor.run(args) -console.log('\nReload web server:') -console.log('listening on port ' + clc.blue.bold(program.port)) -console.log('monitoring dir ' + clc.green.bold(program.dir)) + console.log('\nReload web server:') + console.log('listening on port ' + clc.blue.bold(program.port)) + console.log('monitoring dir ' + clc.green.bold(program.dir)) + + supervisor.child.on('exit', function () { + program.port++ + start() + }) +} +start() diff --git a/lib/reload-server.js b/lib/reload-server.js index c126787..f87f433 100644 --- a/lib/reload-server.js +++ b/lib/reload-server.js @@ -66,10 +66,13 @@ var server = http.createServer(function (req, res) { } else { // Serve any other file using serve-static serve(req, res, finalhandler(req, res)) } +}).on('error', function (err) { + console.error(err.message) + process.exit() }) // Reload call and configurations. Stub app as it isn't used here -reload(function () {}, reloadOpts, server).then(function (reload) { +reload(function () { }, reloadOpts, server).then(function (reload) { reloadReturned = reload server.listen(port, function () { // Reload writes a random temp file which is checked on a reload so that the browser is not opened every time a change is made