From 5428c90dce28d0c00e835196be389953c1d99c53 Mon Sep 17 00:00:00 2001 From: rchristian Date: Mon, 16 Jul 2018 13:09:16 -0700 Subject: [PATCH 1/3] Fix indentation, use: node-pty, dotenv, string interpolation, arrow functions. --- .env | 1 + .gitignore | 1 + README.md | 25 +++--- client/client.js | 82 +++++++++---------- package.json | 3 +- server/server.js | 209 +++++++++++++++++++++++------------------------ 6 files changed, 159 insertions(+), 162 deletions(-) create mode 100644 .env create mode 100644 .gitignore diff --git a/.env b/.env new file mode 100644 index 0000000..c88bfa8 --- /dev/null +++ b/.env @@ -0,0 +1 @@ +PORT=8080 \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..40b878d --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +node_modules/ \ No newline at end of file diff --git a/README.md b/README.md index 45bf767..5e08dfc 100644 --- a/README.md +++ b/README.md @@ -1,40 +1,41 @@ -# TRex Web Playground +# TRex Web Playground # Have TRex running inside a container using your web browser. Provides a quick way to get a look-and-feel of what TRex is. -![alt text](https://trex-tgn.cisco.com/trex/doc/images/trexweb.jpg) +![trex logo](https://i.imgur.com/gx0r5PS.png) -## Getting Started +## Getting Started ## TRex web playground is actually a simple skeleton meant to be enhanced. It consists of a node.js server and client static HTML file. -### Prerequisites +### Prerequisites ### To get the server running you need: +* [Node.js](https://nodejs.org) +* [Docker](https://docs.docker.com/install/) +### Installing ### + +Assuming you have node.js and Docker, do... ``` -Node.js -Docker +$ yarn install ``` -### Installing - -Assuming you have node.js and Docker installed and ready, install the following Node packages +...or... ``` -npm install express pty tmp dockerode log-timestamp socket.io +$ npm install ``` - End with an example of getting some data out of the system or using it for a little demo ## Starting TRex Web Server @@ -53,5 +54,3 @@ It was created in a few days just to play with the possibilties. Thus, we encourge contributing to this project by someone who actually knows Javascript and node.js :) - - diff --git a/client/client.js b/client/client.js index 51296ce..8bba742 100755 --- a/client/client.js +++ b/client/client.js @@ -4,7 +4,7 @@ function setup_tabs() { activate: function (event, ui) { } }); - + $("#outputtabs").tabs({ activate: function (event, ui) { var active = $("#outputtabs").tabs('option', 'active') @@ -16,7 +16,7 @@ function setup_tabs() { document.querySelectorAll("a[href='#tcpdump']")[0].style.color = "black"; } } - }); + }); } function get_console_size() { @@ -35,48 +35,44 @@ function on_window_resize() { client.terminals.tcpdump.resize(cols, rows); } -function register_events() { - -} - function create_editors() { - // editors - ace.require("ace/ext/language_tools"); - client.range = ace.require('ace/range').Range; - - client.editors = []; - - // pcap editor - client.editors.push(ace.edit("PCAP")); - - client.editors[0].setOptions({ - enableBasicAutocompletion: true, - enableSnippets: true, - enableLiveAutocompletion: true - - }); - client.editors[0].setShowPrintMargin(false); - client.editors[0].session.setMode("ace/mode/python"); - client.editors[0].setValue(document.getElementById("pcapcode").innerHTML, -1); - - // streams editor - client.editors.push(ace.edit("STREAMS")); - - client.editors[1].setOptions({ - enableBasicAutocompletion: true, - enableSnippets: true, - enableLiveAutocompletion: true - - }); - client.editors[1].setShowPrintMargin(false); - client.editors[1].session.setMode("ace/mode/python"); - client.editors[1].setValue(document.getElementById("streamscode").innerHTML, -1); + // editors + ace.require("ace/ext/language_tools"); + client.range = ace.require('ace/range').Range; + + client.editors = []; + + // pcap editor + client.editors.push(ace.edit("PCAP")); + + client.editors[0].setOptions({ + enableBasicAutocompletion: true, + enableSnippets: true, + enableLiveAutocompletion: true + }); + + client.editors[0].setShowPrintMargin(false); + client.editors[0].session.setMode("ace/mode/python"); + client.editors[0].setValue(document.getElementById("pcapcode").innerHTML, -1); + + // streams editor + client.editors.push(ace.edit("STREAMS")); + + client.editors[1].setOptions({ + enableBasicAutocompletion: true, + enableSnippets: true, + enableLiveAutocompletion: true + }); + + client.editors[1].setShowPrintMargin(false); + client.editors[1].session.setMode("ace/mode/python"); + client.editors[1].setValue(document.getElementById("streamscode").innerHTML, -1); } function create_terminals() { - + Terminal.colors[256] = '#ffffff'; Terminal.colors[257] = '#000000'; @@ -121,7 +117,7 @@ function create_terminals() { function create_socket() { // Connect to the socket.io server - client.socket = io.connect('http://csi-trex-10:8080'); + client.socket = io.connect(`http://csi-trex-10:${process.env.PORT}`); // disconnect client.socket.on("disconnect", function() { @@ -156,7 +152,7 @@ function create_socket() { if ($("#outputtabs").tabs('option', 'active') != 2) { document.querySelectorAll("a[href='#tcpdump']")[0].style.color = "red"; } - + }); } @@ -196,15 +192,15 @@ function init() { create_socket(); create_terminals(); create_editors(); - - + + client.terminals.console.write('Allocating TRex Docker container...\r\n\n'); client.terminals.console.write('Starting TRex Server...\r\n\n'); } function deinit() { client.terminals.console.destroy(); - client.terminals.code.destroy(); + client.terminals.code.destroy(); } client = {}; diff --git a/package.json b/package.json index f52e0f0..3a65add 100644 --- a/package.json +++ b/package.json @@ -6,10 +6,11 @@ "dependencies": { "ace-builds": "^1.3.1", "dockerode": "^2.5.4", + "dotenv": "^6.0.0", "express": "^4.16.3", "jquery-min": "0.0.2", "log-timestamp": "^0.1.2", - "pty": "0.0.0", + "node-pty": "^0.7.6", "socket.io": "^2.0.4", "socket.io-client": "^2.0.4", "term.js": "0.0.7", diff --git a/server/server.js b/server/server.js index fa78d8d..8029d48 100644 --- a/server/server.js +++ b/server/server.js @@ -1,90 +1,89 @@ -var express = require('express'); -var https = require('https'); -var http = require('http'); -var fs = require('fs'); -var pty = require('pty.js'); -var sys = require('sys') -var exec = require('child_process').exec; -var tmp = require('tmp'); -var path = require('path'); -var assert = require('assert'); - -var Docker = require('dockerode'); -var docker = new Docker(); +require('dotenv').config(); +const express = require('express'); +const http = require('http'); +const fs = require('fs'); +const pty = require('node-pty'); +const tmp = require('tmp'); +const path = require('path'); + +const Docker = require('dockerode'); +const docker = new Docker(); require('log-timestamp'); // Setup the express app -var app = express(); +const app = express(); // Static file serving -app.use("/", express.static("client")); +app.use('/', express.static('client')); // Creating an HTTP server -var server = http.createServer(app).listen(8080) +const server = http.createServer(app).listen(process.env.PORT); -var io = require('socket.io')(server); +const io = require('socket.io')(server); -console.log("Starting HTTP server...") +console.log(`Starting HTTP server on port ${process.env.PORT}...`); // When a new socket connects -io.on('connection', function(socket) { - +io.on('connection', socket=> { + socket.shortid = socket.id.substr(0, 8); - console.log("Got new connection from " + socket.request.connection.remoteAddress + " @ ID: " + socket.shortid + "\n"); + console.log(`Got new connection from ${socket.request.connection.remoteAddress} @ ID: ${socket.shortid}\n`); // generate a container - docker.createContainer({Image: 'trexcisco/trex-dev:2.36', - Cmd: ['/bin/bash', '-c', '/etc/startup.sh'], - AttachStdin: true, - AttachStdout: true, - AttachStderr: true, - OpenStdin: true, - Tty: true, - Volumes: {'/shared':{}}, - Binds: [path.resolve('shared') + ':' + '/shared'], - //VolumeDriver : 'shared:/shared', - CapAdd: ["ALL"], }, function (err, container) { + docker.createContainer({ + Image: 'trexcisco/trex-dev:2.36', + Cmd: ['/bin/bash', '-c', '/etc/startup.sh'], + AttachStdin: true, + AttachStdout: true, + AttachStderr: true, + OpenStdin: true, + Tty: true, + Volumes: {'/shared':{}}, + Binds: [`${path.resolve('shared')}:/shared`], + //VolumeDriver : 'shared:/shared', + CapAdd: ['ALL'], + }, (err, container)=> { if (err) { console.log(err); - process.exit("assert"); + process.exit('assert'); } socket.container = container; - console.log("["+ socket.shortid + "] " + "created container with ID: " + container.id); - - socket.container.start(function(err, container) { - - // Create terminal for console - socket.term = pty.spawn('docker', ['exec', '-it', socket.container.id, '/etc/startup.sh'], { - name: 'xterm-color', - cols: 120, - rows: 40, - cwd: process.env.HOME, - env: process.env - }) - - // Create terminal for code - //socket.code = pty.spawn('docker', ['exec', '-it', socket.container.id, 'bash', '-c', 'stty -echo;/etc/stl.sh'], { - socket.code = pty.spawn('docker', ['exec', '-it', socket.container.id, '/etc/scripts/code.sh'], { - name: 'xterm-color', - cols: 120, - rows: 40, - }); - - - socket.tcpdump = pty.spawn('docker', ['exec', '-it', socket.container.id, 'bash', '-c', '/etc/tcpdump -i veth0'], { + console.log(`[${socket.shortid}] created container with ID: ${container.id}`); + + socket.container.start((err, container)=> { + + // Create terminal for console + socket.term = pty.spawn('docker', ['exec', '-it', socket.container.id, '/etc/startup.sh'], { + name: 'xterm-color', + cols: 120, + rows: 40, + cwd: process.env.HOME, + env: process.env + }); + + // Create terminal for code + //socket.code = pty.spawn('docker', ['exec', '-it', socket.container.id, 'bash', '-c', 'stty -echo;/etc/stl.sh'], { + socket.code = pty.spawn('docker', ['exec', '-it', socket.container.id, '/etc/scripts/code.sh'], { name: 'xterm-color', cols: 120, rows: 40, }); - var tcp_dump_buffer = Buffer(''); + + socket.tcpdump = pty.spawn('docker', ['exec', '-it', socket.container.id, 'bash', '-c', '/etc/tcpdump -i veth0'], { + name: 'xterm-color', + cols: 120, + rows: 40, + }); + + let tcp_dump_buffer = Buffer(''); // Listen on the terminal for output and send it to the client - socket.tcpdump.on('data', function(data){ + socket.tcpdump.on('data', data=> { if (tcp_dump_buffer.length < 1024) { tcp_dump_buffer += data; } @@ -101,58 +100,58 @@ io.on('connection', function(socket) { setTimeout(publishTCPDump, 500); // Listen on the terminal for output and send it to the client - socket.term.on('data', function(data){ - //console.log('got output: ' + data); - socket.emit('console-output', data); - }); - - - socket.on('console-input', function(data){ - //console.log('got input: ' + data); - socket.term.write(data); - }); - - - - // Listen on the terminal for output and send it to the client - socket.code.on('data', function(data){ - //console.log('got output: ' + data); - socket.emit('code-run-output', data); - }); - - socket.on('code-run-input', function(code) { + socket.term.on('data', data=> { + //console.log('got output: ' + data); + socket.emit('console-output', data); + }); + + + socket.on('console-input', data=> { + //console.log('got input: ' + data); + socket.term.write(data); + }); + + + + // Listen on the terminal for output and send it to the client + socket.code.on('data', data=> { + //console.log('got output: ' + data); + socket.emit('code-run-output', data); + }); + + socket.on('code-run-input', code=> { if (code == "ESC") { socket.code.write(String.fromCharCode(3)); return; } // generate a temporary file - var tmpobj = tmp.fileSync({ mode: 0644, postfix: '.py', dir: 'shared' }); + const tmpobj = tmp.fileSync({ mode: 0644, postfix: '.py', dir: 'shared' }); fs.writeFileSync(tmpobj.name, code); - socket.code.write("python " + '/' + tmpobj.name + "\n"); + socket.code.write(`python /${tmpobj.name}\n`); return; - }); - - // When socket disconnects, destroy the terminal - socket.on("disconnect", function() { - - console.log("["+ socket.shortid + "] disconnecting..."); - if (socket.container) { - console.log("["+ socket.shortid + "] removing container: " + socket.container.id); - socket.container.remove({force: true}); - socket.container = null; - }; - - if (socket.trem) { - socket.term.destroy(); - socket.term = null; - }; - - if (socket.code) { - socket.code.destroy(); - socket.code = null; - } - }); + }); + + // When socket disconnects, destroy the terminal + socket.on('disconnect', ()=> { + + console.log(`[${socket.shortid}] disconnecting...`); + if (socket.container) { + console.log(`[${socket.shortid}] removing container: ${socket.container.id}`); + socket.container.remove({force: true}); + socket.container = null; + } + + if (socket.trem) { + socket.term.destroy(); + socket.term = null; + } + + if (socket.code) { + socket.code.destroy(); + socket.code = null; + } + }); }); @@ -160,9 +159,9 @@ io.on('connection', function(socket) { }); -process.on('SIGINT', function () { - - console.log("\n*** shutting down IO...\n"); +process.on('SIGINT', ()=> { + + console.log('\n*** shutting down IO...\n'); server.close(); io.close(); From a6073092e67f2ab0eac60bd80efa9c73129d894b Mon Sep 17 00:00:00 2001 From: rchristian Date: Mon, 16 Jul 2018 16:19:18 -0700 Subject: [PATCH 2/3] Fix: deps, missing semi-colons, `var`->`const`, logos css, resize logic, localhost in connect address... --- README.md | 7 ++- client/client.js | 98 ++++++++++++++++------------------ client/css/style.css | 6 +-- client/images/Docker-Logo.png | Bin 0 -> 107884 bytes client/images/docker_logo.jpg | Bin 61920 -> 0 bytes client/index.html | 33 +++++------- server/server.js | 43 +++++++-------- 7 files changed, 85 insertions(+), 102 deletions(-) create mode 100644 client/images/Docker-Logo.png delete mode 100755 client/images/docker_logo.jpg diff --git a/README.md b/README.md index 5e08dfc..d6fd793 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ Provides a quick way to get a look-and-feel of what TRex is. ## Getting Started ## -TRex web playground is actually a simple skeleton meant to be enhanced. +TRex web playground is actually a simple skeleton meant to be enhanced. It consists of a node.js server and client static HTML file. @@ -25,6 +25,11 @@ To get the server running you need: Assuming you have node.js and Docker, do... +``` +$ docker pull trexcisco/trex-dev:2.36 +``` + +And to install the JS dependancies... ``` $ yarn install ``` diff --git a/client/client.js b/client/client.js index 8bba742..6ef63ba 100755 --- a/client/client.js +++ b/client/client.js @@ -1,51 +1,49 @@ // some layouts function setup_tabs() { - $("#codetabs").tabs({ + $('#codetabs').tabs({ activate: function (event, ui) { } }); - $("#outputtabs").tabs({ + $('#outputtabs').tabs({ activate: function (event, ui) { - var active = $("#outputtabs").tabs('option', 'active') + const active = $('#outputtabs').tabs('option', 'active'); if (active == 0) { - document.querySelectorAll("a[href='#console']")[0].style.color = "black"; + document.querySelectorAll('a[href="#console"]')[0].style.color = 'black'; } else if (active == 1) { - document.querySelectorAll("a[href='#output']")[0].style.color = "black"; + document.querySelectorAll('a[href="#output"]')[0].style.color = 'black'; } else if (active == 2) { - document.querySelectorAll("a[href='#tcpdump']")[0].style.color = "black"; + document.querySelectorAll('a[href="#tcpdump"]')[0].style.color = 'black'; } } }); } function get_console_size() { - console_window = document.getElementById("console"); - cols = Math.floor(console_window.offsetWidth / 10); - rows = Math.floor(console_window.offsetHeight / 19); + console_window = document.getElementById('console'); + const cols = Math.floor(console_window.offsetWidth / 10); + const rows = Math.floor(console_window.offsetHeight / 19); - return {cols: cols, rows: rows}; + return { cols, rows }; } function on_window_resize() { - cols, rows = get_console_size(); + const { cols, rows } = get_console_size(); client.terminals.console.resize(cols, rows); client.terminals.code.resize(cols, rows); client.terminals.tcpdump.resize(cols, rows); } - function create_editors() { + // editors - ace.require("ace/ext/language_tools"); + ace.require('ace/ext/language_tools'); client.range = ace.require('ace/range').Range; - client.editors = []; // pcap editor - client.editors.push(ace.edit("PCAP")); - + client.editors.push(ace.edit('PCAP')); client.editors[0].setOptions({ enableBasicAutocompletion: true, enableSnippets: true, @@ -53,12 +51,11 @@ function create_editors() { }); client.editors[0].setShowPrintMargin(false); - client.editors[0].session.setMode("ace/mode/python"); - client.editors[0].setValue(document.getElementById("pcapcode").innerHTML, -1); + client.editors[0].session.setMode('ace/mode/python'); + client.editors[0].setValue(document.getElementById('pcapcode').innerHTML, -1); // streams editor - client.editors.push(ace.edit("STREAMS")); - + client.editors.push(ace.edit('STREAMS')); client.editors[1].setOptions({ enableBasicAutocompletion: true, enableSnippets: true, @@ -66,8 +63,8 @@ function create_editors() { }); client.editors[1].setShowPrintMargin(false); - client.editors[1].session.setMode("ace/mode/python"); - client.editors[1].setValue(document.getElementById("streamscode").innerHTML, -1); + client.editors[1].session.setMode('ace/mode/python'); + client.editors[1].setValue(document.getElementById('streamscode').innerHTML, -1); } @@ -78,70 +75,68 @@ function create_terminals() { client.terminals = {}; - dim = get_console_size(); + const { cols, rows } = get_console_size(); client.terminals.console = new Terminal({ screenKeys: true, useStyle: true, - cols: dim.cols, - rows: dim.rows, + cols, + rows, }); client.terminals.code = new Terminal({ screenKeys: true, useStyle: true, - cols: cols, - rows: rows, + cols, + rows, }); client.terminals.tcpdump = new Terminal({ screenKeys: true, useStyle: true, - cols: cols, - rows: rows, + cols, + rows, }); Terminal.colors[256] = '#ffffff'; Terminal.colors[257] = '#000000'; - client.terminals.console.open(document.getElementById("console")); - client.terminals.code.open(document.getElementById("output")) - client.terminals.tcpdump.open(document.getElementById("tcpdump")) + client.terminals.console.open(document.getElementById('console')); + client.terminals.code.open(document.getElementById('output')); + client.terminals.tcpdump.open(document.getElementById('tcpdump')); // register some events client.terminals.console.on('data', function(data) { - client.socket.emit("console-input", data); + client.socket.emit('console-input', data); }); } function create_socket() { // Connect to the socket.io server - client.socket = io.connect(`http://csi-trex-10:${process.env.PORT}`); + client.socket = io.connect('http://localhost:7171'); // disconnect - client.socket.on("disconnect", function() { - deinit(); - }); + client.socket.on('disconnect', deinit); // console output client.socket.on('console-output', function(data) { client.terminals.console.write(data); - if ($("#outputtabs").tabs('option', 'active') != 0) { - document.querySelectorAll("a[href='#console']")[0].style.color = "red"; + if ($('#outputtabs').tabs('option', 'active') != 0) { + document.querySelectorAll('a[href="#console"]')[0].style.color = 'red'; } }); // code output client.socket.on('code-run-output', function(data) { - var ss = data.split("\n"); - for (var s in ss) { + const ss = data.split('\n'); + for (let s in ss) { client.terminals.code.writeln(ss[s]); } - if ($("#outputtabs").tabs('option', 'active') != 1) { - document.querySelectorAll("a[href='#output']")[0].style.color = "red"; + if ($('#outputtabs').tabs('option', 'active') != 1) { + document.querySelectorAll('a[href="#output"]')[0].style.color = 'red'; } }) @@ -149,8 +144,8 @@ function create_socket() { client.socket.on('tcpdump-output', function(data) { client.terminals.tcpdump.write(data); - if ($("#outputtabs").tabs('option', 'active') != 2) { - document.querySelectorAll("a[href='#tcpdump']")[0].style.color = "red"; + if ($('#outputtabs').tabs('option', 'active') != 2) { + document.querySelectorAll('a[href="#tcpdump"]')[0].style.color = 'red'; } }); @@ -162,29 +157,26 @@ function onRunClick() { //$("#outputtabs").tabs("option", "active", 1); // get the current active tab - code_tab = $("#codetabs").tabs('option', 'active'); + code_tab = $('#codetabs').tabs('option', 'active'); editor = client.editors[code_tab]; code = editor.session.getValue(); client.terminals.code.write('\033[2J'); client.terminals.code.write('\033[H'); client.terminals.code.write('Launching script:\r\n\n'); - client.socket.emit("code-run-input", code); + client.socket.emit('code-run-input', code); } function onStopClick() { - client.socket.emit("code-run-input", "ESC"); + client.socket.emit('code-run-input', 'ESC'); } function setup_buttons() { - document.getElementById("stopbutton").onclick = onStopClick; - document.getElementById("runbutton").onclick = onRunClick; + document.getElementById('stopbutton').onclick = onStopClick; + document.getElementById('runbutton').onclick = onRunClick; } - - - function init() { setup_tabs(); setup_buttons(); diff --git a/client/css/style.css b/client/css/style.css index a0e28e3..64f962e 100755 --- a/client/css/style.css +++ b/client/css/style.css @@ -1,7 +1,7 @@ body { overflow: hidden; } - + #trexlogo { margin: 0; position: absolute; @@ -16,7 +16,6 @@ position: absolute; top: 0%; bottom: 0%; - left: 90%; right: 0%; } @@ -76,7 +75,7 @@ right: 0%; border-style: ridge; } - + #outputtabs { margin: 0; position: absolute; @@ -186,4 +185,3 @@ color: #666666; } - \ No newline at end of file diff --git a/client/images/Docker-Logo.png b/client/images/Docker-Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..8992804c9edb2f51882d87f8e4d93a028d0f0502 GIT binary patch literal 107884 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 literal 0 HcmV?d00001 diff --git a/client/images/docker_logo.jpg b/client/images/docker_logo.jpg deleted file mode 100755 index e6bfcd2394a0b022b4bd3bb9fefff4f8501dc3a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 61920 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 - + @@ -10,11 +10,11 @@ - + - - + + @@ -25,26 +25,24 @@
- - - + + +
@@ -152,11 +150,6 @@ - - - - - - + + - diff --git a/server/server.js b/server/server.js index 8029d48..ee58a3c 100644 --- a/server/server.js +++ b/server/server.js @@ -1,4 +1,3 @@ -require('dotenv').config(); const express = require('express'); const http = require('http'); const fs = require('fs'); @@ -17,14 +16,14 @@ const app = express(); app.use('/', express.static('client')); // Creating an HTTP server -const server = http.createServer(app).listen(process.env.PORT); +const server = http.createServer(app).listen(7171); const io = require('socket.io')(server); -console.log(`Starting HTTP server on port ${process.env.PORT}...`); +console.log('Starting HTTP server...'); // When a new socket connects -io.on('connection', socket=> { +io.on('connection', function(socket) { socket.shortid = socket.id.substr(0, 8); @@ -43,7 +42,7 @@ io.on('connection', socket=> { Binds: [`${path.resolve('shared')}:/shared`], //VolumeDriver : 'shared:/shared', CapAdd: ['ALL'], - }, (err, container)=> { + }, function (err, container) { if (err) { console.log(err); @@ -54,7 +53,7 @@ io.on('connection', socket=> { console.log(`[${socket.shortid}] created container with ID: ${container.id}`); - socket.container.start((err, container)=> { + socket.container.start(function(err, container) { // Create terminal for console socket.term = pty.spawn('docker', ['exec', '-it', socket.container.id, '/etc/startup.sh'], { @@ -62,28 +61,27 @@ io.on('connection', socket=> { cols: 120, rows: 40, cwd: process.env.HOME, - env: process.env + env: process.env, }); // Create terminal for code - //socket.code = pty.spawn('docker', ['exec', '-it', socket.container.id, 'bash', '-c', 'stty -echo;/etc/stl.sh'], { + // socket.code = pty.spawn('docker', ['exec', '-it', socket.container.id, 'bash', '-c', 'stty -echo;/etc/stl.sh'], { socket.code = pty.spawn('docker', ['exec', '-it', socket.container.id, '/etc/scripts/code.sh'], { name: 'xterm-color', cols: 120, rows: 40, }); - socket.tcpdump = pty.spawn('docker', ['exec', '-it', socket.container.id, 'bash', '-c', '/etc/tcpdump -i veth0'], { name: 'xterm-color', cols: 120, rows: 40, }); - let tcp_dump_buffer = Buffer(''); + let tcp_dump_buffer = Buffer.from(''); // Listen on the terminal for output and send it to the client - socket.tcpdump.on('data', data=> { + socket.tcpdump.on('data', function(data) { if (tcp_dump_buffer.length < 1024) { tcp_dump_buffer += data; } @@ -92,7 +90,7 @@ io.on('connection', socket=> { function publishTCPDump() { if (tcp_dump_buffer.length > 0) { socket.emit('tcpdump-output', tcp_dump_buffer); - tcp_dump_buffer = Buffer(''); + tcp_dump_buffer = Buffer.from(''); } setTimeout(publishTCPDump, 500); } @@ -100,27 +98,24 @@ io.on('connection', socket=> { setTimeout(publishTCPDump, 500); // Listen on the terminal for output and send it to the client - socket.term.on('data', data=> { + socket.term.on('data', function(data) { //console.log('got output: ' + data); socket.emit('console-output', data); }); - - socket.on('console-input', data=> { + socket.on('console-input', function(data) { //console.log('got input: ' + data); socket.term.write(data); }); - - // Listen on the terminal for output and send it to the client - socket.code.on('data', data=> { + socket.code.on('data', function(data) { //console.log('got output: ' + data); socket.emit('code-run-output', data); }); - socket.on('code-run-input', code=> { - if (code == "ESC") { + socket.on('code-run-input', function(code) { + if (code == 'ESC') { socket.code.write(String.fromCharCode(3)); return; } @@ -131,14 +126,14 @@ io.on('connection', socket=> { socket.code.write(`python /${tmpobj.name}\n`); return; }); - // When socket disconnects, destroy the terminal - socket.on('disconnect', ()=> { + socket.on('disconnect', function() { console.log(`[${socket.shortid}] disconnecting...`); + if (socket.container) { console.log(`[${socket.shortid}] removing container: ${socket.container.id}`); - socket.container.remove({force: true}); + socket.container.remove({ force: true }); socket.container = null; } @@ -159,7 +154,7 @@ io.on('connection', socket=> { }); -process.on('SIGINT', ()=> { +process.on('SIGINT', function () { console.log('\n*** shutting down IO...\n'); server.close(); From 46af0b6fdf0686067c68414c7a59dabd66e84a3d Mon Sep 17 00:00:00 2001 From: rchristian Date: Mon, 16 Jul 2018 16:41:50 -0700 Subject: [PATCH 3/3] Add yarn.lock and remove package-lock.json, plus erroneous server/package-lock.json --- .env | 1 - client/client.js | 1 - package-lock.json | 901 --------------------------------------- package.json | 1 - server/package-lock.json | 891 -------------------------------------- yarn.lock | 746 ++++++++++++++++++++++++++++++++ 6 files changed, 746 insertions(+), 1795 deletions(-) delete mode 100644 .env delete mode 100644 package-lock.json delete mode 100644 server/package-lock.json create mode 100644 yarn.lock diff --git a/.env b/.env deleted file mode 100644 index c88bfa8..0000000 --- a/.env +++ /dev/null @@ -1 +0,0 @@ -PORT=8080 \ No newline at end of file diff --git a/client/client.js b/client/client.js index 6ef63ba..9aeeedc 100755 --- a/client/client.js +++ b/client/client.js @@ -185,7 +185,6 @@ function init() { create_terminals(); create_editors(); - client.terminals.console.write('Allocating TRex Docker container...\r\n\n'); client.terminals.console.write('Starting TRex Server...\r\n\n'); } diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 192733b..0000000 --- a/package-lock.json +++ /dev/null @@ -1,901 +0,0 @@ -{ - "requires": true, - "lockfileVersion": 1, - "dependencies": { - "JSONStream": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.2.tgz", - "integrity": "sha1-wQI3G27Dp887hHygDCC7D85Mbeo=", - "requires": { - "jsonparse": "1.3.1", - "through": "2.3.8" - } - }, - "accepts": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", - "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", - "requires": { - "mime-types": "2.1.18", - "negotiator": "0.6.1" - } - }, - "ace-builds": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/ace-builds/-/ace-builds-1.3.1.tgz", - "integrity": "sha512-MJtPAqeGaiIpfgUCXi3/oowqcIw4wSkKTDGvtfUoQHrfZGfjNnH3frPdHzd1VfKF62JFeNJOl4q0TRDiHwoBFg==" - }, - "after": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", - "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=" - }, - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" - }, - "arraybuffer.slice": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz", - "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==" - }, - "async-limiter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", - "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==" - }, - "backo2": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", - "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=" - }, - "base64-arraybuffer": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", - "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=" - }, - "base64id": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz", - "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=" - }, - "better-assert": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", - "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=", - "requires": { - "callsite": "1.0.0" - } - }, - "bl": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.1.tgz", - "integrity": "sha1-ysMo977kVzDUBLaSID/LWQ4XLV4=", - "requires": { - "readable-stream": "2.0.6" - } - }, - "blob": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz", - "integrity": "sha1-vPEwUspURj8w+fx+lbmkdjCpSSE=" - }, - "body-parser": { - "version": "1.18.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz", - "integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=", - "requires": { - "bytes": "3.0.0", - "content-type": "1.0.4", - "debug": "2.6.9", - "depd": "1.1.2", - "http-errors": "1.6.2", - "iconv-lite": "0.4.19", - "on-finished": "2.3.0", - "qs": "6.5.1", - "raw-body": "2.3.2", - "type-is": "1.6.16" - } - }, - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" - }, - "callsite": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", - "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=" - }, - "component-bind": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", - "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=" - }, - "component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" - }, - "component-inherit": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", - "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=" - }, - "concat-stream": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz", - "integrity": "sha1-cIl4Yk2FavQaWnQd790mHadSwmY=", - "requires": { - "inherits": "2.0.3", - "readable-stream": "2.0.6", - "typedarray": "0.0.6" - } - }, - "content-disposition": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", - "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=" - }, - "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" - }, - "cookie": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", - "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" - }, - "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" - }, - "docker-modem": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/docker-modem/-/docker-modem-1.0.6.tgz", - "integrity": "sha512-kDwWa5QaiVMB8Orbb7nXdGdwEZHKfEm7iPwglXe1KorImMpmGNlhC7A5LG0p8rrCcz1J4kJhq/o63lFjDdj8rQ==", - "requires": { - "JSONStream": "1.3.2", - "debug": "3.1.0", - "readable-stream": "1.0.34", - "split-ca": "1.0.1" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "requires": { - "ms": "2.0.0" - } - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "0.0.1", - "string_decoder": "0.10.31" - } - } - } - }, - "dockerode": { - "version": "2.5.4", - "resolved": "https://registry.npmjs.org/dockerode/-/dockerode-2.5.4.tgz", - "integrity": "sha512-esqrDATdckYhkOFn4BSOrqnkj3jgBkHT07uEqTRwK6na4/Rg60vjXWRopv2BbRpvFruMmKvOSNVY4MbmVBUnWw==", - "requires": { - "concat-stream": "1.5.2", - "docker-modem": "1.0.6", - "tar-fs": "1.12.0" - } - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" - }, - "end-of-stream": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", - "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", - "requires": { - "once": "1.4.0" - } - }, - "engine.io": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.1.5.tgz", - "integrity": "sha512-D06ivJkYxyRrcEe0bTpNnBQNgP9d3xog+qZlLbui8EsMr/DouQpf5o9FzJnWYHEYE0YsFHllUv2R1dkgYZXHcA==", - "requires": { - "accepts": "1.3.5", - "base64id": "1.0.0", - "cookie": "0.3.1", - "debug": "3.1.0", - "engine.io-parser": "2.1.2", - "uws": "9.14.0", - "ws": "3.3.3" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "requires": { - "ms": "2.0.0" - } - } - } - }, - "engine.io-client": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.1.6.tgz", - "integrity": "sha512-hnuHsFluXnsKOndS4Hv6SvUrgdYx1pk2NqfaDMW+GWdgfU3+/V25Cj7I8a0x92idSpa5PIhJRKxPvp9mnoLsfg==", - "requires": { - "component-emitter": "1.2.1", - "component-inherit": "0.0.3", - "debug": "3.1.0", - "engine.io-parser": "2.1.2", - "has-cors": "1.1.0", - "indexof": "0.0.1", - "parseqs": "0.0.5", - "parseuri": "0.0.5", - "ws": "3.3.3", - "xmlhttprequest-ssl": "1.5.5", - "yeast": "0.1.2" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "requires": { - "ms": "2.0.0" - } - } - } - }, - "engine.io-parser": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.2.tgz", - "integrity": "sha512-dInLFzr80RijZ1rGpx1+56/uFoH7/7InhH3kZt+Ms6hT8tNx3NGW/WNSA/f8As1WkOfkuyb3tnRyuXGxusclMw==", - "requires": { - "after": "0.8.2", - "arraybuffer.slice": "0.0.7", - "base64-arraybuffer": "0.1.5", - "blob": "0.0.4", - "has-binary2": "1.0.2" - } - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" - }, - "express": { - "version": "4.16.3", - "resolved": "https://registry.npmjs.org/express/-/express-4.16.3.tgz", - "integrity": "sha1-avilAjUNsyRuzEvs9rWjTSL37VM=", - "requires": { - "accepts": "1.3.5", - "array-flatten": "1.1.1", - "body-parser": "1.18.2", - "content-disposition": "0.5.2", - "content-type": "1.0.4", - "cookie": "0.3.1", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "1.1.2", - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "etag": "1.8.1", - "finalhandler": "1.1.1", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "1.1.2", - "on-finished": "2.3.0", - "parseurl": "1.3.2", - "path-to-regexp": "0.1.7", - "proxy-addr": "2.0.3", - "qs": "6.5.1", - "range-parser": "1.2.0", - "safe-buffer": "5.1.1", - "send": "0.16.2", - "serve-static": "1.13.2", - "setprototypeof": "1.1.0", - "statuses": "1.4.0", - "type-is": "1.6.16", - "utils-merge": "1.0.1", - "vary": "1.1.2" - } - }, - "extend": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/extend/-/extend-1.2.1.tgz", - "integrity": "sha1-oPX9bPyDpf5J72mNYOyKYk3UV2w=" - }, - "finalhandler": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", - "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", - "requires": { - "debug": "2.6.9", - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "on-finished": "2.3.0", - "parseurl": "1.3.2", - "statuses": "1.4.0", - "unpipe": "1.0.0" - } - }, - "forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" - }, - "has-binary2": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.2.tgz", - "integrity": "sha1-6D26SfC5vk0CbSc2U1DZ8D9Uvpg=", - "requires": { - "isarray": "2.0.1" - }, - "dependencies": { - "isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" - } - } - }, - "has-cors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", - "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=" - }, - "http-errors": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz", - "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=", - "requires": { - "depd": "1.1.1", - "inherits": "2.0.3", - "setprototypeof": "1.0.3", - "statuses": "1.4.0" - }, - "dependencies": { - "depd": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", - "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=" - }, - "setprototypeof": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", - "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=" - } - } - }, - "iconv-lite": { - "version": "0.4.19", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", - "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==" - }, - "indexof": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", - "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=" - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "ipaddr.js": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.6.0.tgz", - "integrity": "sha1-4/o1e3c9phnybpXwSdBVxyeW+Gs=" - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "jquery-min": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/jquery-min/-/jquery-min-0.0.2.tgz", - "integrity": "sha512-rfQnLAvaJWLuFYVakXyWeSuyCpMpXAjvgUI68eDIDnwOe1atruMZkmjwbQN2K6XT/qmzV0L6g/PUaVEvVatcbw==" - }, - "jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=" - }, - "log-prefix": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/log-prefix/-/log-prefix-0.0.0.tgz", - "integrity": "sha1-L8YdfA5Rn4+fhq3KfVOgp6dXF3A=" - }, - "log-timestamp": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/log-timestamp/-/log-timestamp-0.1.2.tgz", - "integrity": "sha1-zMFzklFzqJ+qdsQmUZvxqKF3ZOg=", - "requires": { - "log-prefix": "0.0.0" - } - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" - }, - "mime": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", - "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==" - }, - "mime-db": { - "version": "1.33.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", - "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==" - }, - "mime-types": { - "version": "2.1.18", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", - "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", - "requires": { - "mime-db": "1.33.0" - } - }, - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "nan": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.3.5.tgz", - "integrity": "sha1-gioNwmYpDOTNOhIoLKPn42Rmigg=" - }, - "negotiator": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", - "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=" - }, - "object-component": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz", - "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=" - }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "requires": { - "ee-first": "1.1.1" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1.0.2" - } - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" - }, - "parseqs": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz", - "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=", - "requires": { - "better-assert": "1.0.2" - } - }, - "parseuri": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz", - "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=", - "requires": { - "better-assert": "1.0.2" - } - }, - "parseurl": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", - "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=" - }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" - }, - "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" - }, - "proxy-addr": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.3.tgz", - "integrity": "sha512-jQTChiCJteusULxjBp8+jftSQE5Obdl3k4cnmLA6WXtK6XFuWRnvVL7aCiBqaLPM8c4ph0S4tKna8XvmIwEnXQ==", - "requires": { - "forwarded": "0.1.2", - "ipaddr.js": "1.6.0" - } - }, - "pty": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/pty/-/pty-0.0.0.tgz", - "integrity": "sha1-Pf4ONEi2yCgP1mZBJAtDHzmtTZI=", - "requires": { - "pty.js": "0.3.1" - } - }, - "pty.js": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/pty.js/-/pty.js-0.3.1.tgz", - "integrity": "sha1-gfW+0zLW5eeraFaI0boDc0ENUbU=", - "requires": { - "extend": "1.2.1", - "nan": "2.3.5" - } - }, - "pump": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", - "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", - "requires": { - "end-of-stream": "1.4.1", - "once": "1.4.0" - } - }, - "qs": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", - "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==" - }, - "range-parser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=" - }, - "raw-body": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz", - "integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=", - "requires": { - "bytes": "3.0.0", - "http-errors": "1.6.2", - "iconv-lite": "0.4.19", - "unpipe": "1.0.0" - } - }, - "readable-stream": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", - "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "string_decoder": "0.10.31", - "util-deprecate": "1.0.2" - } - }, - "safe-buffer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" - }, - "send": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", - "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", - "requires": { - "debug": "2.6.9", - "depd": "1.1.2", - "destroy": "1.0.4", - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "etag": "1.8.1", - "fresh": "0.5.2", - "http-errors": "1.6.2", - "mime": "1.4.1", - "ms": "2.0.0", - "on-finished": "2.3.0", - "range-parser": "1.2.0", - "statuses": "1.4.0" - } - }, - "serve-static": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", - "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", - "requires": { - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "parseurl": "1.3.2", - "send": "0.16.2" - } - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" - }, - "socket.io": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.0.4.tgz", - "integrity": "sha1-waRZDO/4fs8TxyZS8Eb3FrKeYBQ=", - "requires": { - "debug": "2.6.9", - "engine.io": "3.1.5", - "socket.io-adapter": "1.1.1", - "socket.io-client": "2.0.4", - "socket.io-parser": "3.1.3" - } - }, - "socket.io-adapter": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz", - "integrity": "sha1-KoBeihTWNyEk3ZFZrUUC+MsH8Gs=" - }, - "socket.io-client": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.0.4.tgz", - "integrity": "sha1-CRilUkBtxeVAs4Dc2Xr8SmQzL44=", - "requires": { - "backo2": "1.0.2", - "base64-arraybuffer": "0.1.5", - "component-bind": "1.0.0", - "component-emitter": "1.2.1", - "debug": "2.6.9", - "engine.io-client": "3.1.6", - "has-cors": "1.1.0", - "indexof": "0.0.1", - "object-component": "0.0.3", - "parseqs": "0.0.5", - "parseuri": "0.0.5", - "socket.io-parser": "3.1.3", - "to-array": "0.1.4" - } - }, - "socket.io-parser": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.1.3.tgz", - "integrity": "sha512-g0a2HPqLguqAczs3dMECuA1RgoGFPyvDqcbaDEdCWY9g59kdUAz3YRmaJBNKXflrHNwB7Q12Gkf/0CZXfdHR7g==", - "requires": { - "component-emitter": "1.2.1", - "debug": "3.1.0", - "has-binary2": "1.0.2", - "isarray": "2.0.1" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "requires": { - "ms": "2.0.0" - } - }, - "isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" - } - } - }, - "split-ca": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/split-ca/-/split-ca-1.0.1.tgz", - "integrity": "sha1-bIOv82kvphJW4M0ZfgXp3hV2kaY=" - }, - "statuses": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - }, - "tar-fs": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-1.12.0.tgz", - "integrity": "sha1-pqgFU9ilTHPeHQrg553ncDVgXh0=", - "requires": { - "mkdirp": "0.5.1", - "pump": "1.0.3", - "tar-stream": "1.5.5" - } - }, - "tar-stream": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.5.5.tgz", - "integrity": "sha512-mQdgLPc/Vjfr3VWqWbfxW8yQNiJCbAZ+Gf6GDu1Cy0bdb33ofyiNGBtAY96jHFhDuivCwgW1H9DgTON+INiXgg==", - "requires": { - "bl": "1.2.1", - "end-of-stream": "1.4.1", - "readable-stream": "2.0.6", - "xtend": "4.0.1" - } - }, - "term.js": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/term.js/-/term.js-0.0.7.tgz", - "integrity": "sha1-Um8kz8Dy72+A9RfJ4n2ulHvIcxU=" - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" - }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "requires": { - "os-tmpdir": "1.0.2" - } - }, - "to-array": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", - "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=" - }, - "type-is": { - "version": "1.6.16", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", - "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", - "requires": { - "media-typer": "0.3.0", - "mime-types": "2.1.18" - } - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" - }, - "ultron": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", - "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==" - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" - }, - "uws": { - "version": "9.14.0", - "resolved": "https://registry.npmjs.org/uws/-/uws-9.14.0.tgz", - "integrity": "sha512-HNMztPP5A1sKuVFmdZ6BPVpBQd5bUjNC8EFMFiICK+oho/OQsAJy5hnIx4btMHiOk8j04f/DbIlqnEZ9d72dqg==", - "optional": true - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "ws": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", - "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", - "requires": { - "async-limiter": "1.0.0", - "safe-buffer": "5.1.1", - "ultron": "1.1.1" - } - }, - "xmlhttprequest-ssl": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz", - "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=" - }, - "xtend": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" - }, - "yeast": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", - "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=" - } - } -} diff --git a/package.json b/package.json index 3a65add..d7e4209 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,6 @@ "dependencies": { "ace-builds": "^1.3.1", "dockerode": "^2.5.4", - "dotenv": "^6.0.0", "express": "^4.16.3", "jquery-min": "0.0.2", "log-timestamp": "^0.1.2", diff --git a/server/package-lock.json b/server/package-lock.json deleted file mode 100644 index 53bdaa1..0000000 --- a/server/package-lock.json +++ /dev/null @@ -1,891 +0,0 @@ -{ - "requires": true, - "lockfileVersion": 1, - "dependencies": { - "JSONStream": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.2.tgz", - "integrity": "sha1-wQI3G27Dp887hHygDCC7D85Mbeo=", - "requires": { - "jsonparse": "1.3.1", - "through": "2.3.8" - } - }, - "accepts": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", - "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", - "requires": { - "mime-types": "2.1.18", - "negotiator": "0.6.1" - } - }, - "ace-builds": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/ace-builds/-/ace-builds-1.3.1.tgz", - "integrity": "sha512-MJtPAqeGaiIpfgUCXi3/oowqcIw4wSkKTDGvtfUoQHrfZGfjNnH3frPdHzd1VfKF62JFeNJOl4q0TRDiHwoBFg==" - }, - "after": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", - "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=" - }, - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" - }, - "arraybuffer.slice": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz", - "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==" - }, - "async-limiter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", - "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==" - }, - "backo2": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", - "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=" - }, - "base64-arraybuffer": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", - "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=" - }, - "base64id": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz", - "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=" - }, - "better-assert": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", - "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=", - "requires": { - "callsite": "1.0.0" - } - }, - "bl": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.1.tgz", - "integrity": "sha1-ysMo977kVzDUBLaSID/LWQ4XLV4=", - "requires": { - "readable-stream": "2.0.6" - } - }, - "blob": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz", - "integrity": "sha1-vPEwUspURj8w+fx+lbmkdjCpSSE=" - }, - "body-parser": { - "version": "1.18.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz", - "integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=", - "requires": { - "bytes": "3.0.0", - "content-type": "1.0.4", - "debug": "2.6.9", - "depd": "1.1.2", - "http-errors": "1.6.2", - "iconv-lite": "0.4.19", - "on-finished": "2.3.0", - "qs": "6.5.1", - "raw-body": "2.3.2", - "type-is": "1.6.16" - } - }, - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" - }, - "callsite": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", - "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=" - }, - "component-bind": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", - "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=" - }, - "component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" - }, - "component-inherit": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", - "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=" - }, - "concat-stream": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz", - "integrity": "sha1-cIl4Yk2FavQaWnQd790mHadSwmY=", - "requires": { - "inherits": "2.0.3", - "readable-stream": "2.0.6", - "typedarray": "0.0.6" - } - }, - "content-disposition": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", - "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=" - }, - "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" - }, - "cookie": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", - "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" - }, - "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" - }, - "docker-modem": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/docker-modem/-/docker-modem-1.0.6.tgz", - "integrity": "sha512-kDwWa5QaiVMB8Orbb7nXdGdwEZHKfEm7iPwglXe1KorImMpmGNlhC7A5LG0p8rrCcz1J4kJhq/o63lFjDdj8rQ==", - "requires": { - "JSONStream": "1.3.2", - "debug": "3.1.0", - "readable-stream": "1.0.34", - "split-ca": "1.0.1" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "requires": { - "ms": "2.0.0" - } - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "0.0.1", - "string_decoder": "0.10.31" - } - } - } - }, - "dockerode": { - "version": "2.5.4", - "resolved": "https://registry.npmjs.org/dockerode/-/dockerode-2.5.4.tgz", - "integrity": "sha512-esqrDATdckYhkOFn4BSOrqnkj3jgBkHT07uEqTRwK6na4/Rg60vjXWRopv2BbRpvFruMmKvOSNVY4MbmVBUnWw==", - "requires": { - "concat-stream": "1.5.2", - "docker-modem": "1.0.6", - "tar-fs": "1.12.0" - } - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" - }, - "end-of-stream": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", - "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", - "requires": { - "once": "1.4.0" - } - }, - "engine.io": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.1.5.tgz", - "integrity": "sha512-D06ivJkYxyRrcEe0bTpNnBQNgP9d3xog+qZlLbui8EsMr/DouQpf5o9FzJnWYHEYE0YsFHllUv2R1dkgYZXHcA==", - "requires": { - "accepts": "1.3.5", - "base64id": "1.0.0", - "cookie": "0.3.1", - "debug": "3.1.0", - "engine.io-parser": "2.1.2", - "uws": "9.14.0", - "ws": "3.3.3" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "requires": { - "ms": "2.0.0" - } - } - } - }, - "engine.io-client": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.1.6.tgz", - "integrity": "sha512-hnuHsFluXnsKOndS4Hv6SvUrgdYx1pk2NqfaDMW+GWdgfU3+/V25Cj7I8a0x92idSpa5PIhJRKxPvp9mnoLsfg==", - "requires": { - "component-emitter": "1.2.1", - "component-inherit": "0.0.3", - "debug": "3.1.0", - "engine.io-parser": "2.1.2", - "has-cors": "1.1.0", - "indexof": "0.0.1", - "parseqs": "0.0.5", - "parseuri": "0.0.5", - "ws": "3.3.3", - "xmlhttprequest-ssl": "1.5.5", - "yeast": "0.1.2" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "requires": { - "ms": "2.0.0" - } - } - } - }, - "engine.io-parser": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.2.tgz", - "integrity": "sha512-dInLFzr80RijZ1rGpx1+56/uFoH7/7InhH3kZt+Ms6hT8tNx3NGW/WNSA/f8As1WkOfkuyb3tnRyuXGxusclMw==", - "requires": { - "after": "0.8.2", - "arraybuffer.slice": "0.0.7", - "base64-arraybuffer": "0.1.5", - "blob": "0.0.4", - "has-binary2": "1.0.2" - } - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" - }, - "express": { - "version": "4.16.3", - "resolved": "https://registry.npmjs.org/express/-/express-4.16.3.tgz", - "integrity": "sha1-avilAjUNsyRuzEvs9rWjTSL37VM=", - "requires": { - "accepts": "1.3.5", - "array-flatten": "1.1.1", - "body-parser": "1.18.2", - "content-disposition": "0.5.2", - "content-type": "1.0.4", - "cookie": "0.3.1", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "1.1.2", - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "etag": "1.8.1", - "finalhandler": "1.1.1", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "1.1.2", - "on-finished": "2.3.0", - "parseurl": "1.3.2", - "path-to-regexp": "0.1.7", - "proxy-addr": "2.0.3", - "qs": "6.5.1", - "range-parser": "1.2.0", - "safe-buffer": "5.1.1", - "send": "0.16.2", - "serve-static": "1.13.2", - "setprototypeof": "1.1.0", - "statuses": "1.4.0", - "type-is": "1.6.16", - "utils-merge": "1.0.1", - "vary": "1.1.2" - } - }, - "extend": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/extend/-/extend-1.2.1.tgz", - "integrity": "sha1-oPX9bPyDpf5J72mNYOyKYk3UV2w=" - }, - "finalhandler": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", - "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", - "requires": { - "debug": "2.6.9", - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "on-finished": "2.3.0", - "parseurl": "1.3.2", - "statuses": "1.4.0", - "unpipe": "1.0.0" - } - }, - "forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" - }, - "has-binary2": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.2.tgz", - "integrity": "sha1-6D26SfC5vk0CbSc2U1DZ8D9Uvpg=", - "requires": { - "isarray": "2.0.1" - }, - "dependencies": { - "isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" - } - } - }, - "has-cors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", - "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=" - }, - "http-errors": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz", - "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=", - "requires": { - "depd": "1.1.1", - "inherits": "2.0.3", - "setprototypeof": "1.0.3", - "statuses": "1.4.0" - }, - "dependencies": { - "depd": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", - "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=" - }, - "setprototypeof": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", - "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=" - } - } - }, - "iconv-lite": { - "version": "0.4.19", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", - "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==" - }, - "indexof": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", - "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=" - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "ipaddr.js": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.6.0.tgz", - "integrity": "sha1-4/o1e3c9phnybpXwSdBVxyeW+Gs=" - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=" - }, - "log-prefix": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/log-prefix/-/log-prefix-0.0.0.tgz", - "integrity": "sha1-L8YdfA5Rn4+fhq3KfVOgp6dXF3A=" - }, - "log-timestamp": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/log-timestamp/-/log-timestamp-0.1.2.tgz", - "integrity": "sha1-zMFzklFzqJ+qdsQmUZvxqKF3ZOg=", - "requires": { - "log-prefix": "0.0.0" - } - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" - }, - "mime": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", - "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==" - }, - "mime-db": { - "version": "1.33.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", - "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==" - }, - "mime-types": { - "version": "2.1.18", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", - "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", - "requires": { - "mime-db": "1.33.0" - } - }, - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "nan": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.3.5.tgz", - "integrity": "sha1-gioNwmYpDOTNOhIoLKPn42Rmigg=" - }, - "negotiator": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", - "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=" - }, - "object-component": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz", - "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=" - }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "requires": { - "ee-first": "1.1.1" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1.0.2" - } - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" - }, - "parseqs": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz", - "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=", - "requires": { - "better-assert": "1.0.2" - } - }, - "parseuri": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz", - "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=", - "requires": { - "better-assert": "1.0.2" - } - }, - "parseurl": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", - "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=" - }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" - }, - "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" - }, - "proxy-addr": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.3.tgz", - "integrity": "sha512-jQTChiCJteusULxjBp8+jftSQE5Obdl3k4cnmLA6WXtK6XFuWRnvVL7aCiBqaLPM8c4ph0S4tKna8XvmIwEnXQ==", - "requires": { - "forwarded": "0.1.2", - "ipaddr.js": "1.6.0" - } - }, - "pty": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/pty/-/pty-0.0.0.tgz", - "integrity": "sha1-Pf4ONEi2yCgP1mZBJAtDHzmtTZI=", - "requires": { - "pty.js": "0.3.1" - } - }, - "pty.js": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/pty.js/-/pty.js-0.3.1.tgz", - "integrity": "sha1-gfW+0zLW5eeraFaI0boDc0ENUbU=", - "requires": { - "extend": "1.2.1", - "nan": "2.3.5" - } - }, - "pump": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", - "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", - "requires": { - "end-of-stream": "1.4.1", - "once": "1.4.0" - } - }, - "qs": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", - "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==" - }, - "range-parser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=" - }, - "raw-body": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz", - "integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=", - "requires": { - "bytes": "3.0.0", - "http-errors": "1.6.2", - "iconv-lite": "0.4.19", - "unpipe": "1.0.0" - } - }, - "readable-stream": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", - "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "string_decoder": "0.10.31", - "util-deprecate": "1.0.2" - } - }, - "safe-buffer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" - }, - "send": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", - "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", - "requires": { - "debug": "2.6.9", - "depd": "1.1.2", - "destroy": "1.0.4", - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "etag": "1.8.1", - "fresh": "0.5.2", - "http-errors": "1.6.2", - "mime": "1.4.1", - "ms": "2.0.0", - "on-finished": "2.3.0", - "range-parser": "1.2.0", - "statuses": "1.4.0" - } - }, - "serve-static": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", - "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", - "requires": { - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "parseurl": "1.3.2", - "send": "0.16.2" - } - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" - }, - "socket.io": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.0.4.tgz", - "integrity": "sha1-waRZDO/4fs8TxyZS8Eb3FrKeYBQ=", - "requires": { - "debug": "2.6.9", - "engine.io": "3.1.5", - "socket.io-adapter": "1.1.1", - "socket.io-client": "2.0.4", - "socket.io-parser": "3.1.3" - } - }, - "socket.io-adapter": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz", - "integrity": "sha1-KoBeihTWNyEk3ZFZrUUC+MsH8Gs=" - }, - "socket.io-client": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.0.4.tgz", - "integrity": "sha1-CRilUkBtxeVAs4Dc2Xr8SmQzL44=", - "requires": { - "backo2": "1.0.2", - "base64-arraybuffer": "0.1.5", - "component-bind": "1.0.0", - "component-emitter": "1.2.1", - "debug": "2.6.9", - "engine.io-client": "3.1.6", - "has-cors": "1.1.0", - "indexof": "0.0.1", - "object-component": "0.0.3", - "parseqs": "0.0.5", - "parseuri": "0.0.5", - "socket.io-parser": "3.1.3", - "to-array": "0.1.4" - } - }, - "socket.io-parser": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.1.3.tgz", - "integrity": "sha512-g0a2HPqLguqAczs3dMECuA1RgoGFPyvDqcbaDEdCWY9g59kdUAz3YRmaJBNKXflrHNwB7Q12Gkf/0CZXfdHR7g==", - "requires": { - "component-emitter": "1.2.1", - "debug": "3.1.0", - "has-binary2": "1.0.2", - "isarray": "2.0.1" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "requires": { - "ms": "2.0.0" - } - }, - "isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" - } - } - }, - "split-ca": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/split-ca/-/split-ca-1.0.1.tgz", - "integrity": "sha1-bIOv82kvphJW4M0ZfgXp3hV2kaY=" - }, - "statuses": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - }, - "tar-fs": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-1.12.0.tgz", - "integrity": "sha1-pqgFU9ilTHPeHQrg553ncDVgXh0=", - "requires": { - "mkdirp": "0.5.1", - "pump": "1.0.3", - "tar-stream": "1.5.5" - } - }, - "tar-stream": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.5.5.tgz", - "integrity": "sha512-mQdgLPc/Vjfr3VWqWbfxW8yQNiJCbAZ+Gf6GDu1Cy0bdb33ofyiNGBtAY96jHFhDuivCwgW1H9DgTON+INiXgg==", - "requires": { - "bl": "1.2.1", - "end-of-stream": "1.4.1", - "readable-stream": "2.0.6", - "xtend": "4.0.1" - } - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" - }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "requires": { - "os-tmpdir": "1.0.2" - } - }, - "to-array": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", - "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=" - }, - "type-is": { - "version": "1.6.16", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", - "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", - "requires": { - "media-typer": "0.3.0", - "mime-types": "2.1.18" - } - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" - }, - "ultron": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", - "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==" - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" - }, - "uws": { - "version": "9.14.0", - "resolved": "https://registry.npmjs.org/uws/-/uws-9.14.0.tgz", - "integrity": "sha512-HNMztPP5A1sKuVFmdZ6BPVpBQd5bUjNC8EFMFiICK+oho/OQsAJy5hnIx4btMHiOk8j04f/DbIlqnEZ9d72dqg==", - "optional": true - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "ws": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", - "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", - "requires": { - "async-limiter": "1.0.0", - "safe-buffer": "5.1.1", - "ultron": "1.1.1" - } - }, - "xmlhttprequest-ssl": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz", - "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=" - }, - "xtend": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" - }, - "yeast": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", - "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=" - } - } -} diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..c42a08b --- /dev/null +++ b/yarn.lock @@ -0,0 +1,746 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +JSONStream@1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.2.tgz#c102371b6ec3a7cf3b847ca00c20bb0fce4c6dea" + dependencies: + jsonparse "^1.2.0" + through ">=2.2.7 <3" + +accepts@~1.3.4, accepts@~1.3.5: + version "1.3.5" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.5.tgz#eb777df6011723a3b14e8a72c0805c8e86746bd2" + dependencies: + mime-types "~2.1.18" + negotiator "0.6.1" + +ace-builds@^1.3.1: + version "1.3.3" + resolved "https://registry.yarnpkg.com/ace-builds/-/ace-builds-1.3.3.tgz#c9746028d1485e5d7595fb2e825e665bd6648970" + +after@0.8.2: + version "0.8.2" + resolved "https://registry.yarnpkg.com/after/-/after-0.8.2.tgz#fedb394f9f0e02aa9768e702bda23b505fae7e1f" + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + +arraybuffer.slice@~0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz#3bbc4275dd584cc1b10809b89d4e8b63a69e7675" + +async-limiter@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8" + +backo2@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947" + +base64-arraybuffer@0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz#73926771923b5a19747ad666aa5cd4bf9c6e9ce8" + +base64id@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/base64id/-/base64id-1.0.0.tgz#47688cb99bb6804f0e06d3e763b1c32e57d8e6b6" + +better-assert@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/better-assert/-/better-assert-1.0.2.tgz#40866b9e1b9e0b55b481894311e68faffaebc522" + dependencies: + callsite "1.0.0" + +bl@^1.0.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.2.tgz#a160911717103c07410cef63ef51b397c025af9c" + dependencies: + readable-stream "^2.3.5" + safe-buffer "^5.1.1" + +blob@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/blob/-/blob-0.0.4.tgz#bcf13052ca54463f30f9fc7e95b9a47630a94921" + +body-parser@1.18.2: + version "1.18.2" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.2.tgz#87678a19d84b47d859b83199bd59bce222b10454" + dependencies: + bytes "3.0.0" + content-type "~1.0.4" + debug "2.6.9" + depd "~1.1.1" + http-errors "~1.6.2" + iconv-lite "0.4.19" + on-finished "~2.3.0" + qs "6.5.1" + raw-body "2.3.2" + type-is "~1.6.15" + +buffer-alloc-unsafe@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0" + +buffer-alloc@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec" + dependencies: + buffer-alloc-unsafe "^1.1.0" + buffer-fill "^1.0.0" + +buffer-fill@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c" + +bytes@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" + +callsite@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/callsite/-/callsite-1.0.0.tgz#280398e5d664bd74038b6f0905153e6e8af1bc20" + +component-bind@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/component-bind/-/component-bind-1.0.0.tgz#00c608ab7dcd93897c0009651b1d3a8e1e73bbd1" + +component-emitter@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" + +component-inherit@0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/component-inherit/-/component-inherit-0.0.3.tgz#645fc4adf58b72b649d5cae65135619db26ff143" + +concat-stream@~1.5.1: + version "1.5.2" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.5.2.tgz#708978624d856af41a5a741defdd261da752c266" + dependencies: + inherits "~2.0.1" + readable-stream "~2.0.0" + typedarray "~0.0.5" + +content-disposition@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" + +content-type@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + +cookie@0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" + +core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + +debug@2.6.9: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + dependencies: + ms "2.0.0" + +debug@^3.1.0, debug@~3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" + dependencies: + ms "2.0.0" + +depd@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.1.tgz#5783b4e1c459f06fa5ca27f991f3d06e7a310359" + +depd@~1.1.1, depd@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + +destroy@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" + +docker-modem@^1.0.0: + version "1.0.6" + resolved "https://registry.yarnpkg.com/docker-modem/-/docker-modem-1.0.6.tgz#0db8f585faad679e67625c27c83954e747ad0190" + dependencies: + JSONStream "1.3.2" + debug "^3.1.0" + readable-stream "~1.0.26-4" + split-ca "^1.0.0" + +dockerode@^2.5.4: + version "2.5.5" + resolved "https://registry.yarnpkg.com/dockerode/-/dockerode-2.5.5.tgz#cc934d9cd903ea2ed48b83643278c8cfea3b94b0" + dependencies: + concat-stream "~1.5.1" + docker-modem "^1.0.0" + tar-fs "~1.12.0" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + +encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + +end-of-stream@^1.0.0, end-of-stream@^1.1.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" + dependencies: + once "^1.4.0" + +engine.io-client@~3.2.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-3.2.1.tgz#6f54c0475de487158a1a7c77d10178708b6add36" + dependencies: + component-emitter "1.2.1" + component-inherit "0.0.3" + debug "~3.1.0" + engine.io-parser "~2.1.1" + has-cors "1.1.0" + indexof "0.0.1" + parseqs "0.0.5" + parseuri "0.0.5" + ws "~3.3.1" + xmlhttprequest-ssl "~1.5.4" + yeast "0.1.2" + +engine.io-parser@~2.1.0, engine.io-parser@~2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-2.1.2.tgz#4c0f4cff79aaeecbbdcfdea66a823c6085409196" + dependencies: + after "0.8.2" + arraybuffer.slice "~0.0.7" + base64-arraybuffer "0.1.5" + blob "0.0.4" + has-binary2 "~1.0.2" + +engine.io@~3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-3.2.0.tgz#54332506f42f2edc71690d2f2a42349359f3bf7d" + dependencies: + accepts "~1.3.4" + base64id "1.0.0" + cookie "0.3.1" + debug "~3.1.0" + engine.io-parser "~2.1.0" + ws "~3.3.1" + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + +express@^4.16.3: + version "4.16.3" + resolved "https://registry.yarnpkg.com/express/-/express-4.16.3.tgz#6af8a502350db3246ecc4becf6b5a34d22f7ed53" + dependencies: + accepts "~1.3.5" + array-flatten "1.1.1" + body-parser "1.18.2" + content-disposition "0.5.2" + content-type "~1.0.4" + cookie "0.3.1" + cookie-signature "1.0.6" + debug "2.6.9" + depd "~1.1.2" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "1.1.1" + fresh "0.5.2" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "~2.3.0" + parseurl "~1.3.2" + path-to-regexp "0.1.7" + proxy-addr "~2.0.3" + qs "6.5.1" + range-parser "~1.2.0" + safe-buffer "5.1.1" + send "0.16.2" + serve-static "1.13.2" + setprototypeof "1.1.0" + statuses "~1.4.0" + type-is "~1.6.16" + utils-merge "1.0.1" + vary "~1.1.2" + +finalhandler@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.1.tgz#eebf4ed840079c83f4249038c9d703008301b105" + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "~2.3.0" + parseurl "~1.3.2" + statuses "~1.4.0" + unpipe "~1.0.0" + +forwarded@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" + +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + +fs-constants@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" + +has-binary2@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-binary2/-/has-binary2-1.0.3.tgz#7776ac627f3ea77250cfc332dab7ddf5e4f5d11d" + dependencies: + isarray "2.0.1" + +has-cors@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/has-cors/-/has-cors-1.1.0.tgz#5e474793f7ea9843d1bb99c23eef49ff126fff39" + +http-errors@1.6.2: + version "1.6.2" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.2.tgz#0a002cc85707192a7e7946ceedc11155f60ec736" + dependencies: + depd "1.1.1" + inherits "2.0.3" + setprototypeof "1.0.3" + statuses ">= 1.3.1 < 2" + +http-errors@~1.6.2: + version "1.6.3" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" + +iconv-lite@0.4.19: + version "0.4.19" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" + +indexof@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" + +inherits@2.0.3, inherits@~2.0.1, inherits@~2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + +ipaddr.js@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.6.0.tgz#e3fa357b773da619f26e95f049d055c72796f86b" + +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + +isarray@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.1.tgz#a37d94ed9cda2d59865c9f76fe596ee1f338741e" + +isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + +jquery-min@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/jquery-min/-/jquery-min-0.0.2.tgz#0e7aa56eeaca57d80e1a64deb7171588e8e156b3" + +jsonparse@^1.2.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" + +log-prefix@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/log-prefix/-/log-prefix-0.0.0.tgz#2fc61d7c0e519f8f9f86adca7d53a0a7a7571770" + +log-timestamp@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/log-timestamp/-/log-timestamp-0.1.2.tgz#ccc173925173a89faa76c426519bf1a8a17764e8" + dependencies: + log-prefix "0.0.0" + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + +mime-db@~1.33.0: + version "1.33.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db" + +mime-types@~2.1.18: + version "2.1.18" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8" + dependencies: + mime-db "~1.33.0" + +mime@1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" + +minimist@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + +mkdirp@^0.5.0: + version "0.5.1" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + dependencies: + minimist "0.0.8" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + +nan@2.10.0: + version "2.10.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.10.0.tgz#96d0cd610ebd58d4b4de9cc0c6828cda99c7548f" + +negotiator@0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" + +node-pty@^0.7.6: + version "0.7.6" + resolved "https://registry.yarnpkg.com/node-pty/-/node-pty-0.7.6.tgz#bff6148c9c5836ca7e73c7aaaec067dcbdac2f7b" + dependencies: + nan "2.10.0" + +object-component@0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/object-component/-/object-component-0.0.3.tgz#f0c69aa50efc95b866c186f400a33769cb2f1291" + +on-finished@~2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + dependencies: + ee-first "1.1.1" + +once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + dependencies: + wrappy "1" + +os-tmpdir@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + +parseqs@0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.5.tgz#d5208a3738e46766e291ba2ea173684921a8b89d" + dependencies: + better-assert "~1.0.0" + +parseuri@0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.5.tgz#80204a50d4dbb779bfdc6ebe2778d90e4bce320a" + dependencies: + better-assert "~1.0.0" + +parseurl@~1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3" + +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + +process-nextick-args@~1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" + +process-nextick-args@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" + +proxy-addr@~2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.3.tgz#355f262505a621646b3130a728eb647e22055341" + dependencies: + forwarded "~0.1.2" + ipaddr.js "1.6.0" + +pump@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/pump/-/pump-1.0.3.tgz#5dfe8311c33bbf6fc18261f9f34702c47c08a954" + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +qs@6.5.1: + version "6.5.1" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8" + +range-parser@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" + +raw-body@2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.2.tgz#bcd60c77d3eb93cde0050295c3f379389bc88f89" + dependencies: + bytes "3.0.0" + http-errors "1.6.2" + iconv-lite "0.4.19" + unpipe "1.0.0" + +readable-stream@^2.3.0, readable-stream@^2.3.5: + version "2.3.6" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@~1.0.26-4: + version "1.0.34" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +readable-stream@~2.0.0: + version "2.0.6" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "~1.0.0" + process-nextick-args "~1.0.6" + string_decoder "~0.10.x" + util-deprecate "~1.0.1" + +safe-buffer@5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" + +safe-buffer@^5.1.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + +send@0.16.2: + version "0.16.2" + resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1" + dependencies: + debug "2.6.9" + depd "~1.1.2" + destroy "~1.0.4" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "~1.6.2" + mime "1.4.1" + ms "2.0.0" + on-finished "~2.3.0" + range-parser "~1.2.0" + statuses "~1.4.0" + +serve-static@1.13.2: + version "1.13.2" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.2.tgz#095e8472fd5b46237db50ce486a43f4b86c6cec1" + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.2" + send "0.16.2" + +setprototypeof@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04" + +setprototypeof@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" + +socket.io-adapter@~1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz#2a805e8a14d6372124dd9159ad4502f8cb07f06b" + +socket.io-client@2.1.1, socket.io-client@^2.0.4: + version "2.1.1" + resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-2.1.1.tgz#dcb38103436ab4578ddb026638ae2f21b623671f" + dependencies: + backo2 "1.0.2" + base64-arraybuffer "0.1.5" + component-bind "1.0.0" + component-emitter "1.2.1" + debug "~3.1.0" + engine.io-client "~3.2.0" + has-binary2 "~1.0.2" + has-cors "1.1.0" + indexof "0.0.1" + object-component "0.0.3" + parseqs "0.0.5" + parseuri "0.0.5" + socket.io-parser "~3.2.0" + to-array "0.1.4" + +socket.io-parser@~3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-3.2.0.tgz#e7c6228b6aa1f814e6148aea325b51aa9499e077" + dependencies: + component-emitter "1.2.1" + debug "~3.1.0" + isarray "2.0.1" + +socket.io@^2.0.4: + version "2.1.1" + resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-2.1.1.tgz#a069c5feabee3e6b214a75b40ce0652e1cfb9980" + dependencies: + debug "~3.1.0" + engine.io "~3.2.0" + has-binary2 "~1.0.2" + socket.io-adapter "~1.1.0" + socket.io-client "2.1.1" + socket.io-parser "~3.2.0" + +split-ca@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/split-ca/-/split-ca-1.0.1.tgz#6c83aff3692fa61256e0cd197e05e9de157691a6" + +"statuses@>= 1.3.1 < 2", "statuses@>= 1.4.0 < 2": + version "1.5.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + +statuses@~1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087" + +string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + dependencies: + safe-buffer "~5.1.0" + +tar-fs@~1.12.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-1.12.0.tgz#a6a80553d8a54c73de1d0ae0e79de77035605e1d" + dependencies: + mkdirp "^0.5.0" + pump "^1.0.0" + tar-stream "^1.1.2" + +tar-stream@^1.1.2: + version "1.6.1" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.6.1.tgz#f84ef1696269d6223ca48f6e1eeede3f7e81f395" + dependencies: + bl "^1.0.0" + buffer-alloc "^1.1.0" + end-of-stream "^1.0.0" + fs-constants "^1.0.0" + readable-stream "^2.3.0" + to-buffer "^1.1.0" + xtend "^4.0.0" + +term.js@0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/term.js/-/term.js-0.0.7.tgz#526f24cfc0f2ef6f80f517c9e27dae947bc87315" + +"through@>=2.2.7 <3": + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + +tmp@0.0.33: + version "0.0.33" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + dependencies: + os-tmpdir "~1.0.2" + +to-array@0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/to-array/-/to-array-0.1.4.tgz#17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890" + +to-buffer@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/to-buffer/-/to-buffer-1.1.1.tgz#493bd48f62d7c43fcded313a03dcadb2e1213a80" + +type-is@~1.6.15, type-is@~1.6.16: + version "1.6.16" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.16.tgz#f89ce341541c672b25ee7ae3c73dee3b2be50194" + dependencies: + media-typer "0.3.0" + mime-types "~2.1.18" + +typedarray@~0.0.5: + version "0.0.6" + resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + +ultron@~1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c" + +unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + +util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + +vary@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + +ws@~3.3.1: + version "3.3.3" + resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2" + dependencies: + async-limiter "~1.0.0" + safe-buffer "~5.1.0" + ultron "~1.1.0" + +xmlhttprequest-ssl@~1.5.4: + version "1.5.5" + resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz#c2876b06168aadc40e57d97e81191ac8f4398b3e" + +xtend@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" + +yeast@0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419"