UNPKG

runas-core

Version:

The adhesive orchestrator

55 lines (45 loc) 1.18 kB
'use strict'; const fs = require('fs'); const moment = require('moment'); const fsUtils = require('./lib/utils/fsUtils'); const logger = require('./lib/logger'); const relaunch = '.relaunch'; const gush = function() { const init = moment(); const sour = require('./lib/sour'); logger.trace('Loading time', '-', '#duration', moment() - init); sour().gush(init).then(onFulfilled, onReject); }; const onFulfilled = function() { if (fsUtils.exists(relaunch)) { try { fs.unlinkSync(relaunch); } catch (e) { console.log('Problem deleting', relaunch, e); } process.stdout.write('\n'); require('./lib/config').refresh(true); gush(); } else { process.exit(0); } }; const onReject = function(e) { let message = e; let fatal = false; if (e && e.stack) { message += e.stack; fatal = true; console.error('\nUncatched error:\n\n', e.stack); } const params = require('./lib/params'); const analytics = require('./lib/analytics'); analytics.error(message, fatal, params.normal, () => { process.exit(-1); }); }; module.exports = { gush: gush, onFulfilled: onFulfilled, onReject: onReject };