UNPKG

backed-cli

Version:

The official command line interface for Backed

51 lines (47 loc) 1.09 kB
'use strict'; const elegantSpinner = require('elegant-spinner'); const logUpdate = require('log-update'); const chalk = require('chalk'); let frame = elegantSpinner(); let text = 'Building'; let done = false; let running = false; let startTime; const time = () => { return new Date().toLocaleTimeString(); }; const now = () => { return Date.now(); }; let interval = () => { setInterval(() => { if (running) { logUpdate(`[${time()}] ${text} ${frame()}`); if (done) { process.send('done'); } } }, 50); }; process.on('message', message => { if (message === 'start') { running = true; startTime = now(); interval(); } else if (message === 'pauze') { running = false; } else if (message === 'resume') { running = true; } else if (message.includes('finished')) { frame = () => { return ''; }; let period = now() - startTime; period /= 1000; text = `${message} after: ${chalk.magenta(period + ' sec')}`; } else if (message === 'done') { done = true; } else { text = message; } });