Moved to simple peer
This commit is contained in:
parent
7ac13c1145
commit
8361d6eb0b
@ -7,15 +7,18 @@
|
|||||||
"@testing-library/jest-dom": "^4.2.4",
|
"@testing-library/jest-dom": "^4.2.4",
|
||||||
"@testing-library/react": "^9.3.2",
|
"@testing-library/react": "^9.3.2",
|
||||||
"@testing-library/user-event": "^7.1.2",
|
"@testing-library/user-event": "^7.1.2",
|
||||||
|
"blob-to-buffer": "^1.2.8",
|
||||||
"gh-pages": "^2.2.0",
|
"gh-pages": "^2.2.0",
|
||||||
"hookrouter": "^1.2.3",
|
"hookrouter": "^1.2.3",
|
||||||
"interactjs": "^1.9.7",
|
"interactjs": "^1.9.7",
|
||||||
"peerjs": "^1.2.0",
|
"js-binarypack": "^0.0.9",
|
||||||
"react": "^16.13.0",
|
"react": "^16.13.0",
|
||||||
"react-dom": "^16.13.0",
|
"react-dom": "^16.13.0",
|
||||||
"react-modal": "^3.11.2",
|
"react-modal": "^3.11.2",
|
||||||
"react-scripts": "3.4.0",
|
"react-scripts": "3.4.0",
|
||||||
"shortid": "^2.2.15",
|
"shortid": "^2.2.15",
|
||||||
|
"simple-peer": "^9.6.2",
|
||||||
|
"socket.io-client": "^2.3.0",
|
||||||
"theme-ui": "^0.3.1"
|
"theme-ui": "^0.3.1"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
11
src/App.js
11
src/App.js
@ -1,7 +1,6 @@
|
|||||||
import React from "react";
|
import React from "react";
|
||||||
import { useRoutes } from "hookrouter";
|
import { useRoutes } from "hookrouter";
|
||||||
import { ThemeProvider } from "theme-ui";
|
import { ThemeProvider } from "theme-ui";
|
||||||
import { GameProvider } from "./contexts/GameContext";
|
|
||||||
|
|
||||||
import theme from "./theme.js";
|
import theme from "./theme.js";
|
||||||
import Home from "./routes/Home";
|
import Home from "./routes/Home";
|
||||||
@ -10,17 +9,13 @@ import Join from "./routes/Join";
|
|||||||
|
|
||||||
const routes = {
|
const routes = {
|
||||||
"/": () => <Home />,
|
"/": () => <Home />,
|
||||||
"/game": () => <Game />,
|
"/game/:id": ({ id }) => <Game gameId={id} />,
|
||||||
"/join": () => <Join />
|
"/join": () => <Join />,
|
||||||
};
|
};
|
||||||
|
|
||||||
function App() {
|
function App() {
|
||||||
const route = useRoutes(routes);
|
const route = useRoutes(routes);
|
||||||
return (
|
return <ThemeProvider theme={theme}>{route}</ThemeProvider>;
|
||||||
<ThemeProvider theme={theme}>
|
|
||||||
<GameProvider>{route}</GameProvider>
|
|
||||||
</ThemeProvider>
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export default App;
|
export default App;
|
||||||
|
@ -3,7 +3,7 @@ import { IconButton, Flex, Box, Label, Text } from "theme-ui";
|
|||||||
|
|
||||||
import Modal from "./Modal";
|
import Modal from "./Modal";
|
||||||
|
|
||||||
function AddPartyMemberButton({ peerId }) {
|
function AddPartyMemberButton({ gameId }) {
|
||||||
const [isAddModalOpen, setIsAddModalOpen] = useState(false);
|
const [isAddModalOpen, setIsAddModalOpen] = useState(false);
|
||||||
function openModal() {
|
function openModal() {
|
||||||
setIsAddModalOpen(true);
|
setIsAddModalOpen(true);
|
||||||
@ -32,7 +32,7 @@ function AddPartyMemberButton({ peerId }) {
|
|||||||
<Box>
|
<Box>
|
||||||
<Label p={2}>Other people can join using your ID › ʕ•ᴥ•ʔ</Label>
|
<Label p={2}>Other people can join using your ID › ʕ•ᴥ•ʔ</Label>
|
||||||
<Box p={2} bg="hsla(230, 20%, 0%, 20%)">
|
<Box p={2} bg="hsla(230, 20%, 0%, 20%)">
|
||||||
<Text>{peerId}</Text>
|
<Text>{gameId}</Text>
|
||||||
</Box>
|
</Box>
|
||||||
</Box>
|
</Box>
|
||||||
</Modal>
|
</Modal>
|
||||||
|
@ -3,7 +3,7 @@ import { Flex, Box, Text } from "theme-ui";
|
|||||||
|
|
||||||
import AddPartyMemberButton from "./AddPartyMemberButton";
|
import AddPartyMemberButton from "./AddPartyMemberButton";
|
||||||
|
|
||||||
function Party({ nicknames, peerId, onNicknameChange }) {
|
function Party({ nickname, partyNicknames, gameId, onNicknameChange }) {
|
||||||
return (
|
return (
|
||||||
<Flex
|
<Flex
|
||||||
p={3}
|
p={3}
|
||||||
@ -13,12 +13,12 @@ function Party({ nicknames, peerId, onNicknameChange }) {
|
|||||||
width: "96px",
|
width: "96px",
|
||||||
minWidth: "96px",
|
minWidth: "96px",
|
||||||
overflowY: "auto",
|
overflowY: "auto",
|
||||||
alignItems: "center"
|
alignItems: "center",
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<Box
|
<Box
|
||||||
sx={{
|
sx={{
|
||||||
width: "100%"
|
width: "100%",
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<Text mb={1} variant="heading">
|
<Text mb={1} variant="heading">
|
||||||
@ -28,17 +28,20 @@ function Party({ nicknames, peerId, onNicknameChange }) {
|
|||||||
<Box
|
<Box
|
||||||
sx={{
|
sx={{
|
||||||
flexGrow: 1,
|
flexGrow: 1,
|
||||||
width: "100%"
|
width: "100%",
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
{Object.entries(nicknames).map(([id, nickname]) => (
|
<Text my={1} variant="caption" sx={{ fontSize: 10 }}>
|
||||||
|
{nickname || ""} (you)
|
||||||
|
</Text>
|
||||||
|
{Object.entries(partyNicknames).map(([id, partyNickname]) => (
|
||||||
<Text my={1} variant="caption" sx={{ fontSize: 10 }} key={id}>
|
<Text my={1} variant="caption" sx={{ fontSize: 10 }} key={id}>
|
||||||
{nickname} {id === peerId ? "(you)" : ""}
|
{partyNickname}
|
||||||
</Text>
|
</Text>
|
||||||
))}
|
))}
|
||||||
</Box>
|
</Box>
|
||||||
<Box>
|
<Box>
|
||||||
<AddPartyMemberButton peerId={peerId} />
|
<AddPartyMemberButton gameId={gameId} />
|
||||||
</Box>
|
</Box>
|
||||||
</Flex>
|
</Flex>
|
||||||
);
|
);
|
||||||
|
@ -1,11 +0,0 @@
|
|||||||
import React, { useState } from "react";
|
|
||||||
|
|
||||||
const GameContext = React.createContext();
|
|
||||||
|
|
||||||
export function GameProvider({ children }) {
|
|
||||||
const [gameId, setGameId] = useState(null);
|
|
||||||
const value = { gameId, setGameId };
|
|
||||||
return <GameContext.Provider value={value}>{children}</GameContext.Provider>;
|
|
||||||
}
|
|
||||||
|
|
||||||
export default GameContext;
|
|
97
src/helpers/Peer.js
Normal file
97
src/helpers/Peer.js
Normal file
@ -0,0 +1,97 @@
|
|||||||
|
import SimplePeer from "simple-peer";
|
||||||
|
import BinaryPack from "js-binarypack";
|
||||||
|
import toBuffer from "blob-to-buffer";
|
||||||
|
import shortid from "shortid";
|
||||||
|
|
||||||
|
// Limit buffer size to 16kb to avoid issues with chrome packet size
|
||||||
|
// http://viblast.com/blog/2015/2/5/webrtc-data-channel-message-size/
|
||||||
|
const MAX_BUFFER_SIZE = 16000;
|
||||||
|
|
||||||
|
class Peer extends SimplePeer {
|
||||||
|
constructor(props) {
|
||||||
|
super(props);
|
||||||
|
this.currentChunks = {};
|
||||||
|
|
||||||
|
this.on("data", (packed) => {
|
||||||
|
const unpacked = BinaryPack.unpack(packed);
|
||||||
|
// If the special property __chunked is set and true
|
||||||
|
// The data is a partial chunk of the a larger file
|
||||||
|
// So wait until all chunks are collected and assembled
|
||||||
|
// before emitting the dataComplete event
|
||||||
|
if (unpacked.__chunked) {
|
||||||
|
let chunk = this.currentChunks[unpacked.id] || {
|
||||||
|
data: [],
|
||||||
|
count: 0,
|
||||||
|
total: unpacked.total,
|
||||||
|
};
|
||||||
|
chunk.data[unpacked.index] = unpacked.data;
|
||||||
|
chunk.count++;
|
||||||
|
this.currentChunks[unpacked.id] = chunk;
|
||||||
|
|
||||||
|
// All chunks have been loaded
|
||||||
|
if (chunk.count === chunk.total) {
|
||||||
|
const merged = BinaryPack.unpack(Buffer.concat(chunk.data));
|
||||||
|
this.emit("dataComplete", merged);
|
||||||
|
delete this.currentChunks[unpacked.id];
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this.emit("dataComplete", unpacked);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
sendPackedData(packedData) {
|
||||||
|
toBuffer(packedData, (error, buffer) => {
|
||||||
|
if (error) {
|
||||||
|
throw error;
|
||||||
|
}
|
||||||
|
super.send(buffer);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
send(data) {
|
||||||
|
const packedData = BinaryPack.pack(data);
|
||||||
|
|
||||||
|
if (packedData.size > MAX_BUFFER_SIZE) {
|
||||||
|
const chunks = this.chunk(packedData);
|
||||||
|
for (let chunk of chunks) {
|
||||||
|
this.sendPackedData(BinaryPack.pack(chunk));
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
this.sendPackedData(packedData);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Converted from https://github.com/peers/peerjs/
|
||||||
|
chunk(blob) {
|
||||||
|
const chunks = [];
|
||||||
|
const size = blob.size;
|
||||||
|
const total = Math.ceil(size / MAX_BUFFER_SIZE);
|
||||||
|
const id = shortid.generate();
|
||||||
|
|
||||||
|
let index = 0;
|
||||||
|
let start = 0;
|
||||||
|
|
||||||
|
while (start < size) {
|
||||||
|
const end = Math.min(size, start + MAX_BUFFER_SIZE);
|
||||||
|
const slice = blob.slice(start, end);
|
||||||
|
|
||||||
|
const chunk = {
|
||||||
|
__chunked: true,
|
||||||
|
data: slice,
|
||||||
|
id,
|
||||||
|
index,
|
||||||
|
total,
|
||||||
|
};
|
||||||
|
|
||||||
|
chunks.push(chunk);
|
||||||
|
start = end;
|
||||||
|
index++;
|
||||||
|
}
|
||||||
|
|
||||||
|
return chunks;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Peer;
|
@ -1,132 +1,86 @@
|
|||||||
import { useEffect, useState } from "react";
|
import { useEffect, useState } from "react";
|
||||||
import Peer from "peerjs";
|
import io from "socket.io-client";
|
||||||
|
|
||||||
function useSession(onConnectionOpen, onConnectionSync) {
|
import { omit } from "../helpers/shared";
|
||||||
const [peerId, setPeerId] = useState(null);
|
import Peer from "../helpers/Peer";
|
||||||
const [peer, setPeer] = useState(null);
|
|
||||||
const [connections, setConnections] = useState({});
|
|
||||||
|
|
||||||
function addConnection(connection) {
|
const socket = io("http://localhost:9000");
|
||||||
console.log("Adding connection", connection.peer);
|
|
||||||
setConnections(prevConnnections => {
|
function useSession(partyId, onPeerConnected, onPeerDisconnected, onPeerData) {
|
||||||
console.log("Connections", {
|
useEffect(() => {
|
||||||
...prevConnnections,
|
socket.emit("join party", partyId);
|
||||||
[connection.peer]: connection
|
}, [partyId]);
|
||||||
|
|
||||||
|
const [peers, setPeers] = useState({});
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
function addPeer(id, initiator) {
|
||||||
|
const peer = new Peer({ initiator, trickle: false });
|
||||||
|
|
||||||
|
peer.on("signal", (signal) => {
|
||||||
|
socket.emit("signal", JSON.stringify({ to: id, signal }));
|
||||||
});
|
});
|
||||||
return {
|
|
||||||
...prevConnnections,
|
|
||||||
[connection.peer]: connection
|
|
||||||
};
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
useEffect(() => {
|
peer.on("connect", () => {
|
||||||
console.log("Creating peer");
|
onPeerConnected && onPeerConnected({ id, peer, initiator });
|
||||||
setPeer(new Peer());
|
});
|
||||||
}, []);
|
|
||||||
|
|
||||||
useEffect(() => {
|
peer.on("dataComplete", (data) => {
|
||||||
function handleOpen(id) {
|
onPeerData && onPeerData({ id, peer, data });
|
||||||
console.log("Peer open", id);
|
});
|
||||||
setPeerId(id);
|
|
||||||
|
peer.on("close", () => {
|
||||||
|
onPeerDisconnected && onPeerDisconnected(id);
|
||||||
|
});
|
||||||
|
|
||||||
|
peer.on("error", (err) => {
|
||||||
|
onPeerDisconnected && onPeerDisconnected(id);
|
||||||
|
console.error("error", err);
|
||||||
|
});
|
||||||
|
|
||||||
|
setPeers((prevPeers) => ({
|
||||||
|
...prevPeers,
|
||||||
|
[id]: peer,
|
||||||
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
function handleConnection(connection) {
|
function handlePartyMemberJoined(id) {
|
||||||
connection.on("open", () => {
|
addPeer(id, false);
|
||||||
console.log("incoming connection added", connection.peer);
|
}
|
||||||
const metadata = connection.metadata;
|
|
||||||
if (metadata.sync) {
|
|
||||||
connection.send({
|
|
||||||
id: "sync",
|
|
||||||
data: { connections: Object.keys(connections) }
|
|
||||||
});
|
|
||||||
if (onConnectionSync) {
|
|
||||||
onConnectionSync(connection);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
addConnection(connection);
|
function handlePartyMemberLeft(id) {
|
||||||
|
if (id in peers) {
|
||||||
if (onConnectionOpen) {
|
peers[id].destroy();
|
||||||
onConnectionOpen(connection);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
function removeConnection() {
|
|
||||||
console.log("removing connection", connection.peer);
|
|
||||||
setConnections(prevConnections => {
|
|
||||||
const { [connection.peer]: old, ...rest } = prevConnections;
|
|
||||||
return rest;
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
connection.on("close", removeConnection);
|
setPeers((prevPeers) => omit(prevPeers, [id]));
|
||||||
connection.on("error", error => {
|
|
||||||
console.error("Data Connection error", error);
|
|
||||||
removeConnection();
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function handleError(error) {
|
function handleJoinedParty(otherIds) {
|
||||||
console.error("Peer error", error);
|
for (let id of otherIds) {
|
||||||
|
addPeer(id, true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!peer) {
|
function handleSignal(data) {
|
||||||
return;
|
const { from, signal } = JSON.parse(data);
|
||||||
|
if (from in peers) {
|
||||||
|
peers[from].signal(signal);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
peer.on("open", handleOpen);
|
socket.on("party member joined", handlePartyMemberJoined);
|
||||||
peer.on("connection", handleConnection);
|
socket.on("party member left", handlePartyMemberLeft);
|
||||||
peer.on("error", handleError);
|
socket.on("joined party", handleJoinedParty);
|
||||||
|
socket.on("signal", handleSignal);
|
||||||
return () => {
|
return () => {
|
||||||
peer.removeListener("open", handleOpen);
|
socket.removeListener("party member joined", handlePartyMemberJoined);
|
||||||
peer.removeListener("connection", handleConnection);
|
socket.removeListener("party member left", handlePartyMemberLeft);
|
||||||
peer.removeListener("error", handleError);
|
socket.removeListener("joined party", handleJoinedParty);
|
||||||
|
socket.removeListener("signal", handleSignal);
|
||||||
};
|
};
|
||||||
}, [peer, peerId, connections, onConnectionOpen, onConnectionSync]);
|
}, [peers, onPeerConnected, onPeerDisconnected, onPeerData]);
|
||||||
|
|
||||||
function connectTo(connectionId, payload) {
|
return { peers, id: socket.id };
|
||||||
console.log("Connecting to", connectionId);
|
|
||||||
if (connectionId in connections) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
const connection = peer.connect(connectionId, {
|
|
||||||
metadata: { sync: true }
|
|
||||||
});
|
|
||||||
addConnection(connection);
|
|
||||||
connection.on("open", () => {
|
|
||||||
connection.on("data", data => {
|
|
||||||
if (data.id === "sync") {
|
|
||||||
const { connections: syncConnections } = data.data;
|
|
||||||
for (let syncId of syncConnections) {
|
|
||||||
console.log("Syncing to", syncId);
|
|
||||||
if (connectionId === syncId || syncId in connections) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
const syncConnection = peer.connect(syncId, {
|
|
||||||
metadata: { sync: false }
|
|
||||||
});
|
|
||||||
addConnection(syncConnection);
|
|
||||||
syncConnection.on("open", () => {
|
|
||||||
if (onConnectionOpen) {
|
|
||||||
onConnectionOpen(syncConnection);
|
|
||||||
}
|
|
||||||
if (payload) {
|
|
||||||
syncConnection.send(payload);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
if (onConnectionOpen) {
|
|
||||||
onConnectionOpen(connection);
|
|
||||||
}
|
|
||||||
if (payload) {
|
|
||||||
connection.send(payload);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
return { peer, peerId, connections, connectTo };
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export default useSession;
|
export default useSession;
|
||||||
|
@ -1,15 +1,8 @@
|
|||||||
import React, {
|
import React, { useState, useRef } from "react";
|
||||||
useContext,
|
|
||||||
useEffect,
|
|
||||||
useState,
|
|
||||||
useRef,
|
|
||||||
useCallback
|
|
||||||
} from "react";
|
|
||||||
import { Flex } from "theme-ui";
|
import { Flex } from "theme-ui";
|
||||||
|
|
||||||
import { omit } from "../helpers/shared";
|
import { omit } from "../helpers/shared";
|
||||||
|
|
||||||
import GameContext from "../contexts/GameContext";
|
|
||||||
import useSession from "../helpers/useSession";
|
import useSession from "../helpers/useSession";
|
||||||
import { getRandomMonster } from "../helpers/monsters";
|
import { getRandomMonster } from "../helpers/monsters";
|
||||||
|
|
||||||
@ -17,40 +10,22 @@ import Party from "../components/Party";
|
|||||||
import Tokens from "../components/Tokens";
|
import Tokens from "../components/Tokens";
|
||||||
import Map from "../components/Map";
|
import Map from "../components/Map";
|
||||||
|
|
||||||
const defaultNickname = getRandomMonster();
|
function Game({ gameId }) {
|
||||||
|
const { peers, id } = useSession(
|
||||||
function Game() {
|
gameId,
|
||||||
const { gameId } = useContext(GameContext);
|
handlePeerConnected,
|
||||||
const handleConnectionOpenCallback = useCallback(handleConnectionOpen);
|
handlePeerDisconnected,
|
||||||
const handleConnectionSyncCallback = useCallback(handleConnectionSync);
|
handlePeerData
|
||||||
const { peerId, connections, connectTo } = useSession(
|
|
||||||
handleConnectionOpenCallback,
|
|
||||||
handleConnectionSyncCallback
|
|
||||||
);
|
);
|
||||||
|
|
||||||
const [nicknames, setNicknames] = useState({});
|
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
// Initialize nickname state
|
|
||||||
if (peerId !== null && !(peerId in nicknames)) {
|
|
||||||
setNicknames({ [peerId]: defaultNickname });
|
|
||||||
}
|
|
||||||
if (gameId !== null && peerId !== null && !(gameId in connections)) {
|
|
||||||
connectTo(gameId, {
|
|
||||||
id: "nickname",
|
|
||||||
data: { [peerId]: nicknames[peerId] || defaultNickname }
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}, [gameId, peerId, connectTo, connections, nicknames]);
|
|
||||||
|
|
||||||
const [mapSource, setMapSource] = useState(null);
|
const [mapSource, setMapSource] = useState(null);
|
||||||
const mapDataRef = useRef(null);
|
const mapDataRef = useRef(null);
|
||||||
|
|
||||||
function handleMapChanged(mapData, mapSource) {
|
function handleMapChanged(mapData, mapSource) {
|
||||||
mapDataRef.current = mapData;
|
mapDataRef.current = mapData;
|
||||||
setMapSource(mapSource);
|
setMapSource(mapSource);
|
||||||
for (let connection of Object.values(connections)) {
|
for (let peer of Object.values(peers)) {
|
||||||
connection.send({ id: "map", data: mapDataRef.current });
|
peer.send({ id: "map", data: mapDataRef.current });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -60,75 +35,75 @@ function Game() {
|
|||||||
if (!mapSource) {
|
if (!mapSource) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
setMapTokens(prevMapTokens => ({
|
setMapTokens((prevMapTokens) => ({
|
||||||
...prevMapTokens,
|
...prevMapTokens,
|
||||||
[token.id]: token
|
[token.id]: token,
|
||||||
}));
|
}));
|
||||||
for (let connection of Object.values(connections)) {
|
for (let peer of Object.values(peers)) {
|
||||||
const data = { [token.id]: token };
|
const data = { [token.id]: token };
|
||||||
connection.send({ id: "tokenEdit", data });
|
peer.send({ id: "tokenEdit", data });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function handleRemoveMapToken(token) {
|
function handleRemoveMapToken(token) {
|
||||||
setMapTokens(prevMapTokens => {
|
setMapTokens((prevMapTokens) => {
|
||||||
const { [token.id]: old, ...rest } = prevMapTokens;
|
const { [token.id]: old, ...rest } = prevMapTokens;
|
||||||
return rest;
|
return rest;
|
||||||
});
|
});
|
||||||
for (let connection of Object.values(connections)) {
|
for (let peer of Object.values(peers)) {
|
||||||
const data = { [token.id]: token };
|
const data = { [token.id]: token };
|
||||||
connection.send({ id: "tokenRemove", data });
|
peer.send({ id: "tokenRemove", data });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const [nickname, setNickname] = useState(getRandomMonster());
|
||||||
|
const [partyNicknames, setPartyNicknames] = useState({});
|
||||||
|
|
||||||
function handleNicknameChange(nickname) {
|
function handleNicknameChange(nickname) {
|
||||||
setNicknames(prevNicknames => ({
|
setNickname(nickname);
|
||||||
...prevNicknames,
|
for (let peer of Object.values(peers)) {
|
||||||
[peerId]: nickname
|
const data = { [id]: nickname };
|
||||||
}));
|
peer.send({ id: "nickname", data });
|
||||||
for (let connection of Object.values(connections)) {
|
|
||||||
const data = { [peerId]: nickname };
|
|
||||||
connection.send({ id: "nickname", data });
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function handleConnectionOpen(connection) {
|
function handlePeerConnected({ id, peer, initiator }) {
|
||||||
connection.on("data", data => {
|
if (!initiator) {
|
||||||
if (data.id === "map") {
|
if (mapSource) {
|
||||||
const blob = new Blob([data.data.file]);
|
peer.send({ id: "map", data: mapDataRef.current });
|
||||||
mapDataRef.current = { ...data.data, file: blob };
|
|
||||||
setMapSource(URL.createObjectURL(mapDataRef.current.file));
|
|
||||||
}
|
}
|
||||||
if (data.id === "tokenEdit") {
|
peer.send({ id: "tokenEdit", data: mapTokens });
|
||||||
setMapTokens(prevMapTokens => ({
|
}
|
||||||
...prevMapTokens,
|
peer.send({ id: "nickname", data: { [id]: nickname } });
|
||||||
...data.data
|
|
||||||
}));
|
|
||||||
}
|
|
||||||
if (data.id === "tokenRemove") {
|
|
||||||
setMapTokens(prevMapTokens =>
|
|
||||||
omit(prevMapTokens, Object.keys(data.data))
|
|
||||||
);
|
|
||||||
}
|
|
||||||
if (data.id === "nickname") {
|
|
||||||
setNicknames(prevNicknames => ({
|
|
||||||
...prevNicknames,
|
|
||||||
...data.data
|
|
||||||
}));
|
|
||||||
}
|
|
||||||
});
|
|
||||||
connection.on("error", error => {
|
|
||||||
console.error("Data Connection error", error);
|
|
||||||
setNicknames(prevNicknames => omit(prevNicknames, [connection.peer]));
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function handleConnectionSync(connection) {
|
function handlePeerData({ id, peer, data }) {
|
||||||
if (mapSource) {
|
if (data.id === "map") {
|
||||||
connection.send({ id: "map", data: mapDataRef.current });
|
const blob = new Blob([data.data.file]);
|
||||||
|
mapDataRef.current = { ...data.data, file: blob };
|
||||||
|
setMapSource(URL.createObjectURL(mapDataRef.current.file));
|
||||||
}
|
}
|
||||||
connection.send({ id: "tokenEdit", data: mapTokens });
|
if (data.id === "tokenEdit") {
|
||||||
connection.send({ id: "nickname", data: nicknames });
|
setMapTokens((prevMapTokens) => ({
|
||||||
|
...prevMapTokens,
|
||||||
|
...data.data,
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
if (data.id === "tokenRemove") {
|
||||||
|
setMapTokens((prevMapTokens) =>
|
||||||
|
omit(prevMapTokens, Object.keys(data.data))
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (data.id === "nickname") {
|
||||||
|
setPartyNicknames((prevNicknames) => ({
|
||||||
|
...prevNicknames,
|
||||||
|
...data.data,
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function handlePeerDisconnected(disconnectedId) {
|
||||||
|
setPartyNicknames((prevNicknames) => omit(prevNicknames, [disconnectedId]));
|
||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
@ -137,8 +112,9 @@ function Game() {
|
|||||||
sx={{ justifyContent: "space-between", flexGrow: 1, height: "100%" }}
|
sx={{ justifyContent: "space-between", flexGrow: 1, height: "100%" }}
|
||||||
>
|
>
|
||||||
<Party
|
<Party
|
||||||
nicknames={nicknames}
|
nickname={nickname}
|
||||||
peerId={peerId}
|
partyNicknames={partyNicknames}
|
||||||
|
gameId={gameId}
|
||||||
onNicknameChange={handleNicknameChange}
|
onNicknameChange={handleNicknameChange}
|
||||||
/>
|
/>
|
||||||
<Map
|
<Map
|
||||||
|
@ -1,17 +1,13 @@
|
|||||||
import React, { useContext } from "react";
|
import React from "react";
|
||||||
import { navigate } from "hookrouter";
|
import { navigate } from "hookrouter";
|
||||||
import { Container, Flex, Button, Image, Text } from "theme-ui";
|
import { Container, Flex, Button, Image, Text } from "theme-ui";
|
||||||
|
import shortid from "shortid";
|
||||||
import GameContext from "../contexts/GameContext";
|
|
||||||
|
|
||||||
import owlington from "../images/Owlington.png";
|
import owlington from "../images/Owlington.png";
|
||||||
|
|
||||||
function Home() {
|
function Home() {
|
||||||
const { setGameId } = useContext(GameContext);
|
|
||||||
|
|
||||||
function handleStartGame() {
|
function handleStartGame() {
|
||||||
setGameId(null);
|
navigate(`/game/${shortid.generate()}`);
|
||||||
navigate("/game");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function handleJoinGame() {
|
function handleJoinGame() {
|
||||||
@ -24,7 +20,7 @@ function Home() {
|
|||||||
sx={{
|
sx={{
|
||||||
flexDirection: "column",
|
flexDirection: "column",
|
||||||
height: "100%",
|
height: "100%",
|
||||||
justifyContent: "center"
|
justifyContent: "center",
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<Text variant="display" sx={{ textAlign: "center" }}>
|
<Text variant="display" sx={{ textAlign: "center" }}>
|
||||||
|
@ -1,11 +1,9 @@
|
|||||||
import React, { useContext } from "react";
|
import React, { useState } from "react";
|
||||||
import { navigate } from "hookrouter";
|
import { navigate } from "hookrouter";
|
||||||
import { Container, Box, Label, Input, Button, Flex } from "theme-ui";
|
import { Container, Box, Label, Input, Button, Flex } from "theme-ui";
|
||||||
|
|
||||||
import GameContext from "../contexts/GameContext";
|
|
||||||
|
|
||||||
function Join() {
|
function Join() {
|
||||||
const { gameId, setGameId } = useContext(GameContext);
|
const [gameId, setGameId] = useState("");
|
||||||
|
|
||||||
function handleChange(event) {
|
function handleChange(event) {
|
||||||
setGameId(event.target.value);
|
setGameId(event.target.value);
|
||||||
@ -13,7 +11,7 @@ function Join() {
|
|||||||
|
|
||||||
function handleSubmit(event) {
|
function handleSubmit(event) {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
navigate("/game");
|
navigate(`/game/${gameId}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
@ -22,7 +20,7 @@ function Join() {
|
|||||||
sx={{
|
sx={{
|
||||||
flexDirection: "column",
|
flexDirection: "column",
|
||||||
height: "100%",
|
height: "100%",
|
||||||
justifyContent: "center"
|
justifyContent: "center",
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<Box as="form" onSubmit={handleSubmit}>
|
<Box as="form" onSubmit={handleSubmit}>
|
||||||
|
435
yarn.lock
435
yarn.lock
@ -1792,11 +1792,6 @@
|
|||||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-13.7.1.tgz#238eb34a66431b71d2aaddeaa7db166f25971a0d"
|
resolved "https://registry.yarnpkg.com/@types/node/-/node-13.7.1.tgz#238eb34a66431b71d2aaddeaa7db166f25971a0d"
|
||||||
integrity sha512-Zq8gcQGmn4txQEJeiXo/KiLpon8TzAl0kmKH4zdWctPj05nWwp1ClMdAVEloqrQKfaC48PNLdgN/aVaLqUrluA==
|
integrity sha512-Zq8gcQGmn4txQEJeiXo/KiLpon8TzAl0kmKH4zdWctPj05nWwp1ClMdAVEloqrQKfaC48PNLdgN/aVaLqUrluA==
|
||||||
|
|
||||||
"@types/node@^10.14.17":
|
|
||||||
version "10.17.17"
|
|
||||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.17.tgz#7a183163a9e6ff720d86502db23ba4aade5999b8"
|
|
||||||
integrity sha512-gpNnRnZP3VWzzj5k3qrpRC6Rk3H/uclhAVo1aIvwzK5p5cOrs9yEyQ8H/HBsBY0u5rrWxXEiVPQ0dEB6pkjE8Q==
|
|
||||||
|
|
||||||
"@types/parse-json@^4.0.0":
|
"@types/parse-json@^4.0.0":
|
||||||
version "4.0.0"
|
version "4.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0"
|
resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0"
|
||||||
@ -1848,11 +1843,6 @@
|
|||||||
"@types/testing-library__dom" "*"
|
"@types/testing-library__dom" "*"
|
||||||
pretty-format "^25.1.0"
|
pretty-format "^25.1.0"
|
||||||
|
|
||||||
"@types/webrtc@^0.0.25":
|
|
||||||
version "0.0.25"
|
|
||||||
resolved "https://registry.yarnpkg.com/@types/webrtc/-/webrtc-0.0.25.tgz#bd2b4e7b4c13250b3d58439623f2b9adfd7dee9e"
|
|
||||||
integrity sha512-ep/e+p2uUKV1h96GBgRhwomrBch/bPDHPOKbCHODLGRUDuuKe2s7sErlFVKw+5BYUzvpxSmUNqoadaZ44MePoQ==
|
|
||||||
|
|
||||||
"@types/yargs-parser@*":
|
"@types/yargs-parser@*":
|
||||||
version "15.0.0"
|
version "15.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-15.0.0.tgz#cb3f9f741869e20cce330ffbeb9271590483882d"
|
resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-15.0.0.tgz#cb3f9f741869e20cce330ffbeb9271590483882d"
|
||||||
@ -2133,6 +2123,11 @@ adjust-sourcemap-loader@2.0.0:
|
|||||||
object-path "0.11.4"
|
object-path "0.11.4"
|
||||||
regex-parser "2.2.10"
|
regex-parser "2.2.10"
|
||||||
|
|
||||||
|
after@0.8.2:
|
||||||
|
version "0.8.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/after/-/after-0.8.2.tgz#fedb394f9f0e02aa9768e702bda23b505fae7e1f"
|
||||||
|
integrity sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=
|
||||||
|
|
||||||
aggregate-error@^3.0.0:
|
aggregate-error@^3.0.0:
|
||||||
version "3.0.1"
|
version "3.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.0.1.tgz#db2fe7246e536f40d9b5442a39e117d7dd6a24e0"
|
resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.0.1.tgz#db2fe7246e536f40d9b5442a39e117d7dd6a24e0"
|
||||||
@ -2171,11 +2166,6 @@ ansi-colors@^3.0.0:
|
|||||||
resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf"
|
resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf"
|
||||||
integrity sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==
|
integrity sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==
|
||||||
|
|
||||||
ansi-escapes@^1.1.0:
|
|
||||||
version "1.4.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e"
|
|
||||||
integrity sha1-06ioOzGapneTZisT52HHkRQiMG4=
|
|
||||||
|
|
||||||
ansi-escapes@^3.0.0:
|
ansi-escapes@^3.0.0:
|
||||||
version "3.2.0"
|
version "3.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b"
|
resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b"
|
||||||
@ -2346,6 +2336,11 @@ array.prototype.flat@^1.2.1:
|
|||||||
define-properties "^1.1.3"
|
define-properties "^1.1.3"
|
||||||
es-abstract "^1.17.0-next.1"
|
es-abstract "^1.17.0-next.1"
|
||||||
|
|
||||||
|
arraybuffer.slice@~0.0.7:
|
||||||
|
version "0.0.7"
|
||||||
|
resolved "https://registry.yarnpkg.com/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz#3bbc4275dd584cc1b10809b89d4e8b63a69e7675"
|
||||||
|
integrity sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==
|
||||||
|
|
||||||
arrify@^1.0.1:
|
arrify@^1.0.1:
|
||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
|
resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
|
||||||
@ -2590,15 +2585,6 @@ babel-plugin-transform-react-remove-prop-types@0.4.24:
|
|||||||
resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz#f2edaf9b4c6a5fbe5c1d678bfb531078c1555f3a"
|
resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz#f2edaf9b4c6a5fbe5c1d678bfb531078c1555f3a"
|
||||||
integrity sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==
|
integrity sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==
|
||||||
|
|
||||||
babel-polyfill@6.23.0:
|
|
||||||
version "6.23.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.23.0.tgz#8364ca62df8eafb830499f699177466c3b03499d"
|
|
||||||
integrity sha1-g2TKYt+Or7gwSZ9pkXdGbDsDSZ0=
|
|
||||||
dependencies:
|
|
||||||
babel-runtime "^6.22.0"
|
|
||||||
core-js "^2.4.0"
|
|
||||||
regenerator-runtime "^0.10.0"
|
|
||||||
|
|
||||||
babel-preset-jest@^24.9.0:
|
babel-preset-jest@^24.9.0:
|
||||||
version "24.9.0"
|
version "24.9.0"
|
||||||
resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz#192b521e2217fb1d1f67cf73f70c336650ad3cdc"
|
resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz#192b521e2217fb1d1f67cf73f70c336650ad3cdc"
|
||||||
@ -2626,7 +2612,7 @@ babel-preset-react-app@^9.1.1:
|
|||||||
babel-plugin-macros "2.8.0"
|
babel-plugin-macros "2.8.0"
|
||||||
babel-plugin-transform-react-remove-prop-types "0.4.24"
|
babel-plugin-transform-react-remove-prop-types "0.4.24"
|
||||||
|
|
||||||
babel-runtime@^6.22.0, babel-runtime@^6.26.0:
|
babel-runtime@^6.26.0:
|
||||||
version "6.26.0"
|
version "6.26.0"
|
||||||
resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe"
|
resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe"
|
||||||
integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4=
|
integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4=
|
||||||
@ -2639,11 +2625,21 @@ babylon@^6.18.0:
|
|||||||
resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3"
|
resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3"
|
||||||
integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==
|
integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==
|
||||||
|
|
||||||
|
backo2@1.0.2:
|
||||||
|
version "1.0.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947"
|
||||||
|
integrity sha1-MasayLEpNjRj41s+u2n038+6eUc=
|
||||||
|
|
||||||
balanced-match@^1.0.0:
|
balanced-match@^1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
|
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
|
||||||
integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
|
integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
|
||||||
|
|
||||||
|
base64-arraybuffer@0.1.5:
|
||||||
|
version "0.1.5"
|
||||||
|
resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz#73926771923b5a19747ad666aa5cd4bf9c6e9ce8"
|
||||||
|
integrity sha1-c5JncZI7Whl0etZmqlzUv5xunOg=
|
||||||
|
|
||||||
base64-js@^1.0.2:
|
base64-js@^1.0.2:
|
||||||
version "1.3.1"
|
version "1.3.1"
|
||||||
resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1"
|
resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1"
|
||||||
@ -2674,6 +2670,13 @@ bcrypt-pbkdf@^1.0.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
tweetnacl "^0.14.3"
|
tweetnacl "^0.14.3"
|
||||||
|
|
||||||
|
better-assert@~1.0.0:
|
||||||
|
version "1.0.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/better-assert/-/better-assert-1.0.2.tgz#40866b9e1b9e0b55b481894311e68faffaebc522"
|
||||||
|
integrity sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=
|
||||||
|
dependencies:
|
||||||
|
callsite "1.0.0"
|
||||||
|
|
||||||
big.js@^5.2.2:
|
big.js@^5.2.2:
|
||||||
version "5.2.2"
|
version "5.2.2"
|
||||||
resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328"
|
resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328"
|
||||||
@ -2696,6 +2699,16 @@ bindings@^1.5.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
file-uri-to-path "1.0.0"
|
file-uri-to-path "1.0.0"
|
||||||
|
|
||||||
|
blob-to-buffer@^1.2.8:
|
||||||
|
version "1.2.8"
|
||||||
|
resolved "https://registry.yarnpkg.com/blob-to-buffer/-/blob-to-buffer-1.2.8.tgz#78eeeb332f1280ed0ca6fb2b60693a8c6d36903a"
|
||||||
|
integrity sha512-re0AIxakF504MgeMtIyJkVcZ8T5aUxtp/QmTMlmjyb3P44E1BEv5x3LATBGApWAJATyXHtkXRD+gWTmeyYLiQA==
|
||||||
|
|
||||||
|
blob@0.0.5:
|
||||||
|
version "0.0.5"
|
||||||
|
resolved "https://registry.yarnpkg.com/blob/-/blob-0.0.5.tgz#d680eeef25f8cd91ad533f5b01eed48e64caf683"
|
||||||
|
integrity sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==
|
||||||
|
|
||||||
bluebird@^3.5.5:
|
bluebird@^3.5.5:
|
||||||
version "3.7.2"
|
version "3.7.2"
|
||||||
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f"
|
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f"
|
||||||
@ -2989,6 +3002,11 @@ caller-path@^2.0.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
caller-callsite "^2.0.0"
|
caller-callsite "^2.0.0"
|
||||||
|
|
||||||
|
callsite@1.0.0:
|
||||||
|
version "1.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/callsite/-/callsite-1.0.0.tgz#280398e5d664bd74038b6f0905153e6e8af1bc20"
|
||||||
|
integrity sha1-KAOY5dZkvXQDi28JBRU+borxvCA=
|
||||||
|
|
||||||
callsites@^2.0.0:
|
callsites@^2.0.0:
|
||||||
version "2.0.0"
|
version "2.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50"
|
resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50"
|
||||||
@ -3049,7 +3067,16 @@ caseless@~0.12.0:
|
|||||||
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
|
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
|
||||||
integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=
|
integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=
|
||||||
|
|
||||||
chalk@1.1.3, chalk@^1.0.0, chalk@^1.1.3:
|
chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.4.1, chalk@^2.4.2:
|
||||||
|
version "2.4.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
|
||||||
|
integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
|
||||||
|
dependencies:
|
||||||
|
ansi-styles "^3.2.1"
|
||||||
|
escape-string-regexp "^1.0.5"
|
||||||
|
supports-color "^5.3.0"
|
||||||
|
|
||||||
|
chalk@^1.1.3:
|
||||||
version "1.1.3"
|
version "1.1.3"
|
||||||
resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
|
resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
|
||||||
integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=
|
integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=
|
||||||
@ -3060,15 +3087,6 @@ chalk@1.1.3, chalk@^1.0.0, chalk@^1.1.3:
|
|||||||
strip-ansi "^3.0.0"
|
strip-ansi "^3.0.0"
|
||||||
supports-color "^2.0.0"
|
supports-color "^2.0.0"
|
||||||
|
|
||||||
chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.4.1, chalk@^2.4.2:
|
|
||||||
version "2.4.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
|
|
||||||
integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
|
|
||||||
dependencies:
|
|
||||||
ansi-styles "^3.2.1"
|
|
||||||
escape-string-regexp "^1.0.5"
|
|
||||||
supports-color "^5.3.0"
|
|
||||||
|
|
||||||
chalk@^3.0.0:
|
chalk@^3.0.0:
|
||||||
version "3.0.0"
|
version "3.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4"
|
resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4"
|
||||||
@ -3077,11 +3095,6 @@ chalk@^3.0.0:
|
|||||||
ansi-styles "^4.1.0"
|
ansi-styles "^4.1.0"
|
||||||
supports-color "^7.1.0"
|
supports-color "^7.1.0"
|
||||||
|
|
||||||
chardet@^0.4.0:
|
|
||||||
version "0.4.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2"
|
|
||||||
integrity sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=
|
|
||||||
|
|
||||||
chardet@^0.7.0:
|
chardet@^0.7.0:
|
||||||
version "0.7.0"
|
version "0.7.0"
|
||||||
resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e"
|
resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e"
|
||||||
@ -3168,13 +3181,6 @@ clean-stack@^2.0.0:
|
|||||||
resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b"
|
resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b"
|
||||||
integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==
|
integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==
|
||||||
|
|
||||||
cli-cursor@^2.1.0:
|
|
||||||
version "2.1.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5"
|
|
||||||
integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=
|
|
||||||
dependencies:
|
|
||||||
restore-cursor "^2.0.0"
|
|
||||||
|
|
||||||
cli-cursor@^3.1.0:
|
cli-cursor@^3.1.0:
|
||||||
version "3.1.0"
|
version "3.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307"
|
resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307"
|
||||||
@ -3319,11 +3325,26 @@ commondir@^1.0.1:
|
|||||||
resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
|
resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
|
||||||
integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=
|
integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=
|
||||||
|
|
||||||
|
component-bind@1.0.0:
|
||||||
|
version "1.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/component-bind/-/component-bind-1.0.0.tgz#00c608ab7dcd93897c0009651b1d3a8e1e73bbd1"
|
||||||
|
integrity sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=
|
||||||
|
|
||||||
|
component-emitter@1.2.1:
|
||||||
|
version "1.2.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6"
|
||||||
|
integrity sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=
|
||||||
|
|
||||||
component-emitter@^1.2.1:
|
component-emitter@^1.2.1:
|
||||||
version "1.3.0"
|
version "1.3.0"
|
||||||
resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0"
|
resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0"
|
||||||
integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==
|
integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==
|
||||||
|
|
||||||
|
component-inherit@0.0.3:
|
||||||
|
version "0.0.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/component-inherit/-/component-inherit-0.0.3.tgz#645fc4adf58b72b649d5cae65135619db26ff143"
|
||||||
|
integrity sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=
|
||||||
|
|
||||||
compose-function@3.0.3:
|
compose-function@3.0.3:
|
||||||
version "3.0.3"
|
version "3.0.3"
|
||||||
resolved "https://registry.yarnpkg.com/compose-function/-/compose-function-3.0.3.tgz#9ed675f13cc54501d30950a486ff6a7ba3ab185f"
|
resolved "https://registry.yarnpkg.com/compose-function/-/compose-function-3.0.3.tgz#9ed675f13cc54501d30950a486ff6a7ba3ab185f"
|
||||||
@ -3830,13 +3851,20 @@ debug@^3.0.0, debug@^3.1.1, debug@^3.2.5:
|
|||||||
dependencies:
|
dependencies:
|
||||||
ms "^2.1.1"
|
ms "^2.1.1"
|
||||||
|
|
||||||
debug@^4.0.1, debug@^4.1.0, debug@^4.1.1:
|
debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@~4.1.0:
|
||||||
version "4.1.1"
|
version "4.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791"
|
resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791"
|
||||||
integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==
|
integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==
|
||||||
dependencies:
|
dependencies:
|
||||||
ms "^2.1.1"
|
ms "^2.1.1"
|
||||||
|
|
||||||
|
debug@~3.1.0:
|
||||||
|
version "3.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
|
||||||
|
integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==
|
||||||
|
dependencies:
|
||||||
|
ms "2.0.0"
|
||||||
|
|
||||||
decamelize@^1.2.0:
|
decamelize@^1.2.0:
|
||||||
version "1.2.0"
|
version "1.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
|
resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
|
||||||
@ -4177,13 +4205,6 @@ encodeurl@~1.0.2:
|
|||||||
resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
|
resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
|
||||||
integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=
|
integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=
|
||||||
|
|
||||||
encoding@^0.1.11:
|
|
||||||
version "0.1.12"
|
|
||||||
resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb"
|
|
||||||
integrity sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=
|
|
||||||
dependencies:
|
|
||||||
iconv-lite "~0.4.13"
|
|
||||||
|
|
||||||
end-of-stream@^1.0.0, end-of-stream@^1.1.0:
|
end-of-stream@^1.0.0, end-of-stream@^1.1.0:
|
||||||
version "1.4.4"
|
version "1.4.4"
|
||||||
resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
|
resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
|
||||||
@ -4191,6 +4212,34 @@ end-of-stream@^1.0.0, end-of-stream@^1.1.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
once "^1.4.0"
|
once "^1.4.0"
|
||||||
|
|
||||||
|
engine.io-client@~3.4.0:
|
||||||
|
version "3.4.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-3.4.0.tgz#82a642b42862a9b3f7a188f41776b2deab643700"
|
||||||
|
integrity sha512-a4J5QO2k99CM2a0b12IznnyQndoEvtA4UAldhGzKqnHf42I3Qs2W5SPnDvatZRcMaNZs4IevVicBPayxYt6FwA==
|
||||||
|
dependencies:
|
||||||
|
component-emitter "1.2.1"
|
||||||
|
component-inherit "0.0.3"
|
||||||
|
debug "~4.1.0"
|
||||||
|
engine.io-parser "~2.2.0"
|
||||||
|
has-cors "1.1.0"
|
||||||
|
indexof "0.0.1"
|
||||||
|
parseqs "0.0.5"
|
||||||
|
parseuri "0.0.5"
|
||||||
|
ws "~6.1.0"
|
||||||
|
xmlhttprequest-ssl "~1.5.4"
|
||||||
|
yeast "0.1.2"
|
||||||
|
|
||||||
|
engine.io-parser@~2.2.0:
|
||||||
|
version "2.2.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-2.2.0.tgz#312c4894f57d52a02b420868da7b5c1c84af80ed"
|
||||||
|
integrity sha512-6I3qD9iUxotsC5HEMuuGsKA0cXerGz+4uGcXQEkfBidgKf0amsjrrtwcbwK/nzpZBxclXlV7gGl9dgWvu4LF6w==
|
||||||
|
dependencies:
|
||||||
|
after "0.8.2"
|
||||||
|
arraybuffer.slice "~0.0.7"
|
||||||
|
base64-arraybuffer "0.1.5"
|
||||||
|
blob "0.0.5"
|
||||||
|
has-binary2 "~1.0.2"
|
||||||
|
|
||||||
enhanced-resolve@^4.1.0:
|
enhanced-resolve@^4.1.0:
|
||||||
version "4.1.1"
|
version "4.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz#2937e2b8066cd0fe7ce0990a98f0d71a35189f66"
|
resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz#2937e2b8066cd0fe7ce0990a98f0d71a35189f66"
|
||||||
@ -4511,11 +4560,6 @@ etag@~1.8.1:
|
|||||||
resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
|
resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
|
||||||
integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=
|
integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=
|
||||||
|
|
||||||
eventemitter3@^3.1.2:
|
|
||||||
version "3.1.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.2.tgz#2d3d48f9c346698fce83a85d7d664e98535df6e7"
|
|
||||||
integrity sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==
|
|
||||||
|
|
||||||
eventemitter3@^4.0.0:
|
eventemitter3@^4.0.0:
|
||||||
version "4.0.0"
|
version "4.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.0.tgz#d65176163887ee59f386d64c82610b696a4a74eb"
|
resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.0.tgz#d65176163887ee59f386d64c82610b696a4a74eb"
|
||||||
@ -4657,15 +4701,6 @@ extend@~3.0.2:
|
|||||||
resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
|
resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
|
||||||
integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
|
integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
|
||||||
|
|
||||||
external-editor@^2.0.1:
|
|
||||||
version "2.2.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.2.0.tgz#045511cfd8d133f3846673d1047c154e214ad3d5"
|
|
||||||
integrity sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==
|
|
||||||
dependencies:
|
|
||||||
chardet "^0.4.0"
|
|
||||||
iconv-lite "^0.4.17"
|
|
||||||
tmp "^0.0.33"
|
|
||||||
|
|
||||||
external-editor@^3.0.3:
|
external-editor@^3.0.3:
|
||||||
version "3.1.0"
|
version "3.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495"
|
resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495"
|
||||||
@ -4752,13 +4787,6 @@ figgy-pudding@^3.5.1:
|
|||||||
resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.1.tgz#862470112901c727a0e495a80744bd5baa1d6790"
|
resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.1.tgz#862470112901c727a0e495a80744bd5baa1d6790"
|
||||||
integrity sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==
|
integrity sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==
|
||||||
|
|
||||||
figures@^2.0.0:
|
|
||||||
version "2.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962"
|
|
||||||
integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=
|
|
||||||
dependencies:
|
|
||||||
escape-string-regexp "^1.0.5"
|
|
||||||
|
|
||||||
figures@^3.0.0:
|
figures@^3.0.0:
|
||||||
version "3.1.0"
|
version "3.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/figures/-/figures-3.1.0.tgz#4b198dd07d8d71530642864af2d45dd9e459c4ec"
|
resolved "https://registry.yarnpkg.com/figures/-/figures-3.1.0.tgz#4b198dd07d8d71530642864af2d45dd9e459c4ec"
|
||||||
@ -5086,6 +5114,11 @@ gensync@^1.0.0-beta.1:
|
|||||||
resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269"
|
resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269"
|
||||||
integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==
|
integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==
|
||||||
|
|
||||||
|
get-browser-rtc@^1.0.0:
|
||||||
|
version "1.0.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/get-browser-rtc/-/get-browser-rtc-1.0.2.tgz#bbcd40c8451a7ed4ef5c373b8169a409dd1d11d9"
|
||||||
|
integrity sha1-u81AyEUaftTvXDc7gWmkCd0dEdk=
|
||||||
|
|
||||||
get-caller-file@^1.0.1:
|
get-caller-file@^1.0.1:
|
||||||
version "1.0.3"
|
version "1.0.3"
|
||||||
resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a"
|
resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a"
|
||||||
@ -5264,6 +5297,18 @@ has-ansi@^2.0.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
ansi-regex "^2.0.0"
|
ansi-regex "^2.0.0"
|
||||||
|
|
||||||
|
has-binary2@~1.0.2:
|
||||||
|
version "1.0.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/has-binary2/-/has-binary2-1.0.3.tgz#7776ac627f3ea77250cfc332dab7ddf5e4f5d11d"
|
||||||
|
integrity sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==
|
||||||
|
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"
|
||||||
|
integrity sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=
|
||||||
|
|
||||||
has-flag@^3.0.0:
|
has-flag@^3.0.0:
|
||||||
version "3.0.0"
|
version "3.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
|
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
|
||||||
@ -5524,7 +5569,7 @@ humanize-url@^1.0.0:
|
|||||||
normalize-url "^1.0.0"
|
normalize-url "^1.0.0"
|
||||||
strip-url-auth "^1.0.0"
|
strip-url-auth "^1.0.0"
|
||||||
|
|
||||||
iconv-lite@0.4.24, iconv-lite@^0.4.17, iconv-lite@^0.4.24, iconv-lite@~0.4.13:
|
iconv-lite@0.4.24, iconv-lite@^0.4.24:
|
||||||
version "0.4.24"
|
version "0.4.24"
|
||||||
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
|
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
|
||||||
integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
|
integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
|
||||||
@ -5623,6 +5668,11 @@ indexes-of@^1.0.1:
|
|||||||
resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607"
|
resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607"
|
||||||
integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc=
|
integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc=
|
||||||
|
|
||||||
|
indexof@0.0.1:
|
||||||
|
version "0.0.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d"
|
||||||
|
integrity sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=
|
||||||
|
|
||||||
infer-owner@^1.0.3, infer-owner@^1.0.4:
|
infer-owner@^1.0.3, infer-owner@^1.0.4:
|
||||||
version "1.0.4"
|
version "1.0.4"
|
||||||
resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467"
|
resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467"
|
||||||
@ -5656,25 +5706,6 @@ ini@^1.3.5:
|
|||||||
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
|
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
|
||||||
integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==
|
integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==
|
||||||
|
|
||||||
inquirer@3.0.6:
|
|
||||||
version "3.0.6"
|
|
||||||
resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.0.6.tgz#e04aaa9d05b7a3cb9b0f407d04375f0447190347"
|
|
||||||
integrity sha1-4EqqnQW3o8ubD0B9BDdfBEcZA0c=
|
|
||||||
dependencies:
|
|
||||||
ansi-escapes "^1.1.0"
|
|
||||||
chalk "^1.0.0"
|
|
||||||
cli-cursor "^2.1.0"
|
|
||||||
cli-width "^2.0.0"
|
|
||||||
external-editor "^2.0.1"
|
|
||||||
figures "^2.0.0"
|
|
||||||
lodash "^4.3.0"
|
|
||||||
mute-stream "0.0.7"
|
|
||||||
run-async "^2.2.0"
|
|
||||||
rx "^4.1.0"
|
|
||||||
string-width "^2.0.0"
|
|
||||||
strip-ansi "^3.0.0"
|
|
||||||
through "^2.3.6"
|
|
||||||
|
|
||||||
inquirer@7.0.4, inquirer@^7.0.0:
|
inquirer@7.0.4, inquirer@^7.0.0:
|
||||||
version "7.0.4"
|
version "7.0.4"
|
||||||
resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.0.4.tgz#99af5bde47153abca23f5c7fc30db247f39da703"
|
resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.0.4.tgz#99af5bde47153abca23f5c7fc30db247f39da703"
|
||||||
@ -6004,7 +6035,7 @@ is-root@2.1.0:
|
|||||||
resolved "https://registry.yarnpkg.com/is-root/-/is-root-2.1.0.tgz#809e18129cf1129644302a4f8544035d51984a9c"
|
resolved "https://registry.yarnpkg.com/is-root/-/is-root-2.1.0.tgz#809e18129cf1129644302a4f8544035d51984a9c"
|
||||||
integrity sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==
|
integrity sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==
|
||||||
|
|
||||||
is-stream@^1.0.1, is-stream@^1.1.0:
|
is-stream@^1.1.0:
|
||||||
version "1.1.0"
|
version "1.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
|
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
|
||||||
integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ=
|
integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ=
|
||||||
@ -6053,6 +6084,11 @@ isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0:
|
|||||||
resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
|
resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
|
||||||
integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
|
integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
|
||||||
|
|
||||||
|
isarray@2.0.1:
|
||||||
|
version "2.0.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.1.tgz#a37d94ed9cda2d59865c9f76fe596ee1f338741e"
|
||||||
|
integrity sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=
|
||||||
|
|
||||||
isexe@^2.0.0:
|
isexe@^2.0.0:
|
||||||
version "2.0.0"
|
version "2.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
|
resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
|
||||||
@ -6507,6 +6543,11 @@ jest@24.9.0:
|
|||||||
import-local "^2.0.0"
|
import-local "^2.0.0"
|
||||||
jest-cli "^24.9.0"
|
jest-cli "^24.9.0"
|
||||||
|
|
||||||
|
js-binarypack@^0.0.9:
|
||||||
|
version "0.0.9"
|
||||||
|
resolved "https://registry.yarnpkg.com/js-binarypack/-/js-binarypack-0.0.9.tgz#454243d3de212961cc1514a2f119dec2faf64035"
|
||||||
|
integrity sha1-RUJD094hKWHMFRSi8Rnewvr2QDU=
|
||||||
|
|
||||||
"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
|
"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
|
||||||
version "4.0.0"
|
version "4.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
|
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
|
||||||
@ -6881,7 +6922,7 @@ lodash.uniq@^4.5.0:
|
|||||||
resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
|
resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
|
||||||
integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=
|
integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=
|
||||||
|
|
||||||
"lodash@>=3.5 <5", lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.5, lodash@^4.3.0:
|
"lodash@>=3.5 <5", lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.5:
|
||||||
version "4.17.15"
|
version "4.17.15"
|
||||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
|
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
|
||||||
integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==
|
integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==
|
||||||
@ -7083,11 +7124,6 @@ mime@^2.4.4:
|
|||||||
resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.4.tgz#bd7b91135fc6b01cde3e9bae33d659b63d8857e5"
|
resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.4.tgz#bd7b91135fc6b01cde3e9bae33d659b63d8857e5"
|
||||||
integrity sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==
|
integrity sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==
|
||||||
|
|
||||||
mimic-fn@^1.0.0:
|
|
||||||
version "1.2.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022"
|
|
||||||
integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==
|
|
||||||
|
|
||||||
mimic-fn@^2.0.0, mimic-fn@^2.1.0:
|
mimic-fn@^2.0.0, mimic-fn@^2.1.0:
|
||||||
version "2.1.0"
|
version "2.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
|
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
|
||||||
@ -7130,7 +7166,7 @@ minimist@0.0.8:
|
|||||||
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
|
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
|
||||||
integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=
|
integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=
|
||||||
|
|
||||||
minimist@1.2.0, minimist@^1.1.1, minimist@^1.2.0:
|
minimist@^1.1.1, minimist@^1.2.0:
|
||||||
version "1.2.0"
|
version "1.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
|
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
|
||||||
integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=
|
integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=
|
||||||
@ -7242,11 +7278,6 @@ multicast-dns@^6.0.1:
|
|||||||
dns-packet "^1.3.1"
|
dns-packet "^1.3.1"
|
||||||
thunky "^1.0.2"
|
thunky "^1.0.2"
|
||||||
|
|
||||||
mute-stream@0.0.7:
|
|
||||||
version "0.0.7"
|
|
||||||
resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab"
|
|
||||||
integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=
|
|
||||||
|
|
||||||
mute-stream@0.0.8:
|
mute-stream@0.0.8:
|
||||||
version "0.0.8"
|
version "0.0.8"
|
||||||
resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d"
|
resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d"
|
||||||
@ -7311,14 +7342,6 @@ no-case@^2.2.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
lower-case "^1.1.1"
|
lower-case "^1.1.1"
|
||||||
|
|
||||||
node-fetch@1.6.3:
|
|
||||||
version "1.6.3"
|
|
||||||
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.6.3.tgz#dc234edd6489982d58e8f0db4f695029abcd8c04"
|
|
||||||
integrity sha1-3CNO3WSJmC1Y6PDbT2lQKavNjAQ=
|
|
||||||
dependencies:
|
|
||||||
encoding "^0.1.11"
|
|
||||||
is-stream "^1.0.1"
|
|
||||||
|
|
||||||
node-forge@0.9.0:
|
node-forge@0.9.0:
|
||||||
version "0.9.0"
|
version "0.9.0"
|
||||||
resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.9.0.tgz#d624050edbb44874adca12bb9a52ec63cb782579"
|
resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.9.0.tgz#d624050edbb44874adca12bb9a52ec63cb782579"
|
||||||
@ -7462,6 +7485,11 @@ object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1:
|
|||||||
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
|
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
|
||||||
integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
|
integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
|
||||||
|
|
||||||
|
object-component@0.0.3:
|
||||||
|
version "0.0.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/object-component/-/object-component-0.0.3.tgz#f0c69aa50efc95b866c186f400a33769cb2f1291"
|
||||||
|
integrity sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=
|
||||||
|
|
||||||
object-copy@^0.1.0:
|
object-copy@^0.1.0:
|
||||||
version "0.1.0"
|
version "0.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c"
|
resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c"
|
||||||
@ -7582,13 +7610,6 @@ once@^1.3.0, once@^1.3.1, once@^1.4.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
wrappy "1"
|
wrappy "1"
|
||||||
|
|
||||||
onetime@^2.0.0:
|
|
||||||
version "2.0.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4"
|
|
||||||
integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=
|
|
||||||
dependencies:
|
|
||||||
mimic-fn "^1.0.0"
|
|
||||||
|
|
||||||
onetime@^5.1.0:
|
onetime@^5.1.0:
|
||||||
version "5.1.0"
|
version "5.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5"
|
resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5"
|
||||||
@ -7604,31 +7625,6 @@ open@^7.0.2:
|
|||||||
is-docker "^2.0.0"
|
is-docker "^2.0.0"
|
||||||
is-wsl "^2.1.1"
|
is-wsl "^2.1.1"
|
||||||
|
|
||||||
opencollective-postinstall@^2.0.0:
|
|
||||||
version "2.0.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.2.tgz#5657f1bede69b6e33a45939b061eb53d3c6c3a89"
|
|
||||||
integrity sha512-pVOEP16TrAO2/fjej1IdOyupJY8KDUM1CvsaScRbw6oddvpQoOfGk4ywha0HKKVAD6RkW4x6Q+tNBwhf3Bgpuw==
|
|
||||||
|
|
||||||
opencollective@^1.0.3:
|
|
||||||
version "1.0.3"
|
|
||||||
resolved "https://registry.yarnpkg.com/opencollective/-/opencollective-1.0.3.tgz#aee6372bc28144583690c3ca8daecfc120dd0ef1"
|
|
||||||
integrity sha1-ruY3K8KBRFg2kMPKja7PwSDdDvE=
|
|
||||||
dependencies:
|
|
||||||
babel-polyfill "6.23.0"
|
|
||||||
chalk "1.1.3"
|
|
||||||
inquirer "3.0.6"
|
|
||||||
minimist "1.2.0"
|
|
||||||
node-fetch "1.6.3"
|
|
||||||
opn "4.0.2"
|
|
||||||
|
|
||||||
opn@4.0.2:
|
|
||||||
version "4.0.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/opn/-/opn-4.0.2.tgz#7abc22e644dff63b0a96d5ab7f2790c0f01abc95"
|
|
||||||
integrity sha1-erwi5kTf9jsKltWrfyeQwPAavJU=
|
|
||||||
dependencies:
|
|
||||||
object-assign "^4.0.1"
|
|
||||||
pinkie-promise "^2.0.0"
|
|
||||||
|
|
||||||
opn@^5.5.0:
|
opn@^5.5.0:
|
||||||
version "5.5.0"
|
version "5.5.0"
|
||||||
resolved "https://registry.yarnpkg.com/opn/-/opn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc"
|
resolved "https://registry.yarnpkg.com/opn/-/opn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc"
|
||||||
@ -7848,6 +7844,20 @@ parse5@5.1.0:
|
|||||||
resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.0.tgz#c59341c9723f414c452975564c7c00a68d58acd2"
|
resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.0.tgz#c59341c9723f414c452975564c7c00a68d58acd2"
|
||||||
integrity sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==
|
integrity sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==
|
||||||
|
|
||||||
|
parseqs@0.0.5:
|
||||||
|
version "0.0.5"
|
||||||
|
resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.5.tgz#d5208a3738e46766e291ba2ea173684921a8b89d"
|
||||||
|
integrity sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=
|
||||||
|
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"
|
||||||
|
integrity sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=
|
||||||
|
dependencies:
|
||||||
|
better-assert "~1.0.0"
|
||||||
|
|
||||||
parseurl@~1.3.2, parseurl@~1.3.3:
|
parseurl@~1.3.2, parseurl@~1.3.3:
|
||||||
version "1.3.3"
|
version "1.3.3"
|
||||||
resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"
|
resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"
|
||||||
@ -7945,24 +7955,6 @@ pbkdf2@^3.0.3:
|
|||||||
safe-buffer "^5.0.1"
|
safe-buffer "^5.0.1"
|
||||||
sha.js "^2.4.8"
|
sha.js "^2.4.8"
|
||||||
|
|
||||||
peerjs-js-binarypack@1.0.1:
|
|
||||||
version "1.0.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/peerjs-js-binarypack/-/peerjs-js-binarypack-1.0.1.tgz#80fa2b61c794a6b16d64253700405e476ada29be"
|
|
||||||
integrity sha512-N6aeia3NhdpV7kiGxJV5xQiZZCVEEVjRz2T2C6UZQiBkHWHzUv/oWA4myQLcwBwO8LUoR1KWW5oStvwVesmfCg==
|
|
||||||
|
|
||||||
peerjs@^1.2.0:
|
|
||||||
version "1.2.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/peerjs/-/peerjs-1.2.0.tgz#63a0ac54b3b79bba8502e31ecb5bcb4688e1bdd6"
|
|
||||||
integrity sha512-+ZWByKOYDDzpLefueY2drUFC5U2UVv947NswaYQb6o4twKiRcoDLdcgwfIQHjhcBWwvVUhYyhGIdSJy29+4a9Q==
|
|
||||||
dependencies:
|
|
||||||
"@types/node" "^10.14.17"
|
|
||||||
"@types/webrtc" "^0.0.25"
|
|
||||||
eventemitter3 "^3.1.2"
|
|
||||||
opencollective "^1.0.3"
|
|
||||||
opencollective-postinstall "^2.0.0"
|
|
||||||
peerjs-js-binarypack "1.0.1"
|
|
||||||
webrtc-adapter "^7.3.0"
|
|
||||||
|
|
||||||
performance-now@^2.1.0:
|
performance-now@^2.1.0:
|
||||||
version "2.1.0"
|
version "2.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
|
resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
|
||||||
@ -8930,6 +8922,11 @@ querystringify@^2.1.1:
|
|||||||
resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.1.1.tgz#60e5a5fd64a7f8bfa4d2ab2ed6fdf4c85bad154e"
|
resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.1.1.tgz#60e5a5fd64a7f8bfa4d2ab2ed6fdf4c85bad154e"
|
||||||
integrity sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==
|
integrity sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==
|
||||||
|
|
||||||
|
queue-microtask@^1.1.0:
|
||||||
|
version "1.1.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.1.2.tgz#139bf8186db0c545017ec66c2664ac646d5c571e"
|
||||||
|
integrity sha512-F9wwNePtXrzZenAB3ax0Y8TSKGvuB7Qw16J30hspEUTbfUM+H827XyN3rlpwhVmtm5wuZtbKIHjOnwDn7MUxWQ==
|
||||||
|
|
||||||
raf@^3.4.1:
|
raf@^3.4.1:
|
||||||
version "3.4.1"
|
version "3.4.1"
|
||||||
resolved "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39"
|
resolved "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39"
|
||||||
@ -8937,7 +8934,7 @@ raf@^3.4.1:
|
|||||||
dependencies:
|
dependencies:
|
||||||
performance-now "^2.1.0"
|
performance-now "^2.1.0"
|
||||||
|
|
||||||
randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5:
|
randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.3, randombytes@^2.0.5:
|
||||||
version "2.1.0"
|
version "2.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
|
resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
|
||||||
integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==
|
integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==
|
||||||
@ -9165,7 +9162,7 @@ read-pkg@^3.0.0:
|
|||||||
string_decoder "~1.1.1"
|
string_decoder "~1.1.1"
|
||||||
util-deprecate "~1.0.1"
|
util-deprecate "~1.0.1"
|
||||||
|
|
||||||
readable-stream@^3.0.6, readable-stream@^3.1.1:
|
readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0:
|
||||||
version "3.6.0"
|
version "3.6.0"
|
||||||
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198"
|
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198"
|
||||||
integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==
|
integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==
|
||||||
@ -9224,11 +9221,6 @@ regenerate@^1.4.0:
|
|||||||
resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11"
|
resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11"
|
||||||
integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==
|
integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==
|
||||||
|
|
||||||
regenerator-runtime@^0.10.0:
|
|
||||||
version "0.10.5"
|
|
||||||
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658"
|
|
||||||
integrity sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=
|
|
||||||
|
|
||||||
regenerator-runtime@^0.11.0:
|
regenerator-runtime@^0.11.0:
|
||||||
version "0.11.1"
|
version "0.11.1"
|
||||||
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9"
|
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9"
|
||||||
@ -9456,14 +9448,6 @@ resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.14.2, resolve@^1.3
|
|||||||
dependencies:
|
dependencies:
|
||||||
path-parse "^1.0.6"
|
path-parse "^1.0.6"
|
||||||
|
|
||||||
restore-cursor@^2.0.0:
|
|
||||||
version "2.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf"
|
|
||||||
integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368=
|
|
||||||
dependencies:
|
|
||||||
onetime "^2.0.0"
|
|
||||||
signal-exit "^3.0.2"
|
|
||||||
|
|
||||||
restore-cursor@^3.1.0:
|
restore-cursor@^3.1.0:
|
||||||
version "3.1.0"
|
version "3.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e"
|
resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e"
|
||||||
@ -9532,13 +9516,6 @@ rsvp@^4.8.4:
|
|||||||
resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734"
|
resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734"
|
||||||
integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==
|
integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==
|
||||||
|
|
||||||
rtcpeerconnection-shim@^1.2.15:
|
|
||||||
version "1.2.15"
|
|
||||||
resolved "https://registry.yarnpkg.com/rtcpeerconnection-shim/-/rtcpeerconnection-shim-1.2.15.tgz#e7cc189a81b435324c4949aa3dfb51888684b243"
|
|
||||||
integrity sha512-C6DxhXt7bssQ1nHb154lqeL0SXz5Dx4RczXZu2Aa/L1NJFnEVDxFwCBo3fqtuljhHIGceg5JKBV4XJ0gW5JKyw==
|
|
||||||
dependencies:
|
|
||||||
sdp "^2.6.0"
|
|
||||||
|
|
||||||
run-async@^2.2.0:
|
run-async@^2.2.0:
|
||||||
version "2.3.0"
|
version "2.3.0"
|
||||||
resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0"
|
resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0"
|
||||||
@ -9553,11 +9530,6 @@ run-queue@^1.0.0, run-queue@^1.0.3:
|
|||||||
dependencies:
|
dependencies:
|
||||||
aproba "^1.1.1"
|
aproba "^1.1.1"
|
||||||
|
|
||||||
rx@^4.1.0:
|
|
||||||
version "4.1.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782"
|
|
||||||
integrity sha1-pfE/957zt0D+MKqAP7CfmIBdR4I=
|
|
||||||
|
|
||||||
rxjs@^6.5.3:
|
rxjs@^6.5.3:
|
||||||
version "6.5.4"
|
version "6.5.4"
|
||||||
resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.4.tgz#e0777fe0d184cec7872df147f303572d414e211c"
|
resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.4.tgz#e0777fe0d184cec7872df147f303572d414e211c"
|
||||||
@ -9655,11 +9627,6 @@ schema-utils@^2.5.0, schema-utils@^2.6.0, schema-utils@^2.6.1, schema-utils@^2.6
|
|||||||
ajv "^6.10.2"
|
ajv "^6.10.2"
|
||||||
ajv-keywords "^3.4.1"
|
ajv-keywords "^3.4.1"
|
||||||
|
|
||||||
sdp@^2.12.0, sdp@^2.6.0:
|
|
||||||
version "2.12.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/sdp/-/sdp-2.12.0.tgz#338a106af7560c86e4523f858349680350d53b22"
|
|
||||||
integrity sha512-jhXqQAQVM+8Xj5EjJGVweuEzgtGWb3tmEEpl3CLP3cStInSbVHSg0QWOGQzNq8pSID4JkpeV2mPqlMDLrm0/Vw==
|
|
||||||
|
|
||||||
select-hose@^2.0.0:
|
select-hose@^2.0.0:
|
||||||
version "2.0.0"
|
version "2.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca"
|
resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca"
|
||||||
@ -9835,6 +9802,17 @@ signal-exit@^3.0.0, signal-exit@^3.0.2:
|
|||||||
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
|
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
|
||||||
integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=
|
integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=
|
||||||
|
|
||||||
|
simple-peer@^9.6.2:
|
||||||
|
version "9.6.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/simple-peer/-/simple-peer-9.6.2.tgz#42418e77cf8f9184e4fa22ef1017b195c2bf84d7"
|
||||||
|
integrity sha512-EOKoImCaqtNvXIntxT1CBBK/3pVi7tMAoJ3shdyd9qk3zLm3QPiRLb/sPC1G2xvKJkJc5fkQjCXqRZ0AknwTig==
|
||||||
|
dependencies:
|
||||||
|
debug "^4.0.1"
|
||||||
|
get-browser-rtc "^1.0.0"
|
||||||
|
queue-microtask "^1.1.0"
|
||||||
|
randombytes "^2.0.3"
|
||||||
|
readable-stream "^3.4.0"
|
||||||
|
|
||||||
simple-swizzle@^0.2.2:
|
simple-swizzle@^0.2.2:
|
||||||
version "0.2.2"
|
version "0.2.2"
|
||||||
resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a"
|
resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a"
|
||||||
@ -9901,6 +9879,35 @@ snapdragon@^0.8.1:
|
|||||||
source-map-resolve "^0.5.0"
|
source-map-resolve "^0.5.0"
|
||||||
use "^3.1.0"
|
use "^3.1.0"
|
||||||
|
|
||||||
|
socket.io-client@^2.3.0:
|
||||||
|
version "2.3.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-2.3.0.tgz#14d5ba2e00b9bcd145ae443ab96b3f86cbcc1bb4"
|
||||||
|
integrity sha512-cEQQf24gET3rfhxZ2jJ5xzAOo/xhZwK+mOqtGRg5IowZsMgwvHwnf/mCRapAAkadhM26y+iydgwsXGObBB5ZdA==
|
||||||
|
dependencies:
|
||||||
|
backo2 "1.0.2"
|
||||||
|
base64-arraybuffer "0.1.5"
|
||||||
|
component-bind "1.0.0"
|
||||||
|
component-emitter "1.2.1"
|
||||||
|
debug "~4.1.0"
|
||||||
|
engine.io-client "~3.4.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.3.0"
|
||||||
|
to-array "0.1.4"
|
||||||
|
|
||||||
|
socket.io-parser@~3.3.0:
|
||||||
|
version "3.3.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-3.3.0.tgz#2b52a96a509fdf31440ba40fed6094c7d4f1262f"
|
||||||
|
integrity sha512-hczmV6bDgdaEbVqhAeVMM/jfUfzuEZHsQg6eOmLgJht6G3mPKMxYm75w2+qhAQZ+4X+1+ATZ+QFKeOZD5riHng==
|
||||||
|
dependencies:
|
||||||
|
component-emitter "1.2.1"
|
||||||
|
debug "~3.1.0"
|
||||||
|
isarray "2.0.1"
|
||||||
|
|
||||||
sockjs-client@1.4.0:
|
sockjs-client@1.4.0:
|
||||||
version "1.4.0"
|
version "1.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.4.0.tgz#c9f2568e19c8fd8173b4997ea3420e0bb306c7d5"
|
resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.4.0.tgz#c9f2568e19c8fd8173b4997ea3420e0bb306c7d5"
|
||||||
@ -10502,6 +10509,11 @@ tmpl@1.0.x:
|
|||||||
resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1"
|
resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1"
|
||||||
integrity sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=
|
integrity sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=
|
||||||
|
|
||||||
|
to-array@0.1.4:
|
||||||
|
version "0.1.4"
|
||||||
|
resolved "https://registry.yarnpkg.com/to-array/-/to-array-0.1.4.tgz#17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890"
|
||||||
|
integrity sha1-F+bBH3PdTz10zaek/zI46a2b+JA=
|
||||||
|
|
||||||
to-arraybuffer@^1.0.0:
|
to-arraybuffer@^1.0.0:
|
||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43"
|
resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43"
|
||||||
@ -11022,14 +11034,6 @@ webpack@4.41.5:
|
|||||||
watchpack "^1.6.0"
|
watchpack "^1.6.0"
|
||||||
webpack-sources "^1.4.1"
|
webpack-sources "^1.4.1"
|
||||||
|
|
||||||
webrtc-adapter@^7.3.0:
|
|
||||||
version "7.5.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/webrtc-adapter/-/webrtc-adapter-7.5.0.tgz#b870f6ff5e87191276e66f9521ac457c81801954"
|
|
||||||
integrity sha512-cUqlw310uLLSYvO8FTNCVmGWSMlMt6vuSDkcYL1nW+RUvAILJ3jEIvAUgFQU5EFGnU+mf9/No14BFv3U+hoxBQ==
|
|
||||||
dependencies:
|
|
||||||
rtcpeerconnection-shim "^1.2.15"
|
|
||||||
sdp "^2.12.0"
|
|
||||||
|
|
||||||
websocket-driver@>=0.5.1:
|
websocket-driver@>=0.5.1:
|
||||||
version "0.7.3"
|
version "0.7.3"
|
||||||
resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.3.tgz#a2d4e0d4f4f116f1e6297eba58b05d430100e9f9"
|
resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.3.tgz#a2d4e0d4f4f116f1e6297eba58b05d430100e9f9"
|
||||||
@ -11304,6 +11308,13 @@ ws@^6.1.2, ws@^6.2.1:
|
|||||||
dependencies:
|
dependencies:
|
||||||
async-limiter "~1.0.0"
|
async-limiter "~1.0.0"
|
||||||
|
|
||||||
|
ws@~6.1.0:
|
||||||
|
version "6.1.4"
|
||||||
|
resolved "https://registry.yarnpkg.com/ws/-/ws-6.1.4.tgz#5b5c8800afab925e94ccb29d153c8d02c1776ef9"
|
||||||
|
integrity sha512-eqZfL+NE/YQc1/ZynhojeV8q+H050oR8AZ2uIev7RU10svA9ZnJUddHcOUZTJLinZ9yEfdA2kSATS2qZK5fhJA==
|
||||||
|
dependencies:
|
||||||
|
async-limiter "~1.0.0"
|
||||||
|
|
||||||
xml-name-validator@^3.0.0:
|
xml-name-validator@^3.0.0:
|
||||||
version "3.0.0"
|
version "3.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a"
|
resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a"
|
||||||
@ -11314,6 +11325,11 @@ xmlchars@^2.1.1:
|
|||||||
resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb"
|
resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb"
|
||||||
integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==
|
integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==
|
||||||
|
|
||||||
|
xmlhttprequest-ssl@~1.5.4:
|
||||||
|
version "1.5.5"
|
||||||
|
resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz#c2876b06168aadc40e57d97e81191ac8f4398b3e"
|
||||||
|
integrity sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=
|
||||||
|
|
||||||
xtend@^4.0.0, xtend@~4.0.1:
|
xtend@^4.0.0, xtend@~4.0.1:
|
||||||
version "4.0.2"
|
version "4.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
|
resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
|
||||||
@ -11390,3 +11406,8 @@ yargs@^13.3.0:
|
|||||||
which-module "^2.0.0"
|
which-module "^2.0.0"
|
||||||
y18n "^4.0.0"
|
y18n "^4.0.0"
|
||||||
yargs-parser "^13.1.1"
|
yargs-parser "^13.1.1"
|
||||||
|
|
||||||
|
yeast@0.1.2:
|
||||||
|
version "0.1.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419"
|
||||||
|
integrity sha1-AI4G2AlDIMNy28L47XagymyKxBk=
|
||||||
|
Loading…
Reference in New Issue
Block a user