UNPKG

es-node-runner

Version:

Node runner that transpiles typescript or es modules using blazing fast ⚡ esbuild and restarts the process automatically on change. Suitable for node development server.

39 lines (38 loc) 1.07 kB
#!/usr/bin/env node import DEBUG from 'debug'; import {performance} from 'perf_hooks'; import {dispose} from './transpiler.js'; import {formatElapsedTime, logger} from './utils/index.js'; import watch from './watcher.js'; const debug = DEBUG('es-node-runner:main'); global.PROCESS_START_TIME = performance.now(); function main() { try { watch(); } catch (error) { logger.info( '\ntry cli option --debug with optional comma(,) separated namespace for enabling debugging.\n' ); throw error; } } process.on('exit', (code) => { debug(`process ${process.pid} exited with code ${code}`); const logLevel = code > 0 ? 'error' : 'log'; logger[logLevel]( `\n[es-node-runner] --> Exited with code ${code}\n` + `Total runtime --> ${formatElapsedTime( performance.now() - global.PROCESS_START_TIME )}` ); }); process.on('SIGTERM', () => { dispose(); debug('received termination signal'); process.exit(0); }); process.on('SIGINT', () => { debug('received interrupt signal'); process.emit('SIGTERM'); }); main();