summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjdlugosz963 <jdlugosz963@gmail.com>2021-12-15 22:46:44 +0100
committerjdlugosz963 <jdlugosz963@gmail.com>2021-12-15 22:46:44 +0100
commita958abb1e08d7cf23829dc207a1cdd62344fd1a1 (patch)
treedfe2c1da603a16ffdc5b90579d448bd5494eea2d
downloadlom_socket-a958abb1e08d7cf23829dc207a1cdd62344fd1a1.tar.gz
lom_socket-a958abb1e08d7cf23829dc207a1cdd62344fd1a1.zip
very simple chat socketsHEADmaster
-rw-r--r--.gitignore1
-rw-r--r--index.js83
-rw-r--r--package-lock.json1289
-rw-r--r--package.json18
4 files changed, 1391 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..c2658d7
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
node_modules/
diff --git a/index.js b/index.js
new file mode 100644
index 0000000..a717a41
--- /dev/null
+++ b/index.js
@@ -0,0 +1,83 @@
1const express = require("express");
2const app = express();
3const socket = require("socket.io");
4const cors = require("cors");
5const axios = require("axios");
6
7const port = 8001;
8
9app.use(express());
10app.use(cors());
11
12var server = app.listen(
13 port,
14 console.log(`Server is running on port: ${port} `)
15);
16
17const io = socket(server);
18
19io.use((socket, next) => {
20 let token = socket.handshake.auth.token;
21
22 let config = {
23 headers: {
24 Authorization: `Token ${token}`,
25 }
26 }
27
28 axios.get(
29 'http://127.0.0.1:8000/api/auth/info/',
30 config
31 )
32 .then((res) => {
33 if(res.status === 200) {
34 socket.userInfo = res.data.user;
35 socket._config = config;
36 socket.roomID = null;
37 next();
38 }
39 })
40 .catch(error => { });
41
42 return next(new Error("Invalid token"))
43});
44
45
46io.on("connection", (socket) => {
47 console.log(`${socket.userInfo.username}, connected!`);
48
49 socket.on('send_group_message', ({message, group}) => {
50 axios.post(
51 `http://127.0.0.1:8000/api/chat/groups/detail/${group.id}/messages/`,
52 {message: message},
53 socket._config
54 ).then(res => {
55 res_message = res.data
56
57 user_message = {...res_message}
58 other_message = {...res_message}
59
60 user_message["is_mine"] = true
61 other_message["is_mine"] = false
62
63 socket.emit("receive_group_message", {message: user_message});
64 socket.broadcast.to(group.id).emit("receive_group_message", {message: other_message});
65 }).catch(err => { })
66 });
67
68 socket.on('join_group', ({group_id}) => {
69 axios.get(
70 `http://127.0.0.1:8000/api/chat/groups/detail/${group_id}/`,
71 socket._config
72 )
73 .then((res) => {
74 if(res.status === 200)
75 socket.join(group_id);
76 }).catch(error => { });
77 })
78
79
80 socket.on("disconnect", () => {
81 console.log(`${socket.userInfo.username} disconnected!`);
82 });
83});
diff --git a/package-lock.json b/package-lock.json
new file mode 100644
index 0000000..a62fc60
--- /dev/null
+++ b/package-lock.json
@@ -0,0 +1,1289 @@
1{
2 "name": "lom_socket",
3 "version": "1.0.0",
4 "lockfileVersion": 2,
5 "requires": true,
6 "packages": {
7 "": {
8 "name": "lom_socket",
9 "version": "1.0.0",
10 "license": "ISC",
11 "dependencies": {
12 "axios": "^0.24.0",
13 "cors": "^2.8.5",
14 "express": "^4.17.1",
15 "socket.io": "^4.1.3"
16 }
17 },
18 "node_modules/@types/component-emitter": {
19 "version": "1.2.11",
20 "resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.11.tgz",
21 "integrity": "sha512-SRXjM+tfsSlA9VuG8hGO2nft2p8zjXCK1VcC6N4NXbBbYbSia9kzCChYQajIjzIqOOOuh5Ock6MmV2oux4jDZQ=="
22 },
23 "node_modules/@types/cookie": {
24 "version": "0.4.1",
25 "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz",
26 "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q=="
27 },
28 "node_modules/@types/cors": {
29 "version": "2.8.12",
30 "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz",
31 "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw=="
32 },
33 "node_modules/@types/node": {
34 "version": "16.11.13",
35 "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.13.tgz",
36 "integrity": "sha512-eUXZzHLHoZqj1frtUetNkUetYoJ6X55UmrVnFD4DMhVeAmwLjniZhtBmsRiemQh4uq4G3vUra/Ws/hs9vEvL3Q=="
37 },
38 "node_modules/accepts": {
39 "version": "1.3.7",
40 "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
41 "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
42 "dependencies": {
43 "mime-types": "~2.1.24",
44 "negotiator": "0.6.2"
45 },
46 "engines": {
47 "node": ">= 0.6"
48 }
49 },
50 "node_modules/array-flatten": {
51 "version": "1.1.1",
52 "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
53 "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
54 },
55 "node_modules/axios": {
56 "version": "0.24.0",
57 "resolved": "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz",
58 "integrity": "sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==",
59 "dependencies": {
60 "follow-redirects": "^1.14.4"
61 }
62 },
63 "node_modules/base64-arraybuffer": {
64 "version": "0.1.4",
65 "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz",
66 "integrity": "sha1-mBjHngWbE1X5fgQooBfIOOkLqBI=",
67 "engines": {
68 "node": ">= 0.6.0"
69 }
70 },
71 "node_modules/base64id": {
72 "version": "2.0.0",
73 "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz",
74 "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==",
75 "engines": {
76 "node": "^4.5.0 || >= 5.9"
77 }
78 },
79 "node_modules/body-parser": {
80 "version": "1.19.0",
81 "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
82 "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==",
83 "dependencies": {
84 "bytes": "3.1.0",
85 "content-type": "~1.0.4",
86 "debug": "2.6.9",
87 "depd": "~1.1.2",
88 "http-errors": "1.7.2",
89 "iconv-lite": "0.4.24",
90 "on-finished": "~2.3.0",
91 "qs": "6.7.0",
92 "raw-body": "2.4.0",
93 "type-is": "~1.6.17"
94 },
95 "engines": {
96 "node": ">= 0.8"
97 }
98 },
99 "node_modules/body-parser/node_modules/debug": {
100 "version": "2.6.9",
101 "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
102 "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
103 "dependencies": {
104 "ms": "2.0.0"
105 }
106 },
107 "node_modules/body-parser/node_modules/ms": {
108 "version": "2.0.0",
109 "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
110 "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
111 },
112 "node_modules/bytes": {
113 "version": "3.1.0",
114 "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
115 "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==",
116 "engines": {
117 "node": ">= 0.8"
118 }
119 },
120 "node_modules/component-emitter": {
121 "version": "1.3.0",
122 "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
123 "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg=="
124 },
125 "node_modules/content-disposition": {
126 "version": "0.5.3",
127 "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz",
128 "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==",
129 "dependencies": {
130 "safe-buffer": "5.1.2"
131 },
132 "engines": {
133 "node": ">= 0.6"
134 }
135 },
136 "node_modules/content-type": {
137 "version": "1.0.4",
138 "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
139 "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
140 "engines": {
141 "node": ">= 0.6"
142 }
143 },
144 "node_modules/cookie": {
145 "version": "0.4.1",
146 "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz",
147 "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==",
148 "engines": {
149 "node": ">= 0.6"
150 }
151 },
152 "node_modules/cookie-signature": {
153 "version": "1.0.6",
154 "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
155 "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
156 },
157 "node_modules/cors": {
158 "version": "2.8.5",
159 "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
160 "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
161 "dependencies": {
162 "object-assign": "^4",
163 "vary": "^1"
164 },
165 "engines": {
166 "node": ">= 0.10"
167 }
168 },
169 "node_modules/debug": {
170 "version": "4.3.3",
171 "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
172 "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==",
173 "dependencies": {
174 "ms": "2.1.2"
175 },
176 "engines": {
177 "node": ">=6.0"
178 },
179 "peerDependenciesMeta": {
180 "supports-color": {
181 "optional": true
182 }
183 }
184 },
185 "node_modules/depd": {
186 "version": "1.1.2",
187 "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
188 "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
189 "engines": {
190 "node": ">= 0.6"
191 }
192 },
193 "node_modules/destroy": {
194 "version": "1.0.4",
195 "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
196 "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
197 },
198 "node_modules/ee-first": {
199 "version": "1.1.1",
200 "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
201 "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
202 },
203 "node_modules/encodeurl": {
204 "version": "1.0.2",
205 "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
206 "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
207 "engines": {
208 "node": ">= 0.8"
209 }
210 },
211 "node_modules/engine.io": {
212 "version": "5.1.1",
213 "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-5.1.1.tgz",
214 "integrity": "sha512-aMWot7H5aC8L4/T8qMYbLdvKlZOdJTH54FxfdFunTGvhMx1BHkJOntWArsVfgAZVwAO9LC2sryPWRcEeUzCe5w==",
215 "dependencies": {
216 "accepts": "~1.3.4",
217 "base64id": "2.0.0",
218 "cookie": "~0.4.1",
219 "cors": "~2.8.5",
220 "debug": "~4.3.1",
221 "engine.io-parser": "~4.0.0",
222 "ws": "~7.4.2"
223 },
224 "engines": {
225 "node": ">=10.0.0"
226 }
227 },
228 "node_modules/engine.io-parser": {
229 "version": "4.0.3",
230 "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-4.0.3.tgz",
231 "integrity": "sha512-xEAAY0msNnESNPc00e19y5heTPX4y/TJ36gr8t1voOaNmTojP9b3oK3BbJLFufW2XFPQaaijpFewm2g2Um3uqA==",
232 "dependencies": {
233 "base64-arraybuffer": "0.1.4"
234 },
235 "engines": {
236 "node": ">=8.0.0"
237 }
238 },
239 "node_modules/escape-html": {
240 "version": "1.0.3",
241 "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
242 "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
243 },
244 "node_modules/etag": {
245 "version": "1.8.1",
246 "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
247 "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
248 "engines": {
249 "node": ">= 0.6"
250 }
251 },
252 "node_modules/express": {
253 "version": "4.17.1",
254 "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
255 "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==",
256 "dependencies": {
257 "accepts": "~1.3.7",
258 "array-flatten": "1.1.1",
259 "body-parser": "1.19.0",
260 "content-disposition": "0.5.3",
261 "content-type": "~1.0.4",
262 "cookie": "0.4.0",
263 "cookie-signature": "1.0.6",
264 "debug": "2.6.9",
265 "depd": "~1.1.2",
266 "encodeurl": "~1.0.2",
267 "escape-html": "~1.0.3",
268 "etag": "~1.8.1",
269 "finalhandler": "~1.1.2",
270 "fresh": "0.5.2",
271 "merge-descriptors": "1.0.1",
272 "methods": "~1.1.2",
273 "on-finished": "~2.3.0",
274 "parseurl": "~1.3.3",
275 "path-to-regexp": "0.1.7",
276 "proxy-addr": "~2.0.5",
277 "qs": "6.7.0",
278 "range-parser": "~1.2.1",
279 "safe-buffer": "5.1.2",
280 "send": "0.17.1",
281 "serve-static": "1.14.1",
282 "setprototypeof": "1.1.1",
283 "statuses": "~1.5.0",
284 "type-is": "~1.6.18",
285 "utils-merge": "1.0.1",
286 "vary": "~1.1.2"
287 },
288 "engines": {
289 "node": ">= 0.10.0"
290 }
291 },
292 "node_modules/express/node_modules/cookie": {
293 "version": "0.4.0",
294 "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz",
295 "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==",
296 "engines": {
297 "node": ">= 0.6"
298 }
299 },
300 "node_modules/express/node_modules/debug": {
301 "version": "2.6.9",
302 "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
303 "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
304 "dependencies": {
305 "ms": "2.0.0"
306 }
307 },
308 "node_modules/express/node_modules/ms": {
309 "version": "2.0.0",
310 "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
311 "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
312 },
313 "node_modules/finalhandler": {
314 "version": "1.1.2",
315 "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
316 "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
317 "dependencies": {
318 "debug": "2.6.9",
319 "encodeurl": "~1.0.2",
320 "escape-html": "~1.0.3",
321 "on-finished": "~2.3.0",
322 "parseurl": "~1.3.3",
323 "statuses": "~1.5.0",
324 "unpipe": "~1.0.0"
325 },
326 "engines": {
327 "node": ">= 0.8"
328 }
329 },
330 "node_modules/finalhandler/node_modules/debug": {
331 "version": "2.6.9",
332 "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
333 "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
334 "dependencies": {
335 "ms": "2.0.0"
336 }
337 },
338 "node_modules/finalhandler/node_modules/ms": {
339 "version": "2.0.0",
340 "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
341 "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
342 },
343 "node_modules/follow-redirects": {
344 "version": "1.14.6",
345 "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.6.tgz",
346 "integrity": "sha512-fhUl5EwSJbbl8AR+uYL2KQDxLkdSjZGR36xy46AO7cOMTrCMON6Sa28FmAnC2tRTDbd/Uuzz3aJBv7EBN7JH8A==",
347 "funding": [
348 {
349 "type": "individual",
350 "url": "https://github.com/sponsors/RubenVerborgh"
351 }
352 ],
353 "engines": {
354 "node": ">=4.0"
355 },
356 "peerDependenciesMeta": {
357 "debug": {
358 "optional": true
359 }
360 }
361 },
362 "node_modules/forwarded": {
363 "version": "0.2.0",
364 "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
365 "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
366 "engines": {
367 "node": ">= 0.6"
368 }
369 },
370 "node_modules/fresh": {
371 "version": "0.5.2",
372 "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
373 "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=",
374 "engines": {
375 "node": ">= 0.6"
376 }
377 },
378 "node_modules/http-errors": {
379 "version": "1.7.2",
380 "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
381 "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==",
382 "dependencies": {
383 "depd": "~1.1.2",
384 "inherits": "2.0.3",
385 "setprototypeof": "1.1.1",
386 "statuses": ">= 1.5.0 < 2",
387 "toidentifier": "1.0.0"
388 },
389 "engines": {
390 "node": ">= 0.6"
391 }
392 },
393 "node_modules/iconv-lite": {
394 "version": "0.4.24",
395 "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
396 "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
397 "dependencies": {
398 "safer-buffer": ">= 2.1.2 < 3"
399 },
400 "engines": {
401 "node": ">=0.10.0"
402 }
403 },
404 "node_modules/inherits": {
405 "version": "2.0.3",
406 "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
407 "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
408 },
409 "node_modules/ipaddr.js": {
410 "version": "1.9.1",
411 "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
412 "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
413 "engines": {
414 "node": ">= 0.10"
415 }
416 },
417 "node_modules/media-typer": {
418 "version": "0.3.0",
419 "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
420 "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
421 "engines": {
422 "node": ">= 0.6"
423 }
424 },
425 "node_modules/merge-descriptors": {
426 "version": "1.0.1",
427 "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
428 "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E="
429 },
430 "node_modules/methods": {
431 "version": "1.1.2",
432 "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
433 "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=",
434 "engines": {
435 "node": ">= 0.6"
436 }
437 },
438 "node_modules/mime": {
439 "version": "1.6.0",
440 "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
441 "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
442 "bin": {
443 "mime": "cli.js"
444 },
445 "engines": {
446 "node": ">=4"
447 }
448 },
449 "node_modules/mime-db": {
450 "version": "1.51.0",
451 "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz",
452 "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==",
453 "engines": {
454 "node": ">= 0.6"
455 }
456 },
457 "node_modules/mime-types": {
458 "version": "2.1.34",
459 "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz",
460 "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==",
461 "dependencies": {
462 "mime-db": "1.51.0"
463 },
464 "engines": {
465 "node": ">= 0.6"
466 }
467 },
468 "node_modules/ms": {
469 "version": "2.1.2",
470 "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
471 "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
472 },
473 "node_modules/negotiator": {
474 "version": "0.6.2",
475 "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
476 "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==",
477 "engines": {
478 "node": ">= 0.6"
479 }
480 },
481 "node_modules/object-assign": {
482 "version": "4.1.1",
483 "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
484 "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
485 "engines": {
486 "node": ">=0.10.0"
487 }
488 },
489 "node_modules/on-finished": {
490 "version": "2.3.0",
491 "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
492 "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
493 "dependencies": {
494 "ee-first": "1.1.1"
495 },
496 "engines": {
497 "node": ">= 0.8"
498 }
499 },
500 "node_modules/parseurl": {
501 "version": "1.3.3",
502 "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
503 "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
504 "engines": {
505 "node": ">= 0.8"
506 }
507 },
508 "node_modules/path-to-regexp": {
509 "version": "0.1.7",
510 "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
511 "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
512 },
513 "node_modules/proxy-addr": {
514 "version": "2.0.7",
515 "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
516 "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
517 "dependencies": {
518 "forwarded": "0.2.0",
519 "ipaddr.js": "1.9.1"
520 },
521 "engines": {
522 "node": ">= 0.10"
523 }
524 },
525 "node_modules/qs": {
526 "version": "6.7.0",
527 "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
528 "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==",
529 "engines": {
530 "node": ">=0.6"
531 }
532 },
533 "node_modules/range-parser": {
534 "version": "1.2.1",
535 "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
536 "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
537 "engines": {
538 "node": ">= 0.6"
539 }
540 },
541 "node_modules/raw-body": {
542 "version": "2.4.0",
543 "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz",
544 "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==",
545 "dependencies": {
546 "bytes": "3.1.0",
547 "http-errors": "1.7.2",
548 "iconv-lite": "0.4.24",
549 "unpipe": "1.0.0"
550 },
551 "engines": {
552 "node": ">= 0.8"
553 }
554 },
555 "node_modules/safe-buffer": {
556 "version": "5.1.2",
557 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
558 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
559 },
560 "node_modules/safer-buffer": {
561 "version": "2.1.2",
562 "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
563 "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
564 },
565 "node_modules/send": {
566 "version": "0.17.1",
567 "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
568 "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==",
569 "dependencies": {
570 "debug": "2.6.9",
571 "depd": "~1.1.2",
572 "destroy": "~1.0.4",
573 "encodeurl": "~1.0.2",
574 "escape-html": "~1.0.3",
575 "etag": "~1.8.1",
576 "fresh": "0.5.2",
577 "http-errors": "~1.7.2",
578 "mime": "1.6.0",
579 "ms": "2.1.1",
580 "on-finished": "~2.3.0",
581 "range-parser": "~1.2.1",
582 "statuses": "~1.5.0"
583 },
584 "engines": {
585 "node": ">= 0.8.0"
586 }
587 },
588 "node_modules/send/node_modules/debug": {
589 "version": "2.6.9",
590 "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
591 "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
592 "dependencies": {
593 "ms": "2.0.0"
594 }
595 },
596 "node_modules/send/node_modules/debug/node_modules/ms": {
597 "version": "2.0.0",
598 "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
599 "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
600 },
601 "node_modules/send/node_modules/ms": {
602 "version": "2.1.1",
603 "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
604 "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg=="
605 },
606 "node_modules/serve-static": {
607 "version": "1.14.1",
608 "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz",
609 "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==",
610 "dependencies": {
611 "encodeurl": "~1.0.2",
612 "escape-html": "~1.0.3",
613 "parseurl": "~1.3.3",
614 "send": "0.17.1"
615 },
616 "engines": {
617 "node": ">= 0.8.0"
618 }
619 },
620 "node_modules/setprototypeof": {
621 "version": "1.1.1",
622 "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
623 "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw=="
624 },
625 "node_modules/socket.io": {
626 "version": "4.1.3",
627 "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.1.3.tgz",
628 "integrity": "sha512-tLkaY13RcO4nIRh1K2hT5iuotfTaIQw7cVIe0FUykN3SuQi0cm7ALxuyT5/CtDswOMWUzMGTibxYNx/gU7In+Q==",
629 "dependencies": {
630 "@types/cookie": "^0.4.0",
631 "@types/cors": "^2.8.10",
632 "@types/node": ">=10.0.0",
633 "accepts": "~1.3.4",
634 "base64id": "~2.0.0",
635 "debug": "~4.3.1",
636 "engine.io": "~5.1.1",
637 "socket.io-adapter": "~2.3.1",
638 "socket.io-parser": "~4.0.4"
639 },
640 "engines": {
641 "node": ">=10.0.0"
642 }
643 },
644 "node_modules/socket.io-adapter": {
645 "version": "2.3.3",
646 "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.3.3.tgz",
647 "integrity": "sha512-Qd/iwn3VskrpNO60BeRyCyr8ZWw9CPZyitW4AQwmRZ8zCiyDiL+znRnWX6tDHXnWn1sJrM1+b6Mn6wEDJJ4aYQ=="
648 },
649 "node_modules/socket.io-parser": {
650 "version": "4.0.4",
651 "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz",
652 "integrity": "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==",
653 "dependencies": {
654 "@types/component-emitter": "^1.2.10",
655 "component-emitter": "~1.3.0",
656 "debug": "~4.3.1"
657 },
658 "engines": {
659 "node": ">=10.0.0"
660 }
661 },
662 "node_modules/statuses": {
663 "version": "1.5.0",
664 "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
665 "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
666 "engines": {
667 "node": ">= 0.6"
668 }
669 },
670 "node_modules/toidentifier": {
671 "version": "1.0.0",
672 "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
673 "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==",
674 "engines": {
675 "node": ">=0.6"
676 }
677 },
678 "node_modules/type-is": {
679 "version": "1.6.18",
680 "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
681 "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
682 "dependencies": {
683 "media-typer": "0.3.0",
684 "mime-types": "~2.1.24"
685 },
686 "engines": {
687 "node": ">= 0.6"
688 }
689 },
690 "node_modules/unpipe": {
691 "version": "1.0.0",
692 "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
693 "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
694 "engines": {
695 "node": ">= 0.8"
696 }
697 },
698 "node_modules/utils-merge": {
699 "version": "1.0.1",
700 "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
701 "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",
702 "engines": {
703 "node": ">= 0.4.0"
704 }
705 },
706 "node_modules/vary": {
707 "version": "1.1.2",
708 "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
709 "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
710 "engines": {
711 "node": ">= 0.8"
712 }
713 },
714 "node_modules/ws": {
715 "version": "7.4.6",
716 "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz",
717 "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==",
718 "engines": {
719 "node": ">=8.3.0"
720 },
721 "peerDependencies": {
722 "bufferutil": "^4.0.1",
723 "utf-8-validate": "^5.0.2"
724 },
725 "peerDependenciesMeta": {
726 "bufferutil": {
727 "optional": true
728 },
729 "utf-8-validate": {
730 "optional": true
731 }
732 }
733 }
734 },
735 "dependencies": {
736 "@types/component-emitter": {
737 "version": "1.2.11",
738 "resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.11.tgz",
739 "integrity": "sha512-SRXjM+tfsSlA9VuG8hGO2nft2p8zjXCK1VcC6N4NXbBbYbSia9kzCChYQajIjzIqOOOuh5Ock6MmV2oux4jDZQ=="
740 },
741 "@types/cookie": {
742 "version": "0.4.1",
743 "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz",
744 "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q=="
745 },
746 "@types/cors": {
747 "version": "2.8.12",
748 "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz",
749 "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw=="
750 },
751 "@types/node": {
752 "version": "16.11.13",
753 "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.13.tgz",
754 "integrity": "sha512-eUXZzHLHoZqj1frtUetNkUetYoJ6X55UmrVnFD4DMhVeAmwLjniZhtBmsRiemQh4uq4G3vUra/Ws/hs9vEvL3Q=="
755 },
756 "accepts": {
757 "version": "1.3.7",
758 "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
759 "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
760 "requires": {
761 "mime-types": "~2.1.24",
762 "negotiator": "0.6.2"
763 }
764 },
765 "array-flatten": {
766 "version": "1.1.1",
767 "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
768 "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
769 },
770 "axios": {
771 "version": "0.24.0",
772 "resolved": "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz",
773 "integrity": "sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==",
774 "requires": {
775 "follow-redirects": "^1.14.4"
776 }
777 },
778 "base64-arraybuffer": {
779 "version": "0.1.4",
780 "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz",
781 "integrity": "sha1-mBjHngWbE1X5fgQooBfIOOkLqBI="
782 },
783 "base64id": {
784 "version": "2.0.0",
785 "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz",
786 "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog=="
787 },
788 "body-parser": {
789 "version": "1.19.0",
790 "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
791 "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==",
792 "requires": {
793 "bytes": "3.1.0",
794 "content-type": "~1.0.4",
795 "debug": "2.6.9",
796 "depd": "~1.1.2",
797 "http-errors": "1.7.2",
798 "iconv-lite": "0.4.24",
799 "on-finished": "~2.3.0",
800 "qs": "6.7.0",
801 "raw-body": "2.4.0",
802 "type-is": "~1.6.17"
803 },
804 "dependencies": {
805 "debug": {
806 "version": "2.6.9",
807 "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
808 "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
809 "requires": {
810 "ms": "2.0.0"
811 }
812 },
813 "ms": {
814 "version": "2.0.0",
815 "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
816 "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
817 }
818 }
819 },
820 "bytes": {
821 "version": "3.1.0",
822 "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
823 "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg=="
824 },
825 "component-emitter": {
826 "version": "1.3.0",
827 "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
828 "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg=="
829 },
830 "content-disposition": {
831 "version": "0.5.3",
832 "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz",
833 "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==",
834 "requires": {
835 "safe-buffer": "5.1.2"
836 }
837 },
838 "content-type": {
839 "version": "1.0.4",
840 "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
841 "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA=="
842 },
843 "cookie": {
844 "version": "0.4.1",
845 "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz",
846 "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA=="
847 },
848 "cookie-signature": {
849 "version": "1.0.6",
850 "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
851 "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
852 },
853 "cors": {
854 "version": "2.8.5",
855 "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
856 "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
857 "requires": {
858 "object-assign": "^4",
859 "vary": "^1"
860 }
861 },
862 "debug": {
863 "version": "4.3.3",
864 "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
865 "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==",
866 "requires": {
867 "ms": "2.1.2"
868 }
869 },
870 "depd": {
871 "version": "1.1.2",
872 "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
873 "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
874 },
875 "destroy": {
876 "version": "1.0.4",
877 "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
878 "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
879 },
880 "ee-first": {
881 "version": "1.1.1",
882 "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
883 "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
884 },
885 "encodeurl": {
886 "version": "1.0.2",
887 "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
888 "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
889 },
890 "engine.io": {
891 "version": "5.1.1",
892 "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-5.1.1.tgz",
893 "integrity": "sha512-aMWot7H5aC8L4/T8qMYbLdvKlZOdJTH54FxfdFunTGvhMx1BHkJOntWArsVfgAZVwAO9LC2sryPWRcEeUzCe5w==",
894 "requires": {
895 "accepts": "~1.3.4",
896 "base64id": "2.0.0",
897 "cookie": "~0.4.1",
898 "cors": "~2.8.5",
899 "debug": "~4.3.1",
900 "engine.io-parser": "~4.0.0",
901 "ws": "~7.4.2"
902 }
903 },
904 "engine.io-parser": {
905 "version": "4.0.3",
906 "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-4.0.3.tgz",
907 "integrity": "sha512-xEAAY0msNnESNPc00e19y5heTPX4y/TJ36gr8t1voOaNmTojP9b3oK3BbJLFufW2XFPQaaijpFewm2g2Um3uqA==",
908 "requires": {
909 "base64-arraybuffer": "0.1.4"
910 }
911 },
912 "escape-html": {
913 "version": "1.0.3",
914 "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
915 "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
916 },
917 "etag": {
918 "version": "1.8.1",
919 "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
920 "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
921 },
922 "express": {
923 "version": "4.17.1",
924 "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
925 "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==",
926 "requires": {
927 "accepts": "~1.3.7",
928 "array-flatten": "1.1.1",
929 "body-parser": "1.19.0",
930 "content-disposition": "0.5.3",
931 "content-type": "~1.0.4",
932 "cookie": "0.4.0",
933 "cookie-signature": "1.0.6",
934 "debug": "2.6.9",
935 "depd": "~1.1.2",
936 "encodeurl": "~1.0.2",
937 "escape-html": "~1.0.3",
938 "etag": "~1.8.1",
939 "finalhandler": "~1.1.2",
940 "fresh": "0.5.2",
941 "merge-descriptors": "1.0.1",
942 "methods": "~1.1.2",
943 "on-finished": "~2.3.0",
944 "parseurl": "~1.3.3",
945 "path-to-regexp": "0.1.7",
946 "proxy-addr": "~2.0.5",
947 "qs": "6.7.0",
948 "range-parser": "~1.2.1",
949 "safe-buffer": "5.1.2",
950 "send": "0.17.1",
951 "serve-static": "1.14.1",
952 "setprototypeof": "1.1.1",
953 "statuses": "~1.5.0",
954 "type-is": "~1.6.18",
955 "utils-merge": "1.0.1",
956 "vary": "~1.1.2"
957 },
958 "dependencies": {
959 "cookie": {
960 "version": "0.4.0",
961 "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz",
962 "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg=="
963 },
964 "debug": {
965 "version": "2.6.9",
966 "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
967 "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
968 "requires": {
969 "ms": "2.0.0"
970 }
971 },
972 "ms": {
973 "version": "2.0.0",
974 "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
975 "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
976 }
977 }
978 },
979 "finalhandler": {
980 "version": "1.1.2",
981 "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
982 "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
983 "requires": {
984 "debug": "2.6.9",
985 "encodeurl": "~1.0.2",
986 "escape-html": "~1.0.3",
987 "on-finished": "~2.3.0",
988 "parseurl": "~1.3.3",
989 "statuses": "~1.5.0",
990 "unpipe": "~1.0.0"
991 },
992 "dependencies": {
993 "debug": {
994 "version": "2.6.9",
995 "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
996 "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
997 "requires": {
998 "ms": "2.0.0"
999 }
1000 },
1001 "ms": {
1002 "version": "2.0.0",
1003 "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
1004 "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
1005 }
1006 }
1007 },
1008 "follow-redirects": {
1009 "version": "1.14.6",
1010 "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.6.tgz",
1011 "integrity": "sha512-fhUl5EwSJbbl8AR+uYL2KQDxLkdSjZGR36xy46AO7cOMTrCMON6Sa28FmAnC2tRTDbd/Uuzz3aJBv7EBN7JH8A=="
1012 },
1013 "forwarded": {
1014 "version": "0.2.0",
1015 "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
1016 "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow=="
1017 },
1018 "fresh": {
1019 "version": "0.5.2",
1020 "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
1021 "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
1022 },
1023 "http-errors": {
1024 "version": "1.7.2",
1025 "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
1026 "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==",
1027 "requires": {
1028 "depd": "~1.1.2",
1029 "inherits": "2.0.3",
1030 "setprototypeof": "1.1.1",
1031 "statuses": ">= 1.5.0 < 2",
1032 "toidentifier": "1.0.0"
1033 }
1034 },
1035 "iconv-lite": {
1036 "version": "0.4.24",
1037 "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
1038 "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
1039 "requires": {
1040 "safer-buffer": ">= 2.1.2 < 3"
1041 }
1042 },
1043 "inherits": {
1044 "version": "2.0.3",
1045 "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
1046 "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
1047 },
1048 "ipaddr.js": {
1049 "version": "1.9.1",
1050 "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
1051 "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g=="
1052 },
1053 "media-typer": {
1054 "version": "0.3.0",
1055 "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
1056 "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
1057 },
1058 "merge-descriptors": {
1059 "version": "1.0.1",
1060 "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
1061 "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E="
1062 },
1063 "methods": {
1064 "version": "1.1.2",
1065 "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
1066 "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4="
1067 },
1068 "mime": {
1069 "version": "1.6.0",
1070 "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
1071 "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="
1072 },
1073 "mime-db": {
1074 "version": "1.51.0",
1075 "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz",
1076 "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g=="
1077 },
1078 "mime-types": {
1079 "version": "2.1.34",
1080 "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz",
1081 "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==",
1082 "requires": {
1083 "mime-db": "1.51.0"
1084 }
1085 },
1086 "ms": {
1087 "version": "2.1.2",
1088 "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
1089 "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
1090 },
1091 "negotiator": {
1092 "version": "0.6.2",
1093 "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
1094 "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw=="
1095 },
1096 "object-assign": {
1097 "version": "4.1.1",
1098 "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
1099 "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
1100 },
1101 "on-finished": {
1102 "version": "2.3.0",
1103 "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
1104 "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
1105 "requires": {
1106 "ee-first": "1.1.1"
1107 }
1108 },
1109 "parseurl": {
1110 "version": "1.3.3",
1111 "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
1112 "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="
1113 },
1114 "path-to-regexp": {
1115 "version": "0.1.7",
1116 "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
1117 "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
1118 },
1119 "proxy-addr": {
1120 "version": "2.0.7",
1121 "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
1122 "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
1123 "requires": {
1124 "forwarded": "0.2.0",
1125 "ipaddr.js": "1.9.1"
1126 }
1127 },
1128 "qs": {
1129 "version": "6.7.0",
1130 "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
1131 "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ=="
1132 },
1133 "range-parser": {
1134 "version": "1.2.1",
1135 "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
1136 "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="
1137 },
1138 "raw-body": {
1139 "version": "2.4.0",
1140 "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz",
1141 "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==",
1142 "requires": {
1143 "bytes": "3.1.0",
1144 "http-errors": "1.7.2",
1145 "iconv-lite": "0.4.24",
1146 "unpipe": "1.0.0"
1147 }
1148 },
1149 "safe-buffer": {
1150 "version": "5.1.2",
1151 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
1152 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
1153 },
1154 "safer-buffer": {
1155 "version": "2.1.2",
1156 "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
1157 "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
1158 },
1159 "send": {
1160 "version": "0.17.1",
1161 "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
1162 "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==",
1163 "requires": {
1164 "debug": "2.6.9",
1165 "depd": "~1.1.2",
1166 "destroy": "~1.0.4",
1167 "encodeurl": "~1.0.2",
1168 "escape-html": "~1.0.3",
1169 "etag": "~1.8.1",
1170 "fresh": "0.5.2",
1171 "http-errors": "~1.7.2",
1172 "mime": "1.6.0",
1173 "ms": "2.1.1",
1174 "on-finished": "~2.3.0",
1175 "range-parser": "~1.2.1",
1176 "statuses": "~1.5.0"
1177 },
1178 "dependencies": {
1179 "debug": {
1180 "version": "2.6.9",
1181 "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
1182 "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
1183 "requires": {
1184 "ms": "2.0.0"
1185 },
1186 "dependencies": {
1187 "ms": {
1188 "version": "2.0.0",
1189 "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
1190 "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
1191 }
1192 }
1193 },
1194 "ms": {
1195 "version": "2.1.1",
1196 "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
1197 "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg=="
1198 }
1199 }
1200 },
1201 "serve-static": {
1202 "version": "1.14.1",
1203 "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz",
1204 "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==",
1205 "requires": {
1206 "encodeurl": "~1.0.2",
1207 "escape-html": "~1.0.3",
1208 "parseurl": "~1.3.3",
1209 "send": "0.17.1"
1210 }
1211 },
1212 "setprototypeof": {
1213 "version": "1.1.1",
1214 "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
1215 "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw=="
1216 },
1217 "socket.io": {
1218 "version": "4.1.3",
1219 "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.1.3.tgz",
1220 "integrity": "sha512-tLkaY13RcO4nIRh1K2hT5iuotfTaIQw7cVIe0FUykN3SuQi0cm7ALxuyT5/CtDswOMWUzMGTibxYNx/gU7In+Q==",
1221 "requires": {
1222 "@types/cookie": "^0.4.0",
1223 "@types/cors": "^2.8.10",
1224 "@types/node": ">=10.0.0",
1225 "accepts": "~1.3.4",
1226 "base64id": "~2.0.0",
1227 "debug": "~4.3.1",
1228 "engine.io": "~5.1.1",
1229 "socket.io-adapter": "~2.3.1",
1230 "socket.io-parser": "~4.0.4"
1231 }
1232 },
1233 "socket.io-adapter": {
1234 "version": "2.3.3",
1235 "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.3.3.tgz",
1236 "integrity": "sha512-Qd/iwn3VskrpNO60BeRyCyr8ZWw9CPZyitW4AQwmRZ8zCiyDiL+znRnWX6tDHXnWn1sJrM1+b6Mn6wEDJJ4aYQ=="
1237 },
1238 "socket.io-parser": {
1239 "version": "4.0.4",
1240 "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz",
1241 "integrity": "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==",
1242 "requires": {
1243 "@types/component-emitter": "^1.2.10",
1244 "component-emitter": "~1.3.0",
1245 "debug": "~4.3.1"
1246 }
1247 },
1248 "statuses": {
1249 "version": "1.5.0",
1250 "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
1251 "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
1252 },
1253 "toidentifier": {
1254 "version": "1.0.0",
1255 "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
1256 "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw=="
1257 },
1258 "type-is": {
1259 "version": "1.6.18",
1260 "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
1261 "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
1262 "requires": {
1263 "media-typer": "0.3.0",
1264 "mime-types": "~2.1.24"
1265 }
1266 },
1267 "unpipe": {
1268 "version": "1.0.0",
1269 "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
1270 "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
1271 },
1272 "utils-merge": {
1273 "version": "1.0.1",
1274 "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
1275 "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
1276 },
1277 "vary": {
1278 "version": "1.1.2",
1279 "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
1280 "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
1281 },
1282 "ws": {
1283 "version": "7.4.6",
1284 "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz",
1285 "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==",
1286 "requires": {}
1287 }
1288 }
1289}
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..55f7398
--- /dev/null
+++ b/package.json
@@ -0,0 +1,18 @@
1{
2 "name": "lom_socket",
3 "version": "1.0.0",
4 "description": "Sockets for lom project",
5 "main": "index.js",
6 "scripts": {
7 "test": "echo \"Error: no test specified\" && exit 1",
8 "start": "nodemon ./index.js"
9 },
10 "author": "jdlugosz963",
11 "license": "ISC",
12 "dependencies": {
13 "axios": "^0.24.0",
14 "cors": "^2.8.5",
15 "express": "^4.17.1",
16 "socket.io": "^4.1.3"
17 }
18}