magicworld
Este commit está contenido en:
17
testing/magicworld/server/Dockerfile
Archivo normal
17
testing/magicworld/server/Dockerfile
Archivo normal
@@ -0,0 +1,17 @@
|
||||
FROM node:slim
|
||||
#ss
|
||||
# ADD ./ /sever
|
||||
# server.js /server/server.js
|
||||
# ADD ./package.json /server/package.json
|
||||
# RUN mkdir /server/public
|
||||
# RUN mkdir /server/ssl
|
||||
# RUN mkdir /server/lib
|
||||
# COPY ./ssl/*.pem /server/ssl/
|
||||
# COPY ./lib/*.js /server/lib/
|
||||
WORKDIR /src
|
||||
|
||||
ADD ./package.json /src/package.json
|
||||
RUN /usr/local/bin/npm install
|
||||
RUN npm install
|
||||
ENTRYPOINT ["/usr/local/bin/node", "server.js"]
|
||||
|
||||
45
testing/magicworld/server/lib/colorized.js
Archivo normal
45
testing/magicworld/server/lib/colorized.js
Archivo normal
@@ -0,0 +1,45 @@
|
||||
var colorsConsoleList = {
|
||||
Reset: "\x1b[0m",
|
||||
Bright: "\x1b[1m",
|
||||
Dim: "\x1b[2m",
|
||||
Underscore: "\x1b[4m",
|
||||
Blink: "\x1b[5m",
|
||||
Reverse: "\x1b[7m",
|
||||
Hidden: "\x1b[8m",
|
||||
|
||||
FgBlack: "\x1b[30m",
|
||||
FgRed: "\x1b[31m",
|
||||
FgGreen: "\x1b[32m",
|
||||
FgYellow: "\x1b[33m",
|
||||
FgBlue: "\x1b[34m",
|
||||
FgMagenta: "\x1b[35m",
|
||||
FgCyan: "\x1b[36m",
|
||||
FgWhite: "\x1b[37m",
|
||||
|
||||
BgBlack: "\x1b[40m",
|
||||
BgRed: "\x1b[41m",
|
||||
BgGreen: "\x1b[42m",
|
||||
BgYellow: "\x1b[43m",
|
||||
BgBlue: "\x1b[44m",
|
||||
BgMagenta: "\x1b[45m",
|
||||
BgCyan: "\x1b[46m",
|
||||
BgWhite: "\x1b[47m",
|
||||
};
|
||||
|
||||
var getColors = function(color){
|
||||
return color.reduce((resul, x) => resul + colorsConsoleList[x], "");
|
||||
}
|
||||
|
||||
var setColors = function(smg, color){
|
||||
return getColors(color) + smg + colorsConsoleList["Reset"];
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
log: function (smg, color = []) {
|
||||
console.log(setColors(smg, color));
|
||||
},
|
||||
colorized: function (smg, color){
|
||||
return setColors(smg, color);
|
||||
}
|
||||
};
|
||||
|
||||
55
testing/magicworld/server/lib/logo.js
Archivo normal
55
testing/magicworld/server/lib/logo.js
Archivo normal
@@ -0,0 +1,55 @@
|
||||
var log = require('./colorized').log,
|
||||
c = require('./colorized').colorized,
|
||||
s = {
|
||||
n: ["FgRed", "BgBlack", "Bright"], // Normality
|
||||
bkr: ["FgRed", "BgBlack", "Bright", "Blink"], // Blink red
|
||||
bky: ["FgYellow", "BgBlack", "Bright", "Blink"], // Blink yellow
|
||||
b: ["FgWhite", "BgBlack"], // Border
|
||||
l: ["FgWhite", "BgBlack", "Bright"], // logo
|
||||
lr: ["FgRed", "BgBlack", "Bright"], // logo red
|
||||
ly: ["FgYellow", "BgBlack", "Bright"], // logo yellow
|
||||
lm: ["FgMagenta", "BgBlack", "Bright"], // logo magenta
|
||||
lg: ["FgGreen", "BgBlack", "Bright"] // logo green
|
||||
},
|
||||
b = () => c("---", s.b),
|
||||
bkr = (x) => c(x, s.bkr),
|
||||
bky = (x) => c(x, s.bky),
|
||||
l = (x) => c(x, s.l),
|
||||
ly = (x) => c(x, s.ly),
|
||||
lr = (x) => c(x, s.lr),
|
||||
lm = (x) => c(x, s.lm),
|
||||
lg = (x) => c(x, s.lg);
|
||||
|
||||
module.exports = {
|
||||
logo: function () {
|
||||
log("--------------------------------------------", s.b);
|
||||
log(b() + c(" MW-NodeJS Server 0.3 ", s.lr) + b());
|
||||
log("--------------------------------------------", s.b);
|
||||
|
||||
log(b() + l(" .-. ") + b());
|
||||
log(b() + l(" {{") + lm("#") + l("}} ") + b());
|
||||
log(b() + l(" 888 ") + b());
|
||||
log(b() + l(" 888 ") + b());
|
||||
log(b() + l(" 8@8 ") + b());
|
||||
log(b() + l(" _ )8( _ ") + b());
|
||||
log(b() + l(" ____________________(") + lr("@") + l(")__/8@8\\__(") + lr("@") + l(") ") + b());
|
||||
log(b() + l(' | | | |`~"-=):(=-"~` ') + b());
|
||||
log(b() + l(" | ") + lg("<>") + l(" | | ") + lg("<>") + l(" | |.| ") + b());
|
||||
log(b() + l(" | ") + lg("<><>") + l(" | | ") + lg("<><>") + l(" | |") + bky("A") + l("| ") + b());
|
||||
log(b() + l(" | ") + lg("<> <>") + l("| |") + lg("<> <>") + l(" | |'| ") + b());
|
||||
log(b() + l(" | ") + lg("<>") + l(" .--------. ") + lg("<>") + l(" | |.| ") + b());
|
||||
log(b() + l(" |_____| ") + ly("()") + l(" |_____| |") + bky("C") + l("| ") + b());
|
||||
log(b() + l(" | | ") + ly("(O\\/O)") + l(" | | |'| ") + b());
|
||||
log(b() + l(" | \\ ") + ly("/\\") + l(" / | |.| ") + b());
|
||||
log(b() + l(" |______\\ ") + ly("\\/") + l(" /______| |") + bky("A") + l("| ") + b());
|
||||
log(b() + l(" | '.__.' | |'| ") + b());
|
||||
log(b() + l(" | ") + lg("<>") + l(" | | ") + lg("<>") + l(" | |.| ") + b());
|
||||
log(b() + l(" | ") + lg("<> <>") + l("| |") + lg("<> <>") + l(" | |") + bky("B") + l("| ") + b());
|
||||
log(b() + l(" | ") + lg("<><>") + l(" | | ") + lg("<><>") + l(" | |'| ") + b());
|
||||
log(b() + l(" | ") + lg("<>") + l(" | | ") + lg("<>") + l(" | |.| ") + b());
|
||||
log(b() + l(" |________|__|________| \\ / ") + b());
|
||||
log(b() + l(" v ") + b());
|
||||
|
||||
log("--------------------------------------------", s.b);
|
||||
}
|
||||
}
|
||||
40
testing/magicworld/server/lib/maper.js
Archivo normal
40
testing/magicworld/server/lib/maper.js
Archivo normal
@@ -0,0 +1,40 @@
|
||||
module.exports = {
|
||||
create: channel => {
|
||||
map = require("../public/maps/" + channel + "/index").map;
|
||||
map.players = {};
|
||||
return map;
|
||||
},
|
||||
collision: (a,b) => {
|
||||
return a && b ? parseInt(a.position.x) + parseInt(a.width) > parseInt(b.position.x) && parseInt(a.position.x) < parseInt(b.position.x) + parseInt(b.width) && parseInt(a.position.y) + parseInt(a.height) > parseInt(b.position.y) && parseInt(a.position.y) < parseInt(b.position.y) + parseInt(b.height) : false;
|
||||
},
|
||||
collisionX: (m, a,b) => {
|
||||
return parseInt(a.position.x + m) + parseInt(a.width) > parseInt(b.position.x) && parseInt(a.position.x + m) < parseInt(b.position.x) + parseInt(b.width) && parseInt(a.position.y) + parseInt(a.height) > parseInt(b.position.y) && parseInt(a.position.y) < parseInt(b.position.y) + parseInt(b.height);
|
||||
},
|
||||
collisionY: (m, a,b) => {
|
||||
return parseInt(a.position.y + m) + parseInt(a.height) > parseInt(b.position.y) && parseInt(a.position.y + m) < parseInt(b.position.y) + parseInt(b.height) && parseInt(a.position.x) + parseInt(a.width) > parseInt(b.position.x) && parseInt(a.position.x) < parseInt(b.position.x) + parseInt(b.width);
|
||||
},
|
||||
insideX: (m, item, limits) => {
|
||||
return (item.position.x + m) > limits.x.max && (item.position.x + m) < limits.x.min;
|
||||
},
|
||||
insideY: (m, item, limits) => {
|
||||
return (item.position.y + m) > limits.y.max && (item.position.y + m) < limits.y.min;
|
||||
},
|
||||
moveX: (m, player, channel) => {
|
||||
let maper = module.exports;
|
||||
return maper.insideX(m, player, channel.limits) && !Object.values(channel.players).reduce((acc, x) => acc ? acc : player != x ? maper.collisionX(m, player, x) : false, false) && !Object.values(channel.colliders).reduce((acc, x) => acc ? acc : player != x ? maper.collisionX(m, player, x) : false, false);
|
||||
},
|
||||
moveY: (m, player, channel) => {
|
||||
let maper = module.exports;
|
||||
return maper.insideY(m, player, channel.limits) && !Object.values(channel.players).reduce((acc, x) => acc ? acc : player != x ? maper.collisionY(m, player, x) : false, false) && !Object.values(channel.colliders).reduce((acc, x) => acc ? acc : player != x ? maper.collisionY(m, player, x) : false, false);
|
||||
},
|
||||
getRandom: (min, max) => {
|
||||
return Math.floor(Math.random() * (max - min) ) + min;
|
||||
},
|
||||
getRandomPosition:(limits) =>{
|
||||
let maper = module.exports;
|
||||
return {
|
||||
"x": maper.getRandom(limits.x.min, limits.x.max),
|
||||
"y": maper.getRandom(limits.y.min, limits.y.max)
|
||||
}
|
||||
}
|
||||
}
|
||||
13
testing/magicworld/server/package.json
Archivo normal
13
testing/magicworld/server/package.json
Archivo normal
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"name": "magicworldserver",
|
||||
"version": "0.1.0",
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"express": "^4.16.3",
|
||||
"express-force-ssl": "^0.3.2",
|
||||
"pixi": "^0.3.1",
|
||||
"serve-static": "^1.13.2",
|
||||
"socket.io": "^2.1.1",
|
||||
"ws": "^6.0.0"
|
||||
}
|
||||
}
|
||||
209
testing/magicworld/server/server.js
Archivo normal
209
testing/magicworld/server/server.js
Archivo normal
@@ -0,0 +1,209 @@
|
||||
'use strict'
|
||||
|
||||
const express = require('express'),
|
||||
app = express(),
|
||||
fs = require('fs'),
|
||||
http = require('http'),
|
||||
// https = require('https'),
|
||||
map = require('./lib/maper'),
|
||||
// secure = require('express-force-ssl'),
|
||||
Url = require('url'),
|
||||
io = require('ws'),
|
||||
serveStatic = require('serve-static'),
|
||||
log = require('./lib/colorized').log,
|
||||
//colorized = require('./lib/colorized').colorized,
|
||||
logo = require('./lib/logo').logo,
|
||||
options = {
|
||||
key: fs.readFileSync(__dirname + '/ssl/key.pem'),
|
||||
cert: fs.readFileSync(__dirname + '/ssl/cert.pem')
|
||||
},
|
||||
channels = {},
|
||||
styles = {
|
||||
disconnect: ["FgRed", "Bright"],
|
||||
connect: ["FgGreen", "Bright"]
|
||||
};
|
||||
|
||||
logo();
|
||||
|
||||
app
|
||||
//.use(secure)
|
||||
.use(serveStatic(__dirname + '/public'));
|
||||
|
||||
const server = http.createServer(app),
|
||||
ws = new io.Server({
|
||||
server: server
|
||||
});
|
||||
server.listen(80)
|
||||
|
||||
ws.on('connection', (socket, req) => {
|
||||
let params = Url.parse(req.url, true).query;
|
||||
socket.channel = params.channelName;
|
||||
socket.username = params.username;
|
||||
if (!channels[socket.channel]) {
|
||||
channels[socket.channel] = map.create(socket.channel);
|
||||
}
|
||||
socket.send(socket.username + " create " + JSON.stringify(channels[socket.channel]));
|
||||
channels[socket.channel].players[socket.username] = {
|
||||
"position": map.getRandomPosition(channels[socket.channel].limits),
|
||||
"direction": "down",
|
||||
"state": "stop",
|
||||
"username": socket.username,
|
||||
"lives": channels[socket.channel].player.lives,
|
||||
"scale": channels[socket.channel].player.scale,
|
||||
"score": 0,
|
||||
"width": 0,
|
||||
"height": 0
|
||||
};
|
||||
|
||||
let msg = socket.username + " " + JSON.stringify(channels[socket.channel].players[socket.username]);
|
||||
socket.send(msg);
|
||||
|
||||
// Cuando recive un mensaje
|
||||
socket.on('message', msg => {
|
||||
var username = msg.split(" ")[0];
|
||||
var type = msg.split(" ")[1];
|
||||
if (type != "chat" && channels[socket.channel].players[socket.username].position) {
|
||||
var data = JSON.parse(msg.replace(username + " ", "")),
|
||||
v = channels[socket.channel].player.velocity_divisor ? ((channels[socket.channel].players[socket.username].position.y) + (channels[socket.channel].size.y / 2)) / channels[socket.channel].player.velocity_divisor : channels[socket.channel].player.velocity,
|
||||
mx = -data.vx / channels[socket.channel].player.dvx * v,
|
||||
my = -data.vy / channels[socket.channel].player.dvy * v;
|
||||
|
||||
if (map.moveX(mx, channels[socket.channel].players[socket.username], channels[socket.channel])) {
|
||||
channels[socket.channel].players[socket.username].position.x += mx;
|
||||
}
|
||||
if (map.moveY(my, channels[socket.channel].players[socket.username], channels[socket.channel])) {
|
||||
channels[socket.channel].players[socket.username].position.y += my;
|
||||
}
|
||||
|
||||
channels[socket.channel].players[socket.username].state = data.state;
|
||||
channels[socket.channel].players[socket.username].direction = data.direction;
|
||||
channels[socket.channel].players[socket.username].width = data.width;
|
||||
channels[socket.channel].players[socket.username].height = data.height;
|
||||
|
||||
if(channels[socket.channel].player.scale_ratio_divisor){
|
||||
channels[socket.channel].players[socket.username].scale = (((channels[socket.channel].players[socket.username].position.y * -1) / channels[socket.channel].player.scale_ratio_divisor) - channels[socket.channel].player.scale) * -1;
|
||||
}else{
|
||||
channels[socket.channel].players[socket.username].scale = channels[socket.channel].player.scale;
|
||||
}
|
||||
|
||||
if (channels[socket.channel].players[socket.username].state == "attack") {
|
||||
var collider;
|
||||
var punch = 80;
|
||||
switch (channels[socket.channel].players[socket.username].direction) {
|
||||
case "up":
|
||||
collider = {
|
||||
position: {
|
||||
x: channels[socket.channel].players[socket.username].position.x,
|
||||
y: parseInt(channels[socket.channel].players[socket.username].position.y) - 40
|
||||
},
|
||||
width: channels[socket.channel].players[socket.username].width,
|
||||
height: 40,
|
||||
punch: -punch,
|
||||
direction: "y"
|
||||
};
|
||||
break;
|
||||
case "down":
|
||||
collider = {
|
||||
position: {
|
||||
x: channels[socket.channel].players[socket.username].position.x,
|
||||
y: parseInt(channels[socket.channel].players[socket.username].position.y) + parseInt(channels[socket.channel].players[socket.username].height)
|
||||
},
|
||||
width: channels[socket.channel].players[socket.username].height,
|
||||
height: 40,
|
||||
punch: punch,
|
||||
direction: "y"
|
||||
};
|
||||
break;
|
||||
case "left":
|
||||
collider = {
|
||||
position: {
|
||||
x: parseInt(channels[socket.channel].players[socket.username].position.x) - 40,
|
||||
y: channels[socket.channel].players[socket.username].position.y
|
||||
},
|
||||
width: 40,
|
||||
height: channels[socket.channel].players[socket.username].height,
|
||||
punch: -punch,
|
||||
direction: "x"
|
||||
};
|
||||
break;
|
||||
case "right":
|
||||
collider = {
|
||||
position: {
|
||||
x: parseInt(channels[socket.channel].players[socket.username].position.x) + parseInt(channels[socket.channel].players[socket.username].width),
|
||||
y: channels[socket.channel].players[socket.username].position.y
|
||||
},
|
||||
width: 40,
|
||||
height: channels[socket.channel].players[socket.username].height,
|
||||
punch: punch,
|
||||
direction: "x"
|
||||
};
|
||||
break;
|
||||
}
|
||||
|
||||
var msg2 = "";
|
||||
Object.values(channels[socket.channel].players).map(x => {
|
||||
if(map.collision(collider, x)){
|
||||
x.lives -= parseInt(x.lives) > 0 ? 1 : 0;
|
||||
if(parseInt(x.lives) == 0){
|
||||
channels[socket.channel].players[socket.username].lives += parseInt(channels[socket.channel].players[socket.username].lives) < 16 ? 1 : 0;
|
||||
channels[socket.channel].players[socket.username].score += parseInt(x.score) != 0 ? Math.round(x.score/2) : 0;
|
||||
x.score = 0;
|
||||
x.position = map.getRandomPosition(channels[socket.channel].limits);
|
||||
if(channels[socket.channel].player.scale_ratio_divisor){
|
||||
x.scale = (((x.position.y * -1) / channels[socket.channel].player.scale_ratio_divisor) - channels[socket.channel].player.scale) * -1;
|
||||
}
|
||||
x.lives = channels[socket.channel].player.lives;
|
||||
}else{
|
||||
if(collider.direction == "x"){
|
||||
if(map.moveX(collider.punch, x, channels[socket.channel])){
|
||||
x.position[collider.direction] += collider.punch;
|
||||
}
|
||||
}else{
|
||||
if(map.moveY(collider.punch, x, channels[socket.channel])){
|
||||
x.position[collider.direction] += collider.punch;
|
||||
}
|
||||
}
|
||||
channels[socket.channel].players[socket.username].score += 10;
|
||||
if(channels[socket.channel].player.scale_ratio_divisor){
|
||||
x.scale = (((x.position.y * -1) / channels[socket.channel].player.scale_ratio_divisor) - channels[socket.channel].player.scale) * -1;
|
||||
}
|
||||
}
|
||||
channels[socket.channel].players[x.username] = x;
|
||||
msg2 = x.username + " " + JSON.stringify(x);
|
||||
}
|
||||
});
|
||||
}
|
||||
msg = socket.username + " " + JSON.stringify(channels[socket.channel].players[socket.username]);
|
||||
}
|
||||
|
||||
ws.clients.forEach(function each(client) {
|
||||
if (client.channel == socket.channel && client.readyState === io.OPEN) {
|
||||
if (msg2) client.send(msg2);
|
||||
client.send(msg);
|
||||
}
|
||||
});
|
||||
})
|
||||
|
||||
// Cierra la conexión y envía a los demás el mensaje
|
||||
.on('close', () => {
|
||||
log(socket.username + " | Disconect on " + socket.channel + ".", styles.disconnect);
|
||||
ws.clients.forEach(function each(client) {
|
||||
if (client !== socket && client.channel == socket.channel && client.readyState === io.OPEN) {
|
||||
client.send(socket.username + " left");
|
||||
}
|
||||
});
|
||||
delete channels[socket.channel].players[socket.username];
|
||||
socket.removeAllListeners();
|
||||
//socket.disconnect();
|
||||
});
|
||||
|
||||
log(socket.username + " | Connect on " + socket.channel + ".", styles.connect);
|
||||
});
|
||||
|
||||
/*
|
||||
.on('register', data => {
|
||||
log("register");
|
||||
socket.emit('users', { users: "testing" })
|
||||
socket.broadcast.emit('adduser', { user: "elgustavo" })
|
||||
})
|
||||
*/
|
||||
46
testing/magicworld/server/server_gus.js
Archivo normal
46
testing/magicworld/server/server_gus.js
Archivo normal
@@ -0,0 +1,46 @@
|
||||
'use strict';
|
||||
|
||||
var constants = require('constants'),
|
||||
https = require('https'),
|
||||
path = require('path'),
|
||||
tls = require('tls'),
|
||||
fs = require('fs'),
|
||||
Url = require('url'),
|
||||
WebSocket = require('ws');
|
||||
|
||||
const server = https.createServer({
|
||||
secureProtocol: 'SSLv23_method',
|
||||
secureOptions: constants.SSL_OP_NO_SSLv3,
|
||||
rejectUnauthorized: false,
|
||||
key: fs.readFileSync(__dirname + '/ssl/key.pem'),
|
||||
cert: fs.readFileSync(__dirname + '/ssl/cert.pem')
|
||||
});
|
||||
|
||||
const wss = new WebSocket.Server({ server });
|
||||
|
||||
wss.on('connection', function connection(ws, req) {
|
||||
//console.log(Url.parse(req.url, true).query);
|
||||
console.log("Connect");
|
||||
var params = Url.parse(req.url, true).query;
|
||||
ws.channel = params.channelName;
|
||||
ws.on('message', function message(msg) {
|
||||
wss.clients.forEach(function each(client) {
|
||||
if (client !== ws && client.channel == ws.channel && client.readyState === WebSocket.OPEN) {
|
||||
client.send(msg);
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
server.listen('9000', 'magicworld.servebeer.com', function listening() {
|
||||
|
||||
const ws = new WebSocket(`wss://magicworld.servebeer.com:${server.address().port}`, {
|
||||
rejectUnauthorized: true
|
||||
});
|
||||
|
||||
ws.on('open', function open() {
|
||||
ws.send(`WebSocket Listen in ${server.address().port}`);
|
||||
});
|
||||
});
|
||||
|
||||
wss.on('connection', function connection(ws) {})
|
||||
578
testing/magicworld/server/yarn.lock
Archivo normal
578
testing/magicworld/server/yarn.lock
Archivo normal
@@ -0,0 +1,578 @@
|
||||
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
|
||||
# yarn lockfile v1
|
||||
|
||||
|
||||
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"
|
||||
|
||||
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"
|
||||
|
||||
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"
|
||||
|
||||
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"
|
||||
|
||||
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"
|
||||
|
||||
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:
|
||||
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"
|
||||
|
||||
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"
|
||||
|
||||
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-force-ssl@^0.3.2:
|
||||
version "0.3.2"
|
||||
resolved "https://registry.yarnpkg.com/express-force-ssl/-/express-force-ssl-0.3.2.tgz#01b2b498ae6fd2e41152b22b57a3e173773af67e"
|
||||
dependencies:
|
||||
lodash.assign "^3.2.0"
|
||||
|
||||
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"
|
||||
|
||||
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:
|
||||
version "2.0.3"
|
||||
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
|
||||
|
||||
ipaddr.js@1.8.0:
|
||||
version "1.8.0"
|
||||
resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.8.0.tgz#eaa33d6ddd7ace8f7f6fe0c9ca0440e706738b1e"
|
||||
|
||||
isarray@2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.1.tgz#a37d94ed9cda2d59865c9f76fe596ee1f338741e"
|
||||
|
||||
lodash._baseassign@^3.0.0:
|
||||
version "3.2.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz#8c38a099500f215ad09e59f1722fd0c52bfe0a4e"
|
||||
dependencies:
|
||||
lodash._basecopy "^3.0.0"
|
||||
lodash.keys "^3.0.0"
|
||||
|
||||
lodash._basecopy@^3.0.0:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36"
|
||||
|
||||
lodash._bindcallback@^3.0.0:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz#e531c27644cf8b57a99e17ed95b35c748789392e"
|
||||
|
||||
lodash._createassigner@^3.0.0:
|
||||
version "3.1.1"
|
||||
resolved "https://registry.yarnpkg.com/lodash._createassigner/-/lodash._createassigner-3.1.1.tgz#838a5bae2fdaca63ac22dee8e19fa4e6d6970b11"
|
||||
dependencies:
|
||||
lodash._bindcallback "^3.0.0"
|
||||
lodash._isiterateecall "^3.0.0"
|
||||
lodash.restparam "^3.0.0"
|
||||
|
||||
lodash._getnative@^3.0.0:
|
||||
version "3.9.1"
|
||||
resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5"
|
||||
|
||||
lodash._isiterateecall@^3.0.0:
|
||||
version "3.0.9"
|
||||
resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c"
|
||||
|
||||
lodash.assign@^3.2.0:
|
||||
version "3.2.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-3.2.0.tgz#3ce9f0234b4b2223e296b8fa0ac1fee8ebca64fa"
|
||||
dependencies:
|
||||
lodash._baseassign "^3.0.0"
|
||||
lodash._createassigner "^3.0.0"
|
||||
lodash.keys "^3.0.0"
|
||||
|
||||
lodash.isarguments@^3.0.0:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a"
|
||||
|
||||
lodash.isarray@^3.0.0:
|
||||
version "3.0.4"
|
||||
resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55"
|
||||
|
||||
lodash.keys@^3.0.0:
|
||||
version "3.1.2"
|
||||
resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a"
|
||||
dependencies:
|
||||
lodash._getnative "^3.0.0"
|
||||
lodash.isarguments "^3.0.0"
|
||||
lodash.isarray "^3.0.0"
|
||||
|
||||
lodash.restparam@^3.0.0:
|
||||
version "3.6.1"
|
||||
resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805"
|
||||
|
||||
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.35.0:
|
||||
version "1.35.0"
|
||||
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.35.0.tgz#0569d657466491283709663ad379a99b90d9ab47"
|
||||
|
||||
mime-types@~2.1.18:
|
||||
version "2.1.19"
|
||||
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.19.tgz#71e464537a7ef81c15f2db9d97e913fc0ff606f0"
|
||||
dependencies:
|
||||
mime-db "~1.35.0"
|
||||
|
||||
mime@1.4.1:
|
||||
version "1.4.1"
|
||||
resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6"
|
||||
|
||||
ms@2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
|
||||
|
||||
negotiator@0.6.1:
|
||||
version "0.6.1"
|
||||
resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9"
|
||||
|
||||
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"
|
||||
|
||||
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"
|
||||
|
||||
pixi@^0.3.1:
|
||||
version "0.3.1"
|
||||
resolved "https://registry.yarnpkg.com/pixi/-/pixi-0.3.1.tgz#858cd6164a32a1e4b41192cdf5c6d98209300ba8"
|
||||
|
||||
proxy-addr@~2.0.3:
|
||||
version "2.0.4"
|
||||
resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.4.tgz#ecfc733bf22ff8c6f407fa275327b9ab67e48b93"
|
||||
dependencies:
|
||||
forwarded "~0.1.2"
|
||||
ipaddr.js "1.8.0"
|
||||
|
||||
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"
|
||||
|
||||
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.0:
|
||||
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, 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:
|
||||
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.1.1:
|
||||
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"
|
||||
|
||||
"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"
|
||||
|
||||
to-array@0.1.4:
|
||||
version "0.1.4"
|
||||
resolved "https://registry.yarnpkg.com/to-array/-/to-array-0.1.4.tgz#17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890"
|
||||
|
||||
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"
|
||||
|
||||
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"
|
||||
|
||||
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"
|
||||
|
||||
ws@^6.0.0:
|
||||
version "6.0.0"
|
||||
resolved "https://registry.yarnpkg.com/ws/-/ws-6.0.0.tgz#eaa494aded00ac4289d455bac8d84c7c651cef35"
|
||||
dependencies:
|
||||
async-limiter "~1.0.0"
|
||||
|
||||
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"
|
||||
|
||||
yeast@0.1.2:
|
||||
version "0.1.2"
|
||||
resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419"
|
||||
Referencia en una nueva incidencia
Block a user