result.on(NPM_RESULT_CLOSE, code => { if (code === 0) { resolve(); } else if (code !== 0) { reject(); } });
run() { pp.info('Updating PhaserJS...') const npm = spawn('npm', ['install', 'phaser-ce@latest'], { cwd: paths.cli.base, stdio: ['pipe', 'ignore', 'ignore']}) npm.on('close', (e) => { if (e === 0) { fs.copySync(path.join(paths.cli.phaser, 'phaser.min.js'), path.join(paths.game_vendor, 'phaser.min.js')) pp.ok('PhaserJS Updated!') } else if (e === 243) { pp.err('Please use "sudo pnkit update"') } else { pp.err(`An error occurred during the update: code ${e}`) } }) }
ssh.on('exit', () => { if (process.argv.includes('--no-up')) return; cp.spawnSync('ssh', ['-C', host, 'docker-compose', '-f', composeFile, 'up', '-d'], { stdio: 'inherit' }); if (process.argv.includes('--no-prune')) return; cp.spawnSync('ssh', ['-C', host, 'docker', 'image', 'prune', '-a', '-f'], { stdio: 'inherit' }); });
start() { let cmd = 'tcpdump'; let args = ['-nvvv', '-l', '-i', 'eth0', 'icmp', 'and', 'icmp[icmptype]=icmp-echo']; this.tcpdumpProcess = spawn(cmd, args, {stdio: ['ignore', 'pipe', 'ignore']}); this.tcpdumpProcess.on('error', (err) => { console.log(chalk.bgYellow.bold('Warning:') + ' Cannot spawn tcpdump. Error code: ' + err.code); }); this.tcpdumpProcess.stdout.on('data', (data) => { let echo_request = data.toString(); let lines = echo_request.split("\n"); if (lines[1] === undefined) return; let ip_address = lines[1].split(">")[0]; if (ip_address === undefined || ip_address.length === 0) return; else ip_address = ip_address.trim(); this.emit('data', { 'ip': ip_address, 'service': 'ping', 'request': 'ICMP echo request from ' + ip_address, 'request_headers': echo_request }); }); }
unpackToServer(next) { this.logger.debug('Unpacking pack to server.'); const Exec = Process.spawn('tar', ['-xzf', Path.basename(this.archiveLocation), '-C', this.server.path()], { cwd: Path.dirname(this.archiveLocation), stdio: ['ignore', 'ignore', 'pipe'], }); const stderrLines = []; Exec.stderr.setEncoding('utf8'); Exec.stderr.on('data', data => stderrLines.push(data)); Exec.on('error', execErr => { this.logger.error({ location: this.archiveLocation }, execErr); return next(new Error('There was an error while attempting to decompress this file.')); }); Exec.on('exit', (code, signal) => { if (code !== 0) { this.logger.error({ location: this.archiveLocation, code, signal }, `Failed to decompress server pack archive: ${stderrLines.join('\n')}`); } return next(); }); }
docker.on('exit', () => { ssh.stdin.end(); });
dockerProcess.on("close", (code) => { fse.removeSync(dockerContextDir); if (code === 0 && argv.push) { if (tags.length === 0) { console.error("Can not push an image without a tag."); process.exit(1); } // Stop if there's a code !== 0 tags.every((tag) => { const process = childProcess.spawnSync( "docker", ["push", tag], { stdio: "inherit" } ); code = process.status; return code === 0; }); } process.exit(code); });
dtrace.on('error', function (e) { if (e.syscall === 'spawn' && e.errno === 'ENOENT') { console.error('bunyan: error: could not spawn "dtrace" ' + '("bunyan -p" is only supported on platforms with dtrace)'); dtrace.stdout.on('data', function (chunk) { var lines = chunk.split(/\r\n|\n/); var length = lines.length; dtrace.on('exit', finish); } else { var countdownToFinish = function countdownToFinish(code) { var eventsRemaining = 3; dtrace.stderr.pipe(process.stderr); dtrace.stderr.on('end', countdownToFinish); dtrace.stderr.on('end', countdownToFinish); dtrace.on('exit', countdownToFinish);
result.on(NPM_RESULT_CLOSE, code => { if (code === 0) { resolve(); } else if (code !== 0) { reject(); } });
tarProcess.on("close", (code) => { dockerProcess.stdin.end(); });
dtrace.on('error', function (e) { if (e.syscall === 'spawn' && e.errno === 'ENOENT') { console.error('bunyan: error: could not spawn "dtrace" ' + dtrace.stdout.on('data', function (chunk) { var lines = chunk.split(/\r\n|\n/); var length = lines.length; dtrace.on('exit', finish); } else { dtrace.stderr.on('end', countdownToFinish); dtrace.stderr.on('end', countdownToFinish); dtrace.on('exit', countdownToFinish);