UNPKG

@nodeswork/nam

Version:

Applet manager for Nodeswork containers.

65 lines (63 loc) 2 kB
#!/usr/bin/env node "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const fs = require("fs-extra"); const path = require("path"); const commander = require("commander"); const cli_command_1 = require("./cli-command"); let cmd; commander .arguments('<cmd>') .option('--no-daemon', 'disable daemon mode, direct output to console') .action((c) => { cmd = c; }) .parse(process.argv); if (cmd == null) { console.error('no command given!'); process.exit(1); } if (cmd !== 'start' && cmd !== 'stop' && cmd != 'restart') { console.error('command should be either start, stop, or restart!'); process.exit(1); } const appletManager = cli_command_1.createAppletManager(); (async () => { const options = cli_command_1.extractCommonOptions(); try { switch (cmd) { case 'stop': await appletManager.stopServer(); break; case 'restart': await appletManager.stopServer(); case 'start': if (appletManager.isStarted()) { console.log('daemon is already started.'); process.exit(0); } const logPath = path.join(options.appPath, 'logs/daemon'); fs.mkdirpSync(logPath); const stdoutLog = path.join(logPath, 'stdout'); const stderrLog = path.join(logPath, 'stderr'); if (commander.daemon) { require('daemon')({ stdout: fs.openSync(stdoutLog, 'w'), stderr: fs.openSync(stderrLog, 'w'), }); } await appletManager.startServer(); break; } } catch (e) { if (options.debug) { console.error(e); } else { console.error(e.message); } process.exit(1); } })(); //# sourceMappingURL=nam-daemon.js.map