This commit is contained in:
cha0s 2021-01-14 01:22:53 -06:00
parent bbfbfdbfff
commit 2edfdca872
28 changed files with 438 additions and 267 deletions

View File

@ -84,6 +84,7 @@ module.exports = {
options.nodeArgs.push(profArg);
}
options.nodeArgs.push('--experimental-repl-await');
options.nodeArgs.push('--unhandled-rejections=strict');
return args;
});
}

View File

@ -5,6 +5,7 @@ import {hot} from 'react-hot-loader';
// TODO should be betta
import 'pixi.js-legacy';
import {LatusContext, useLatus} from '@latus/react/client';
import {ConnectedRouter} from 'connected-react-router';
import PropTypes from 'prop-types';
import React from 'react';
@ -20,8 +21,10 @@ import {
import Dumb from 'components/renderers/dumb';
import Login from 'components/login';
import Room from 'components/room';
import Stage from 'components/stage';
import Stupid from 'components/renderers/stupid';
import RoomView from 'components/renderers/room-view';
// import Stupid from 'components/renderers/stupid';
import Title from 'components/title';
import Ui from 'components/ui';
import Universe from 'components/universe';
@ -35,18 +38,21 @@ const isLoggedIn = true;
const RoutedStage = () => {
const location = useLocation();
const latus = useLatus();
return (
<Stage width={WIDTH} height={HEIGHT}>
<__RouterContext.Provider value={{location}}>
<Switch>
<Route path="/login">
<Stupid />
</Route>
<Route path="/universe">
<Dumb />
</Route>
</Switch>
</__RouterContext.Provider>
<LatusContext.Provider value={latus} >
<__RouterContext.Provider value={{location}}>
<Switch>
<Route path="/login">
<Dumb />
</Route>
<Route path="/universe">
<RoomView />
</Route>
</Switch>
</__RouterContext.Provider>
</LatusContext.Provider>
</Stage>
);
};
@ -63,6 +69,7 @@ const Humus = ({history}) => {
<Route path="/login">
{isLoggedIn ? <Redirect to="/title" /> : Login}
</Route>
<Route path="universe/:uuid:/play" component={Room} />
<Route path={['/universe/:uuid', '/universe']} component={Universe} />
{isNative ? <Route path="/title"><Title /></Route> : <Redirect to="/universe" />}
</Switch>

View File

@ -0,0 +1,44 @@
import React, {useState} from 'react';
import {Container} from '@avocado/graphics';
import {resource} from '@avocado/resource';
import {RoomView} from '@avocado/topdown';
import {PixiComponent} from '@inlet/react-pixi';
import {useLatus} from '@latus/react/client';
import {useSocketPacket} from '@latus/socket';
const container = new Container();
const Component = PixiComponent('RoomView', {
create: () => container.internal,
applyProps: (instance, oldProps, newProps) => {
if (oldProps.room) {
container.removeAllChildren();
}
if (newProps.room) {
container.addChild(new RoomView(newProps.room));
}
},
});
export default () => {
const latus = useLatus();
const [room, setRoom] = useState();
const {config: {'%synchronizer': synchronizer}} = latus;
useSocketPacket((packet) => {
const {constructor: {s13nType}} = packet;
if ('create' === s13nType) {
const {fromResourceType: {Room}} = resource(latus);
const {type, id} = packet.data.synchronized;
switch (type) {
// Track room.
case Room.resourceId: {
setRoom(synchronizer.synchronized(type, id));
break;
}
default:
}
}
});
return <Component room={room} />;
};

View File

@ -0,0 +1,10 @@
import './index.scss';
import {hot} from 'react-hot-loader';
import React from 'react';
const Room = () => (
<div className="room" />
);
export default hot(module)(Room);

View File

View File

@ -2,19 +2,25 @@ import './index.scss';
import {universesByLocalitySelector, universesSelector} from '@humus/universe';
import {useSelector} from '@latus/redux';
import {useSocket} from '@latus/socket';
import PropTypes from 'prop-types';
import React from 'react';
import {
Link,
Redirect,
useHistory,
useLocation,
} from 'react-router-dom';
import useIsNative from 'hooks/use-is-native';
const Universe = ({match: {params: {uuid}}}) => {
const history = useHistory();
const isNative = useIsNative();
const {pathname} = useLocation();
const universes = useSelector(universesSelector);
const remoteUniverses = useSelector((state) => universesByLocalitySelector(state, false));
const socket = useSocket();
const uuids = Object.keys(remoteUniverses);
if (!uuid && uuids.length === 0) {
return <Redirect to="/" />;
@ -63,7 +69,16 @@ const Universe = ({match: {params: {uuid}}}) => {
Have fun! &lt;3
</p>
</div>
<Link className="button universe__play" to={({pathname}) => `${pathname}/play`}>Play</Link>
<button
className="button universe__play"
onClick={async () => {
await socket.send(['Join', 'asd']);
history.push(`${pathname}/play`);
}}
type="button"
>
Play
</button>
</div>
</div>
);

View File

@ -4,8 +4,8 @@
"@avocado/behavior@2.0.0", "@avocado/behavior@^2.0.0":
version "2.0.0"
resolved "https://npm.i12e.cha0s.io/@avocado%2fbehavior/-/behavior-2.0.0.tgz#484d6c3ffd1fc62986b22edc727b19249e0c03f5"
integrity sha512-JqAdhyB9ozTGAroJUUo507MHhmR2zmMLO3tFV4mDYHtlIkWBQUk3gIEK+9WvvnpP57e6vYb8LBDC2xe5jOro+A==
resolved "https://npm.i12e.cha0s.io/@avocado%2fbehavior/-/behavior-2.0.0.tgz#34cf4235cb85165f4b4bdee108d1efacc6732330"
integrity sha512-wQnnjXp69RW9EWeovUjH3goMoYyD6EHKyiCnkdJMb/Z9h9rwARpYqKTmq1iNgliOJ/8KpJelNi/v1+dvmlJxYA==
dependencies:
"@avocado/core" "2.0.0"
"@avocado/traits" "^2.0.0"
@ -16,15 +16,15 @@
"@avocado/core@2.0.0", "@avocado/core@^2.0.0":
version "2.0.0"
resolved "https://npm.i12e.cha0s.io/@avocado%2fcore/-/core-2.0.0.tgz#26d548a708ebe174e1014e21996db7ca4efd1f7b"
integrity sha512-4T5veeYVxsBIMJqQYbaumYvViPLIShmtQW8qReLjuQCTt23cOG1IG4kcetKeOA5Gke3qrw4JNzakYEg2GqJoMQ==
resolved "https://npm.i12e.cha0s.io/@avocado%2fcore/-/core-2.0.0.tgz#69c736d6a1d8b25d0cc57f07fabdef3f467a5636"
integrity sha512-XqLqDST/gLCbyBNQuZnzj8WN05aEgko8Kh/45pN0cSNA5DRMgkZSynBZh0NMEtiYfC5Od6v6y7FF5uvuzh4+gg==
dependencies:
debug "4.3.1"
"@avocado/entity@^2.0.0":
version "2.0.0"
resolved "https://npm.i12e.cha0s.io/@avocado%2fentity/-/entity-2.0.0.tgz#20c01a9b63bbcf70ef03b5333ae76827749a839b"
integrity sha512-YM+OKG8O4SubTC3UKWKvs0UNFiO+g6v8fzDViiTPh5/t2Srpngklqu7GKXogu4HFKFOb9GPV3Kk/sMoRAZOQkQ==
resolved "https://npm.i12e.cha0s.io/@avocado%2fentity/-/entity-2.0.0.tgz#d758beff5ad6e1069e03529ffce64f04923a0be0"
integrity sha512-ujDS8uWx1aYzmkaq+MPutB4PCtTEH/6LptH5rG4F0YIJHaPKNhl3vaYvRivhqu3FPtT8RFS8DqYr4GvWXm4bGA==
dependencies:
"@avocado/behavior" "2.0.0"
"@avocado/core" "2.0.0"
@ -42,8 +42,8 @@
"@avocado/graphics@2.0.0", "@avocado/graphics@^2.0.0":
version "2.0.0"
resolved "https://npm.i12e.cha0s.io/@avocado%2fgraphics/-/graphics-2.0.0.tgz#87f9028143b3a42f16daac6bf76cecc21e00ec74"
integrity sha512-WRrJvkkhUReMIjhOmXTSkb+EYry5tzKhehRfBHQHMyIDEOnrO5rfkAzKaYTffW7cMiVSA1FfwKHtvv+SDKD3Hw==
resolved "https://npm.i12e.cha0s.io/@avocado%2fgraphics/-/graphics-2.0.0.tgz#340660152bddd49a03da787924f431d639f639d3"
integrity sha512-NRj2iQBafrXkhn+4IQnu0uxUQrapGp8OCtwde6Qp4xdbQLlpkndaENLKg6/Q7qxt05yMv8XtI81V7yX3xzsAoQ==
dependencies:
"@avocado/core" "2.0.0"
"@avocado/input" "2.0.0"
@ -66,8 +66,8 @@
"@avocado/input@2.0.0", "@avocado/input@^2.0.0":
version "2.0.0"
resolved "https://npm.i12e.cha0s.io/@avocado%2finput/-/input-2.0.0.tgz#65b21fc4e86258a34ecf01c765fea39e83aed1d7"
integrity sha512-dXBBnMz3jMQ1PiU1b8N4eM80axpoB99xqjQiYisRwCAaMCNgYcy6vfGNwna0+ibvUCI6aN7GOq0hsl4MiUuIcg==
resolved "https://npm.i12e.cha0s.io/@avocado%2finput/-/input-2.0.0.tgz#bdd839a2c977c3414fd3590a14dde2ef1cb8067e"
integrity sha512-KtGGH82WLdT0699+/Fw9bhimIOsZEhE9hhr5OuXxWDp8JVVzrrD/1jytC6Ue3012Na0rVKtdkMGewoAB0Fv0GQ==
dependencies:
"@latus/core" "2.0.0"
"@latus/socket" "2.0.0"
@ -75,8 +75,8 @@
"@avocado/math@2.0.0", "@avocado/math@^2.0.0":
version "2.0.0"
resolved "https://npm.i12e.cha0s.io/@avocado%2fmath/-/math-2.0.0.tgz#f38ff5e452f0e4d14706c2f76c260c93c39a5629"
integrity sha512-NRopi3FjG2T3Zh9KqhR+bj/3mkyuWXK2+XYHzMpxZXssRSBrCgY4fW0pq37HAwuybDHVlPXWPinNHTiBFDN2gQ==
resolved "https://npm.i12e.cha0s.io/@avocado%2fmath/-/math-2.0.0.tgz#9e3fb073d93799f8f86a1abbaaabd5021fc753ad"
integrity sha512-vIgwR0p7I9jnXqUr/6cD9i2k/Z8GJuWqNIxksmPF8Odw1SON/4ItbLYk3D5+Z/KnDOeIa2N2Db9IoymcOofBgw==
dependencies:
"@avocado/core" "2.0.0"
"@latus/core" "^2.0.0"
@ -85,8 +85,8 @@
"@avocado/physics@^1.0.0":
version "1.0.0"
resolved "https://npm.i12e.cha0s.io/@avocado%2fphysics/-/physics-1.0.0.tgz#9affe9ff670d109493dc090586c575ffdd0e21c3"
integrity sha512-mL0EwysQoeDKiuhG3OQI6v/qEVmiFAmB83WQ/zOwZ33EKjxEkiGOEEZXJBJ12k/QrZ3FV/022LANQgLqc9jk5Q==
resolved "https://npm.i12e.cha0s.io/@avocado%2fphysics/-/physics-1.0.0.tgz#6f9b38d1c81d6be989018a96a6ab95e7562e5336"
integrity sha512-BjTD2Q4/ZYW6Ui/qLFGteeC2xqXCz7yrjjjvmtiNbwKbrB92S6wfhPo6N6/qjZpPFwHEWMQEPTJJMgY73PseoA==
dependencies:
"@avocado/behavior" "^2.0.0"
"@avocado/core" "^2.0.0"
@ -108,8 +108,8 @@
"@avocado/resource@2.0.0", "@avocado/resource@^2.0.0":
version "2.0.0"
resolved "https://npm.i12e.cha0s.io/@avocado%2fresource/-/resource-2.0.0.tgz#cf10ec82c7eb4b6e69c62ef8878e050b7bdc3977"
integrity sha512-g6DEXo9Mc81+7zg13t3CY6PFZLqr7/Xw9o1rYhr+nf8kKvX/iSf58lpOXTWSKFM7KB2C9u6kZZZjZgfAjD2w7w==
resolved "https://npm.i12e.cha0s.io/@avocado%2fresource/-/resource-2.0.0.tgz#9eadafaf1ce7a8d6308c59bfa92290830cf91e30"
integrity sha512-85osPtux7MZ+9dAFGrLKzIv1vAPuSBfxEwPZOvKaHMSBa6mnzysC7c2FbU4zfSioDl8ozqknE9ZYZB1bjdw0Hg==
dependencies:
"@avocado/core" "2.0.0"
"@latus/core" "2.0.0"
@ -119,9 +119,10 @@
"@avocado/s13n@2.0.0", "@avocado/s13n@^2.0.0":
version "2.0.0"
resolved "https://npm.i12e.cha0s.io/@avocado%2fs13n/-/s13n-2.0.0.tgz#4653b99b953b57ece31e68ebd721df55fb090c34"
integrity sha512-KkRbOXukKxoOFx5vW7Zzf66mkGrljuV576oVt4LLVa6jCLVVNP5Yx3VyQ3CwE5GzAcGNu7aN9cIFlZn/vizkmg==
resolved "https://npm.i12e.cha0s.io/@avocado%2fs13n/-/s13n-2.0.0.tgz#2b0ea781520f5c41dcd6c3bfc1a6cd52ce181c69"
integrity sha512-TkxxmQQRS7NbpvNxLQ1RME+7vIpGm198sPSNcDfBLMwcQ2Icl8jTx5HFaIaCLh6XezFN/MhQzDjZ62XVqxWEeg==
dependencies:
"@avocado/resource" "^2.0.0"
"@latus/core" "2.0.0"
"@latus/socket" "2.0.0"
debug "4.3.1"
@ -129,18 +130,19 @@
"@avocado/sound@^1.0.0":
version "1.0.0"
resolved "https://npm.i12e.cha0s.io/@avocado%2fsound/-/sound-1.0.0.tgz#94fcc1ae3b12c23aa479a8525e1eb63283bd90a4"
integrity sha512-DH9g57GdfukghkT1T2Hg2wAgK9WNAmOl/Q2CpsBXr3uaf6QE3RfoTMRvo/m3oNEyFF5qmahSANpwTIYW9rf1Tg==
resolved "https://npm.i12e.cha0s.io/@avocado%2fsound/-/sound-1.0.0.tgz#c16a44e0d1fdb6d7d51425dc51a7e12a09767f4f"
integrity sha512-YM/268A4ZfLwJn43MwT5ZbpAqGyPvNPFf8uMXupmn6eeWS5kueiRL6xd2hBdfN/LBJNUTqTKkJHhJ6Fn1Xg6Tw==
dependencies:
"@avocado/resource" "^2.0.0"
"@avocado/traits" "^2.0.0"
"@latus/core" "^2.0.0"
debug "4.3.1"
howler "2.1.2"
"@avocado/timing@2.0.0", "@avocado/timing@^2.0.0":
version "2.0.0"
resolved "https://npm.i12e.cha0s.io/@avocado%2ftiming/-/timing-2.0.0.tgz#91cb2a67d0d50cba53a51cf40028bcae098c2bae"
integrity sha512-NwEbsXTYb6mUCYWKG4JhsuFaEnumIWsuQcKllihVA3zz4l27APHC3ZZ81TNX/BeGHr5QZa1AXOpMD6JmKIkF1w==
resolved "https://npm.i12e.cha0s.io/@avocado%2ftiming/-/timing-2.0.0.tgz#9c7ddb24d9f99822a59b6927fcaa09e8614785b0"
integrity sha512-zlLLjrKvYzCRyvtYWDJniM0AtLzmpOxWeEL7U8uPbA9n1fDEdAv90rhpw8rdFOAtGBNi6q2YxcaIJH0vQzs5Iw==
dependencies:
"@avocado/core" "2.0.0"
"@avocado/graphics" "2.0.0"
@ -154,8 +156,8 @@
"@avocado/topdown@^2.0.0":
version "2.0.0"
resolved "https://npm.i12e.cha0s.io/@avocado%2ftopdown/-/topdown-2.0.0.tgz#99e695c806d1c667895e1cacb9cad2587ab2e041"
integrity sha512-BslSYt1dylBaaQ8YzCov0fxq/vhyDeMYg7QeBrTOsbmMYrs2rzCY2fLPMuYEBq1sc981LSPuitcB5rhreeKw1w==
resolved "https://npm.i12e.cha0s.io/@avocado%2ftopdown/-/topdown-2.0.0.tgz#570b9f142ac07703300169a0b00d0bf41da12969"
integrity sha512-gH6LPfBh2lDSJWgx+zs3uXH5PnOIsSqN3vN16tPN/weTpgqydN2h/O5i0Br0Opy4WlM/eNymA0itC1LKZ0pUdQ==
dependencies:
"@avocado/core" "2.0.0"
"@avocado/entity" "^2.0.0"
@ -170,8 +172,8 @@
"@avocado/traits@^2.0.0":
version "2.0.0"
resolved "https://npm.i12e.cha0s.io/@avocado%2ftraits/-/traits-2.0.0.tgz#257e7c00e4b47c837f5b7bacdac526b182669f40"
integrity sha512-jSep7qESSCSQXosVtx+UI5VN9yDrQtlcGIQ9cNCTDylf5vh82lBpcZdIfAsjQwdS03tDy8HGIEevT/74GM9F+A==
resolved "https://npm.i12e.cha0s.io/@avocado%2ftraits/-/traits-2.0.0.tgz#369ce54e55b6a32c1591efcf31e19785f827b943"
integrity sha512-0+CatzN3YFm1HBUQ1n0a2j2/cmtNo6hjNtjiJINFkqEUmpwGnoub+yB4x7HW837IjnqvLeD53Mu6YUxC9nOstQ==
dependencies:
"@avocado/core" "^2.0.0"
"@avocado/resource" "^2.0.0"
@ -1088,11 +1090,18 @@
"@humus/universe@^1.0.0":
version "1.0.0"
resolved "https://npm.i12e.cha0s.io/@humus%2funiverse/-/universe-1.0.0.tgz#7072c22ea3dbaf94dc1aae4f374fa334f2387d05"
integrity sha512-a8axM6QtzS2V0fcA2dh5FUrGVToMYYz+JAmkPA/N+4yLRChVpTVyFIWu6qwrsy1rPbEaMuvo7ZT844zeytQ0aw==
resolved "https://npm.i12e.cha0s.io/@humus%2funiverse/-/universe-1.0.0.tgz#60bea50fa7fd138e363650fc8f56f52464095e64"
integrity sha512-/Llpu6YFvJ4Gj4KtMQ3sRnw1WwUNF0VRsu+7LLcGkL5X9+n4H0EUsLuVdMWshVQrqu3A08rl1EtN8zr0yS6g8A==
dependencies:
"@avocado/math" "^2.0.0"
"@avocado/resource" "^2.0.0"
"@avocado/s13n" "^2.0.0"
"@avocado/traits" "^2.0.0"
"@latus/core" "^2.0.0"
"@latus/redux" "^2.0.0"
"@latus/socket" "^2.0.0"
debug "4.3.1"
glob "^7.1.6"
"@inlet/react-pixi@^6.0.7":
version "6.0.7"
@ -1105,8 +1114,8 @@
"@latus/core@2.0.0", "@latus/core@^2.0.0":
version "2.0.0"
resolved "https://npm.i12e.cha0s.io/@latus%2fcore/-/core-2.0.0.tgz#47e23fb0df38d8eced598de7126cce146859fd9d"
integrity sha512-Iaejj6IihNcWz1iAgC3s01mlwqOd0YLXM319UGtc+9BUcQ3kAwTV24QSWjsTlJGh3bPK5vKpjGAkzXwBMqYqfA==
resolved "https://npm.i12e.cha0s.io/@latus%2fcore/-/core-2.0.0.tgz#8d51f43916b14ac4640eefb5800e97720717389c"
integrity sha512-eejB41S7d/Vv3oSV3nw9toIBiI6RzEu1MBkIQy/L1ZYNxuHRtHO3o1ed1Re09+Jg378XWUeOEKUiavRUwAL3Cw==
dependencies:
debug "4.3.1"
js-yaml "3.14.0"
@ -1114,8 +1123,8 @@
"@latus/db@2.0.0":
version "2.0.0"
resolved "https://npm.i12e.cha0s.io/@latus%2fdb/-/db-2.0.0.tgz#d0a64da1f5269ad4aa2490605e4b2763f26452bf"
integrity sha512-VLJ17QxrByag7IaO/+80PO5ZMQk/eBj65K0wuZHX8/wMobP4GzNKqbCgT0ASQS3MXCN6NiS8akTRFxCgH9p7jw==
resolved "https://npm.i12e.cha0s.io/@latus%2fdb/-/db-2.0.0.tgz#21bddda5c5b8427bf3a5249937c99dd8da3bbbf6"
integrity sha512-cOn4EOP1swprHBfHr/QWV1E9zS8BK77GEux8I3pJHprNNSOjxem/rk4RaMJdgLmHk7UZks7Obk7a3Y+TJ09E8A==
dependencies:
"@latus/core" "2.0.0"
debug "4.3.1"
@ -1125,16 +1134,16 @@
"@latus/governor@2.0.0":
version "2.0.0"
resolved "https://npm.i12e.cha0s.io/@latus%2fgovernor/-/governor-2.0.0.tgz#938c50afd1b9970941f9c8b67f295dd0110da0da"
integrity sha512-OLnlD5S4w2MNDvWzcpZkA6fed0HgaUWvvY4zoY6Pdb2NeDWn6vo0onOTzQwHiTrxXdNZ22tUMESxo+K2dbm1TQ==
resolved "https://npm.i12e.cha0s.io/@latus%2fgovernor/-/governor-2.0.0.tgz#5a767db126731183920ae921d0725a4a250c6cd8"
integrity sha512-qGFEkGtmE+uChSd4igMkwMRy4fCTvVHa/OSr3I7EtLZyRzcReR2rWRzfa6PyhKzFsHG9jMSn6lAff4CDmnMSPg==
dependencies:
debug "4.3.1"
rate-limiter-flexible "^2.1.13"
"@latus/http@2.0.0":
version "2.0.0"
resolved "https://npm.i12e.cha0s.io/@latus%2fhttp/-/http-2.0.0.tgz#c34fd19001a451ac0986fb30da8f0db21dc74880"
integrity sha512-I3vt+qnXHLh1+e5cOKcNyS/avEvJYWanemZ91J21s08qcbmhSKdyDbfJkDCRoFSTDSOjhITFU9te+bcOWW/Ldg==
resolved "https://npm.i12e.cha0s.io/@latus%2fhttp/-/http-2.0.0.tgz#b7015392035281b38c437ad69318e1427b56f04e"
integrity sha512-2XqfbmF2Bff8NLX9bdP9/zk5s8WnaPqw2BcVpUh1nPP+ZEdvhVYZWevJ05p1FGYnH62JDkFtK4CCEr0IcVoLew==
dependencies:
"@latus/core" "2.0.0"
"@neutrinojs/web" "^9.1.0"
@ -1153,8 +1162,8 @@
"@latus/react@2.0.0":
version "2.0.0"
resolved "https://npm.i12e.cha0s.io/@latus%2freact/-/react-2.0.0.tgz#ec1308884af7a234c3f7dc02b2e5d059e9c37579"
integrity sha512-KMmgdPFQ2i43u/ePR1JbQLs+1tZWpt2DPIg+tE8eRrzuBKYKfuGtoT46knqus0P9GGxNDDfM9TLCBE2CQkqSyA==
resolved "https://npm.i12e.cha0s.io/@latus%2freact/-/react-2.0.0.tgz#09f4699218a73c19ff0c7c299a6c48f053316512"
integrity sha512-HZN9THHkZSWUwDDh8S2k+FiLfrmRbT4eUTs+ZJsQuWCdS6NQpBoTp2kjGe5wG/h0HoHwFfh+tjs728BXZXlLNQ==
dependencies:
"@hot-loader/react-dom" "^17.0.1"
"@neutrinojs/react" "^9.4.0"
@ -1168,8 +1177,8 @@
"@latus/redis@2.0.0":
version "2.0.0"
resolved "https://npm.i12e.cha0s.io/@latus%2fredis/-/redis-2.0.0.tgz#64cc87516a07b96d7d8478f55534157d9f03bcd0"
integrity sha512-sZ4L3VsGGrHialyt0JYulwkHHeEOq9XTszxqOoYaAxxFavRNEaZo6JIEhEk7UaeGx40QSEs4sZkItxuRZmvXUQ==
resolved "https://npm.i12e.cha0s.io/@latus%2fredis/-/redis-2.0.0.tgz#a7abe8718d9481712bf987e387cbe8fbd6b5c7f0"
integrity sha512-QY+VirXt9EIKOYT+kqCJeb4dNxVNRuXxltQnUZlKjn+V2BNQEXPPB6jLIRzYZRByIFxqa6F79qrU2ax/T9aoUg==
dependencies:
connect-redis "^5.0.0"
debug "4.3.1"
@ -1180,8 +1189,8 @@
"@latus/redux@^2.0.0":
version "2.0.0"
resolved "https://npm.i12e.cha0s.io/@latus%2fredux/-/redux-2.0.0.tgz#10fee1fd1073ef12fff02294ee09c5362d2cc8b7"
integrity sha512-4DfJbZAfOOR7QV0Y9lcJ8MZhBWc+kYG5ngH6fWAhzhG41XIcOE/H3E6K3J6xX5Y/RCr9/qcuSSDwE3ReEkYT/Q==
resolved "https://npm.i12e.cha0s.io/@latus%2fredux/-/redux-2.0.0.tgz#0b87e7ea3fff1cac7cacffd8b7d8b0f60130b245"
integrity sha512-MiHDXKGUwoJp/GPEY89shWNNG3W4PsaCFs27YLGH2XCTu0oRCkkHKwNSBrEhi5UPSoW1FdQQpbvmvVsJmG7NlQ==
dependencies:
"@latus/core" "2.0.0"
"@reduxjs/toolkit" "^1.5.0"
@ -1194,15 +1203,15 @@
"@latus/repl@2.0.0":
version "2.0.0"
resolved "https://npm.i12e.cha0s.io/@latus%2frepl/-/repl-2.0.0.tgz#ee220133c7cce98b466f3f728b3744c92e0d45e0"
integrity sha512-UGykc1D6QNLIBRX4HsFzLEoCL4omMmymQYRihGGnNuhsQ/l9wuwM9zFZZzBGkmud4dzfOIdlM3r3HShpSuJsBg==
resolved "https://npm.i12e.cha0s.io/@latus%2frepl/-/repl-2.0.0.tgz#012f09ae88a193027b06a3f49806deadb3fd4c16"
integrity sha512-Tur6aho5RtcAmMVhXbOhZq7l7WzH0PuxRpuNTKlvf4C8fsXVwWoBpo6w4eCn7BKbH/29Tft6fa8lf7Rf5HXHog==
dependencies:
debug "4.3.1"
"@latus/socket@2.0.0", "@latus/socket@^2.0.0":
version "2.0.0"
resolved "https://npm.i12e.cha0s.io/@latus%2fsocket/-/socket-2.0.0.tgz#9183d1f349033a6ca76f8403fbd743163bb691e9"
integrity sha512-KuMofkVXMTvg5HJTQDq/1BZAoPk+VzpWZ2yAcj741luwOvS/fZeywyQc5WYwvc13LZdSQ8dim2JMOevTBqDAcA==
resolved "https://npm.i12e.cha0s.io/@latus%2fsocket/-/socket-2.0.0.tgz#4ecc80bb593f32d20c8bd6c532ae8014044add48"
integrity sha512-aSyzH8XMKyjBDPFlam7CjV2zk7s4JpcP27nGl/toGnfJYAFMydpruFm8cmGJE7/SuHcStCyVcI4ejUDgaPqvUw==
dependencies:
"@latus/core" "2.0.0"
"@latus/http" "2.0.0"
@ -1215,8 +1224,8 @@
"@latus/user@2.0.0":
version "2.0.0"
resolved "https://npm.i12e.cha0s.io/@latus%2fuser/-/user-2.0.0.tgz#d59fa8b56131766e811e4406b124eaf11ffb2231"
integrity sha512-GYukwYQCbzJP3AWQRU8uCA45SCOrh/JM5VCvnGlkqWlX2qITyKY6hblUa+5qf/JH/n5Tsei6WZ6atRESMMbSZQ==
resolved "https://npm.i12e.cha0s.io/@latus%2fuser/-/user-2.0.0.tgz#7ddbda613d99147771f4290410bbb91c30bfcaf5"
integrity sha512-+QSOHQzgxm0/gFGez4p3l7YDP9pFGj0xcWMEnl65269QKLcuYL/1pG2+KKqVRsGJyrmzfpgGRtq8kHqE6e3hCA==
dependencies:
bcrypt "^5.0.0"
debug "4.3.1"
@ -1868,9 +1877,9 @@
integrity sha512-Y93R97Ouif9JEOWPIUyU+eyIdyRqQR0I8Ez1dzku4hDx34NWh4HbtIc3WNzwB1Y9ULvNGeu5B8h8bVL5cAk4/A==
"@types/node@^12.0.12":
version "12.19.12"
resolved "https://npm.i12e.cha0s.io/@types%2fnode/-/node-12.19.12.tgz#04793c2afa4ce833a9972e4c476432e30f9df47b"
integrity sha512-UwfL2uIU9arX/+/PRcIkT08/iBadGN2z6ExOROA2Dh5mAuWTBj6iJbQX4nekiV5H8cTrEG569LeX+HRco9Cbxw==
version "12.19.13"
resolved "https://npm.i12e.cha0s.io/@types%2fnode/-/node-12.19.13.tgz#888e2b34159fb91496589484ec169618212b51b7"
integrity sha512-qdixo2f0U7z6m0UJUugTJqVF94GNDkdgQhfBtMs8t5898JE7G/D2kJYw4rc1nzjIPLVAsDkY2MdABnLAP5lM1w==
"@types/source-list-map@*":
version "0.1.2"
@ -1899,9 +1908,9 @@
source-map "^0.7.3"
"@types/webpack@^4.4.31", "@types/webpack@^4.41.8":
version "4.41.25"
resolved "https://npm.i12e.cha0s.io/@types%2fwebpack/-/webpack-4.41.25.tgz#4d3b5aecc4e44117b376280fbfd2dc36697968c4"
integrity sha512-cr6kZ+4m9lp86ytQc1jPOJXgINQyz3kLLunZ57jznW+WIAL0JqZbGubQk4GlD42MuQL5JGOABrxdpqqWeovlVQ==
version "4.41.26"
resolved "https://npm.i12e.cha0s.io/@types%2fwebpack/-/webpack-4.41.26.tgz#27a30d7d531e16489f9c7607c747be6bc1a459ef"
integrity sha512-7ZyTfxjCRwexh+EJFwRUM+CDB2XvgHl4vfuqf1ZKrgGvcS5BrNvPQqJh3tsZ0P6h6Aa1qClVHaJZszLPzpqHeA==
dependencies:
"@types/anymatch" "*"
"@types/node" "*"
@ -2578,9 +2587,9 @@ binary-extensions@^1.0.0:
integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==
binary-extensions@^2.0.0:
version "2.1.0"
resolved "https://npm.i12e.cha0s.io/binary-extensions/-/binary-extensions-2.1.0.tgz#30fa40c9e7fe07dbc895678cd287024dea241dd9"
integrity sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==
version "2.2.0"
resolved "https://npm.i12e.cha0s.io/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
bindings@^1.5.0:
version "1.5.0"
@ -2862,12 +2871,12 @@ cacheable-request@^6.0.0:
responselike "^1.0.2"
call-bind@^1.0.0:
version "1.0.0"
resolved "https://npm.i12e.cha0s.io/call-bind/-/call-bind-1.0.0.tgz#24127054bb3f9bdcb4b1fb82418186072f77b8ce"
integrity sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==
version "1.0.2"
resolved "https://npm.i12e.cha0s.io/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c"
integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==
dependencies:
function-bind "^1.1.1"
get-intrinsic "^1.0.0"
get-intrinsic "^1.0.2"
caller-callsite@^2.0.0:
version "2.0.0"
@ -2938,9 +2947,9 @@ camelcase@^6.0.0:
integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==
caniuse-lite@^1.0.30001173:
version "1.0.30001173"
resolved "https://npm.i12e.cha0s.io/caniuse-lite/-/caniuse-lite-1.0.30001173.tgz#3c47bbe3cd6d7a9eda7f50ac016d158005569f56"
integrity sha512-R3aqmjrICdGCTAnSXtNyvWYMK3YtV5jwudbq0T7nN9k4kmE4CBuwPqyJ+KBzepSTh0huivV2gLbSMEzTTmfeYw==
version "1.0.30001176"
resolved "https://npm.i12e.cha0s.io/caniuse-lite/-/caniuse-lite-1.0.30001176.tgz#e44bac506d4656bae4944a1417f41597bd307335"
integrity sha512-VWdkYmqdkDLRe0lvfJlZQ43rnjKqIGKHWhWWRbkqMsJIUaYDNf/K/sdZZcVO6YKQklubokdkJY+ujArsuJ5cag==
caseless@~0.12.0:
version "0.12.0"
@ -3917,14 +3926,14 @@ ee-first@1.1.1:
integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
electron-to-chromium@^1.3.634:
version "1.3.634"
resolved "https://npm.i12e.cha0s.io/electron-to-chromium/-/electron-to-chromium-1.3.634.tgz#82ea400f520f739c4f6ff00c1f7524827a917d25"
integrity sha512-QPrWNYeE/A0xRvl/QP3E0nkaEvYUvH3gM04ZWYtIa6QlSpEetRlRI1xvQ7hiMIySHHEV+mwDSX8Kj4YZY6ZQAw==
version "1.3.637"
resolved "https://npm.i12e.cha0s.io/electron-to-chromium/-/electron-to-chromium-1.3.637.tgz#be46f77acc217cdecf633bbd25292f6a36cc689b"
integrity sha512-924WXYMYquYybc+7pNApGlhY2RWg3MY3he4BrZ5BUmM2n1MGBsrS+PZxrlo6UAsWuNl4NE66fqFdwsWkBUGgkA==
electron@^11.1.1:
version "11.1.1"
resolved "https://npm.i12e.cha0s.io/electron/-/electron-11.1.1.tgz#188f036f8282798398dca9513e9bb3b10213e3aa"
integrity sha512-tlbex3xosJgfileN6BAQRotevPRXB/wQIq48QeQ08tUJJrXwE72c8smsM/hbHx5eDgnbfJ2G3a60PmRjHU2NhA==
version "11.2.0"
resolved "https://npm.i12e.cha0s.io/electron/-/electron-11.2.0.tgz#f8577ea4c9ba94068850256145be26b0b89a5dd7"
integrity sha512-weszOPAJPoPu6ozL7vR9enXmaDSqH+KE9iZODfbGdnFgtVfVdfyedjlvEGIUJkLMPXM1y/QWwCl2dINzr0Jq5Q==
dependencies:
"@electron/get" "^1.0.1"
"@types/node" "^12.0.12"
@ -4024,10 +4033,10 @@ enhanced-resolve@^0.9.1:
memory-fs "^0.2.0"
tapable "^0.1.8"
enhanced-resolve@^4.1.1, enhanced-resolve@^4.3.0:
version "4.3.0"
resolved "https://npm.i12e.cha0s.io/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz#3b806f3bfafc1ec7de69551ef93cca46c1704126"
integrity sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ==
enhanced-resolve@^4.1.1, enhanced-resolve@^4.5.0:
version "4.5.0"
resolved "https://npm.i12e.cha0s.io/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz#2f3cfd84dbe3b487f18f2db2ef1e064a571ca5ec"
integrity sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==
dependencies:
graceful-fs "^4.1.2"
memory-fs "^0.5.0"
@ -4932,7 +4941,7 @@ get-caller-file@^2.0.1:
resolved "https://npm.i12e.cha0s.io/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
get-intrinsic@^1.0.0, get-intrinsic@^1.0.1, get-intrinsic@^1.0.2:
get-intrinsic@^1.0.1, get-intrinsic@^1.0.2:
version "1.0.2"
resolved "https://npm.i12e.cha0s.io/get-intrinsic/-/get-intrinsic-1.0.2.tgz#6820da226e50b24894e08859469dc68361545d49"
integrity sha512-aeX0vrFm21ILl3+JpFFRNe9aUvp6VFZb2/CTbgLb8j75kOhvoNYjt9d8KA/tJG4gSo8nzEDedRl0h7vDmBYRVg==
@ -6550,7 +6559,7 @@ mime-db@1.45.0, "mime-db@>= 1.43.0 < 2":
resolved "https://npm.i12e.cha0s.io/mime-db/-/mime-db-1.45.0.tgz#cceeda21ccd7c3a745eba2decd55d4b73e7879ea"
integrity sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==
mime-types@^2.1.12, mime-types@^2.1.27, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24:
mime-types@^2.1.12, mime-types@^2.1.27, mime-types@^2.1.28, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24:
version "2.1.28"
resolved "https://npm.i12e.cha0s.io/mime-types/-/mime-types-2.1.28.tgz#1160c4757eab2c5363888e005273ecf79d2a0ecd"
integrity sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==
@ -8082,9 +8091,9 @@ range-parser@^1.2.1, range-parser@~1.2.1:
integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
rate-limiter-flexible@^2.1.13:
version "2.1.16"
resolved "https://npm.i12e.cha0s.io/rate-limiter-flexible/-/rate-limiter-flexible-2.1.16.tgz#992485931945a825442a9e461b21a75fb0b71816"
integrity sha512-ag2ZQLS0g7+QrMpmMQf37EJ/9drSOsrslQXnOJ3OpqIgUwdjQpChu8CLNz4GWOr9sJq+RGVYDwAcJjYK8hHCqA==
version "2.2.1"
resolved "https://npm.i12e.cha0s.io/rate-limiter-flexible/-/rate-limiter-flexible-2.2.1.tgz#acb81a3d92a0f26bf7e9767e0f96de3a89ecb3a6"
integrity sha512-rxCP6kDDdn0cZmVqVlF06yLU+mG3TuwaHV/fUIw3OQyYhza7pzVBtdMhUmfXbBzMS+O464XP+x33pfTDGRGYVA==
raw-body@2.4.0:
version "2.4.0"
@ -8413,9 +8422,9 @@ regjsgen@^0.5.1:
integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==
regjsparser@^0.6.4:
version "0.6.4"
resolved "https://npm.i12e.cha0s.io/regjsparser/-/regjsparser-0.6.4.tgz#a769f8684308401a66e9b529d2436ff4d0666272"
integrity sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==
version "0.6.6"
resolved "https://npm.i12e.cha0s.io/regjsparser/-/regjsparser-0.6.6.tgz#6d8c939d1a654f78859b08ddcc4aa777f3fa800a"
integrity sha512-jjyuCp+IEMIm3N1H1LLTJW1EISEJV9+5oHdEyrt43Pg9cDSb6rrLZei2cVWpl0xTjmmlpec/lEQGYgM7xfpGCQ==
dependencies:
jsesc "~0.5.0"
@ -8700,9 +8709,9 @@ sass-graph@2.2.5:
yargs "^13.3.2"
sass-loader@^10.1.0:
version "10.1.0"
resolved "https://npm.i12e.cha0s.io/sass-loader/-/sass-loader-10.1.0.tgz#1727fcc0c32ab3eb197cda61d78adf4e9174a4b3"
integrity sha512-ZCKAlczLBbFd3aGAhowpYEy69Te3Z68cg8bnHHl6WnSCvnKpbM6pQrz957HWMa8LKVuhnD9uMplmMAHwGQtHeg==
version "10.1.1"
resolved "https://npm.i12e.cha0s.io/sass-loader/-/sass-loader-10.1.1.tgz#4ddd5a3d7638e7949065dd6e9c7c04037f7e663d"
integrity sha512-W6gVDXAd5hR/WHsPicvZdjAWHBcEJ44UahgxcIE196fW2ong0ZHMPO1kZuI5q0VlvMQZh32gpv69PLWQm70qrw==
dependencies:
klona "^2.0.4"
loader-utils "^2.0.0"
@ -9045,9 +9054,9 @@ socket.io-client@2.3.0:
to-array "0.1.4"
socket.io-parser@~3.3.0:
version "3.3.1"
resolved "https://npm.i12e.cha0s.io/socket.io-parser/-/socket.io-parser-3.3.1.tgz#f07d9c8cb3fb92633aa93e76d98fd3a334623199"
integrity sha512-1QLvVAe8dTz+mKmZ07Swxt+LAo4Y1ff50rlyoEx00TQmDFVQYPfcqGvIDJLGaBdhdNCecXtyKpD+EgKGcmmbuQ==
version "3.3.2"
resolved "https://npm.i12e.cha0s.io/socket.io-parser/-/socket.io-parser-3.3.2.tgz#ef872009d0adcf704f2fbe830191a14752ad50b6"
integrity sha512-FJvDBuOALxdCI9qwRrO/Rfp9yfndRtc1jSgVgV8FDraihmSP/MLGD5PEuJrNfjALvcQ+vMDM/33AWOYP/JSjDg==
dependencies:
component-emitter "~1.3.0"
debug "~3.1.0"
@ -9893,9 +9902,9 @@ upper-case@^1.1.1:
integrity sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=
uri-js@^4.2.2:
version "4.4.0"
resolved "https://npm.i12e.cha0s.io/uri-js/-/uri-js-4.4.0.tgz#aa714261de793e8a82347a7bcc9ce74e86f28602"
integrity sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==
version "4.4.1"
resolved "https://npm.i12e.cha0s.io/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e"
integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==
dependencies:
punycode "^2.1.0"
@ -10097,20 +10106,21 @@ webpack-dev-middleware@^3.7.2:
webpack-log "^2.0.0"
webpack-dev-middleware@^4.0.2:
version "4.0.2"
resolved "https://npm.i12e.cha0s.io/webpack-dev-middleware/-/webpack-dev-middleware-4.0.2.tgz#1436ae6cacee78475bd6bc1fbf063dfbfd6e577d"
integrity sha512-xyAICqIugWtT1RRH5aMMmZlPhDhEqPTDL0TWhmMZsuZ+cFlAvRxv4thCbuxdk9MW+OYK4c9BkfmgdQ1/7imkJA==
version "4.0.4"
resolved "https://npm.i12e.cha0s.io/webpack-dev-middleware/-/webpack-dev-middleware-4.0.4.tgz#ebe1e4ad2cca8d33389f89b25d2b7ef7d621bc3f"
integrity sha512-6dKe7cufta6TXUwcQqFJNDoGtS3ZdlfQstPJM22V5aNT8qTVd2bWwfEC62vOQOh19eazLDczU+82FgxLHYCmlQ==
dependencies:
colorette "^1.2.1"
mem "^8.0.0"
memfs "^3.2.0"
mime-types "^2.1.27"
mime-types "^2.1.28"
range-parser "^1.2.1"
schema-utils "^3.0.0"
webpack-dev-server@^3.11.0:
version "3.11.1"
resolved "https://npm.i12e.cha0s.io/webpack-dev-server/-/webpack-dev-server-3.11.1.tgz#c74028bf5ba8885aaf230e48a20e8936ab8511f0"
integrity sha512-u4R3mRzZkbxQVa+MBWi2uVpB5W59H3ekZAJsQlKUTdl7Elcah2EhygTPLmeFXybQkf9i2+L0kn7ik9SnXa6ihQ==
version "3.11.2"
resolved "https://npm.i12e.cha0s.io/webpack-dev-server/-/webpack-dev-server-3.11.2.tgz#695ebced76a4929f0d5de7fd73fafe185fe33708"
integrity sha512-A80BkuHRQfCiNtGBS1EMf2ChTUs0x+B3wGDFmOeT4rmJOHhHTCH2naNxIHhmkr0/UillP4U3yeIyv1pNp+QDLQ==
dependencies:
ansi-html "0.0.7"
bonjour "^3.5.0"
@ -10183,9 +10193,9 @@ webpack-virtual-modules@^0.4.1:
integrity sha512-BH/RKOHk223WdBDLFqghztx3DF5AqR3CKg3ue1KN9S1SAaXP68Kj/4rF0lsdysxXaanzx7aWl1u0+lnfj7+OtQ==
webpack@^4:
version "4.44.2"
resolved "https://npm.i12e.cha0s.io/webpack/-/webpack-4.44.2.tgz#6bfe2b0af055c8b2d1e90ed2cd9363f841266b72"
integrity sha512-6KJVGlCxYdISyurpQ0IPTklv+DULv05rs2hseIXer6D7KrUicRDLFb4IUM1S6LUAKypPM/nSiVSuv8jHu1m3/Q==
version "4.46.0"
resolved "https://npm.i12e.cha0s.io/webpack/-/webpack-4.46.0.tgz#bf9b4404ea20a073605e0a011d188d77cb6ad542"
integrity sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==
dependencies:
"@webassemblyjs/ast" "1.9.0"
"@webassemblyjs/helper-module-context" "1.9.0"
@ -10195,7 +10205,7 @@ webpack@^4:
ajv "^6.10.2"
ajv-keywords "^3.4.1"
chrome-trace-event "^1.0.2"
enhanced-resolve "^4.3.0"
enhanced-resolve "^4.5.0"
eslint-scope "^4.0.3"
json-parse-better-errors "^1.0.2"
loader-runner "^2.4.0"

View File

@ -11,7 +11,7 @@
"forcepub": "npm unpublish --force $(node -e 'const {name, version} = require(`./package.json`); process.stdout.write(`${name}@${version}`)') && npm publish",
"link": "node -e \"Object.keys(require('./package.json').dependencies).filter((m) => 0 === m.indexOf('@latus/')).forEach((m) => require('child_process').spawn('yarn', ['link', m]));\"",
"lint": "NODE_PATH=./node_modules eslint --format codeframe --ext mjs,js .",
"test": "NODE_PATH=./node_modules mocha --config ../../config/.mocharc.js",
"test": "yarn --silent run build --display none && mocha --colors test.js",
"unlink": "node -e \"Object.keys(require('./package.json').dependencies).filter((m) => 0 === m.indexOf('@latus/')).forEach((m) => require('child_process').spawn('yarn', ['unlink', m]));\" && yarn install --force",
"watch": "NODE_PATH=./node_modules webpack --watch --mode development"
},

View File

@ -8,7 +8,7 @@
"forcepub": "lerna run forcepub",
"link": "lerna run link",
"lint": "lerna run lint",
"test": "lerna run test",
"test": "lerna run test --no-bail -- --silent",
"unlink": "lerna run unlink",
"watch": "lerna run watch --parallel"
},

View File

@ -11,7 +11,7 @@
"forcepub": "npm unpublish --force $(node -e 'const {name, version} = require(`./package.json`); process.stdout.write(`${name}@${version}`)') && npm publish",
"link": "node -e \"Object.keys(require('./package.json').dependencies).filter((m) => 0 === m.indexOf('@latus/')).forEach((m) => require('child_process').spawn('yarn', ['link', m]));\"",
"lint": "NODE_PATH=./node_modules eslint --format codeframe --ext mjs,js .",
"test": "NODE_PATH=./node_modules mocha --config ../../config/.mocharc.js",
"test": "yarn --silent run build --display none && mocha --colors test.js",
"unlink": "node -e \"Object.keys(require('./package.json').dependencies).filter((m) => 0 === m.indexOf('@latus/')).forEach((m) => require('child_process').spawn('yarn', ['unlink', m]));\" && yarn install --force",
"watch": "NODE_PATH=./node_modules webpack --watch --mode development"
},
@ -28,6 +28,7 @@
"dependencies": {
"@avocado/math": "^2.0.0",
"@avocado/resource": "^2.0.0",
"@avocado/s13n": "^2.0.0",
"@avocado/traits": "^2.0.0",
"@latus/core": "^2.0.0",
"@latus/redux": "^2.0.0",

View File

@ -1,16 +1,17 @@
// import {join} from 'path';
// import {Resource} from '@avocado/resource';
import Packets from './packets';
import {ReceiverSynchronizer} from '@avocado/s13n';
import {gatherWithLatus} from '@latus/core';
import {socket} from '@latus/socket';
export default {
hooks: {
'@latus/socket/packets': Packets,
// '@latus/core/started': async ({config: {'@humus/universe/client': {uuid}}}) => {
// if (uuid) {
// Resource.root = join('/', 'universe', uuid);
// }
// },
'@latus/http/client/up': (latus) => {
const synchronizer = new ReceiverSynchronizer();
// eslint-disable-next-line no-param-reassign
latus.config['%synchronizer'] = synchronizer;
socket(latus).on('packet', synchronizer.acceptPacket, synchronizer);
},
'@latus/socket/packets': gatherWithLatus(
require.context('./packets', false, /\.js$/),
),
},
};

View File

@ -1,5 +0,0 @@
import Locate from './locate';
export default () => ({
Locate: Locate(),
});

View File

@ -0,0 +1,3 @@
import Join from '../../packets/join';
export default () => class ClientJoin extends Join() {};

View File

@ -1,9 +0,0 @@
import Locate from '../../packets/locate';
export default () => class ClientLocate extends Locate() {
// static respond() {
// return new super.constructor();
// }
};

View File

@ -1,11 +1,16 @@
import Resources from './resources';
import {gatherWithLatus} from '@latus/core';
import {universes} from './state';
export * from './state';
export default {
hooks: {
'@avocado/resource/resources': Resources,
'@avocado/resource/resources': gatherWithLatus(
require.context('./resources', false, /\.js$/),
),
'@avocado/traits': gatherWithLatus(
require.context('./traits', false, /\.js$/),
),
'@latus/redux/slices': () => ({
universes,
}),

View File

@ -1,11 +1,3 @@
import {Packet} from '@latus/socket';
export default () => class Join extends Packet {
static get data() {
return {
universe: 'string',
};
}
};
export default () => class Join extends Packet {};

View File

@ -1,18 +0,0 @@
import {Vector} from '@avocado/math';
import {compose} from '@latus/core';
import {Packet} from '@latus/socket';
const decorate = compose(
Vector.Packer('position'),
);
export default () => class Locate extends decorate(Packet) {
static get data() {
return {
...this.data,
room: 'string',
};
}
};

View File

@ -0,0 +1,13 @@
export default class Player {
constructor({entity, socket, user} = {}) {
this.entity = entity;
this.socket = socket;
this.user = user;
}
inform() {
this.entity.inform(this.socket);
}
}

View File

@ -1,5 +0,0 @@
import Universe from './universe';
export default (latus) => ({
Universe: Universe(latus),
});

View File

@ -1,16 +1,21 @@
import {dirname, join} from 'path';
import {promisify} from 'util';
import {resource, JsonResource} from '@avocado/resource';
import glob from 'glob';
import Player from '../player';
const pglob = promisify(glob);
export default (latus) => class Universe extends JsonResource {
#informLoopHandle = null;
#mainLoopHandle = null;
#players = [];
#rooms = {};
#roomsFlat = [];
@ -25,6 +30,13 @@ export default (latus) => class Universe extends JsonResource {
this.#tps = tps;
}
addPlayer({entity, socket, user}) {
const room = this.room(entity.currentRoom);
room.addEntityToLayer(entity, 0);
entity.addSynchronized(room);
this.#players.push(new Player({entity, socket, user}));
}
addRoom(uri, room) {
this.#rooms[uri] = room;
this.#roomsFlat.push(room);
@ -56,6 +68,19 @@ export default (latus) => class Universe extends JsonResource {
return extended;
}
playerForUser(userId) {
return this.#players.find(({user}) => user.id === userId);
}
inform() {
for (let i = 0; i < this.#players.length; ++i) {
this.#players[i].inform();
}
for (let i = 0; i < this.#roomsFlat.length; i++) {
this.#roomsFlat[i].cleanPackets();
}
}
static async load(json = {}) {
if (!json.extends) {
throw new Error('Universe::extendJSON needs a URI');
@ -68,6 +93,14 @@ export default (latus) => class Universe extends JsonResource {
}
start() {
if (!this.#informLoopHandle) {
this.#informLoopHandle = setInterval(
() => {
this.inform();
},
1000 / 60,
);
}
if (!this.#mainLoopHandle) {
// eslint-disable-next-line no-eval
const {performance} = eval('require')('perf_hooks');
@ -85,6 +118,10 @@ export default (latus) => class Universe extends JsonResource {
}
stop() {
if (this.#informLoopHandle) {
clearInterval(this.#informLoopHandle);
this.#informLoopHandle = null;
}
if (this.#mainLoopHandle) {
clearInterval(this.#mainLoopHandle);
this.#mainLoopHandle = null;

View File

@ -1,12 +1,5 @@
// import fs from 'fs';
// import {join} from 'path';
// import {promisify} from 'util';
import {resource} from '@avocado/resource';
import Packets from './packets';
// const access = promisify(fs.access).bind(fs);
import {gatherWithLatus} from '@latus/core';
export default {
hooks: {
@ -21,6 +14,7 @@ export default {
// eslint-disable-next-line no-param-reassign
latus.config['%universe'] = universe;
universe.start();
// eslint-disable-next-line no-console
console.log(`Universe ${running} up and running!`);
}
catch (error) {
@ -30,7 +24,9 @@ export default {
'@latus/http/plugins': (req, {config: {'@humus/universe': {uuid}}}) => ({
'@humus/universe/client': {uuid},
}),
'@latus/socket/packets': Packets,
'@latus/socket/packets': gatherWithLatus(
require.context('./packets', false, /\.js$/),
),
},
};

View File

@ -1,5 +0,0 @@
import Locate from './locate';
export default () => ({
Locate: Locate(),
});

View File

@ -0,0 +1,40 @@
import {dirname, join} from 'path';
import {resource} from '@avocado/resource';
// import {ValidationError} from '@latus/socket';
import Join from '../../packets/join';
export default (latus) => class ServerJoin extends Join() {
// static async validate(packet, {req: {user}}) {
// // if (!user) {
// // throw new ValidationError({code: 401, reason: 'unauthenticated'});
// // }
// }
static async respond(packet, socket) {
// eslint-disable-next-line no-unused-vars
const {req: {user}} = socket;
const {
config: {
'%universe': universe,
},
} = latus;
const player = universe.playerForUser(user ? user.id : 0);
if (player) {
return player.entity.instanceUuid;
}
const {fromResourceType: {Entity}} = resource(latus);
const entity = await Entity.load(
{extends: join(dirname(universe.uri), 'players', user ? user.name : 'cha0s', 'index.entity.json')},
);
universe.addPlayer({
entity,
socket,
user,
});
return entity.instanceUuid;
}
};

View File

@ -1,11 +0,0 @@
import {ValidationError} from '@latus/socket';
import Locate from '../../packets/locate';
export default () => class ServerLocate extends Locate() {
static validate() {
throw new ValidationError({code: 500, reason: 'protocol'});
}
};

View File

@ -18,12 +18,7 @@ export const roomSelector = createSelector(
export const playUniverse = createAsyncThunk(
'humus/universe/play',
async (uuid, {extra: latus}) => {
const {data: {room, selfEntityUuid}} = await socket(latus).send(['Join', uuid]);
const {fromResourceType: {Room}} = resource(latus);
return {
room: await Room.load(room),
selfEntityUuid,
};
await socket(latus).send(['Join', uuid]);
},
);
@ -36,10 +31,6 @@ const slice = createSlice({
},
/* eslint-disable no-param-reassign */
extraReducers: {
[playUniverse.fulfilled]: (state, {payload: {room, selfEntityUuid}}) => {
state.room = room;
state.selfEntityUuid = selfEntityUuid;
},
},
reducers: {
},

View File

@ -0,0 +1,50 @@
import {Rectangle, Vector} from '@avocado/math';
import {Trait} from '@avocado/traits';
import {SenderSynchronizer} from '@avocado/s13n';
export default (latus) => class Informed extends Trait {
static type() {
return 'informed';
}
#synchronizer = new SenderSynchronizer(latus);
destroy() {
this.#synchronizer.destroy();
}
get areaToInform() {
// Reduce entity list to visible.
const {camera} = this.entity;
// Blow up camera rectangle to compensate for camera desync.
const size = Rectangle.size(camera.rectangle);
return Rectangle.expand(
camera.rectangle,
Vector.scale(size, 0.5),
);
}
methods() {
return {
inform: (socket) => {
this.#synchronizer.send(socket, this.entity);
},
addSynchronized: (synchronized) => {
this.#synchronizer.addSynchronized(synchronized);
},
queuePacket: (packet) => {
this.#synchronizer.queuePacket(packet);
},
removeSynchronized: (synchronized) => {
this.#synchronizer.removeSynchronized(synchronized);
},
};
}
};

View File

@ -1,11 +1,17 @@
import {Trait} from '@avocado/traits';
import {StateProperty, Trait} from '@avocado/traits';
export default class Universed extends Trait {
import {compose} from '@latus/core';
const decorate = compose(
StateProperty('currentRoom'),
);
export default () => class Universed extends decorate(Trait) {
static defaultState() {
return {
in: '/rooms/town.room.json',
currentRoom: 'rooms/town.room.json',
};
}
}
};

View File

@ -11,8 +11,8 @@
"@avocado/math@^2.0.0":
version "2.0.0"
resolved "https://npm.i12e.cha0s.io/@avocado%2fmath/-/math-2.0.0.tgz#f38ff5e452f0e4d14706c2f76c260c93c39a5629"
integrity sha512-NRopi3FjG2T3Zh9KqhR+bj/3mkyuWXK2+XYHzMpxZXssRSBrCgY4fW0pq37HAwuybDHVlPXWPinNHTiBFDN2gQ==
resolved "https://npm.i12e.cha0s.io/@avocado%2fmath/-/math-2.0.0.tgz#9150d00b973faa60bb3e9cc023dca892c1920b32"
integrity sha512-LKrgS6kS0SAKaZfS4i1zUU5/PbQs5GH9yKuwZot71D3AFwaWP2rlRdBdZn9+vpf2udMCBfuUFhS7oKzxUEigOQ==
dependencies:
"@avocado/core" "2.0.0"
"@latus/core" "^2.0.0"
@ -32,9 +32,10 @@
"@avocado/s13n@^2.0.0":
version "2.0.0"
resolved "https://npm.i12e.cha0s.io/@avocado%2fs13n/-/s13n-2.0.0.tgz#61bbaf0ac4fa5940ec871e171f6c46c3f14e6569"
integrity sha512-wsOdmJcKvTMmOgsxeYG12PLYXxYsMDOo1i7+Ex67EmwGfqQlNSnF6bfxgjdDVW5D6nKzEU+UnHgtERYTxfiK8Q==
resolved "https://npm.i12e.cha0s.io/@avocado%2fs13n/-/s13n-2.0.0.tgz#f18a1507db07cf66ea9afdc7c435a4d550e20992"
integrity sha512-uOMJIY7JTu4IAu/XvipVGXX39DwmT2mVPUKMGWYjEV+lt2SGrlPpfxHXLEcim5oJ1UBPtRUxOGkdEkhpklNW5Q==
dependencies:
"@avocado/resource" "^2.0.0"
"@latus/core" "2.0.0"
"@latus/socket" "2.0.0"
debug "4.3.1"
@ -42,8 +43,8 @@
"@avocado/traits@^2.0.0":
version "2.0.0"
resolved "https://npm.i12e.cha0s.io/@avocado%2ftraits/-/traits-2.0.0.tgz#be6ef23b30221c344311e3eca7abd075c08e3379"
integrity sha512-fkwuUcXc2h0ZF7Kxb9yz7gM2ttF3vIceV3dnvAG4q3r1d+ShDE49XGP76MOI5+2On3hvXd/W+DuZslOV4gw8Nw==
resolved "https://npm.i12e.cha0s.io/@avocado%2ftraits/-/traits-2.0.0.tgz#8fe4e6781ea1082cb140111c33f299f8fbe7fa0d"
integrity sha512-sGbcGJwp3jfX5wUnGGIZXnRcGRh4EiXu8EMp34rZVCKdRsBL9WUTcmef0WUrX4XCWLtGGSUa2TFvZ+PvZx8f0g==
dependencies:
"@avocado/core" "^2.0.0"
"@avocado/resource" "^2.0.0"
@ -943,8 +944,8 @@
"@latus/core@2.0.0", "@latus/core@^2.0.0":
version "2.0.0"
resolved "https://npm.i12e.cha0s.io/@latus%2fcore/-/core-2.0.0.tgz#47e23fb0df38d8eced598de7126cce146859fd9d"
integrity sha512-Iaejj6IihNcWz1iAgC3s01mlwqOd0YLXM319UGtc+9BUcQ3kAwTV24QSWjsTlJGh3bPK5vKpjGAkzXwBMqYqfA==
resolved "https://npm.i12e.cha0s.io/@latus%2fcore/-/core-2.0.0.tgz#b98b3cecd37e11cfecc3dd25c900b34232c98cf9"
integrity sha512-mVAuCJJzkyXDZjCcZ97+vuForcZl7lIiaxwqHdm73Fo/CgKoCqNXge96LfJ8ZHx+3ypx5Zz3C2+0em1dvEvFLw==
dependencies:
debug "4.3.1"
js-yaml "3.14.0"
@ -952,8 +953,8 @@
"@latus/http@2.0.0":
version "2.0.0"
resolved "https://npm.i12e.cha0s.io/@latus%2fhttp/-/http-2.0.0.tgz#c34fd19001a451ac0986fb30da8f0db21dc74880"
integrity sha512-I3vt+qnXHLh1+e5cOKcNyS/avEvJYWanemZ91J21s08qcbmhSKdyDbfJkDCRoFSTDSOjhITFU9te+bcOWW/Ldg==
resolved "https://npm.i12e.cha0s.io/@latus%2fhttp/-/http-2.0.0.tgz#5d389daa114968b100ffbe2b34323463cc2b761b"
integrity sha512-o0hqr/Mw5Ax8b0wbxQSbQo53PO2Hz4OBIHGzF/H8qypsw3W+vugC2Z7XWG9mDEmHUyXK7NP74Ral4bgjMFZcwQ==
dependencies:
"@latus/core" "2.0.0"
"@neutrinojs/web" "^9.1.0"
@ -986,8 +987,8 @@
"@latus/socket@2.0.0", "@latus/socket@^2.0.0":
version "2.0.0"
resolved "https://npm.i12e.cha0s.io/@latus%2fsocket/-/socket-2.0.0.tgz#9183d1f349033a6ca76f8403fbd743163bb691e9"
integrity sha512-KuMofkVXMTvg5HJTQDq/1BZAoPk+VzpWZ2yAcj741luwOvS/fZeywyQc5WYwvc13LZdSQ8dim2JMOevTBqDAcA==
resolved "https://npm.i12e.cha0s.io/@latus%2fsocket/-/socket-2.0.0.tgz#93991b3bbbb33723210550d5c1ddc63ff3c98792"
integrity sha512-++chVOPPFF1/QJzQqjDOmEqNTM0Mx+Cfc3nQyQGvr+m9dNpq4PGl/MPEtOw4wj/OHJL23ajjTapqHndld6z8Ww==
dependencies:
"@latus/core" "2.0.0"
"@latus/http" "2.0.0"
@ -1207,9 +1208,9 @@
source-map "^0.7.3"
"@types/webpack@^4.4.31", "@types/webpack@^4.41.8":
version "4.41.25"
resolved "https://npm.i12e.cha0s.io/@types%2fwebpack/-/webpack-4.41.25.tgz#4d3b5aecc4e44117b376280fbfd2dc36697968c4"
integrity sha512-cr6kZ+4m9lp86ytQc1jPOJXgINQyz3kLLunZ57jznW+WIAL0JqZbGubQk4GlD42MuQL5JGOABrxdpqqWeovlVQ==
version "4.41.26"
resolved "https://npm.i12e.cha0s.io/@types%2fwebpack/-/webpack-4.41.26.tgz#27a30d7d531e16489f9c7607c747be6bc1a459ef"
integrity sha512-7ZyTfxjCRwexh+EJFwRUM+CDB2XvgHl4vfuqf1ZKrgGvcS5BrNvPQqJh3tsZ0P6h6Aa1qClVHaJZszLPzpqHeA==
dependencies:
"@types/anymatch" "*"
"@types/node" "*"
@ -1763,9 +1764,9 @@ binary-extensions@^1.0.0:
integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==
binary-extensions@^2.0.0:
version "2.1.0"
resolved "https://npm.i12e.cha0s.io/binary-extensions/-/binary-extensions-2.1.0.tgz#30fa40c9e7fe07dbc895678cd287024dea241dd9"
integrity sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==
version "2.2.0"
resolved "https://npm.i12e.cha0s.io/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
bindings@^1.5.0:
version "1.5.0"
@ -2024,12 +2025,12 @@ cache-base@^1.0.1:
unset-value "^1.0.0"
call-bind@^1.0.0:
version "1.0.0"
resolved "https://npm.i12e.cha0s.io/call-bind/-/call-bind-1.0.0.tgz#24127054bb3f9bdcb4b1fb82418186072f77b8ce"
integrity sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==
version "1.0.2"
resolved "https://npm.i12e.cha0s.io/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c"
integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==
dependencies:
function-bind "^1.1.1"
get-intrinsic "^1.0.0"
get-intrinsic "^1.0.2"
callsite@1.0.0:
version "1.0.0"
@ -2068,9 +2069,9 @@ camelcase@^6.0.0:
integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==
caniuse-lite@^1.0.30001173:
version "1.0.30001173"
resolved "https://npm.i12e.cha0s.io/caniuse-lite/-/caniuse-lite-1.0.30001173.tgz#3c47bbe3cd6d7a9eda7f50ac016d158005569f56"
integrity sha512-R3aqmjrICdGCTAnSXtNyvWYMK3YtV5jwudbq0T7nN9k4kmE4CBuwPqyJ+KBzepSTh0huivV2gLbSMEzTTmfeYw==
version "1.0.30001176"
resolved "https://npm.i12e.cha0s.io/caniuse-lite/-/caniuse-lite-1.0.30001176.tgz#e44bac506d4656bae4944a1417f41597bd307335"
integrity sha512-VWdkYmqdkDLRe0lvfJlZQ43rnjKqIGKHWhWWRbkqMsJIUaYDNf/K/sdZZcVO6YKQklubokdkJY+ujArsuJ5cag==
chai@4.2.0:
version "4.2.0"
@ -2856,9 +2857,9 @@ ee-first@1.1.1:
integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
electron-to-chromium@^1.3.634:
version "1.3.635"
resolved "https://npm.i12e.cha0s.io/electron-to-chromium/-/electron-to-chromium-1.3.635.tgz#8d1591eeca6b257d380061a2c04f0b3cc6c9e33b"
integrity sha512-RRriZOLs9CpW6KTLmgBqyUdnY0QNqqWs0HOtuQGGEMizOTNNn1P7sGRBxARnUeLejOsgwjDyRqT3E/CSst02ZQ==
version "1.3.637"
resolved "https://npm.i12e.cha0s.io/electron-to-chromium/-/electron-to-chromium-1.3.637.tgz#be46f77acc217cdecf633bbd25292f6a36cc689b"
integrity sha512-924WXYMYquYybc+7pNApGlhY2RWg3MY3he4BrZ5BUmM2n1MGBsrS+PZxrlo6UAsWuNl4NE66fqFdwsWkBUGgkA==
elliptic@^6.5.3:
version "6.5.3"
@ -2949,10 +2950,10 @@ enhanced-resolve@^0.9.1:
memory-fs "^0.2.0"
tapable "^0.1.8"
enhanced-resolve@^4.1.1, enhanced-resolve@^4.3.0:
version "4.3.0"
resolved "https://npm.i12e.cha0s.io/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz#3b806f3bfafc1ec7de69551ef93cca46c1704126"
integrity sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ==
enhanced-resolve@^4.1.1, enhanced-resolve@^4.5.0:
version "4.5.0"
resolved "https://npm.i12e.cha0s.io/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz#2f3cfd84dbe3b487f18f2db2ef1e064a571ca5ec"
integrity sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==
dependencies:
graceful-fs "^4.1.2"
memory-fs "^0.5.0"
@ -3701,7 +3702,7 @@ get-func-name@^2.0.0:
resolved "https://npm.i12e.cha0s.io/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41"
integrity sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=
get-intrinsic@^1.0.0, get-intrinsic@^1.0.1, get-intrinsic@^1.0.2:
get-intrinsic@^1.0.1, get-intrinsic@^1.0.2:
version "1.0.2"
resolved "https://npm.i12e.cha0s.io/get-intrinsic/-/get-intrinsic-1.0.2.tgz#6820da226e50b24894e08859469dc68361545d49"
integrity sha512-aeX0vrFm21ILl3+JpFFRNe9aUvp6VFZb2/CTbgLb8j75kOhvoNYjt9d8KA/tJG4gSo8nzEDedRl0h7vDmBYRVg==
@ -4880,7 +4881,7 @@ mime-db@1.45.0, "mime-db@>= 1.43.0 < 2":
resolved "https://npm.i12e.cha0s.io/mime-db/-/mime-db-1.45.0.tgz#cceeda21ccd7c3a745eba2decd55d4b73e7879ea"
integrity sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==
mime-types@^2.1.27, mime-types@~2.1.17, mime-types@~2.1.24:
mime-types@^2.1.27, mime-types@^2.1.28, mime-types@~2.1.17, mime-types@~2.1.24:
version "2.1.28"
resolved "https://npm.i12e.cha0s.io/mime-types/-/mime-types-2.1.28.tgz#1160c4757eab2c5363888e005273ecf79d2a0ecd"
integrity sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==
@ -6120,9 +6121,9 @@ regjsgen@^0.5.1:
integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==
regjsparser@^0.6.4:
version "0.6.4"
resolved "https://npm.i12e.cha0s.io/regjsparser/-/regjsparser-0.6.4.tgz#a769f8684308401a66e9b529d2436ff4d0666272"
integrity sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==
version "0.6.6"
resolved "https://npm.i12e.cha0s.io/regjsparser/-/regjsparser-0.6.6.tgz#6d8c939d1a654f78859b08ddcc4aa777f3fa800a"
integrity sha512-jjyuCp+IEMIm3N1H1LLTJW1EISEJV9+5oHdEyrt43Pg9cDSb6rrLZei2cVWpl0xTjmmlpec/lEQGYgM7xfpGCQ==
dependencies:
jsesc "~0.5.0"
@ -6549,9 +6550,9 @@ socket.io-client@2.3.0:
to-array "0.1.4"
socket.io-parser@~3.3.0:
version "3.3.1"
resolved "https://npm.i12e.cha0s.io/socket.io-parser/-/socket.io-parser-3.3.1.tgz#f07d9c8cb3fb92633aa93e76d98fd3a334623199"
integrity sha512-1QLvVAe8dTz+mKmZ07Swxt+LAo4Y1ff50rlyoEx00TQmDFVQYPfcqGvIDJLGaBdhdNCecXtyKpD+EgKGcmmbuQ==
version "3.3.2"
resolved "https://npm.i12e.cha0s.io/socket.io-parser/-/socket.io-parser-3.3.2.tgz#ef872009d0adcf704f2fbe830191a14752ad50b6"
integrity sha512-FJvDBuOALxdCI9qwRrO/Rfp9yfndRtc1jSgVgV8FDraihmSP/MLGD5PEuJrNfjALvcQ+vMDM/33AWOYP/JSjDg==
dependencies:
component-emitter "~1.3.0"
debug "~3.1.0"
@ -7184,9 +7185,9 @@ upper-case@^1.1.1:
integrity sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=
uri-js@^4.2.2:
version "4.4.0"
resolved "https://npm.i12e.cha0s.io/uri-js/-/uri-js-4.4.0.tgz#aa714261de793e8a82347a7bcc9ce74e86f28602"
integrity sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==
version "4.4.1"
resolved "https://npm.i12e.cha0s.io/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e"
integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==
dependencies:
punycode "^2.1.0"
@ -7357,13 +7358,14 @@ webpack-dev-middleware@^3.7.2:
webpack-log "^2.0.0"
webpack-dev-middleware@^4.0.2:
version "4.0.2"
resolved "https://npm.i12e.cha0s.io/webpack-dev-middleware/-/webpack-dev-middleware-4.0.2.tgz#1436ae6cacee78475bd6bc1fbf063dfbfd6e577d"
integrity sha512-xyAICqIugWtT1RRH5aMMmZlPhDhEqPTDL0TWhmMZsuZ+cFlAvRxv4thCbuxdk9MW+OYK4c9BkfmgdQ1/7imkJA==
version "4.0.3"
resolved "https://npm.i12e.cha0s.io/webpack-dev-middleware/-/webpack-dev-middleware-4.0.3.tgz#71a846f825cf44999edd3a58a07d8cafae0c2283"
integrity sha512-mjZrPmR6b55A6nHZY6ylh+ncwK7PXbx7KJ4uU02ThXPFlpDj/PN8YlCl12uhe4OZU94lx1rjy9a4UH99IZbWQA==
dependencies:
colorette "^1.2.1"
mem "^8.0.0"
memfs "^3.2.0"
mime-types "^2.1.27"
mime-types "^2.1.28"
range-parser "^1.2.1"
schema-utils "^3.0.0"
@ -7438,9 +7440,9 @@ webpack-virtual-modules@^0.4.1:
integrity sha512-BH/RKOHk223WdBDLFqghztx3DF5AqR3CKg3ue1KN9S1SAaXP68Kj/4rF0lsdysxXaanzx7aWl1u0+lnfj7+OtQ==
webpack@^4:
version "4.45.0"
resolved "https://npm.i12e.cha0s.io/webpack/-/webpack-4.45.0.tgz#bcdc1ddb43959adb47f8974e60d944027267c1be"
integrity sha512-JhDaVi4CbRcwLLAoqC7eugMSMJnZbIfE2AyjaZ19pnOIh/R2O/lXOiXA2tQFN0iXEcxgpPJsPJHW2wOWqiTLcw==
version "4.46.0"
resolved "https://npm.i12e.cha0s.io/webpack/-/webpack-4.46.0.tgz#bf9b4404ea20a073605e0a011d188d77cb6ad542"
integrity sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==
dependencies:
"@webassemblyjs/ast" "1.9.0"
"@webassemblyjs/helper-module-context" "1.9.0"
@ -7450,7 +7452,7 @@ webpack@^4:
ajv "^6.10.2"
ajv-keywords "^3.4.1"
chrome-trace-event "^1.0.2"
enhanced-resolve "^4.3.0"
enhanced-resolve "^4.5.0"
eslint-scope "^4.0.3"
json-parse-better-errors "^1.0.2"
loader-runner "^2.4.0"