import { globalWorking, globalWorkingCallback } from '../boot/gracefull'; const projectName = process.env.PROJECT_NAME; if (!projectName) { throw new TypeError('please set env-var: PROJECT_NAME'); } export function enableDebugConsole(input = process.stdin, output = process.stderr) { if (input['repl']) { throw new Error('init repl on same input twice.'); } const repl = require('repl'); return input['repl'] = repl.start({ prompt: `${projectName} >`, input, output, useColors: true, useGlobal: true, ignoreUndefined: true, // replMode: any, breakEvalOnSigint: true, }); } export function enableDebugConsoleOnNetwork(port = 15000) { const net = require('net'); const tcpServer = net.createServer(function (socket) { const r = enableDebugConsole(socket, socket); r.on('exit', function () { socket.end(); }); r.context.socket = socket; }).listen(port); globalWorkingCallback('debug-server@' + port, tcpServer); }