Showing
59 changed files
with
0 additions
and
8031 deletions
chat.html
deleted
100644 → 0
File mode changed
chat/.gitignore
deleted
100644 → 0
1 | -# Logs | ||
2 | -logs | ||
3 | -*.log | ||
4 | -npm-debug.log* | ||
5 | -yarn-debug.log* | ||
6 | -yarn-error.log* | ||
7 | -lerna-debug.log* | ||
8 | -.pnpm-debug.log* | ||
9 | - | ||
10 | -# Diagnostic reports (https://nodejs.org/api/report.html) | ||
11 | -report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json | ||
12 | - | ||
13 | -# Runtime data | ||
14 | -pids | ||
15 | -*.pid | ||
16 | -*.seed | ||
17 | -*.pid.lock | ||
18 | - | ||
19 | -# Directory for instrumented libs generated by jscoverage/JSCover | ||
20 | -lib-cov | ||
21 | - | ||
22 | -# Coverage directory used by tools like istanbul | ||
23 | -coverage | ||
24 | -*.lcov | ||
25 | - | ||
26 | -# nyc test coverage | ||
27 | -.nyc_output | ||
28 | - | ||
29 | -# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) | ||
30 | -.grunt | ||
31 | - | ||
32 | -# Bower dependency directory (https://bower.io/) | ||
33 | -bower_components | ||
34 | - | ||
35 | -# node-waf configuration | ||
36 | -.lock-wscript | ||
37 | - | ||
38 | -# Compiled binary addons (https://nodejs.org/api/addons.html) | ||
39 | -build/Release | ||
40 | - | ||
41 | -# Dependency directories | ||
42 | -**node_modules/ | ||
43 | -jspm_packages/ | ||
44 | - | ||
45 | -# Snowpack dependency directory (https://snowpack.dev/) | ||
46 | -web_modules/ | ||
47 | - | ||
48 | -# TypeScript cache | ||
49 | -*.tsbuildinfo | ||
50 | - | ||
51 | -# Optional npm cache directory | ||
52 | -.npm | ||
53 | - | ||
54 | -# Optional eslint cache | ||
55 | -.eslintcache | ||
56 | - | ||
57 | -# Microbundle cache | ||
58 | -.rpt2_cache/ | ||
59 | -.rts2_cache_cjs/ | ||
60 | -.rts2_cache_es/ | ||
61 | -.rts2_cache_umd/ | ||
62 | - | ||
63 | -# Optional REPL history | ||
64 | -.node_repl_history | ||
65 | - | ||
66 | -# Output of 'npm pack' | ||
67 | -*.tgz | ||
68 | - | ||
69 | -# Yarn Integrity file | ||
70 | -.yarn-integrity | ||
71 | - | ||
72 | -# dotenv environment variables file | ||
73 | -.env | ||
74 | -.env.test | ||
75 | -.env.production | ||
76 | - | ||
77 | -# parcel-bundler cache (https://parceljs.org/) | ||
78 | -.cache | ||
79 | -.parcel-cache | ||
80 | - | ||
81 | -# Next.js build output | ||
82 | -.next | ||
83 | -out | ||
84 | - | ||
85 | -# Nuxt.js build / generate output | ||
86 | -.nuxt | ||
87 | -dist | ||
88 | - | ||
89 | -# Gatsby files | ||
90 | -.cache/ | ||
91 | -# Comment in the public line in if your project uses Gatsby and not Next.js | ||
92 | -# https://nextjs.org/blog/next-9-1#public-directory-support | ||
93 | -# public | ||
94 | - | ||
95 | -# vuepress build output | ||
96 | -.vuepress/dist | ||
97 | - | ||
98 | -# Serverless directories | ||
99 | -.serverless/ | ||
100 | - | ||
101 | -# FuseBox cache | ||
102 | -.fusebox/ | ||
103 | - | ||
104 | -# DynamoDB Local files | ||
105 | -.dynamodb/ | ||
106 | - | ||
107 | -# TernJS port file | ||
108 | -.tern-port | ||
109 | - | ||
110 | -# Stores VSCode versions used for testing VSCode extensions | ||
111 | -.vscode-test | ||
112 | - | ||
113 | -# yarn v2 | ||
114 | -.yarn/cache | ||
115 | -.yarn/unplugged | ||
116 | -.yarn/build-state.yml | ||
117 | -.yarn/install-state.gz | ||
118 | -.pnp.* | ||
119 | - | ||
120 | -#보안관련 | ||
121 | -.package-lock.json | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
chat/app/app.js
deleted
100644 → 0
1 | -const express = require("express"); | ||
2 | -const http = require("http"); | ||
3 | -const app = express(); | ||
4 | -const path = require("path") | ||
5 | -const server = http.createServer(app); | ||
6 | -const socketIO = require("socket.io") | ||
7 | -const moment = require("moment") | ||
8 | - | ||
9 | - | ||
10 | -const io = socketIO(server); | ||
11 | - | ||
12 | -app.use(express.static(path.join(__dirname, "src"))) | ||
13 | -const PORT = process.env.PORT || 3000; | ||
14 | - | ||
15 | -io.on('connection', (socket) => { | ||
16 | - socket.on("chatting", (data)=>{ | ||
17 | - const { name, msg } = data; | ||
18 | - io.emit("chatting", { | ||
19 | - name, | ||
20 | - msg, | ||
21 | - time: moment(new Date()).format("h:ss A") | ||
22 | - }) | ||
23 | - }) | ||
24 | -}); | ||
25 | - | ||
26 | -server.listen(PORT, ()=>console.log(`server is running ${PORT}`)) | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
chat/app/package-lock.json
deleted
100644 → 0
1 | -{ | ||
2 | - "name": "chat", | ||
3 | - "version": "1.0.0", | ||
4 | - "lockfileVersion": 2, | ||
5 | - "requires": true, | ||
6 | - "packages": { | ||
7 | - "": { | ||
8 | - "name": "chat", | ||
9 | - "version": "1.0.0", | ||
10 | - "license": "ISC", | ||
11 | - "dependencies": { | ||
12 | - "dayjs": "^1.11.2", | ||
13 | - "express": "^4.18.1", | ||
14 | - "moment": "^2.29.3", | ||
15 | - "socket.io": "^4.5.1" | ||
16 | - } | ||
17 | - }, | ||
18 | - "node_modules/@types/component-emitter": { | ||
19 | - "version": "1.2.11", | ||
20 | - "license": "MIT" | ||
21 | - }, | ||
22 | - "node_modules/@types/cookie": { | ||
23 | - "version": "0.4.1", | ||
24 | - "license": "MIT" | ||
25 | - }, | ||
26 | - "node_modules/@types/cors": { | ||
27 | - "version": "2.8.12", | ||
28 | - "license": "MIT" | ||
29 | - }, | ||
30 | - "node_modules/@types/node": { | ||
31 | - "version": "17.0.39", | ||
32 | - "license": "MIT" | ||
33 | - }, | ||
34 | - "node_modules/accepts": { | ||
35 | - "version": "1.3.8", | ||
36 | - "license": "MIT", | ||
37 | - "dependencies": { | ||
38 | - "mime-types": "~2.1.34", | ||
39 | - "negotiator": "0.6.3" | ||
40 | - }, | ||
41 | - "engines": { | ||
42 | - "node": ">= 0.6" | ||
43 | - } | ||
44 | - }, | ||
45 | - "node_modules/array-flatten": { | ||
46 | - "version": "1.1.1", | ||
47 | - "license": "MIT" | ||
48 | - }, | ||
49 | - "node_modules/base64id": { | ||
50 | - "version": "2.0.0", | ||
51 | - "license": "MIT", | ||
52 | - "engines": { | ||
53 | - "node": "^4.5.0 || >= 5.9" | ||
54 | - } | ||
55 | - }, | ||
56 | - "node_modules/body-parser": { | ||
57 | - "version": "1.20.0", | ||
58 | - "license": "MIT", | ||
59 | - "dependencies": { | ||
60 | - "bytes": "3.1.2", | ||
61 | - "content-type": "~1.0.4", | ||
62 | - "debug": "2.6.9", | ||
63 | - "depd": "2.0.0", | ||
64 | - "destroy": "1.2.0", | ||
65 | - "http-errors": "2.0.0", | ||
66 | - "iconv-lite": "0.4.24", | ||
67 | - "on-finished": "2.4.1", | ||
68 | - "qs": "6.10.3", | ||
69 | - "raw-body": "2.5.1", | ||
70 | - "type-is": "~1.6.18", | ||
71 | - "unpipe": "1.0.0" | ||
72 | - }, | ||
73 | - "engines": { | ||
74 | - "node": ">= 0.8", | ||
75 | - "npm": "1.2.8000 || >= 1.4.16" | ||
76 | - } | ||
77 | - }, | ||
78 | - "node_modules/bytes": { | ||
79 | - "version": "3.1.2", | ||
80 | - "license": "MIT", | ||
81 | - "engines": { | ||
82 | - "node": ">= 0.8" | ||
83 | - } | ||
84 | - }, | ||
85 | - "node_modules/call-bind": { | ||
86 | - "version": "1.0.2", | ||
87 | - "license": "MIT", | ||
88 | - "dependencies": { | ||
89 | - "function-bind": "^1.1.1", | ||
90 | - "get-intrinsic": "^1.0.2" | ||
91 | - }, | ||
92 | - "funding": { | ||
93 | - "url": "https://github.com/sponsors/ljharb" | ||
94 | - } | ||
95 | - }, | ||
96 | - "node_modules/component-emitter": { | ||
97 | - "version": "1.3.0", | ||
98 | - "license": "MIT" | ||
99 | - }, | ||
100 | - "node_modules/content-disposition": { | ||
101 | - "version": "0.5.4", | ||
102 | - "license": "MIT", | ||
103 | - "dependencies": { | ||
104 | - "safe-buffer": "5.2.1" | ||
105 | - }, | ||
106 | - "engines": { | ||
107 | - "node": ">= 0.6" | ||
108 | - } | ||
109 | - }, | ||
110 | - "node_modules/content-type": { | ||
111 | - "version": "1.0.4", | ||
112 | - "license": "MIT", | ||
113 | - "engines": { | ||
114 | - "node": ">= 0.6" | ||
115 | - } | ||
116 | - }, | ||
117 | - "node_modules/cookie": { | ||
118 | - "version": "0.5.0", | ||
119 | - "license": "MIT", | ||
120 | - "engines": { | ||
121 | - "node": ">= 0.6" | ||
122 | - } | ||
123 | - }, | ||
124 | - "node_modules/cookie-signature": { | ||
125 | - "version": "1.0.6", | ||
126 | - "license": "MIT" | ||
127 | - }, | ||
128 | - "node_modules/cors": { | ||
129 | - "version": "2.8.5", | ||
130 | - "license": "MIT", | ||
131 | - "dependencies": { | ||
132 | - "object-assign": "^4", | ||
133 | - "vary": "^1" | ||
134 | - }, | ||
135 | - "engines": { | ||
136 | - "node": ">= 0.10" | ||
137 | - } | ||
138 | - }, | ||
139 | - "node_modules/dayjs": { | ||
140 | - "version": "1.11.2", | ||
141 | - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.2.tgz", | ||
142 | - "integrity": "sha512-F4LXf1OeU9hrSYRPTTj/6FbO4HTjPKXvEIC1P2kcnFurViINCVk3ZV0xAS3XVx9MkMsXbbqlK6hjseaYbgKEHw==" | ||
143 | - }, | ||
144 | - "node_modules/debug": { | ||
145 | - "version": "2.6.9", | ||
146 | - "license": "MIT", | ||
147 | - "dependencies": { | ||
148 | - "ms": "2.0.0" | ||
149 | - } | ||
150 | - }, | ||
151 | - "node_modules/depd": { | ||
152 | - "version": "2.0.0", | ||
153 | - "license": "MIT", | ||
154 | - "engines": { | ||
155 | - "node": ">= 0.8" | ||
156 | - } | ||
157 | - }, | ||
158 | - "node_modules/destroy": { | ||
159 | - "version": "1.2.0", | ||
160 | - "license": "MIT", | ||
161 | - "engines": { | ||
162 | - "node": ">= 0.8", | ||
163 | - "npm": "1.2.8000 || >= 1.4.16" | ||
164 | - } | ||
165 | - }, | ||
166 | - "node_modules/ee-first": { | ||
167 | - "version": "1.1.1", | ||
168 | - "license": "MIT" | ||
169 | - }, | ||
170 | - "node_modules/encodeurl": { | ||
171 | - "version": "1.0.2", | ||
172 | - "license": "MIT", | ||
173 | - "engines": { | ||
174 | - "node": ">= 0.8" | ||
175 | - } | ||
176 | - }, | ||
177 | - "node_modules/engine.io": { | ||
178 | - "version": "6.2.0", | ||
179 | - "license": "MIT", | ||
180 | - "dependencies": { | ||
181 | - "@types/cookie": "^0.4.1", | ||
182 | - "@types/cors": "^2.8.12", | ||
183 | - "@types/node": ">=10.0.0", | ||
184 | - "accepts": "~1.3.4", | ||
185 | - "base64id": "2.0.0", | ||
186 | - "cookie": "~0.4.1", | ||
187 | - "cors": "~2.8.5", | ||
188 | - "debug": "~4.3.1", | ||
189 | - "engine.io-parser": "~5.0.3", | ||
190 | - "ws": "~8.2.3" | ||
191 | - }, | ||
192 | - "engines": { | ||
193 | - "node": ">=10.0.0" | ||
194 | - } | ||
195 | - }, | ||
196 | - "node_modules/engine.io-parser": { | ||
197 | - "version": "5.0.4", | ||
198 | - "license": "MIT", | ||
199 | - "engines": { | ||
200 | - "node": ">=10.0.0" | ||
201 | - } | ||
202 | - }, | ||
203 | - "node_modules/engine.io/node_modules/cookie": { | ||
204 | - "version": "0.4.2", | ||
205 | - "license": "MIT", | ||
206 | - "engines": { | ||
207 | - "node": ">= 0.6" | ||
208 | - } | ||
209 | - }, | ||
210 | - "node_modules/engine.io/node_modules/debug": { | ||
211 | - "version": "4.3.4", | ||
212 | - "license": "MIT", | ||
213 | - "dependencies": { | ||
214 | - "ms": "2.1.2" | ||
215 | - }, | ||
216 | - "engines": { | ||
217 | - "node": ">=6.0" | ||
218 | - }, | ||
219 | - "peerDependenciesMeta": { | ||
220 | - "supports-color": { | ||
221 | - "optional": true | ||
222 | - } | ||
223 | - } | ||
224 | - }, | ||
225 | - "node_modules/engine.io/node_modules/ms": { | ||
226 | - "version": "2.1.2", | ||
227 | - "license": "MIT" | ||
228 | - }, | ||
229 | - "node_modules/escape-html": { | ||
230 | - "version": "1.0.3", | ||
231 | - "license": "MIT" | ||
232 | - }, | ||
233 | - "node_modules/etag": { | ||
234 | - "version": "1.8.1", | ||
235 | - "license": "MIT", | ||
236 | - "engines": { | ||
237 | - "node": ">= 0.6" | ||
238 | - } | ||
239 | - }, | ||
240 | - "node_modules/express": { | ||
241 | - "version": "4.18.1", | ||
242 | - "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", | ||
243 | - "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==", | ||
244 | - "dependencies": { | ||
245 | - "accepts": "~1.3.8", | ||
246 | - "array-flatten": "1.1.1", | ||
247 | - "body-parser": "1.20.0", | ||
248 | - "content-disposition": "0.5.4", | ||
249 | - "content-type": "~1.0.4", | ||
250 | - "cookie": "0.5.0", | ||
251 | - "cookie-signature": "1.0.6", | ||
252 | - "debug": "2.6.9", | ||
253 | - "depd": "2.0.0", | ||
254 | - "encodeurl": "~1.0.2", | ||
255 | - "escape-html": "~1.0.3", | ||
256 | - "etag": "~1.8.1", | ||
257 | - "finalhandler": "1.2.0", | ||
258 | - "fresh": "0.5.2", | ||
259 | - "http-errors": "2.0.0", | ||
260 | - "merge-descriptors": "1.0.1", | ||
261 | - "methods": "~1.1.2", | ||
262 | - "on-finished": "2.4.1", | ||
263 | - "parseurl": "~1.3.3", | ||
264 | - "path-to-regexp": "0.1.7", | ||
265 | - "proxy-addr": "~2.0.7", | ||
266 | - "qs": "6.10.3", | ||
267 | - "range-parser": "~1.2.1", | ||
268 | - "safe-buffer": "5.2.1", | ||
269 | - "send": "0.18.0", | ||
270 | - "serve-static": "1.15.0", | ||
271 | - "setprototypeof": "1.2.0", | ||
272 | - "statuses": "2.0.1", | ||
273 | - "type-is": "~1.6.18", | ||
274 | - "utils-merge": "1.0.1", | ||
275 | - "vary": "~1.1.2" | ||
276 | - }, | ||
277 | - "engines": { | ||
278 | - "node": ">= 0.10.0" | ||
279 | - } | ||
280 | - }, | ||
281 | - "node_modules/finalhandler": { | ||
282 | - "version": "1.2.0", | ||
283 | - "license": "MIT", | ||
284 | - "dependencies": { | ||
285 | - "debug": "2.6.9", | ||
286 | - "encodeurl": "~1.0.2", | ||
287 | - "escape-html": "~1.0.3", | ||
288 | - "on-finished": "2.4.1", | ||
289 | - "parseurl": "~1.3.3", | ||
290 | - "statuses": "2.0.1", | ||
291 | - "unpipe": "~1.0.0" | ||
292 | - }, | ||
293 | - "engines": { | ||
294 | - "node": ">= 0.8" | ||
295 | - } | ||
296 | - }, | ||
297 | - "node_modules/forwarded": { | ||
298 | - "version": "0.2.0", | ||
299 | - "license": "MIT", | ||
300 | - "engines": { | ||
301 | - "node": ">= 0.6" | ||
302 | - } | ||
303 | - }, | ||
304 | - "node_modules/fresh": { | ||
305 | - "version": "0.5.2", | ||
306 | - "license": "MIT", | ||
307 | - "engines": { | ||
308 | - "node": ">= 0.6" | ||
309 | - } | ||
310 | - }, | ||
311 | - "node_modules/function-bind": { | ||
312 | - "version": "1.1.1", | ||
313 | - "license": "MIT" | ||
314 | - }, | ||
315 | - "node_modules/get-intrinsic": { | ||
316 | - "version": "1.1.1", | ||
317 | - "license": "MIT", | ||
318 | - "dependencies": { | ||
319 | - "function-bind": "^1.1.1", | ||
320 | - "has": "^1.0.3", | ||
321 | - "has-symbols": "^1.0.1" | ||
322 | - }, | ||
323 | - "funding": { | ||
324 | - "url": "https://github.com/sponsors/ljharb" | ||
325 | - } | ||
326 | - }, | ||
327 | - "node_modules/has": { | ||
328 | - "version": "1.0.3", | ||
329 | - "license": "MIT", | ||
330 | - "dependencies": { | ||
331 | - "function-bind": "^1.1.1" | ||
332 | - }, | ||
333 | - "engines": { | ||
334 | - "node": ">= 0.4.0" | ||
335 | - } | ||
336 | - }, | ||
337 | - "node_modules/has-symbols": { | ||
338 | - "version": "1.0.3", | ||
339 | - "license": "MIT", | ||
340 | - "engines": { | ||
341 | - "node": ">= 0.4" | ||
342 | - }, | ||
343 | - "funding": { | ||
344 | - "url": "https://github.com/sponsors/ljharb" | ||
345 | - } | ||
346 | - }, | ||
347 | - "node_modules/http-errors": { | ||
348 | - "version": "2.0.0", | ||
349 | - "license": "MIT", | ||
350 | - "dependencies": { | ||
351 | - "depd": "2.0.0", | ||
352 | - "inherits": "2.0.4", | ||
353 | - "setprototypeof": "1.2.0", | ||
354 | - "statuses": "2.0.1", | ||
355 | - "toidentifier": "1.0.1" | ||
356 | - }, | ||
357 | - "engines": { | ||
358 | - "node": ">= 0.8" | ||
359 | - } | ||
360 | - }, | ||
361 | - "node_modules/iconv-lite": { | ||
362 | - "version": "0.4.24", | ||
363 | - "license": "MIT", | ||
364 | - "dependencies": { | ||
365 | - "safer-buffer": ">= 2.1.2 < 3" | ||
366 | - }, | ||
367 | - "engines": { | ||
368 | - "node": ">=0.10.0" | ||
369 | - } | ||
370 | - }, | ||
371 | - "node_modules/inherits": { | ||
372 | - "version": "2.0.4", | ||
373 | - "license": "ISC" | ||
374 | - }, | ||
375 | - "node_modules/ipaddr.js": { | ||
376 | - "version": "1.9.1", | ||
377 | - "license": "MIT", | ||
378 | - "engines": { | ||
379 | - "node": ">= 0.10" | ||
380 | - } | ||
381 | - }, | ||
382 | - "node_modules/media-typer": { | ||
383 | - "version": "0.3.0", | ||
384 | - "license": "MIT", | ||
385 | - "engines": { | ||
386 | - "node": ">= 0.6" | ||
387 | - } | ||
388 | - }, | ||
389 | - "node_modules/merge-descriptors": { | ||
390 | - "version": "1.0.1", | ||
391 | - "license": "MIT" | ||
392 | - }, | ||
393 | - "node_modules/methods": { | ||
394 | - "version": "1.1.2", | ||
395 | - "license": "MIT", | ||
396 | - "engines": { | ||
397 | - "node": ">= 0.6" | ||
398 | - } | ||
399 | - }, | ||
400 | - "node_modules/mime": { | ||
401 | - "version": "1.6.0", | ||
402 | - "license": "MIT", | ||
403 | - "bin": { | ||
404 | - "mime": "cli.js" | ||
405 | - }, | ||
406 | - "engines": { | ||
407 | - "node": ">=4" | ||
408 | - } | ||
409 | - }, | ||
410 | - "node_modules/mime-db": { | ||
411 | - "version": "1.52.0", | ||
412 | - "license": "MIT", | ||
413 | - "engines": { | ||
414 | - "node": ">= 0.6" | ||
415 | - } | ||
416 | - }, | ||
417 | - "node_modules/mime-types": { | ||
418 | - "version": "2.1.35", | ||
419 | - "license": "MIT", | ||
420 | - "dependencies": { | ||
421 | - "mime-db": "1.52.0" | ||
422 | - }, | ||
423 | - "engines": { | ||
424 | - "node": ">= 0.6" | ||
425 | - } | ||
426 | - }, | ||
427 | - "node_modules/moment": { | ||
428 | - "version": "2.29.3", | ||
429 | - "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.3.tgz", | ||
430 | - "integrity": "sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw==", | ||
431 | - "engines": { | ||
432 | - "node": "*" | ||
433 | - } | ||
434 | - }, | ||
435 | - "node_modules/ms": { | ||
436 | - "version": "2.0.0", | ||
437 | - "license": "MIT" | ||
438 | - }, | ||
439 | - "node_modules/negotiator": { | ||
440 | - "version": "0.6.3", | ||
441 | - "license": "MIT", | ||
442 | - "engines": { | ||
443 | - "node": ">= 0.6" | ||
444 | - } | ||
445 | - }, | ||
446 | - "node_modules/object-assign": { | ||
447 | - "version": "4.1.1", | ||
448 | - "license": "MIT", | ||
449 | - "engines": { | ||
450 | - "node": ">=0.10.0" | ||
451 | - } | ||
452 | - }, | ||
453 | - "node_modules/object-inspect": { | ||
454 | - "version": "1.12.2", | ||
455 | - "license": "MIT", | ||
456 | - "funding": { | ||
457 | - "url": "https://github.com/sponsors/ljharb" | ||
458 | - } | ||
459 | - }, | ||
460 | - "node_modules/on-finished": { | ||
461 | - "version": "2.4.1", | ||
462 | - "license": "MIT", | ||
463 | - "dependencies": { | ||
464 | - "ee-first": "1.1.1" | ||
465 | - }, | ||
466 | - "engines": { | ||
467 | - "node": ">= 0.8" | ||
468 | - } | ||
469 | - }, | ||
470 | - "node_modules/parseurl": { | ||
471 | - "version": "1.3.3", | ||
472 | - "license": "MIT", | ||
473 | - "engines": { | ||
474 | - "node": ">= 0.8" | ||
475 | - } | ||
476 | - }, | ||
477 | - "node_modules/path-to-regexp": { | ||
478 | - "version": "0.1.7", | ||
479 | - "license": "MIT" | ||
480 | - }, | ||
481 | - "node_modules/proxy-addr": { | ||
482 | - "version": "2.0.7", | ||
483 | - "license": "MIT", | ||
484 | - "dependencies": { | ||
485 | - "forwarded": "0.2.0", | ||
486 | - "ipaddr.js": "1.9.1" | ||
487 | - }, | ||
488 | - "engines": { | ||
489 | - "node": ">= 0.10" | ||
490 | - } | ||
491 | - }, | ||
492 | - "node_modules/qs": { | ||
493 | - "version": "6.10.3", | ||
494 | - "license": "BSD-3-Clause", | ||
495 | - "dependencies": { | ||
496 | - "side-channel": "^1.0.4" | ||
497 | - }, | ||
498 | - "engines": { | ||
499 | - "node": ">=0.6" | ||
500 | - }, | ||
501 | - "funding": { | ||
502 | - "url": "https://github.com/sponsors/ljharb" | ||
503 | - } | ||
504 | - }, | ||
505 | - "node_modules/range-parser": { | ||
506 | - "version": "1.2.1", | ||
507 | - "license": "MIT", | ||
508 | - "engines": { | ||
509 | - "node": ">= 0.6" | ||
510 | - } | ||
511 | - }, | ||
512 | - "node_modules/raw-body": { | ||
513 | - "version": "2.5.1", | ||
514 | - "license": "MIT", | ||
515 | - "dependencies": { | ||
516 | - "bytes": "3.1.2", | ||
517 | - "http-errors": "2.0.0", | ||
518 | - "iconv-lite": "0.4.24", | ||
519 | - "unpipe": "1.0.0" | ||
520 | - }, | ||
521 | - "engines": { | ||
522 | - "node": ">= 0.8" | ||
523 | - } | ||
524 | - }, | ||
525 | - "node_modules/safe-buffer": { | ||
526 | - "version": "5.2.1", | ||
527 | - "funding": [ | ||
528 | - { | ||
529 | - "type": "github", | ||
530 | - "url": "https://github.com/sponsors/feross" | ||
531 | - }, | ||
532 | - { | ||
533 | - "type": "patreon", | ||
534 | - "url": "https://www.patreon.com/feross" | ||
535 | - }, | ||
536 | - { | ||
537 | - "type": "consulting", | ||
538 | - "url": "https://feross.org/support" | ||
539 | - } | ||
540 | - ], | ||
541 | - "license": "MIT" | ||
542 | - }, | ||
543 | - "node_modules/safer-buffer": { | ||
544 | - "version": "2.1.2", | ||
545 | - "license": "MIT" | ||
546 | - }, | ||
547 | - "node_modules/send": { | ||
548 | - "version": "0.18.0", | ||
549 | - "license": "MIT", | ||
550 | - "dependencies": { | ||
551 | - "debug": "2.6.9", | ||
552 | - "depd": "2.0.0", | ||
553 | - "destroy": "1.2.0", | ||
554 | - "encodeurl": "~1.0.2", | ||
555 | - "escape-html": "~1.0.3", | ||
556 | - "etag": "~1.8.1", | ||
557 | - "fresh": "0.5.2", | ||
558 | - "http-errors": "2.0.0", | ||
559 | - "mime": "1.6.0", | ||
560 | - "ms": "2.1.3", | ||
561 | - "on-finished": "2.4.1", | ||
562 | - "range-parser": "~1.2.1", | ||
563 | - "statuses": "2.0.1" | ||
564 | - }, | ||
565 | - "engines": { | ||
566 | - "node": ">= 0.8.0" | ||
567 | - } | ||
568 | - }, | ||
569 | - "node_modules/send/node_modules/ms": { | ||
570 | - "version": "2.1.3", | ||
571 | - "license": "MIT" | ||
572 | - }, | ||
573 | - "node_modules/serve-static": { | ||
574 | - "version": "1.15.0", | ||
575 | - "license": "MIT", | ||
576 | - "dependencies": { | ||
577 | - "encodeurl": "~1.0.2", | ||
578 | - "escape-html": "~1.0.3", | ||
579 | - "parseurl": "~1.3.3", | ||
580 | - "send": "0.18.0" | ||
581 | - }, | ||
582 | - "engines": { | ||
583 | - "node": ">= 0.8.0" | ||
584 | - } | ||
585 | - }, | ||
586 | - "node_modules/setprototypeof": { | ||
587 | - "version": "1.2.0", | ||
588 | - "license": "ISC" | ||
589 | - }, | ||
590 | - "node_modules/side-channel": { | ||
591 | - "version": "1.0.4", | ||
592 | - "license": "MIT", | ||
593 | - "dependencies": { | ||
594 | - "call-bind": "^1.0.0", | ||
595 | - "get-intrinsic": "^1.0.2", | ||
596 | - "object-inspect": "^1.9.0" | ||
597 | - }, | ||
598 | - "funding": { | ||
599 | - "url": "https://github.com/sponsors/ljharb" | ||
600 | - } | ||
601 | - }, | ||
602 | - "node_modules/socket.io": { | ||
603 | - "version": "4.5.1", | ||
604 | - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.1.tgz", | ||
605 | - "integrity": "sha512-0y9pnIso5a9i+lJmsCdtmTTgJFFSvNQKDnPQRz28mGNnxbmqYg2QPtJTLFxhymFZhAIn50eHAKzJeiNaKr+yUQ==", | ||
606 | - "dependencies": { | ||
607 | - "accepts": "~1.3.4", | ||
608 | - "base64id": "~2.0.0", | ||
609 | - "debug": "~4.3.2", | ||
610 | - "engine.io": "~6.2.0", | ||
611 | - "socket.io-adapter": "~2.4.0", | ||
612 | - "socket.io-parser": "~4.0.4" | ||
613 | - }, | ||
614 | - "engines": { | ||
615 | - "node": ">=10.0.0" | ||
616 | - } | ||
617 | - }, | ||
618 | - "node_modules/socket.io-adapter": { | ||
619 | - "version": "2.4.0", | ||
620 | - "license": "MIT" | ||
621 | - }, | ||
622 | - "node_modules/socket.io-parser": { | ||
623 | - "version": "4.0.4", | ||
624 | - "license": "MIT", | ||
625 | - "dependencies": { | ||
626 | - "@types/component-emitter": "^1.2.10", | ||
627 | - "component-emitter": "~1.3.0", | ||
628 | - "debug": "~4.3.1" | ||
629 | - }, | ||
630 | - "engines": { | ||
631 | - "node": ">=10.0.0" | ||
632 | - } | ||
633 | - }, | ||
634 | - "node_modules/socket.io-parser/node_modules/debug": { | ||
635 | - "version": "4.3.4", | ||
636 | - "license": "MIT", | ||
637 | - "dependencies": { | ||
638 | - "ms": "2.1.2" | ||
639 | - }, | ||
640 | - "engines": { | ||
641 | - "node": ">=6.0" | ||
642 | - }, | ||
643 | - "peerDependenciesMeta": { | ||
644 | - "supports-color": { | ||
645 | - "optional": true | ||
646 | - } | ||
647 | - } | ||
648 | - }, | ||
649 | - "node_modules/socket.io-parser/node_modules/ms": { | ||
650 | - "version": "2.1.2", | ||
651 | - "license": "MIT" | ||
652 | - }, | ||
653 | - "node_modules/socket.io/node_modules/debug": { | ||
654 | - "version": "4.3.4", | ||
655 | - "license": "MIT", | ||
656 | - "dependencies": { | ||
657 | - "ms": "2.1.2" | ||
658 | - }, | ||
659 | - "engines": { | ||
660 | - "node": ">=6.0" | ||
661 | - }, | ||
662 | - "peerDependenciesMeta": { | ||
663 | - "supports-color": { | ||
664 | - "optional": true | ||
665 | - } | ||
666 | - } | ||
667 | - }, | ||
668 | - "node_modules/socket.io/node_modules/ms": { | ||
669 | - "version": "2.1.2", | ||
670 | - "license": "MIT" | ||
671 | - }, | ||
672 | - "node_modules/statuses": { | ||
673 | - "version": "2.0.1", | ||
674 | - "license": "MIT", | ||
675 | - "engines": { | ||
676 | - "node": ">= 0.8" | ||
677 | - } | ||
678 | - }, | ||
679 | - "node_modules/toidentifier": { | ||
680 | - "version": "1.0.1", | ||
681 | - "license": "MIT", | ||
682 | - "engines": { | ||
683 | - "node": ">=0.6" | ||
684 | - } | ||
685 | - }, | ||
686 | - "node_modules/type-is": { | ||
687 | - "version": "1.6.18", | ||
688 | - "license": "MIT", | ||
689 | - "dependencies": { | ||
690 | - "media-typer": "0.3.0", | ||
691 | - "mime-types": "~2.1.24" | ||
692 | - }, | ||
693 | - "engines": { | ||
694 | - "node": ">= 0.6" | ||
695 | - } | ||
696 | - }, | ||
697 | - "node_modules/unpipe": { | ||
698 | - "version": "1.0.0", | ||
699 | - "license": "MIT", | ||
700 | - "engines": { | ||
701 | - "node": ">= 0.8" | ||
702 | - } | ||
703 | - }, | ||
704 | - "node_modules/utils-merge": { | ||
705 | - "version": "1.0.1", | ||
706 | - "license": "MIT", | ||
707 | - "engines": { | ||
708 | - "node": ">= 0.4.0" | ||
709 | - } | ||
710 | - }, | ||
711 | - "node_modules/vary": { | ||
712 | - "version": "1.1.2", | ||
713 | - "license": "MIT", | ||
714 | - "engines": { | ||
715 | - "node": ">= 0.8" | ||
716 | - } | ||
717 | - }, | ||
718 | - "node_modules/ws": { | ||
719 | - "version": "8.2.3", | ||
720 | - "license": "MIT", | ||
721 | - "engines": { | ||
722 | - "node": ">=10.0.0" | ||
723 | - }, | ||
724 | - "peerDependencies": { | ||
725 | - "bufferutil": "^4.0.1", | ||
726 | - "utf-8-validate": "^5.0.2" | ||
727 | - }, | ||
728 | - "peerDependenciesMeta": { | ||
729 | - "bufferutil": { | ||
730 | - "optional": true | ||
731 | - }, | ||
732 | - "utf-8-validate": { | ||
733 | - "optional": true | ||
734 | - } | ||
735 | - } | ||
736 | - } | ||
737 | - }, | ||
738 | - "dependencies": { | ||
739 | - "@types/component-emitter": { | ||
740 | - "version": "1.2.11" | ||
741 | - }, | ||
742 | - "@types/cookie": { | ||
743 | - "version": "0.4.1" | ||
744 | - }, | ||
745 | - "@types/cors": { | ||
746 | - "version": "2.8.12" | ||
747 | - }, | ||
748 | - "@types/node": { | ||
749 | - "version": "17.0.39" | ||
750 | - }, | ||
751 | - "accepts": { | ||
752 | - "version": "1.3.8", | ||
753 | - "requires": { | ||
754 | - "mime-types": "~2.1.34", | ||
755 | - "negotiator": "0.6.3" | ||
756 | - } | ||
757 | - }, | ||
758 | - "array-flatten": { | ||
759 | - "version": "1.1.1" | ||
760 | - }, | ||
761 | - "base64id": { | ||
762 | - "version": "2.0.0" | ||
763 | - }, | ||
764 | - "body-parser": { | ||
765 | - "version": "1.20.0", | ||
766 | - "requires": { | ||
767 | - "bytes": "3.1.2", | ||
768 | - "content-type": "~1.0.4", | ||
769 | - "debug": "2.6.9", | ||
770 | - "depd": "2.0.0", | ||
771 | - "destroy": "1.2.0", | ||
772 | - "http-errors": "2.0.0", | ||
773 | - "iconv-lite": "0.4.24", | ||
774 | - "on-finished": "2.4.1", | ||
775 | - "qs": "6.10.3", | ||
776 | - "raw-body": "2.5.1", | ||
777 | - "type-is": "~1.6.18", | ||
778 | - "unpipe": "1.0.0" | ||
779 | - } | ||
780 | - }, | ||
781 | - "bytes": { | ||
782 | - "version": "3.1.2" | ||
783 | - }, | ||
784 | - "call-bind": { | ||
785 | - "version": "1.0.2", | ||
786 | - "requires": { | ||
787 | - "function-bind": "^1.1.1", | ||
788 | - "get-intrinsic": "^1.0.2" | ||
789 | - } | ||
790 | - }, | ||
791 | - "component-emitter": { | ||
792 | - "version": "1.3.0" | ||
793 | - }, | ||
794 | - "content-disposition": { | ||
795 | - "version": "0.5.4", | ||
796 | - "requires": { | ||
797 | - "safe-buffer": "5.2.1" | ||
798 | - } | ||
799 | - }, | ||
800 | - "content-type": { | ||
801 | - "version": "1.0.4" | ||
802 | - }, | ||
803 | - "cookie": { | ||
804 | - "version": "0.5.0" | ||
805 | - }, | ||
806 | - "cookie-signature": { | ||
807 | - "version": "1.0.6" | ||
808 | - }, | ||
809 | - "cors": { | ||
810 | - "version": "2.8.5", | ||
811 | - "requires": { | ||
812 | - "object-assign": "^4", | ||
813 | - "vary": "^1" | ||
814 | - } | ||
815 | - }, | ||
816 | - "dayjs": { | ||
817 | - "version": "1.11.2", | ||
818 | - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.2.tgz", | ||
819 | - "integrity": "sha512-F4LXf1OeU9hrSYRPTTj/6FbO4HTjPKXvEIC1P2kcnFurViINCVk3ZV0xAS3XVx9MkMsXbbqlK6hjseaYbgKEHw==" | ||
820 | - }, | ||
821 | - "debug": { | ||
822 | - "version": "2.6.9", | ||
823 | - "requires": { | ||
824 | - "ms": "2.0.0" | ||
825 | - } | ||
826 | - }, | ||
827 | - "depd": { | ||
828 | - "version": "2.0.0" | ||
829 | - }, | ||
830 | - "destroy": { | ||
831 | - "version": "1.2.0" | ||
832 | - }, | ||
833 | - "ee-first": { | ||
834 | - "version": "1.1.1" | ||
835 | - }, | ||
836 | - "encodeurl": { | ||
837 | - "version": "1.0.2" | ||
838 | - }, | ||
839 | - "engine.io": { | ||
840 | - "version": "6.2.0", | ||
841 | - "requires": { | ||
842 | - "@types/cookie": "^0.4.1", | ||
843 | - "@types/cors": "^2.8.12", | ||
844 | - "@types/node": ">=10.0.0", | ||
845 | - "accepts": "~1.3.4", | ||
846 | - "base64id": "2.0.0", | ||
847 | - "cookie": "~0.4.1", | ||
848 | - "cors": "~2.8.5", | ||
849 | - "debug": "~4.3.1", | ||
850 | - "engine.io-parser": "~5.0.3", | ||
851 | - "ws": "~8.2.3" | ||
852 | - }, | ||
853 | - "dependencies": { | ||
854 | - "cookie": { | ||
855 | - "version": "0.4.2" | ||
856 | - }, | ||
857 | - "debug": { | ||
858 | - "version": "4.3.4", | ||
859 | - "requires": { | ||
860 | - "ms": "2.1.2" | ||
861 | - } | ||
862 | - }, | ||
863 | - "ms": { | ||
864 | - "version": "2.1.2" | ||
865 | - } | ||
866 | - } | ||
867 | - }, | ||
868 | - "engine.io-parser": { | ||
869 | - "version": "5.0.4" | ||
870 | - }, | ||
871 | - "escape-html": { | ||
872 | - "version": "1.0.3" | ||
873 | - }, | ||
874 | - "etag": { | ||
875 | - "version": "1.8.1" | ||
876 | - }, | ||
877 | - "express": { | ||
878 | - "version": "4.18.1", | ||
879 | - "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", | ||
880 | - "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==", | ||
881 | - "requires": { | ||
882 | - "accepts": "~1.3.8", | ||
883 | - "array-flatten": "1.1.1", | ||
884 | - "body-parser": "1.20.0", | ||
885 | - "content-disposition": "0.5.4", | ||
886 | - "content-type": "~1.0.4", | ||
887 | - "cookie": "0.5.0", | ||
888 | - "cookie-signature": "1.0.6", | ||
889 | - "debug": "2.6.9", | ||
890 | - "depd": "2.0.0", | ||
891 | - "encodeurl": "~1.0.2", | ||
892 | - "escape-html": "~1.0.3", | ||
893 | - "etag": "~1.8.1", | ||
894 | - "finalhandler": "1.2.0", | ||
895 | - "fresh": "0.5.2", | ||
896 | - "http-errors": "2.0.0", | ||
897 | - "merge-descriptors": "1.0.1", | ||
898 | - "methods": "~1.1.2", | ||
899 | - "on-finished": "2.4.1", | ||
900 | - "parseurl": "~1.3.3", | ||
901 | - "path-to-regexp": "0.1.7", | ||
902 | - "proxy-addr": "~2.0.7", | ||
903 | - "qs": "6.10.3", | ||
904 | - "range-parser": "~1.2.1", | ||
905 | - "safe-buffer": "5.2.1", | ||
906 | - "send": "0.18.0", | ||
907 | - "serve-static": "1.15.0", | ||
908 | - "setprototypeof": "1.2.0", | ||
909 | - "statuses": "2.0.1", | ||
910 | - "type-is": "~1.6.18", | ||
911 | - "utils-merge": "1.0.1", | ||
912 | - "vary": "~1.1.2" | ||
913 | - } | ||
914 | - }, | ||
915 | - "finalhandler": { | ||
916 | - "version": "1.2.0", | ||
917 | - "requires": { | ||
918 | - "debug": "2.6.9", | ||
919 | - "encodeurl": "~1.0.2", | ||
920 | - "escape-html": "~1.0.3", | ||
921 | - "on-finished": "2.4.1", | ||
922 | - "parseurl": "~1.3.3", | ||
923 | - "statuses": "2.0.1", | ||
924 | - "unpipe": "~1.0.0" | ||
925 | - } | ||
926 | - }, | ||
927 | - "forwarded": { | ||
928 | - "version": "0.2.0" | ||
929 | - }, | ||
930 | - "fresh": { | ||
931 | - "version": "0.5.2" | ||
932 | - }, | ||
933 | - "function-bind": { | ||
934 | - "version": "1.1.1" | ||
935 | - }, | ||
936 | - "get-intrinsic": { | ||
937 | - "version": "1.1.1", | ||
938 | - "requires": { | ||
939 | - "function-bind": "^1.1.1", | ||
940 | - "has": "^1.0.3", | ||
941 | - "has-symbols": "^1.0.1" | ||
942 | - } | ||
943 | - }, | ||
944 | - "has": { | ||
945 | - "version": "1.0.3", | ||
946 | - "requires": { | ||
947 | - "function-bind": "^1.1.1" | ||
948 | - } | ||
949 | - }, | ||
950 | - "has-symbols": { | ||
951 | - "version": "1.0.3" | ||
952 | - }, | ||
953 | - "http-errors": { | ||
954 | - "version": "2.0.0", | ||
955 | - "requires": { | ||
956 | - "depd": "2.0.0", | ||
957 | - "inherits": "2.0.4", | ||
958 | - "setprototypeof": "1.2.0", | ||
959 | - "statuses": "2.0.1", | ||
960 | - "toidentifier": "1.0.1" | ||
961 | - } | ||
962 | - }, | ||
963 | - "iconv-lite": { | ||
964 | - "version": "0.4.24", | ||
965 | - "requires": { | ||
966 | - "safer-buffer": ">= 2.1.2 < 3" | ||
967 | - } | ||
968 | - }, | ||
969 | - "inherits": { | ||
970 | - "version": "2.0.4" | ||
971 | - }, | ||
972 | - "ipaddr.js": { | ||
973 | - "version": "1.9.1" | ||
974 | - }, | ||
975 | - "media-typer": { | ||
976 | - "version": "0.3.0" | ||
977 | - }, | ||
978 | - "merge-descriptors": { | ||
979 | - "version": "1.0.1" | ||
980 | - }, | ||
981 | - "methods": { | ||
982 | - "version": "1.1.2" | ||
983 | - }, | ||
984 | - "mime": { | ||
985 | - "version": "1.6.0" | ||
986 | - }, | ||
987 | - "mime-db": { | ||
988 | - "version": "1.52.0" | ||
989 | - }, | ||
990 | - "mime-types": { | ||
991 | - "version": "2.1.35", | ||
992 | - "requires": { | ||
993 | - "mime-db": "1.52.0" | ||
994 | - } | ||
995 | - }, | ||
996 | - "moment": { | ||
997 | - "version": "2.29.3", | ||
998 | - "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.3.tgz", | ||
999 | - "integrity": "sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw==" | ||
1000 | - }, | ||
1001 | - "ms": { | ||
1002 | - "version": "2.0.0" | ||
1003 | - }, | ||
1004 | - "negotiator": { | ||
1005 | - "version": "0.6.3" | ||
1006 | - }, | ||
1007 | - "object-assign": { | ||
1008 | - "version": "4.1.1" | ||
1009 | - }, | ||
1010 | - "object-inspect": { | ||
1011 | - "version": "1.12.2" | ||
1012 | - }, | ||
1013 | - "on-finished": { | ||
1014 | - "version": "2.4.1", | ||
1015 | - "requires": { | ||
1016 | - "ee-first": "1.1.1" | ||
1017 | - } | ||
1018 | - }, | ||
1019 | - "parseurl": { | ||
1020 | - "version": "1.3.3" | ||
1021 | - }, | ||
1022 | - "path-to-regexp": { | ||
1023 | - "version": "0.1.7" | ||
1024 | - }, | ||
1025 | - "proxy-addr": { | ||
1026 | - "version": "2.0.7", | ||
1027 | - "requires": { | ||
1028 | - "forwarded": "0.2.0", | ||
1029 | - "ipaddr.js": "1.9.1" | ||
1030 | - } | ||
1031 | - }, | ||
1032 | - "qs": { | ||
1033 | - "version": "6.10.3", | ||
1034 | - "requires": { | ||
1035 | - "side-channel": "^1.0.4" | ||
1036 | - } | ||
1037 | - }, | ||
1038 | - "range-parser": { | ||
1039 | - "version": "1.2.1" | ||
1040 | - }, | ||
1041 | - "raw-body": { | ||
1042 | - "version": "2.5.1", | ||
1043 | - "requires": { | ||
1044 | - "bytes": "3.1.2", | ||
1045 | - "http-errors": "2.0.0", | ||
1046 | - "iconv-lite": "0.4.24", | ||
1047 | - "unpipe": "1.0.0" | ||
1048 | - } | ||
1049 | - }, | ||
1050 | - "safe-buffer": { | ||
1051 | - "version": "5.2.1" | ||
1052 | - }, | ||
1053 | - "safer-buffer": { | ||
1054 | - "version": "2.1.2" | ||
1055 | - }, | ||
1056 | - "send": { | ||
1057 | - "version": "0.18.0", | ||
1058 | - "requires": { | ||
1059 | - "debug": "2.6.9", | ||
1060 | - "depd": "2.0.0", | ||
1061 | - "destroy": "1.2.0", | ||
1062 | - "encodeurl": "~1.0.2", | ||
1063 | - "escape-html": "~1.0.3", | ||
1064 | - "etag": "~1.8.1", | ||
1065 | - "fresh": "0.5.2", | ||
1066 | - "http-errors": "2.0.0", | ||
1067 | - "mime": "1.6.0", | ||
1068 | - "ms": "2.1.3", | ||
1069 | - "on-finished": "2.4.1", | ||
1070 | - "range-parser": "~1.2.1", | ||
1071 | - "statuses": "2.0.1" | ||
1072 | - }, | ||
1073 | - "dependencies": { | ||
1074 | - "ms": { | ||
1075 | - "version": "2.1.3" | ||
1076 | - } | ||
1077 | - } | ||
1078 | - }, | ||
1079 | - "serve-static": { | ||
1080 | - "version": "1.15.0", | ||
1081 | - "requires": { | ||
1082 | - "encodeurl": "~1.0.2", | ||
1083 | - "escape-html": "~1.0.3", | ||
1084 | - "parseurl": "~1.3.3", | ||
1085 | - "send": "0.18.0" | ||
1086 | - } | ||
1087 | - }, | ||
1088 | - "setprototypeof": { | ||
1089 | - "version": "1.2.0" | ||
1090 | - }, | ||
1091 | - "side-channel": { | ||
1092 | - "version": "1.0.4", | ||
1093 | - "requires": { | ||
1094 | - "call-bind": "^1.0.0", | ||
1095 | - "get-intrinsic": "^1.0.2", | ||
1096 | - "object-inspect": "^1.9.0" | ||
1097 | - } | ||
1098 | - }, | ||
1099 | - "socket.io": { | ||
1100 | - "version": "4.5.1", | ||
1101 | - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.1.tgz", | ||
1102 | - "integrity": "sha512-0y9pnIso5a9i+lJmsCdtmTTgJFFSvNQKDnPQRz28mGNnxbmqYg2QPtJTLFxhymFZhAIn50eHAKzJeiNaKr+yUQ==", | ||
1103 | - "requires": { | ||
1104 | - "accepts": "~1.3.4", | ||
1105 | - "base64id": "~2.0.0", | ||
1106 | - "debug": "~4.3.2", | ||
1107 | - "engine.io": "~6.2.0", | ||
1108 | - "socket.io-adapter": "~2.4.0", | ||
1109 | - "socket.io-parser": "~4.0.4" | ||
1110 | - }, | ||
1111 | - "dependencies": { | ||
1112 | - "debug": { | ||
1113 | - "version": "4.3.4", | ||
1114 | - "requires": { | ||
1115 | - "ms": "2.1.2" | ||
1116 | - } | ||
1117 | - }, | ||
1118 | - "ms": { | ||
1119 | - "version": "2.1.2" | ||
1120 | - } | ||
1121 | - } | ||
1122 | - }, | ||
1123 | - "socket.io-adapter": { | ||
1124 | - "version": "2.4.0" | ||
1125 | - }, | ||
1126 | - "socket.io-parser": { | ||
1127 | - "version": "4.0.4", | ||
1128 | - "requires": { | ||
1129 | - "@types/component-emitter": "^1.2.10", | ||
1130 | - "component-emitter": "~1.3.0", | ||
1131 | - "debug": "~4.3.1" | ||
1132 | - }, | ||
1133 | - "dependencies": { | ||
1134 | - "debug": { | ||
1135 | - "version": "4.3.4", | ||
1136 | - "requires": { | ||
1137 | - "ms": "2.1.2" | ||
1138 | - } | ||
1139 | - }, | ||
1140 | - "ms": { | ||
1141 | - "version": "2.1.2" | ||
1142 | - } | ||
1143 | - } | ||
1144 | - }, | ||
1145 | - "statuses": { | ||
1146 | - "version": "2.0.1" | ||
1147 | - }, | ||
1148 | - "toidentifier": { | ||
1149 | - "version": "1.0.1" | ||
1150 | - }, | ||
1151 | - "type-is": { | ||
1152 | - "version": "1.6.18", | ||
1153 | - "requires": { | ||
1154 | - "media-typer": "0.3.0", | ||
1155 | - "mime-types": "~2.1.24" | ||
1156 | - } | ||
1157 | - }, | ||
1158 | - "unpipe": { | ||
1159 | - "version": "1.0.0" | ||
1160 | - }, | ||
1161 | - "utils-merge": { | ||
1162 | - "version": "1.0.1" | ||
1163 | - }, | ||
1164 | - "vary": { | ||
1165 | - "version": "1.1.2" | ||
1166 | - }, | ||
1167 | - "ws": { | ||
1168 | - "version": "8.2.3", | ||
1169 | - "requires": {} | ||
1170 | - } | ||
1171 | - } | ||
1172 | -} |
chat/app/package.json
deleted
100644 → 0
1 | -{ | ||
2 | - "name": "chat", | ||
3 | - "version": "1.0.0", | ||
4 | - "description": "", | ||
5 | - "main": "index.js", | ||
6 | - "scripts": { | ||
7 | - "start": "nodemon ./app.js", | ||
8 | - "test": "echo \"Error: no test specified\" && exit 1" | ||
9 | - }, | ||
10 | - "keywords": [], | ||
11 | - "author": "", | ||
12 | - "license": "ISC", | ||
13 | - "dependencies": { | ||
14 | - "dayjs": "^1.11.2", | ||
15 | - "express": "^4.18.1", | ||
16 | - "moment": "^2.29.3", | ||
17 | - "socket.io": "^4.5.1" | ||
18 | - } | ||
19 | -} |
chat/app/src/css/style.css
deleted
100644 → 0
1 | -* { | ||
2 | - margin: 0; | ||
3 | - padding: 0; | ||
4 | -} | ||
5 | - | ||
6 | -html, body { | ||
7 | - height : 100%; | ||
8 | -} | ||
9 | - | ||
10 | -.wrapper { | ||
11 | - height : 100%; | ||
12 | - width: 100%; | ||
13 | - display: flex; | ||
14 | - flex-direction: column; | ||
15 | - overflow: hidden; | ||
16 | -} | ||
17 | - | ||
18 | -.user-container { | ||
19 | - background: rebeccapurple; | ||
20 | - flex: 1; | ||
21 | - display: flex; | ||
22 | - justify-content: flex-start; | ||
23 | - align-items: center; | ||
24 | - padding: 0.5rem; | ||
25 | -} | ||
26 | - | ||
27 | -.user-container .nickname { | ||
28 | - font-size : 14px; | ||
29 | - margin-right : 1.5rem; | ||
30 | - margin-left : 1rem; | ||
31 | - color:#fff; | ||
32 | -} | ||
33 | - | ||
34 | -.user-container input { | ||
35 | - border-radius: 3px; | ||
36 | - border: none; | ||
37 | - height: 80%; | ||
38 | -} | ||
39 | - | ||
40 | -.display-container { | ||
41 | - background: #D2D2FF; | ||
42 | - flex : 12; | ||
43 | - overflow-y:scroll; | ||
44 | -} | ||
45 | - | ||
46 | -.input-container { | ||
47 | - flex:1; | ||
48 | - display:flex; | ||
49 | - justify-content: stretch; | ||
50 | - align-items: stretch; | ||
51 | -} | ||
52 | - | ||
53 | -.input-container span { | ||
54 | - display: flex; | ||
55 | - justify-content: flex-start; | ||
56 | - align-items:center; | ||
57 | - padding: 0.3rem; | ||
58 | - width: 100%; | ||
59 | -} | ||
60 | - | ||
61 | -.chatting-input { | ||
62 | - font-size:12px; | ||
63 | - height:100%; | ||
64 | - flex:8; | ||
65 | - border:none; | ||
66 | -} | ||
67 | - | ||
68 | -.send-button { | ||
69 | - flex:1; | ||
70 | - background: rebeccapurple; | ||
71 | - color:#fff; | ||
72 | - border:none; | ||
73 | - height:100%; | ||
74 | - border-radius:3px; | ||
75 | -} | ||
76 | - | ||
77 | -.chatting-list li { | ||
78 | - width:50%; | ||
79 | - padding:0.3rem; | ||
80 | - display:flex; | ||
81 | - justify-content: flex-start; | ||
82 | - align-items:flex-end; | ||
83 | - margin-top:0.5rem; | ||
84 | -} | ||
85 | - | ||
86 | -.profile { | ||
87 | - display: flex; | ||
88 | - flex-direction: column; | ||
89 | - align-items: center; | ||
90 | - justify-content: center; | ||
91 | - flex: 1; | ||
92 | -} | ||
93 | - | ||
94 | -.profile .user { | ||
95 | - font-size: 10px; | ||
96 | - margin-bottom: 0.3rem; | ||
97 | -} | ||
98 | - | ||
99 | -.profile .image { | ||
100 | - border-radius: 50%; | ||
101 | - object-fit: cover; | ||
102 | - width: 50px; | ||
103 | - height: 50px; | ||
104 | -} | ||
105 | - | ||
106 | -.message { | ||
107 | - border-radius: 5px; | ||
108 | - padding: 0.5rem; | ||
109 | - font-size: 12px; | ||
110 | - margin: 0 5px; | ||
111 | - flex: 10; | ||
112 | -} | ||
113 | - | ||
114 | -.time { | ||
115 | - font-size: 10px; | ||
116 | - margin: 0 5px; | ||
117 | -} | ||
118 | - | ||
119 | -.sent { | ||
120 | - flex-direction: row-reverse; | ||
121 | - float: right; | ||
122 | -} | ||
123 | - | ||
124 | -.sent .message { | ||
125 | - background: #9986EE; | ||
126 | - color: #fff; | ||
127 | -} | ||
128 | - | ||
129 | -.received .message { | ||
130 | - background: #fff; | ||
131 | -} | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
chat/app/src/index.html
deleted
100644 → 0
1 | -<!DOCTYPE html> | ||
2 | -<html lang="en"> | ||
3 | -<head> | ||
4 | - <meta charset="UTF-8"> | ||
5 | - <meta http-equiv="X-UA-Compatible" content="IE=edge"> | ||
6 | - <meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||
7 | - <title>Document</title> | ||
8 | - <link rel="stylesheet" href="css/style.css"> | ||
9 | -</head> | ||
10 | -<body> | ||
11 | - <div class="wrapper"> | ||
12 | - <div class="user-container"> | ||
13 | - <lable class="nickname" for="nickname">닉네임설정</lable> | ||
14 | - <input type="text" id="nickname"> | ||
15 | - </div> | ||
16 | - <div class="display-container"> | ||
17 | - <ul class="chatting-list"> | ||
18 | - | ||
19 | - </ul> | ||
20 | - </div> | ||
21 | - <div class="input-container"> | ||
22 | - <span> | ||
23 | - <input type="text" class="chatting-input"> | ||
24 | - <button class="send-button">전송</button> | ||
25 | - </span> | ||
26 | - </div> | ||
27 | - </div> | ||
28 | - | ||
29 | - <script src="/socket.io/socket.io.js"></script> | ||
30 | - <script src="js/chat.js"></script> | ||
31 | -</body> | ||
32 | -</html> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
chat/app/src/js/chat.js
deleted
100644 → 0
1 | -"use strict" | ||
2 | -//const socket = io.connect("http://localhost:3000/", {transports:['websocket']}); | ||
3 | -const socket = io(); | ||
4 | - | ||
5 | -const nickname = document.querySelector("#nickname") | ||
6 | -const chatlist = document.querySelector(".chatting-list") | ||
7 | -const chatInput = document.querySelector(".chatting-input") | ||
8 | -const sendButton = document.querySelector(".send-button") | ||
9 | -const displayContainer = document.querySelector(".display-container") | ||
10 | - | ||
11 | -chatInput.addEventListener("keypress", (event)=> { | ||
12 | - if(event.keyCode === 13) { | ||
13 | - send() | ||
14 | - } | ||
15 | -}) | ||
16 | - | ||
17 | -function send() { | ||
18 | - const param = { | ||
19 | - name: nickname.value, | ||
20 | - msg: chatInput.value | ||
21 | - } | ||
22 | - socket.emit("chatting", param) | ||
23 | -} | ||
24 | - | ||
25 | -sendButton.addEventListener("click", send) | ||
26 | - | ||
27 | -socket.on("chatting", (data)=>{ | ||
28 | - console.log(data) | ||
29 | - const {name, msg, time} = data; | ||
30 | - const item = new LiModel(name, msg, time); | ||
31 | - item.makeLi() | ||
32 | - displayContainer.scrollTo(0, displayContainer.scrollHeight) | ||
33 | -}) | ||
34 | - | ||
35 | -//console.log(socket); | ||
36 | - | ||
37 | -function LiModel(name, msg, time) { | ||
38 | - this.name = name; | ||
39 | - this.msg = msg; | ||
40 | - this.time = time; | ||
41 | - | ||
42 | - this.makeLi = ()=>{ | ||
43 | - const li = document.createElement("li"); | ||
44 | - li.classList.add(nickname.value === this.name ? "sent":"received") | ||
45 | - const dom = `<span class="profile"> | ||
46 | - <span class="user">${this.name}</span> | ||
47 | - <img class="image" src="https://placeimg.com/50/50/any" alt="any"> | ||
48 | - </span> | ||
49 | - <span class="message">${this.msg}</span> | ||
50 | - <span class="time">${this.time}</span>`; | ||
51 | - | ||
52 | - li.innerHTML = dom; | ||
53 | - chatlist.appendChild(li) | ||
54 | - } | ||
55 | -} | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
chat/package-lock.json
deleted
100644 → 0
1 | -{ | ||
2 | - "name": "chat", | ||
3 | - "version": "1.0.0", | ||
4 | - "lockfileVersion": 2, | ||
5 | - "requires": true, | ||
6 | - "packages": { | ||
7 | - "": { | ||
8 | - "name": "chat", | ||
9 | - "version": "1.0.0", | ||
10 | - "license": "ISC", | ||
11 | - "dependencies": { | ||
12 | - "express": "^4.18.1", | ||
13 | - "moment": "^2.29.3", | ||
14 | - "socket.io": "^4.5.1" | ||
15 | - } | ||
16 | - }, | ||
17 | - "node_modules/@types/component-emitter": { | ||
18 | - "version": "1.2.11", | ||
19 | - "resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.11.tgz", | ||
20 | - "integrity": "sha512-SRXjM+tfsSlA9VuG8hGO2nft2p8zjXCK1VcC6N4NXbBbYbSia9kzCChYQajIjzIqOOOuh5Ock6MmV2oux4jDZQ==" | ||
21 | - }, | ||
22 | - "node_modules/@types/cookie": { | ||
23 | - "version": "0.4.1", | ||
24 | - "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", | ||
25 | - "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==" | ||
26 | - }, | ||
27 | - "node_modules/@types/cors": { | ||
28 | - "version": "2.8.12", | ||
29 | - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz", | ||
30 | - "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==" | ||
31 | - }, | ||
32 | - "node_modules/@types/node": { | ||
33 | - "version": "17.0.39", | ||
34 | - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.39.tgz", | ||
35 | - "integrity": "sha512-JDU3YLlnPK3WDao6/DlXLOgSNpG13ct+CwIO17V8q0/9fWJyeMJJ/VyZ1lv8kDprihvZMydzVwf0tQOqGiY2Nw==" | ||
36 | - }, | ||
37 | - "node_modules/accepts": { | ||
38 | - "version": "1.3.8", | ||
39 | - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", | ||
40 | - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", | ||
41 | - "dependencies": { | ||
42 | - "mime-types": "~2.1.34", | ||
43 | - "negotiator": "0.6.3" | ||
44 | - }, | ||
45 | - "engines": { | ||
46 | - "node": ">= 0.6" | ||
47 | - } | ||
48 | - }, | ||
49 | - "node_modules/array-flatten": { | ||
50 | - "version": "1.1.1", | ||
51 | - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", | ||
52 | - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" | ||
53 | - }, | ||
54 | - "node_modules/base64id": { | ||
55 | - "version": "2.0.0", | ||
56 | - "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", | ||
57 | - "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", | ||
58 | - "engines": { | ||
59 | - "node": "^4.5.0 || >= 5.9" | ||
60 | - } | ||
61 | - }, | ||
62 | - "node_modules/body-parser": { | ||
63 | - "version": "1.20.0", | ||
64 | - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", | ||
65 | - "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", | ||
66 | - "dependencies": { | ||
67 | - "bytes": "3.1.2", | ||
68 | - "content-type": "~1.0.4", | ||
69 | - "debug": "2.6.9", | ||
70 | - "depd": "2.0.0", | ||
71 | - "destroy": "1.2.0", | ||
72 | - "http-errors": "2.0.0", | ||
73 | - "iconv-lite": "0.4.24", | ||
74 | - "on-finished": "2.4.1", | ||
75 | - "qs": "6.10.3", | ||
76 | - "raw-body": "2.5.1", | ||
77 | - "type-is": "~1.6.18", | ||
78 | - "unpipe": "1.0.0" | ||
79 | - }, | ||
80 | - "engines": { | ||
81 | - "node": ">= 0.8", | ||
82 | - "npm": "1.2.8000 || >= 1.4.16" | ||
83 | - } | ||
84 | - }, | ||
85 | - "node_modules/bytes": { | ||
86 | - "version": "3.1.2", | ||
87 | - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", | ||
88 | - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", | ||
89 | - "engines": { | ||
90 | - "node": ">= 0.8" | ||
91 | - } | ||
92 | - }, | ||
93 | - "node_modules/call-bind": { | ||
94 | - "version": "1.0.2", | ||
95 | - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", | ||
96 | - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", | ||
97 | - "dependencies": { | ||
98 | - "function-bind": "^1.1.1", | ||
99 | - "get-intrinsic": "^1.0.2" | ||
100 | - }, | ||
101 | - "funding": { | ||
102 | - "url": "https://github.com/sponsors/ljharb" | ||
103 | - } | ||
104 | - }, | ||
105 | - "node_modules/component-emitter": { | ||
106 | - "version": "1.3.0", | ||
107 | - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", | ||
108 | - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" | ||
109 | - }, | ||
110 | - "node_modules/content-disposition": { | ||
111 | - "version": "0.5.4", | ||
112 | - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", | ||
113 | - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", | ||
114 | - "dependencies": { | ||
115 | - "safe-buffer": "5.2.1" | ||
116 | - }, | ||
117 | - "engines": { | ||
118 | - "node": ">= 0.6" | ||
119 | - } | ||
120 | - }, | ||
121 | - "node_modules/content-type": { | ||
122 | - "version": "1.0.4", | ||
123 | - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", | ||
124 | - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", | ||
125 | - "engines": { | ||
126 | - "node": ">= 0.6" | ||
127 | - } | ||
128 | - }, | ||
129 | - "node_modules/cookie": { | ||
130 | - "version": "0.5.0", | ||
131 | - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", | ||
132 | - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", | ||
133 | - "engines": { | ||
134 | - "node": ">= 0.6" | ||
135 | - } | ||
136 | - }, | ||
137 | - "node_modules/cookie-signature": { | ||
138 | - "version": "1.0.6", | ||
139 | - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", | ||
140 | - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" | ||
141 | - }, | ||
142 | - "node_modules/cors": { | ||
143 | - "version": "2.8.5", | ||
144 | - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", | ||
145 | - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", | ||
146 | - "dependencies": { | ||
147 | - "object-assign": "^4", | ||
148 | - "vary": "^1" | ||
149 | - }, | ||
150 | - "engines": { | ||
151 | - "node": ">= 0.10" | ||
152 | - } | ||
153 | - }, | ||
154 | - "node_modules/debug": { | ||
155 | - "version": "2.6.9", | ||
156 | - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", | ||
157 | - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", | ||
158 | - "dependencies": { | ||
159 | - "ms": "2.0.0" | ||
160 | - } | ||
161 | - }, | ||
162 | - "node_modules/depd": { | ||
163 | - "version": "2.0.0", | ||
164 | - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", | ||
165 | - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", | ||
166 | - "engines": { | ||
167 | - "node": ">= 0.8" | ||
168 | - } | ||
169 | - }, | ||
170 | - "node_modules/destroy": { | ||
171 | - "version": "1.2.0", | ||
172 | - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", | ||
173 | - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", | ||
174 | - "engines": { | ||
175 | - "node": ">= 0.8", | ||
176 | - "npm": "1.2.8000 || >= 1.4.16" | ||
177 | - } | ||
178 | - }, | ||
179 | - "node_modules/ee-first": { | ||
180 | - "version": "1.1.1", | ||
181 | - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", | ||
182 | - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" | ||
183 | - }, | ||
184 | - "node_modules/encodeurl": { | ||
185 | - "version": "1.0.2", | ||
186 | - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", | ||
187 | - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", | ||
188 | - "engines": { | ||
189 | - "node": ">= 0.8" | ||
190 | - } | ||
191 | - }, | ||
192 | - "node_modules/engine.io": { | ||
193 | - "version": "6.2.0", | ||
194 | - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.0.tgz", | ||
195 | - "integrity": "sha512-4KzwW3F3bk+KlzSOY57fj/Jx6LyRQ1nbcyIadehl+AnXjKT7gDO0ORdRi/84ixvMKTym6ZKuxvbzN62HDDU1Lg==", | ||
196 | - "dependencies": { | ||
197 | - "@types/cookie": "^0.4.1", | ||
198 | - "@types/cors": "^2.8.12", | ||
199 | - "@types/node": ">=10.0.0", | ||
200 | - "accepts": "~1.3.4", | ||
201 | - "base64id": "2.0.0", | ||
202 | - "cookie": "~0.4.1", | ||
203 | - "cors": "~2.8.5", | ||
204 | - "debug": "~4.3.1", | ||
205 | - "engine.io-parser": "~5.0.3", | ||
206 | - "ws": "~8.2.3" | ||
207 | - }, | ||
208 | - "engines": { | ||
209 | - "node": ">=10.0.0" | ||
210 | - } | ||
211 | - }, | ||
212 | - "node_modules/engine.io-parser": { | ||
213 | - "version": "5.0.4", | ||
214 | - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz", | ||
215 | - "integrity": "sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg==", | ||
216 | - "engines": { | ||
217 | - "node": ">=10.0.0" | ||
218 | - } | ||
219 | - }, | ||
220 | - "node_modules/engine.io/node_modules/cookie": { | ||
221 | - "version": "0.4.2", | ||
222 | - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", | ||
223 | - "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", | ||
224 | - "engines": { | ||
225 | - "node": ">= 0.6" | ||
226 | - } | ||
227 | - }, | ||
228 | - "node_modules/engine.io/node_modules/debug": { | ||
229 | - "version": "4.3.4", | ||
230 | - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", | ||
231 | - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", | ||
232 | - "dependencies": { | ||
233 | - "ms": "2.1.2" | ||
234 | - }, | ||
235 | - "engines": { | ||
236 | - "node": ">=6.0" | ||
237 | - }, | ||
238 | - "peerDependenciesMeta": { | ||
239 | - "supports-color": { | ||
240 | - "optional": true | ||
241 | - } | ||
242 | - } | ||
243 | - }, | ||
244 | - "node_modules/engine.io/node_modules/ms": { | ||
245 | - "version": "2.1.2", | ||
246 | - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", | ||
247 | - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" | ||
248 | - }, | ||
249 | - "node_modules/escape-html": { | ||
250 | - "version": "1.0.3", | ||
251 | - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", | ||
252 | - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" | ||
253 | - }, | ||
254 | - "node_modules/etag": { | ||
255 | - "version": "1.8.1", | ||
256 | - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", | ||
257 | - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", | ||
258 | - "engines": { | ||
259 | - "node": ">= 0.6" | ||
260 | - } | ||
261 | - }, | ||
262 | - "node_modules/express": { | ||
263 | - "version": "4.18.1", | ||
264 | - "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", | ||
265 | - "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==", | ||
266 | - "dependencies": { | ||
267 | - "accepts": "~1.3.8", | ||
268 | - "array-flatten": "1.1.1", | ||
269 | - "body-parser": "1.20.0", | ||
270 | - "content-disposition": "0.5.4", | ||
271 | - "content-type": "~1.0.4", | ||
272 | - "cookie": "0.5.0", | ||
273 | - "cookie-signature": "1.0.6", | ||
274 | - "debug": "2.6.9", | ||
275 | - "depd": "2.0.0", | ||
276 | - "encodeurl": "~1.0.2", | ||
277 | - "escape-html": "~1.0.3", | ||
278 | - "etag": "~1.8.1", | ||
279 | - "finalhandler": "1.2.0", | ||
280 | - "fresh": "0.5.2", | ||
281 | - "http-errors": "2.0.0", | ||
282 | - "merge-descriptors": "1.0.1", | ||
283 | - "methods": "~1.1.2", | ||
284 | - "on-finished": "2.4.1", | ||
285 | - "parseurl": "~1.3.3", | ||
286 | - "path-to-regexp": "0.1.7", | ||
287 | - "proxy-addr": "~2.0.7", | ||
288 | - "qs": "6.10.3", | ||
289 | - "range-parser": "~1.2.1", | ||
290 | - "safe-buffer": "5.2.1", | ||
291 | - "send": "0.18.0", | ||
292 | - "serve-static": "1.15.0", | ||
293 | - "setprototypeof": "1.2.0", | ||
294 | - "statuses": "2.0.1", | ||
295 | - "type-is": "~1.6.18", | ||
296 | - "utils-merge": "1.0.1", | ||
297 | - "vary": "~1.1.2" | ||
298 | - }, | ||
299 | - "engines": { | ||
300 | - "node": ">= 0.10.0" | ||
301 | - } | ||
302 | - }, | ||
303 | - "node_modules/finalhandler": { | ||
304 | - "version": "1.2.0", | ||
305 | - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", | ||
306 | - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", | ||
307 | - "dependencies": { | ||
308 | - "debug": "2.6.9", | ||
309 | - "encodeurl": "~1.0.2", | ||
310 | - "escape-html": "~1.0.3", | ||
311 | - "on-finished": "2.4.1", | ||
312 | - "parseurl": "~1.3.3", | ||
313 | - "statuses": "2.0.1", | ||
314 | - "unpipe": "~1.0.0" | ||
315 | - }, | ||
316 | - "engines": { | ||
317 | - "node": ">= 0.8" | ||
318 | - } | ||
319 | - }, | ||
320 | - "node_modules/forwarded": { | ||
321 | - "version": "0.2.0", | ||
322 | - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", | ||
323 | - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", | ||
324 | - "engines": { | ||
325 | - "node": ">= 0.6" | ||
326 | - } | ||
327 | - }, | ||
328 | - "node_modules/fresh": { | ||
329 | - "version": "0.5.2", | ||
330 | - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", | ||
331 | - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", | ||
332 | - "engines": { | ||
333 | - "node": ">= 0.6" | ||
334 | - } | ||
335 | - }, | ||
336 | - "node_modules/function-bind": { | ||
337 | - "version": "1.1.1", | ||
338 | - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", | ||
339 | - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" | ||
340 | - }, | ||
341 | - "node_modules/get-intrinsic": { | ||
342 | - "version": "1.1.1", | ||
343 | - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", | ||
344 | - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", | ||
345 | - "dependencies": { | ||
346 | - "function-bind": "^1.1.1", | ||
347 | - "has": "^1.0.3", | ||
348 | - "has-symbols": "^1.0.1" | ||
349 | - }, | ||
350 | - "funding": { | ||
351 | - "url": "https://github.com/sponsors/ljharb" | ||
352 | - } | ||
353 | - }, | ||
354 | - "node_modules/has": { | ||
355 | - "version": "1.0.3", | ||
356 | - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", | ||
357 | - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", | ||
358 | - "dependencies": { | ||
359 | - "function-bind": "^1.1.1" | ||
360 | - }, | ||
361 | - "engines": { | ||
362 | - "node": ">= 0.4.0" | ||
363 | - } | ||
364 | - }, | ||
365 | - "node_modules/has-symbols": { | ||
366 | - "version": "1.0.3", | ||
367 | - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", | ||
368 | - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", | ||
369 | - "engines": { | ||
370 | - "node": ">= 0.4" | ||
371 | - }, | ||
372 | - "funding": { | ||
373 | - "url": "https://github.com/sponsors/ljharb" | ||
374 | - } | ||
375 | - }, | ||
376 | - "node_modules/http-errors": { | ||
377 | - "version": "2.0.0", | ||
378 | - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", | ||
379 | - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", | ||
380 | - "dependencies": { | ||
381 | - "depd": "2.0.0", | ||
382 | - "inherits": "2.0.4", | ||
383 | - "setprototypeof": "1.2.0", | ||
384 | - "statuses": "2.0.1", | ||
385 | - "toidentifier": "1.0.1" | ||
386 | - }, | ||
387 | - "engines": { | ||
388 | - "node": ">= 0.8" | ||
389 | - } | ||
390 | - }, | ||
391 | - "node_modules/iconv-lite": { | ||
392 | - "version": "0.4.24", | ||
393 | - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", | ||
394 | - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", | ||
395 | - "dependencies": { | ||
396 | - "safer-buffer": ">= 2.1.2 < 3" | ||
397 | - }, | ||
398 | - "engines": { | ||
399 | - "node": ">=0.10.0" | ||
400 | - } | ||
401 | - }, | ||
402 | - "node_modules/inherits": { | ||
403 | - "version": "2.0.4", | ||
404 | - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", | ||
405 | - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" | ||
406 | - }, | ||
407 | - "node_modules/ipaddr.js": { | ||
408 | - "version": "1.9.1", | ||
409 | - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", | ||
410 | - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", | ||
411 | - "engines": { | ||
412 | - "node": ">= 0.10" | ||
413 | - } | ||
414 | - }, | ||
415 | - "node_modules/media-typer": { | ||
416 | - "version": "0.3.0", | ||
417 | - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", | ||
418 | - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", | ||
419 | - "engines": { | ||
420 | - "node": ">= 0.6" | ||
421 | - } | ||
422 | - }, | ||
423 | - "node_modules/merge-descriptors": { | ||
424 | - "version": "1.0.1", | ||
425 | - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", | ||
426 | - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" | ||
427 | - }, | ||
428 | - "node_modules/methods": { | ||
429 | - "version": "1.1.2", | ||
430 | - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", | ||
431 | - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", | ||
432 | - "engines": { | ||
433 | - "node": ">= 0.6" | ||
434 | - } | ||
435 | - }, | ||
436 | - "node_modules/mime": { | ||
437 | - "version": "1.6.0", | ||
438 | - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", | ||
439 | - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", | ||
440 | - "bin": { | ||
441 | - "mime": "cli.js" | ||
442 | - }, | ||
443 | - "engines": { | ||
444 | - "node": ">=4" | ||
445 | - } | ||
446 | - }, | ||
447 | - "node_modules/mime-db": { | ||
448 | - "version": "1.52.0", | ||
449 | - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", | ||
450 | - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", | ||
451 | - "engines": { | ||
452 | - "node": ">= 0.6" | ||
453 | - } | ||
454 | - }, | ||
455 | - "node_modules/mime-types": { | ||
456 | - "version": "2.1.35", | ||
457 | - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", | ||
458 | - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", | ||
459 | - "dependencies": { | ||
460 | - "mime-db": "1.52.0" | ||
461 | - }, | ||
462 | - "engines": { | ||
463 | - "node": ">= 0.6" | ||
464 | - } | ||
465 | - }, | ||
466 | - "node_modules/moment": { | ||
467 | - "version": "2.29.3", | ||
468 | - "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.3.tgz", | ||
469 | - "integrity": "sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw==", | ||
470 | - "engines": { | ||
471 | - "node": "*" | ||
472 | - } | ||
473 | - }, | ||
474 | - "node_modules/ms": { | ||
475 | - "version": "2.0.0", | ||
476 | - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", | ||
477 | - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" | ||
478 | - }, | ||
479 | - "node_modules/negotiator": { | ||
480 | - "version": "0.6.3", | ||
481 | - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", | ||
482 | - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", | ||
483 | - "engines": { | ||
484 | - "node": ">= 0.6" | ||
485 | - } | ||
486 | - }, | ||
487 | - "node_modules/object-assign": { | ||
488 | - "version": "4.1.1", | ||
489 | - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", | ||
490 | - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", | ||
491 | - "engines": { | ||
492 | - "node": ">=0.10.0" | ||
493 | - } | ||
494 | - }, | ||
495 | - "node_modules/object-inspect": { | ||
496 | - "version": "1.12.2", | ||
497 | - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", | ||
498 | - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", | ||
499 | - "funding": { | ||
500 | - "url": "https://github.com/sponsors/ljharb" | ||
501 | - } | ||
502 | - }, | ||
503 | - "node_modules/on-finished": { | ||
504 | - "version": "2.4.1", | ||
505 | - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", | ||
506 | - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", | ||
507 | - "dependencies": { | ||
508 | - "ee-first": "1.1.1" | ||
509 | - }, | ||
510 | - "engines": { | ||
511 | - "node": ">= 0.8" | ||
512 | - } | ||
513 | - }, | ||
514 | - "node_modules/parseurl": { | ||
515 | - "version": "1.3.3", | ||
516 | - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", | ||
517 | - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", | ||
518 | - "engines": { | ||
519 | - "node": ">= 0.8" | ||
520 | - } | ||
521 | - }, | ||
522 | - "node_modules/path-to-regexp": { | ||
523 | - "version": "0.1.7", | ||
524 | - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", | ||
525 | - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" | ||
526 | - }, | ||
527 | - "node_modules/proxy-addr": { | ||
528 | - "version": "2.0.7", | ||
529 | - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", | ||
530 | - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", | ||
531 | - "dependencies": { | ||
532 | - "forwarded": "0.2.0", | ||
533 | - "ipaddr.js": "1.9.1" | ||
534 | - }, | ||
535 | - "engines": { | ||
536 | - "node": ">= 0.10" | ||
537 | - } | ||
538 | - }, | ||
539 | - "node_modules/qs": { | ||
540 | - "version": "6.10.3", | ||
541 | - "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", | ||
542 | - "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", | ||
543 | - "dependencies": { | ||
544 | - "side-channel": "^1.0.4" | ||
545 | - }, | ||
546 | - "engines": { | ||
547 | - "node": ">=0.6" | ||
548 | - }, | ||
549 | - "funding": { | ||
550 | - "url": "https://github.com/sponsors/ljharb" | ||
551 | - } | ||
552 | - }, | ||
553 | - "node_modules/range-parser": { | ||
554 | - "version": "1.2.1", | ||
555 | - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", | ||
556 | - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", | ||
557 | - "engines": { | ||
558 | - "node": ">= 0.6" | ||
559 | - } | ||
560 | - }, | ||
561 | - "node_modules/raw-body": { | ||
562 | - "version": "2.5.1", | ||
563 | - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", | ||
564 | - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", | ||
565 | - "dependencies": { | ||
566 | - "bytes": "3.1.2", | ||
567 | - "http-errors": "2.0.0", | ||
568 | - "iconv-lite": "0.4.24", | ||
569 | - "unpipe": "1.0.0" | ||
570 | - }, | ||
571 | - "engines": { | ||
572 | - "node": ">= 0.8" | ||
573 | - } | ||
574 | - }, | ||
575 | - "node_modules/safe-buffer": { | ||
576 | - "version": "5.2.1", | ||
577 | - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", | ||
578 | - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", | ||
579 | - "funding": [ | ||
580 | - { | ||
581 | - "type": "github", | ||
582 | - "url": "https://github.com/sponsors/feross" | ||
583 | - }, | ||
584 | - { | ||
585 | - "type": "patreon", | ||
586 | - "url": "https://www.patreon.com/feross" | ||
587 | - }, | ||
588 | - { | ||
589 | - "type": "consulting", | ||
590 | - "url": "https://feross.org/support" | ||
591 | - } | ||
592 | - ] | ||
593 | - }, | ||
594 | - "node_modules/safer-buffer": { | ||
595 | - "version": "2.1.2", | ||
596 | - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", | ||
597 | - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" | ||
598 | - }, | ||
599 | - "node_modules/send": { | ||
600 | - "version": "0.18.0", | ||
601 | - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", | ||
602 | - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", | ||
603 | - "dependencies": { | ||
604 | - "debug": "2.6.9", | ||
605 | - "depd": "2.0.0", | ||
606 | - "destroy": "1.2.0", | ||
607 | - "encodeurl": "~1.0.2", | ||
608 | - "escape-html": "~1.0.3", | ||
609 | - "etag": "~1.8.1", | ||
610 | - "fresh": "0.5.2", | ||
611 | - "http-errors": "2.0.0", | ||
612 | - "mime": "1.6.0", | ||
613 | - "ms": "2.1.3", | ||
614 | - "on-finished": "2.4.1", | ||
615 | - "range-parser": "~1.2.1", | ||
616 | - "statuses": "2.0.1" | ||
617 | - }, | ||
618 | - "engines": { | ||
619 | - "node": ">= 0.8.0" | ||
620 | - } | ||
621 | - }, | ||
622 | - "node_modules/send/node_modules/ms": { | ||
623 | - "version": "2.1.3", | ||
624 | - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", | ||
625 | - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" | ||
626 | - }, | ||
627 | - "node_modules/serve-static": { | ||
628 | - "version": "1.15.0", | ||
629 | - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", | ||
630 | - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", | ||
631 | - "dependencies": { | ||
632 | - "encodeurl": "~1.0.2", | ||
633 | - "escape-html": "~1.0.3", | ||
634 | - "parseurl": "~1.3.3", | ||
635 | - "send": "0.18.0" | ||
636 | - }, | ||
637 | - "engines": { | ||
638 | - "node": ">= 0.8.0" | ||
639 | - } | ||
640 | - }, | ||
641 | - "node_modules/setprototypeof": { | ||
642 | - "version": "1.2.0", | ||
643 | - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", | ||
644 | - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" | ||
645 | - }, | ||
646 | - "node_modules/side-channel": { | ||
647 | - "version": "1.0.4", | ||
648 | - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", | ||
649 | - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", | ||
650 | - "dependencies": { | ||
651 | - "call-bind": "^1.0.0", | ||
652 | - "get-intrinsic": "^1.0.2", | ||
653 | - "object-inspect": "^1.9.0" | ||
654 | - }, | ||
655 | - "funding": { | ||
656 | - "url": "https://github.com/sponsors/ljharb" | ||
657 | - } | ||
658 | - }, | ||
659 | - "node_modules/socket.io": { | ||
660 | - "version": "4.5.1", | ||
661 | - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.1.tgz", | ||
662 | - "integrity": "sha512-0y9pnIso5a9i+lJmsCdtmTTgJFFSvNQKDnPQRz28mGNnxbmqYg2QPtJTLFxhymFZhAIn50eHAKzJeiNaKr+yUQ==", | ||
663 | - "dependencies": { | ||
664 | - "accepts": "~1.3.4", | ||
665 | - "base64id": "~2.0.0", | ||
666 | - "debug": "~4.3.2", | ||
667 | - "engine.io": "~6.2.0", | ||
668 | - "socket.io-adapter": "~2.4.0", | ||
669 | - "socket.io-parser": "~4.0.4" | ||
670 | - }, | ||
671 | - "engines": { | ||
672 | - "node": ">=10.0.0" | ||
673 | - } | ||
674 | - }, | ||
675 | - "node_modules/socket.io-adapter": { | ||
676 | - "version": "2.4.0", | ||
677 | - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz", | ||
678 | - "integrity": "sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg==" | ||
679 | - }, | ||
680 | - "node_modules/socket.io-parser": { | ||
681 | - "version": "4.0.4", | ||
682 | - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz", | ||
683 | - "integrity": "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==", | ||
684 | - "dependencies": { | ||
685 | - "@types/component-emitter": "^1.2.10", | ||
686 | - "component-emitter": "~1.3.0", | ||
687 | - "debug": "~4.3.1" | ||
688 | - }, | ||
689 | - "engines": { | ||
690 | - "node": ">=10.0.0" | ||
691 | - } | ||
692 | - }, | ||
693 | - "node_modules/socket.io-parser/node_modules/debug": { | ||
694 | - "version": "4.3.4", | ||
695 | - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", | ||
696 | - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", | ||
697 | - "dependencies": { | ||
698 | - "ms": "2.1.2" | ||
699 | - }, | ||
700 | - "engines": { | ||
701 | - "node": ">=6.0" | ||
702 | - }, | ||
703 | - "peerDependenciesMeta": { | ||
704 | - "supports-color": { | ||
705 | - "optional": true | ||
706 | - } | ||
707 | - } | ||
708 | - }, | ||
709 | - "node_modules/socket.io-parser/node_modules/ms": { | ||
710 | - "version": "2.1.2", | ||
711 | - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", | ||
712 | - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" | ||
713 | - }, | ||
714 | - "node_modules/socket.io/node_modules/debug": { | ||
715 | - "version": "4.3.4", | ||
716 | - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", | ||
717 | - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", | ||
718 | - "dependencies": { | ||
719 | - "ms": "2.1.2" | ||
720 | - }, | ||
721 | - "engines": { | ||
722 | - "node": ">=6.0" | ||
723 | - }, | ||
724 | - "peerDependenciesMeta": { | ||
725 | - "supports-color": { | ||
726 | - "optional": true | ||
727 | - } | ||
728 | - } | ||
729 | - }, | ||
730 | - "node_modules/socket.io/node_modules/ms": { | ||
731 | - "version": "2.1.2", | ||
732 | - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", | ||
733 | - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" | ||
734 | - }, | ||
735 | - "node_modules/statuses": { | ||
736 | - "version": "2.0.1", | ||
737 | - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", | ||
738 | - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", | ||
739 | - "engines": { | ||
740 | - "node": ">= 0.8" | ||
741 | - } | ||
742 | - }, | ||
743 | - "node_modules/toidentifier": { | ||
744 | - "version": "1.0.1", | ||
745 | - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", | ||
746 | - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", | ||
747 | - "engines": { | ||
748 | - "node": ">=0.6" | ||
749 | - } | ||
750 | - }, | ||
751 | - "node_modules/type-is": { | ||
752 | - "version": "1.6.18", | ||
753 | - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", | ||
754 | - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", | ||
755 | - "dependencies": { | ||
756 | - "media-typer": "0.3.0", | ||
757 | - "mime-types": "~2.1.24" | ||
758 | - }, | ||
759 | - "engines": { | ||
760 | - "node": ">= 0.6" | ||
761 | - } | ||
762 | - }, | ||
763 | - "node_modules/unpipe": { | ||
764 | - "version": "1.0.0", | ||
765 | - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", | ||
766 | - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", | ||
767 | - "engines": { | ||
768 | - "node": ">= 0.8" | ||
769 | - } | ||
770 | - }, | ||
771 | - "node_modules/utils-merge": { | ||
772 | - "version": "1.0.1", | ||
773 | - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", | ||
774 | - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", | ||
775 | - "engines": { | ||
776 | - "node": ">= 0.4.0" | ||
777 | - } | ||
778 | - }, | ||
779 | - "node_modules/vary": { | ||
780 | - "version": "1.1.2", | ||
781 | - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", | ||
782 | - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", | ||
783 | - "engines": { | ||
784 | - "node": ">= 0.8" | ||
785 | - } | ||
786 | - }, | ||
787 | - "node_modules/ws": { | ||
788 | - "version": "8.2.3", | ||
789 | - "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz", | ||
790 | - "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==", | ||
791 | - "engines": { | ||
792 | - "node": ">=10.0.0" | ||
793 | - }, | ||
794 | - "peerDependencies": { | ||
795 | - "bufferutil": "^4.0.1", | ||
796 | - "utf-8-validate": "^5.0.2" | ||
797 | - }, | ||
798 | - "peerDependenciesMeta": { | ||
799 | - "bufferutil": { | ||
800 | - "optional": true | ||
801 | - }, | ||
802 | - "utf-8-validate": { | ||
803 | - "optional": true | ||
804 | - } | ||
805 | - } | ||
806 | - } | ||
807 | - }, | ||
808 | - "dependencies": { | ||
809 | - "@types/component-emitter": { | ||
810 | - "version": "1.2.11", | ||
811 | - "resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.11.tgz", | ||
812 | - "integrity": "sha512-SRXjM+tfsSlA9VuG8hGO2nft2p8zjXCK1VcC6N4NXbBbYbSia9kzCChYQajIjzIqOOOuh5Ock6MmV2oux4jDZQ==" | ||
813 | - }, | ||
814 | - "@types/cookie": { | ||
815 | - "version": "0.4.1", | ||
816 | - "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", | ||
817 | - "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==" | ||
818 | - }, | ||
819 | - "@types/cors": { | ||
820 | - "version": "2.8.12", | ||
821 | - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz", | ||
822 | - "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==" | ||
823 | - }, | ||
824 | - "@types/node": { | ||
825 | - "version": "17.0.39", | ||
826 | - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.39.tgz", | ||
827 | - "integrity": "sha512-JDU3YLlnPK3WDao6/DlXLOgSNpG13ct+CwIO17V8q0/9fWJyeMJJ/VyZ1lv8kDprihvZMydzVwf0tQOqGiY2Nw==" | ||
828 | - }, | ||
829 | - "accepts": { | ||
830 | - "version": "1.3.8", | ||
831 | - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", | ||
832 | - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", | ||
833 | - "requires": { | ||
834 | - "mime-types": "~2.1.34", | ||
835 | - "negotiator": "0.6.3" | ||
836 | - } | ||
837 | - }, | ||
838 | - "array-flatten": { | ||
839 | - "version": "1.1.1", | ||
840 | - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", | ||
841 | - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" | ||
842 | - }, | ||
843 | - "base64id": { | ||
844 | - "version": "2.0.0", | ||
845 | - "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", | ||
846 | - "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==" | ||
847 | - }, | ||
848 | - "body-parser": { | ||
849 | - "version": "1.20.0", | ||
850 | - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", | ||
851 | - "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", | ||
852 | - "requires": { | ||
853 | - "bytes": "3.1.2", | ||
854 | - "content-type": "~1.0.4", | ||
855 | - "debug": "2.6.9", | ||
856 | - "depd": "2.0.0", | ||
857 | - "destroy": "1.2.0", | ||
858 | - "http-errors": "2.0.0", | ||
859 | - "iconv-lite": "0.4.24", | ||
860 | - "on-finished": "2.4.1", | ||
861 | - "qs": "6.10.3", | ||
862 | - "raw-body": "2.5.1", | ||
863 | - "type-is": "~1.6.18", | ||
864 | - "unpipe": "1.0.0" | ||
865 | - } | ||
866 | - }, | ||
867 | - "bytes": { | ||
868 | - "version": "3.1.2", | ||
869 | - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", | ||
870 | - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" | ||
871 | - }, | ||
872 | - "call-bind": { | ||
873 | - "version": "1.0.2", | ||
874 | - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", | ||
875 | - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", | ||
876 | - "requires": { | ||
877 | - "function-bind": "^1.1.1", | ||
878 | - "get-intrinsic": "^1.0.2" | ||
879 | - } | ||
880 | - }, | ||
881 | - "component-emitter": { | ||
882 | - "version": "1.3.0", | ||
883 | - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", | ||
884 | - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" | ||
885 | - }, | ||
886 | - "content-disposition": { | ||
887 | - "version": "0.5.4", | ||
888 | - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", | ||
889 | - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", | ||
890 | - "requires": { | ||
891 | - "safe-buffer": "5.2.1" | ||
892 | - } | ||
893 | - }, | ||
894 | - "content-type": { | ||
895 | - "version": "1.0.4", | ||
896 | - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", | ||
897 | - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" | ||
898 | - }, | ||
899 | - "cookie": { | ||
900 | - "version": "0.5.0", | ||
901 | - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", | ||
902 | - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" | ||
903 | - }, | ||
904 | - "cookie-signature": { | ||
905 | - "version": "1.0.6", | ||
906 | - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", | ||
907 | - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" | ||
908 | - }, | ||
909 | - "cors": { | ||
910 | - "version": "2.8.5", | ||
911 | - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", | ||
912 | - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", | ||
913 | - "requires": { | ||
914 | - "object-assign": "^4", | ||
915 | - "vary": "^1" | ||
916 | - } | ||
917 | - }, | ||
918 | - "debug": { | ||
919 | - "version": "2.6.9", | ||
920 | - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", | ||
921 | - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", | ||
922 | - "requires": { | ||
923 | - "ms": "2.0.0" | ||
924 | - } | ||
925 | - }, | ||
926 | - "depd": { | ||
927 | - "version": "2.0.0", | ||
928 | - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", | ||
929 | - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" | ||
930 | - }, | ||
931 | - "destroy": { | ||
932 | - "version": "1.2.0", | ||
933 | - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", | ||
934 | - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" | ||
935 | - }, | ||
936 | - "ee-first": { | ||
937 | - "version": "1.1.1", | ||
938 | - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", | ||
939 | - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" | ||
940 | - }, | ||
941 | - "encodeurl": { | ||
942 | - "version": "1.0.2", | ||
943 | - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", | ||
944 | - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" | ||
945 | - }, | ||
946 | - "engine.io": { | ||
947 | - "version": "6.2.0", | ||
948 | - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.0.tgz", | ||
949 | - "integrity": "sha512-4KzwW3F3bk+KlzSOY57fj/Jx6LyRQ1nbcyIadehl+AnXjKT7gDO0ORdRi/84ixvMKTym6ZKuxvbzN62HDDU1Lg==", | ||
950 | - "requires": { | ||
951 | - "@types/cookie": "^0.4.1", | ||
952 | - "@types/cors": "^2.8.12", | ||
953 | - "@types/node": ">=10.0.0", | ||
954 | - "accepts": "~1.3.4", | ||
955 | - "base64id": "2.0.0", | ||
956 | - "cookie": "~0.4.1", | ||
957 | - "cors": "~2.8.5", | ||
958 | - "debug": "~4.3.1", | ||
959 | - "engine.io-parser": "~5.0.3", | ||
960 | - "ws": "~8.2.3" | ||
961 | - }, | ||
962 | - "dependencies": { | ||
963 | - "cookie": { | ||
964 | - "version": "0.4.2", | ||
965 | - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", | ||
966 | - "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==" | ||
967 | - }, | ||
968 | - "debug": { | ||
969 | - "version": "4.3.4", | ||
970 | - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", | ||
971 | - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", | ||
972 | - "requires": { | ||
973 | - "ms": "2.1.2" | ||
974 | - } | ||
975 | - }, | ||
976 | - "ms": { | ||
977 | - "version": "2.1.2", | ||
978 | - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", | ||
979 | - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" | ||
980 | - } | ||
981 | - } | ||
982 | - }, | ||
983 | - "engine.io-parser": { | ||
984 | - "version": "5.0.4", | ||
985 | - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz", | ||
986 | - "integrity": "sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg==" | ||
987 | - }, | ||
988 | - "escape-html": { | ||
989 | - "version": "1.0.3", | ||
990 | - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", | ||
991 | - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" | ||
992 | - }, | ||
993 | - "etag": { | ||
994 | - "version": "1.8.1", | ||
995 | - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", | ||
996 | - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" | ||
997 | - }, | ||
998 | - "express": { | ||
999 | - "version": "4.18.1", | ||
1000 | - "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", | ||
1001 | - "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==", | ||
1002 | - "requires": { | ||
1003 | - "accepts": "~1.3.8", | ||
1004 | - "array-flatten": "1.1.1", | ||
1005 | - "body-parser": "1.20.0", | ||
1006 | - "content-disposition": "0.5.4", | ||
1007 | - "content-type": "~1.0.4", | ||
1008 | - "cookie": "0.5.0", | ||
1009 | - "cookie-signature": "1.0.6", | ||
1010 | - "debug": "2.6.9", | ||
1011 | - "depd": "2.0.0", | ||
1012 | - "encodeurl": "~1.0.2", | ||
1013 | - "escape-html": "~1.0.3", | ||
1014 | - "etag": "~1.8.1", | ||
1015 | - "finalhandler": "1.2.0", | ||
1016 | - "fresh": "0.5.2", | ||
1017 | - "http-errors": "2.0.0", | ||
1018 | - "merge-descriptors": "1.0.1", | ||
1019 | - "methods": "~1.1.2", | ||
1020 | - "on-finished": "2.4.1", | ||
1021 | - "parseurl": "~1.3.3", | ||
1022 | - "path-to-regexp": "0.1.7", | ||
1023 | - "proxy-addr": "~2.0.7", | ||
1024 | - "qs": "6.10.3", | ||
1025 | - "range-parser": "~1.2.1", | ||
1026 | - "safe-buffer": "5.2.1", | ||
1027 | - "send": "0.18.0", | ||
1028 | - "serve-static": "1.15.0", | ||
1029 | - "setprototypeof": "1.2.0", | ||
1030 | - "statuses": "2.0.1", | ||
1031 | - "type-is": "~1.6.18", | ||
1032 | - "utils-merge": "1.0.1", | ||
1033 | - "vary": "~1.1.2" | ||
1034 | - } | ||
1035 | - }, | ||
1036 | - "finalhandler": { | ||
1037 | - "version": "1.2.0", | ||
1038 | - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", | ||
1039 | - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", | ||
1040 | - "requires": { | ||
1041 | - "debug": "2.6.9", | ||
1042 | - "encodeurl": "~1.0.2", | ||
1043 | - "escape-html": "~1.0.3", | ||
1044 | - "on-finished": "2.4.1", | ||
1045 | - "parseurl": "~1.3.3", | ||
1046 | - "statuses": "2.0.1", | ||
1047 | - "unpipe": "~1.0.0" | ||
1048 | - } | ||
1049 | - }, | ||
1050 | - "forwarded": { | ||
1051 | - "version": "0.2.0", | ||
1052 | - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", | ||
1053 | - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" | ||
1054 | - }, | ||
1055 | - "fresh": { | ||
1056 | - "version": "0.5.2", | ||
1057 | - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", | ||
1058 | - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" | ||
1059 | - }, | ||
1060 | - "function-bind": { | ||
1061 | - "version": "1.1.1", | ||
1062 | - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", | ||
1063 | - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" | ||
1064 | - }, | ||
1065 | - "get-intrinsic": { | ||
1066 | - "version": "1.1.1", | ||
1067 | - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", | ||
1068 | - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", | ||
1069 | - "requires": { | ||
1070 | - "function-bind": "^1.1.1", | ||
1071 | - "has": "^1.0.3", | ||
1072 | - "has-symbols": "^1.0.1" | ||
1073 | - } | ||
1074 | - }, | ||
1075 | - "has": { | ||
1076 | - "version": "1.0.3", | ||
1077 | - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", | ||
1078 | - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", | ||
1079 | - "requires": { | ||
1080 | - "function-bind": "^1.1.1" | ||
1081 | - } | ||
1082 | - }, | ||
1083 | - "has-symbols": { | ||
1084 | - "version": "1.0.3", | ||
1085 | - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", | ||
1086 | - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" | ||
1087 | - }, | ||
1088 | - "http-errors": { | ||
1089 | - "version": "2.0.0", | ||
1090 | - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", | ||
1091 | - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", | ||
1092 | - "requires": { | ||
1093 | - "depd": "2.0.0", | ||
1094 | - "inherits": "2.0.4", | ||
1095 | - "setprototypeof": "1.2.0", | ||
1096 | - "statuses": "2.0.1", | ||
1097 | - "toidentifier": "1.0.1" | ||
1098 | - } | ||
1099 | - }, | ||
1100 | - "iconv-lite": { | ||
1101 | - "version": "0.4.24", | ||
1102 | - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", | ||
1103 | - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", | ||
1104 | - "requires": { | ||
1105 | - "safer-buffer": ">= 2.1.2 < 3" | ||
1106 | - } | ||
1107 | - }, | ||
1108 | - "inherits": { | ||
1109 | - "version": "2.0.4", | ||
1110 | - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", | ||
1111 | - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" | ||
1112 | - }, | ||
1113 | - "ipaddr.js": { | ||
1114 | - "version": "1.9.1", | ||
1115 | - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", | ||
1116 | - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" | ||
1117 | - }, | ||
1118 | - "media-typer": { | ||
1119 | - "version": "0.3.0", | ||
1120 | - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", | ||
1121 | - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==" | ||
1122 | - }, | ||
1123 | - "merge-descriptors": { | ||
1124 | - "version": "1.0.1", | ||
1125 | - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", | ||
1126 | - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" | ||
1127 | - }, | ||
1128 | - "methods": { | ||
1129 | - "version": "1.1.2", | ||
1130 | - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", | ||
1131 | - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==" | ||
1132 | - }, | ||
1133 | - "mime": { | ||
1134 | - "version": "1.6.0", | ||
1135 | - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", | ||
1136 | - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" | ||
1137 | - }, | ||
1138 | - "mime-db": { | ||
1139 | - "version": "1.52.0", | ||
1140 | - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", | ||
1141 | - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" | ||
1142 | - }, | ||
1143 | - "mime-types": { | ||
1144 | - "version": "2.1.35", | ||
1145 | - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", | ||
1146 | - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", | ||
1147 | - "requires": { | ||
1148 | - "mime-db": "1.52.0" | ||
1149 | - } | ||
1150 | - }, | ||
1151 | - "moment": { | ||
1152 | - "version": "2.29.3", | ||
1153 | - "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.3.tgz", | ||
1154 | - "integrity": "sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw==" | ||
1155 | - }, | ||
1156 | - "ms": { | ||
1157 | - "version": "2.0.0", | ||
1158 | - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", | ||
1159 | - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" | ||
1160 | - }, | ||
1161 | - "negotiator": { | ||
1162 | - "version": "0.6.3", | ||
1163 | - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", | ||
1164 | - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" | ||
1165 | - }, | ||
1166 | - "object-assign": { | ||
1167 | - "version": "4.1.1", | ||
1168 | - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", | ||
1169 | - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" | ||
1170 | - }, | ||
1171 | - "object-inspect": { | ||
1172 | - "version": "1.12.2", | ||
1173 | - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", | ||
1174 | - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==" | ||
1175 | - }, | ||
1176 | - "on-finished": { | ||
1177 | - "version": "2.4.1", | ||
1178 | - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", | ||
1179 | - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", | ||
1180 | - "requires": { | ||
1181 | - "ee-first": "1.1.1" | ||
1182 | - } | ||
1183 | - }, | ||
1184 | - "parseurl": { | ||
1185 | - "version": "1.3.3", | ||
1186 | - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", | ||
1187 | - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" | ||
1188 | - }, | ||
1189 | - "path-to-regexp": { | ||
1190 | - "version": "0.1.7", | ||
1191 | - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", | ||
1192 | - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" | ||
1193 | - }, | ||
1194 | - "proxy-addr": { | ||
1195 | - "version": "2.0.7", | ||
1196 | - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", | ||
1197 | - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", | ||
1198 | - "requires": { | ||
1199 | - "forwarded": "0.2.0", | ||
1200 | - "ipaddr.js": "1.9.1" | ||
1201 | - } | ||
1202 | - }, | ||
1203 | - "qs": { | ||
1204 | - "version": "6.10.3", | ||
1205 | - "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", | ||
1206 | - "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", | ||
1207 | - "requires": { | ||
1208 | - "side-channel": "^1.0.4" | ||
1209 | - } | ||
1210 | - }, | ||
1211 | - "range-parser": { | ||
1212 | - "version": "1.2.1", | ||
1213 | - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", | ||
1214 | - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" | ||
1215 | - }, | ||
1216 | - "raw-body": { | ||
1217 | - "version": "2.5.1", | ||
1218 | - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", | ||
1219 | - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", | ||
1220 | - "requires": { | ||
1221 | - "bytes": "3.1.2", | ||
1222 | - "http-errors": "2.0.0", | ||
1223 | - "iconv-lite": "0.4.24", | ||
1224 | - "unpipe": "1.0.0" | ||
1225 | - } | ||
1226 | - }, | ||
1227 | - "safe-buffer": { | ||
1228 | - "version": "5.2.1", | ||
1229 | - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", | ||
1230 | - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" | ||
1231 | - }, | ||
1232 | - "safer-buffer": { | ||
1233 | - "version": "2.1.2", | ||
1234 | - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", | ||
1235 | - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" | ||
1236 | - }, | ||
1237 | - "send": { | ||
1238 | - "version": "0.18.0", | ||
1239 | - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", | ||
1240 | - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", | ||
1241 | - "requires": { | ||
1242 | - "debug": "2.6.9", | ||
1243 | - "depd": "2.0.0", | ||
1244 | - "destroy": "1.2.0", | ||
1245 | - "encodeurl": "~1.0.2", | ||
1246 | - "escape-html": "~1.0.3", | ||
1247 | - "etag": "~1.8.1", | ||
1248 | - "fresh": "0.5.2", | ||
1249 | - "http-errors": "2.0.0", | ||
1250 | - "mime": "1.6.0", | ||
1251 | - "ms": "2.1.3", | ||
1252 | - "on-finished": "2.4.1", | ||
1253 | - "range-parser": "~1.2.1", | ||
1254 | - "statuses": "2.0.1" | ||
1255 | - }, | ||
1256 | - "dependencies": { | ||
1257 | - "ms": { | ||
1258 | - "version": "2.1.3", | ||
1259 | - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", | ||
1260 | - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" | ||
1261 | - } | ||
1262 | - } | ||
1263 | - }, | ||
1264 | - "serve-static": { | ||
1265 | - "version": "1.15.0", | ||
1266 | - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", | ||
1267 | - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", | ||
1268 | - "requires": { | ||
1269 | - "encodeurl": "~1.0.2", | ||
1270 | - "escape-html": "~1.0.3", | ||
1271 | - "parseurl": "~1.3.3", | ||
1272 | - "send": "0.18.0" | ||
1273 | - } | ||
1274 | - }, | ||
1275 | - "setprototypeof": { | ||
1276 | - "version": "1.2.0", | ||
1277 | - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", | ||
1278 | - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" | ||
1279 | - }, | ||
1280 | - "side-channel": { | ||
1281 | - "version": "1.0.4", | ||
1282 | - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", | ||
1283 | - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", | ||
1284 | - "requires": { | ||
1285 | - "call-bind": "^1.0.0", | ||
1286 | - "get-intrinsic": "^1.0.2", | ||
1287 | - "object-inspect": "^1.9.0" | ||
1288 | - } | ||
1289 | - }, | ||
1290 | - "socket.io": { | ||
1291 | - "version": "4.5.1", | ||
1292 | - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.1.tgz", | ||
1293 | - "integrity": "sha512-0y9pnIso5a9i+lJmsCdtmTTgJFFSvNQKDnPQRz28mGNnxbmqYg2QPtJTLFxhymFZhAIn50eHAKzJeiNaKr+yUQ==", | ||
1294 | - "requires": { | ||
1295 | - "accepts": "~1.3.4", | ||
1296 | - "base64id": "~2.0.0", | ||
1297 | - "debug": "~4.3.2", | ||
1298 | - "engine.io": "~6.2.0", | ||
1299 | - "socket.io-adapter": "~2.4.0", | ||
1300 | - "socket.io-parser": "~4.0.4" | ||
1301 | - }, | ||
1302 | - "dependencies": { | ||
1303 | - "debug": { | ||
1304 | - "version": "4.3.4", | ||
1305 | - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", | ||
1306 | - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", | ||
1307 | - "requires": { | ||
1308 | - "ms": "2.1.2" | ||
1309 | - } | ||
1310 | - }, | ||
1311 | - "ms": { | ||
1312 | - "version": "2.1.2", | ||
1313 | - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", | ||
1314 | - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" | ||
1315 | - } | ||
1316 | - } | ||
1317 | - }, | ||
1318 | - "socket.io-adapter": { | ||
1319 | - "version": "2.4.0", | ||
1320 | - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz", | ||
1321 | - "integrity": "sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg==" | ||
1322 | - }, | ||
1323 | - "socket.io-parser": { | ||
1324 | - "version": "4.0.4", | ||
1325 | - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz", | ||
1326 | - "integrity": "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==", | ||
1327 | - "requires": { | ||
1328 | - "@types/component-emitter": "^1.2.10", | ||
1329 | - "component-emitter": "~1.3.0", | ||
1330 | - "debug": "~4.3.1" | ||
1331 | - }, | ||
1332 | - "dependencies": { | ||
1333 | - "debug": { | ||
1334 | - "version": "4.3.4", | ||
1335 | - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", | ||
1336 | - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", | ||
1337 | - "requires": { | ||
1338 | - "ms": "2.1.2" | ||
1339 | - } | ||
1340 | - }, | ||
1341 | - "ms": { | ||
1342 | - "version": "2.1.2", | ||
1343 | - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", | ||
1344 | - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" | ||
1345 | - } | ||
1346 | - } | ||
1347 | - }, | ||
1348 | - "statuses": { | ||
1349 | - "version": "2.0.1", | ||
1350 | - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", | ||
1351 | - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" | ||
1352 | - }, | ||
1353 | - "toidentifier": { | ||
1354 | - "version": "1.0.1", | ||
1355 | - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", | ||
1356 | - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" | ||
1357 | - }, | ||
1358 | - "type-is": { | ||
1359 | - "version": "1.6.18", | ||
1360 | - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", | ||
1361 | - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", | ||
1362 | - "requires": { | ||
1363 | - "media-typer": "0.3.0", | ||
1364 | - "mime-types": "~2.1.24" | ||
1365 | - } | ||
1366 | - }, | ||
1367 | - "unpipe": { | ||
1368 | - "version": "1.0.0", | ||
1369 | - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", | ||
1370 | - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" | ||
1371 | - }, | ||
1372 | - "utils-merge": { | ||
1373 | - "version": "1.0.1", | ||
1374 | - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", | ||
1375 | - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" | ||
1376 | - }, | ||
1377 | - "vary": { | ||
1378 | - "version": "1.1.2", | ||
1379 | - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", | ||
1380 | - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" | ||
1381 | - }, | ||
1382 | - "ws": { | ||
1383 | - "version": "8.2.3", | ||
1384 | - "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz", | ||
1385 | - "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==", | ||
1386 | - "requires": {} | ||
1387 | - } | ||
1388 | - } | ||
1389 | -} |
index.html
deleted
100644 → 0
1 | -<!DOCTYPE html> | ||
2 | -<html lang="en"> | ||
3 | - <head> | ||
4 | - <meta charset="UTF-8" /> | ||
5 | - <meta http-equiv="X-UA-Compatible" content="IE=edge" /> | ||
6 | - <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||
7 | - <title>맛집지도</title> | ||
8 | - <meta name="author" content="양주미" /> | ||
9 | - <meta name="description" content="맛집지도 서비스" /> | ||
10 | - <meta | ||
11 | - name="keywords" | ||
12 | - content="맛집지도, 맛집추천, 실시간채팅" | ||
13 | - /> | ||
14 | - <link rel="stylesheet" href="style.css" /> | ||
15 | - </head> | ||
16 | - | ||
17 | - <body> | ||
18 | - <nav> | ||
19 | - <div class="inner"> | ||
20 | - <div class="nav-container"> | ||
21 | - <h1 class="nav-title">맛집지도</h1> | ||
22 | - <button class="nav-contact">Contact</button> | ||
23 | - </div> | ||
24 | - </div> | ||
25 | - </nav> | ||
26 | - | ||
27 | - <main> | ||
28 | - <section id="category"> | ||
29 | - <div class="inner"> | ||
30 | - <div class="category-container"> | ||
31 | - <h2 class="category-title">💜맛집지도 카테고리를 선택해보세요💜</h2> | ||
32 | - <div class="category-list"> | ||
33 | - <button class="category-item" id="korea">한식🍚</button | ||
34 | - ><button class="category-item" id="china">중식🍜</button | ||
35 | - ><button class="category-item" id="japan">일식🍙</button | ||
36 | - ><button class="category-item" id="america">양식🍝</button | ||
37 | - ><button class="category-item" id="wheat">분식🍭</button | ||
38 | - ><button class="category-item" id="meat">구이🍖</button | ||
39 | - ><button class="category-item" id="sushi">회/초밥🍣</button | ||
40 | - ><button class="category-item" id="etc">기타🍴</button> | ||
41 | - </div> | ||
42 | - </div> | ||
43 | - </div> | ||
44 | - </section> | ||
45 | - <!-- 카테고리 --> | ||
46 | - <div id="map" class="inner"></div> | ||
47 | - | ||
48 | - <!-- 카카오지도 --> | ||
49 | - </main> | ||
50 | - | ||
51 | - <script | ||
52 | - type="text/javascript" | ||
53 | - src="//dapi.kakao.com/v2/maps/sdk.js?appkey=2263ae9eb197ad864a94eb1ed7b912c9&libraries=services"> | ||
54 | -</script> | ||
55 | - | ||
56 | - <script src="script.js"></script> | ||
57 | - </body> | ||
58 | -</html> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
jeongmin/login/.gitignore
deleted
100644 → 0
1 | -# Logs | ||
2 | -logs | ||
3 | -*.log | ||
4 | -npm-debug.log* | ||
5 | -yarn-debug.log* | ||
6 | -yarn-error.log* | ||
7 | -lerna-debug.log* | ||
8 | -.pnpm-debug.log* | ||
9 | - | ||
10 | -# Diagnostic reports (https://nodejs.org/api/report.html) | ||
11 | -report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json | ||
12 | - | ||
13 | -# Runtime data | ||
14 | -pids | ||
15 | -*.pid | ||
16 | -*.seed | ||
17 | -*.pid.lock | ||
18 | - | ||
19 | -# Directory for instrumented libs generated by jscoverage/JSCover | ||
20 | -lib-cov | ||
21 | - | ||
22 | -# Coverage directory used by tools like istanbul | ||
23 | -coverage | ||
24 | -*.lcov | ||
25 | - | ||
26 | -# nyc test coverage | ||
27 | -.nyc_output | ||
28 | - | ||
29 | -# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) | ||
30 | -.grunt | ||
31 | - | ||
32 | -# Bower dependency directory (https://bower.io/) | ||
33 | -bower_components | ||
34 | - | ||
35 | -# node-waf configuration | ||
36 | -.lock-wscript | ||
37 | - | ||
38 | -# Compiled binary addons (https://nodejs.org/api/addons.html) | ||
39 | -build/Release | ||
40 | - | ||
41 | -# Dependency directories | ||
42 | -**node_modules/ | ||
43 | -jspm_packages/ | ||
44 | - | ||
45 | -# Snowpack dependency directory (https://snowpack.dev/) | ||
46 | -web_modules/ | ||
47 | - | ||
48 | -# TypeScript cache | ||
49 | -*.tsbuildinfo | ||
50 | - | ||
51 | -# Optional npm cache directory | ||
52 | -.npm | ||
53 | - | ||
54 | -# Optional eslint cache | ||
55 | -.eslintcache | ||
56 | - | ||
57 | -# Microbundle cache | ||
58 | -.rpt2_cache/ | ||
59 | -.rts2_cache_cjs/ | ||
60 | -.rts2_cache_es/ | ||
61 | -.rts2_cache_umd/ | ||
62 | - | ||
63 | -# Optional REPL history | ||
64 | -.node_repl_history | ||
65 | - | ||
66 | -# Output of 'npm pack' | ||
67 | -*.tgz | ||
68 | - | ||
69 | -# Yarn Integrity file | ||
70 | -.yarn-integrity | ||
71 | - | ||
72 | -# dotenv environment variables file | ||
73 | -.env | ||
74 | -.env.test | ||
75 | -.env.production | ||
76 | - | ||
77 | -# parcel-bundler cache (https://parceljs.org/) | ||
78 | -.cache | ||
79 | -.parcel-cache | ||
80 | - | ||
81 | -# Next.js build output | ||
82 | -.next | ||
83 | -out | ||
84 | - | ||
85 | -# Nuxt.js build / generate output | ||
86 | -.nuxt | ||
87 | -dist | ||
88 | - | ||
89 | -# Gatsby files | ||
90 | -.cache/ | ||
91 | -# Comment in the public line in if your project uses Gatsby and not Next.js | ||
92 | -# https://nextjs.org/blog/next-9-1#public-directory-support | ||
93 | -# public | ||
94 | - | ||
95 | -# vuepress build output | ||
96 | -.vuepress/dist | ||
97 | - | ||
98 | -# Serverless directories | ||
99 | -.serverless/ | ||
100 | - | ||
101 | -# FuseBox cache | ||
102 | -.fusebox/ | ||
103 | - | ||
104 | -# DynamoDB Local files | ||
105 | -.dynamodb/ | ||
106 | - | ||
107 | -# TernJS port file | ||
108 | -.tern-port | ||
109 | - | ||
110 | -# Stores VSCode versions used for testing VSCode extensions | ||
111 | -.vscode-test | ||
112 | - | ||
113 | -# yarn v2 | ||
114 | -.yarn/cache | ||
115 | -.yarn/unplugged | ||
116 | -.yarn/build-state.yml | ||
117 | -.yarn/install-state.gz | ||
118 | -.pnp.* | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
jeongmin/login/app/app.js
deleted
100644 → 0
1 | -"use strict"; | ||
2 | -//모듈 | ||
3 | -const express = require("express"); | ||
4 | -const bodyParser = require("body-parser"); | ||
5 | -//환경변수 (운영체제간 gap 없애고자) | ||
6 | -const dotenv = require("dotenv"); | ||
7 | -dotenv.config(); | ||
8 | -const app = express(); | ||
9 | -//라우팅 | ||
10 | -const home = require("./src/routes/home"); | ||
11 | -// 앱 세팅 | ||
12 | -app.set("views", "./src/views"); | ||
13 | -app.set("view engine", "ejs"); | ||
14 | -app.use(express.static(`${__dirname}/src/public`)); | ||
15 | -app.use(bodyParser.json()); | ||
16 | -//url통해 전달되는 데이터에 한글, 공백 등의 문자 오류 해결 | ||
17 | -app.use(bodyParser.urlencoded({extended: true})); | ||
18 | - | ||
19 | -app.use("/", home); //미들웨어 등록해주는 method | ||
20 | - | ||
21 | -module.exports = app; | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
jeongmin/login/app/bin/www.js
deleted
100644 → 0
jeongmin/login/app/package-lock.json
deleted
100644 → 0
1 | -{ | ||
2 | - "name": "login", | ||
3 | - "version": "1.0.0", | ||
4 | - "lockfileVersion": 1, | ||
5 | - "requires": true, | ||
6 | - "dependencies": { | ||
7 | - "accepts": { | ||
8 | - "version": "1.3.8", | ||
9 | - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", | ||
10 | - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", | ||
11 | - "requires": { | ||
12 | - "mime-types": "~2.1.34", | ||
13 | - "negotiator": "0.6.3" | ||
14 | - } | ||
15 | - }, | ||
16 | - "ansi-styles": { | ||
17 | - "version": "4.3.0", | ||
18 | - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", | ||
19 | - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", | ||
20 | - "requires": { | ||
21 | - "color-convert": "^2.0.1" | ||
22 | - } | ||
23 | - }, | ||
24 | - "array-flatten": { | ||
25 | - "version": "1.1.1", | ||
26 | - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", | ||
27 | - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" | ||
28 | - }, | ||
29 | - "async": { | ||
30 | - "version": "3.2.3", | ||
31 | - "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz", | ||
32 | - "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==" | ||
33 | - }, | ||
34 | - "balanced-match": { | ||
35 | - "version": "1.0.2", | ||
36 | - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", | ||
37 | - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" | ||
38 | - }, | ||
39 | - "bignumber.js": { | ||
40 | - "version": "9.0.0", | ||
41 | - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.0.tgz", | ||
42 | - "integrity": "sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A==" | ||
43 | - }, | ||
44 | - "body-parser": { | ||
45 | - "version": "1.20.0", | ||
46 | - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", | ||
47 | - "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", | ||
48 | - "requires": { | ||
49 | - "bytes": "3.1.2", | ||
50 | - "content-type": "~1.0.4", | ||
51 | - "debug": "2.6.9", | ||
52 | - "depd": "2.0.0", | ||
53 | - "destroy": "1.2.0", | ||
54 | - "http-errors": "2.0.0", | ||
55 | - "iconv-lite": "0.4.24", | ||
56 | - "on-finished": "2.4.1", | ||
57 | - "qs": "6.10.3", | ||
58 | - "raw-body": "2.5.1", | ||
59 | - "type-is": "~1.6.18", | ||
60 | - "unpipe": "1.0.0" | ||
61 | - } | ||
62 | - }, | ||
63 | - "brace-expansion": { | ||
64 | - "version": "2.0.1", | ||
65 | - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", | ||
66 | - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", | ||
67 | - "requires": { | ||
68 | - "balanced-match": "^1.0.0" | ||
69 | - } | ||
70 | - }, | ||
71 | - "bytes": { | ||
72 | - "version": "3.1.2", | ||
73 | - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", | ||
74 | - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" | ||
75 | - }, | ||
76 | - "call-bind": { | ||
77 | - "version": "1.0.2", | ||
78 | - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", | ||
79 | - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", | ||
80 | - "requires": { | ||
81 | - "function-bind": "^1.1.1", | ||
82 | - "get-intrinsic": "^1.0.2" | ||
83 | - } | ||
84 | - }, | ||
85 | - "chalk": { | ||
86 | - "version": "4.1.2", | ||
87 | - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", | ||
88 | - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", | ||
89 | - "requires": { | ||
90 | - "ansi-styles": "^4.1.0", | ||
91 | - "supports-color": "^7.1.0" | ||
92 | - } | ||
93 | - }, | ||
94 | - "color-convert": { | ||
95 | - "version": "2.0.1", | ||
96 | - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", | ||
97 | - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", | ||
98 | - "requires": { | ||
99 | - "color-name": "~1.1.4" | ||
100 | - } | ||
101 | - }, | ||
102 | - "color-name": { | ||
103 | - "version": "1.1.4", | ||
104 | - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", | ||
105 | - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" | ||
106 | - }, | ||
107 | - "concat-map": { | ||
108 | - "version": "0.0.1", | ||
109 | - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", | ||
110 | - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" | ||
111 | - }, | ||
112 | - "content-disposition": { | ||
113 | - "version": "0.5.4", | ||
114 | - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", | ||
115 | - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", | ||
116 | - "requires": { | ||
117 | - "safe-buffer": "5.2.1" | ||
118 | - } | ||
119 | - }, | ||
120 | - "content-type": { | ||
121 | - "version": "1.0.4", | ||
122 | - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", | ||
123 | - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" | ||
124 | - }, | ||
125 | - "cookie": { | ||
126 | - "version": "0.5.0", | ||
127 | - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", | ||
128 | - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" | ||
129 | - }, | ||
130 | - "cookie-signature": { | ||
131 | - "version": "1.0.6", | ||
132 | - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", | ||
133 | - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" | ||
134 | - }, | ||
135 | - "core-util-is": { | ||
136 | - "version": "1.0.3", | ||
137 | - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", | ||
138 | - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" | ||
139 | - }, | ||
140 | - "debug": { | ||
141 | - "version": "2.6.9", | ||
142 | - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", | ||
143 | - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", | ||
144 | - "requires": { | ||
145 | - "ms": "2.0.0" | ||
146 | - } | ||
147 | - }, | ||
148 | - "depd": { | ||
149 | - "version": "2.0.0", | ||
150 | - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", | ||
151 | - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" | ||
152 | - }, | ||
153 | - "destroy": { | ||
154 | - "version": "1.2.0", | ||
155 | - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", | ||
156 | - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" | ||
157 | - }, | ||
158 | - "dotenv": { | ||
159 | - "version": "16.0.1", | ||
160 | - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.1.tgz", | ||
161 | - "integrity": "sha512-1K6hR6wtk2FviQ4kEiSjFiH5rpzEVi8WW0x96aztHVMhEspNpc4DVOUTEHtEva5VThQ8IaBX1Pe4gSzpVVUsKQ==" | ||
162 | - }, | ||
163 | - "ee-first": { | ||
164 | - "version": "1.1.1", | ||
165 | - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", | ||
166 | - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" | ||
167 | - }, | ||
168 | - "ejs": { | ||
169 | - "version": "3.1.8", | ||
170 | - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz", | ||
171 | - "integrity": "sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==", | ||
172 | - "requires": { | ||
173 | - "jake": "^10.8.5" | ||
174 | - } | ||
175 | - }, | ||
176 | - "encodeurl": { | ||
177 | - "version": "1.0.2", | ||
178 | - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", | ||
179 | - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" | ||
180 | - }, | ||
181 | - "escape-html": { | ||
182 | - "version": "1.0.3", | ||
183 | - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", | ||
184 | - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" | ||
185 | - }, | ||
186 | - "etag": { | ||
187 | - "version": "1.8.1", | ||
188 | - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", | ||
189 | - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" | ||
190 | - }, | ||
191 | - "express": { | ||
192 | - "version": "4.18.1", | ||
193 | - "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", | ||
194 | - "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==", | ||
195 | - "requires": { | ||
196 | - "accepts": "~1.3.8", | ||
197 | - "array-flatten": "1.1.1", | ||
198 | - "body-parser": "1.20.0", | ||
199 | - "content-disposition": "0.5.4", | ||
200 | - "content-type": "~1.0.4", | ||
201 | - "cookie": "0.5.0", | ||
202 | - "cookie-signature": "1.0.6", | ||
203 | - "debug": "2.6.9", | ||
204 | - "depd": "2.0.0", | ||
205 | - "encodeurl": "~1.0.2", | ||
206 | - "escape-html": "~1.0.3", | ||
207 | - "etag": "~1.8.1", | ||
208 | - "finalhandler": "1.2.0", | ||
209 | - "fresh": "0.5.2", | ||
210 | - "http-errors": "2.0.0", | ||
211 | - "merge-descriptors": "1.0.1", | ||
212 | - "methods": "~1.1.2", | ||
213 | - "on-finished": "2.4.1", | ||
214 | - "parseurl": "~1.3.3", | ||
215 | - "path-to-regexp": "0.1.7", | ||
216 | - "proxy-addr": "~2.0.7", | ||
217 | - "qs": "6.10.3", | ||
218 | - "range-parser": "~1.2.1", | ||
219 | - "safe-buffer": "5.2.1", | ||
220 | - "send": "0.18.0", | ||
221 | - "serve-static": "1.15.0", | ||
222 | - "setprototypeof": "1.2.0", | ||
223 | - "statuses": "2.0.1", | ||
224 | - "type-is": "~1.6.18", | ||
225 | - "utils-merge": "1.0.1", | ||
226 | - "vary": "~1.1.2" | ||
227 | - } | ||
228 | - }, | ||
229 | - "filelist": { | ||
230 | - "version": "1.0.4", | ||
231 | - "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", | ||
232 | - "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", | ||
233 | - "requires": { | ||
234 | - "minimatch": "^5.0.1" | ||
235 | - }, | ||
236 | - "dependencies": { | ||
237 | - "minimatch": { | ||
238 | - "version": "5.1.0", | ||
239 | - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", | ||
240 | - "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", | ||
241 | - "requires": { | ||
242 | - "brace-expansion": "^2.0.1" | ||
243 | - } | ||
244 | - } | ||
245 | - } | ||
246 | - }, | ||
247 | - "finalhandler": { | ||
248 | - "version": "1.2.0", | ||
249 | - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", | ||
250 | - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", | ||
251 | - "requires": { | ||
252 | - "debug": "2.6.9", | ||
253 | - "encodeurl": "~1.0.2", | ||
254 | - "escape-html": "~1.0.3", | ||
255 | - "on-finished": "2.4.1", | ||
256 | - "parseurl": "~1.3.3", | ||
257 | - "statuses": "2.0.1", | ||
258 | - "unpipe": "~1.0.0" | ||
259 | - } | ||
260 | - }, | ||
261 | - "forwarded": { | ||
262 | - "version": "0.2.0", | ||
263 | - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", | ||
264 | - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" | ||
265 | - }, | ||
266 | - "fresh": { | ||
267 | - "version": "0.5.2", | ||
268 | - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", | ||
269 | - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" | ||
270 | - }, | ||
271 | - "function-bind": { | ||
272 | - "version": "1.1.1", | ||
273 | - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", | ||
274 | - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" | ||
275 | - }, | ||
276 | - "get-intrinsic": { | ||
277 | - "version": "1.1.1", | ||
278 | - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", | ||
279 | - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", | ||
280 | - "requires": { | ||
281 | - "function-bind": "^1.1.1", | ||
282 | - "has": "^1.0.3", | ||
283 | - "has-symbols": "^1.0.1" | ||
284 | - } | ||
285 | - }, | ||
286 | - "has": { | ||
287 | - "version": "1.0.3", | ||
288 | - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", | ||
289 | - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", | ||
290 | - "requires": { | ||
291 | - "function-bind": "^1.1.1" | ||
292 | - } | ||
293 | - }, | ||
294 | - "has-flag": { | ||
295 | - "version": "4.0.0", | ||
296 | - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", | ||
297 | - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" | ||
298 | - }, | ||
299 | - "has-symbols": { | ||
300 | - "version": "1.0.3", | ||
301 | - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", | ||
302 | - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" | ||
303 | - }, | ||
304 | - "http-errors": { | ||
305 | - "version": "2.0.0", | ||
306 | - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", | ||
307 | - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", | ||
308 | - "requires": { | ||
309 | - "depd": "2.0.0", | ||
310 | - "inherits": "2.0.4", | ||
311 | - "setprototypeof": "1.2.0", | ||
312 | - "statuses": "2.0.1", | ||
313 | - "toidentifier": "1.0.1" | ||
314 | - } | ||
315 | - }, | ||
316 | - "iconv-lite": { | ||
317 | - "version": "0.4.24", | ||
318 | - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", | ||
319 | - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", | ||
320 | - "requires": { | ||
321 | - "safer-buffer": ">= 2.1.2 < 3" | ||
322 | - } | ||
323 | - }, | ||
324 | - "inherits": { | ||
325 | - "version": "2.0.4", | ||
326 | - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", | ||
327 | - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" | ||
328 | - }, | ||
329 | - "ipaddr.js": { | ||
330 | - "version": "1.9.1", | ||
331 | - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", | ||
332 | - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" | ||
333 | - }, | ||
334 | - "isarray": { | ||
335 | - "version": "1.0.0", | ||
336 | - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", | ||
337 | - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" | ||
338 | - }, | ||
339 | - "jake": { | ||
340 | - "version": "10.8.5", | ||
341 | - "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz", | ||
342 | - "integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==", | ||
343 | - "requires": { | ||
344 | - "async": "^3.2.3", | ||
345 | - "chalk": "^4.0.2", | ||
346 | - "filelist": "^1.0.1", | ||
347 | - "minimatch": "^3.0.4" | ||
348 | - } | ||
349 | - }, | ||
350 | - "media-typer": { | ||
351 | - "version": "0.3.0", | ||
352 | - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", | ||
353 | - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" | ||
354 | - }, | ||
355 | - "merge-descriptors": { | ||
356 | - "version": "1.0.1", | ||
357 | - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", | ||
358 | - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" | ||
359 | - }, | ||
360 | - "methods": { | ||
361 | - "version": "1.1.2", | ||
362 | - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", | ||
363 | - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" | ||
364 | - }, | ||
365 | - "mime": { | ||
366 | - "version": "1.6.0", | ||
367 | - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", | ||
368 | - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" | ||
369 | - }, | ||
370 | - "mime-db": { | ||
371 | - "version": "1.52.0", | ||
372 | - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", | ||
373 | - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" | ||
374 | - }, | ||
375 | - "mime-types": { | ||
376 | - "version": "2.1.35", | ||
377 | - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", | ||
378 | - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", | ||
379 | - "requires": { | ||
380 | - "mime-db": "1.52.0" | ||
381 | - } | ||
382 | - }, | ||
383 | - "minimatch": { | ||
384 | - "version": "3.1.2", | ||
385 | - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", | ||
386 | - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", | ||
387 | - "requires": { | ||
388 | - "brace-expansion": "^1.1.7" | ||
389 | - }, | ||
390 | - "dependencies": { | ||
391 | - "brace-expansion": { | ||
392 | - "version": "1.1.11", | ||
393 | - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", | ||
394 | - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", | ||
395 | - "requires": { | ||
396 | - "balanced-match": "^1.0.0", | ||
397 | - "concat-map": "0.0.1" | ||
398 | - } | ||
399 | - } | ||
400 | - } | ||
401 | - }, | ||
402 | - "ms": { | ||
403 | - "version": "2.0.0", | ||
404 | - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", | ||
405 | - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" | ||
406 | - }, | ||
407 | - "mysql": { | ||
408 | - "version": "2.18.1", | ||
409 | - "resolved": "https://registry.npmjs.org/mysql/-/mysql-2.18.1.tgz", | ||
410 | - "integrity": "sha512-Bca+gk2YWmqp2Uf6k5NFEurwY/0td0cpebAucFpY/3jhrwrVGuxU2uQFCHjU19SJfje0yQvi+rVWdq78hR5lig==", | ||
411 | - "requires": { | ||
412 | - "bignumber.js": "9.0.0", | ||
413 | - "readable-stream": "2.3.7", | ||
414 | - "safe-buffer": "5.1.2", | ||
415 | - "sqlstring": "2.3.1" | ||
416 | - }, | ||
417 | - "dependencies": { | ||
418 | - "safe-buffer": { | ||
419 | - "version": "5.1.2", | ||
420 | - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", | ||
421 | - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" | ||
422 | - } | ||
423 | - } | ||
424 | - }, | ||
425 | - "negotiator": { | ||
426 | - "version": "0.6.3", | ||
427 | - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", | ||
428 | - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" | ||
429 | - }, | ||
430 | - "object-inspect": { | ||
431 | - "version": "1.12.2", | ||
432 | - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", | ||
433 | - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==" | ||
434 | - }, | ||
435 | - "on-finished": { | ||
436 | - "version": "2.4.1", | ||
437 | - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", | ||
438 | - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", | ||
439 | - "requires": { | ||
440 | - "ee-first": "1.1.1" | ||
441 | - } | ||
442 | - }, | ||
443 | - "parseurl": { | ||
444 | - "version": "1.3.3", | ||
445 | - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", | ||
446 | - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" | ||
447 | - }, | ||
448 | - "path-to-regexp": { | ||
449 | - "version": "0.1.7", | ||
450 | - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", | ||
451 | - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" | ||
452 | - }, | ||
453 | - "process-nextick-args": { | ||
454 | - "version": "2.0.1", | ||
455 | - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", | ||
456 | - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" | ||
457 | - }, | ||
458 | - "proxy-addr": { | ||
459 | - "version": "2.0.7", | ||
460 | - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", | ||
461 | - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", | ||
462 | - "requires": { | ||
463 | - "forwarded": "0.2.0", | ||
464 | - "ipaddr.js": "1.9.1" | ||
465 | - } | ||
466 | - }, | ||
467 | - "qs": { | ||
468 | - "version": "6.10.3", | ||
469 | - "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", | ||
470 | - "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", | ||
471 | - "requires": { | ||
472 | - "side-channel": "^1.0.4" | ||
473 | - } | ||
474 | - }, | ||
475 | - "range-parser": { | ||
476 | - "version": "1.2.1", | ||
477 | - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", | ||
478 | - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" | ||
479 | - }, | ||
480 | - "raw-body": { | ||
481 | - "version": "2.5.1", | ||
482 | - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", | ||
483 | - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", | ||
484 | - "requires": { | ||
485 | - "bytes": "3.1.2", | ||
486 | - "http-errors": "2.0.0", | ||
487 | - "iconv-lite": "0.4.24", | ||
488 | - "unpipe": "1.0.0" | ||
489 | - } | ||
490 | - }, | ||
491 | - "readable-stream": { | ||
492 | - "version": "2.3.7", | ||
493 | - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", | ||
494 | - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", | ||
495 | - "requires": { | ||
496 | - "core-util-is": "~1.0.0", | ||
497 | - "inherits": "~2.0.3", | ||
498 | - "isarray": "~1.0.0", | ||
499 | - "process-nextick-args": "~2.0.0", | ||
500 | - "safe-buffer": "~5.1.1", | ||
501 | - "string_decoder": "~1.1.1", | ||
502 | - "util-deprecate": "~1.0.1" | ||
503 | - }, | ||
504 | - "dependencies": { | ||
505 | - "safe-buffer": { | ||
506 | - "version": "5.1.2", | ||
507 | - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", | ||
508 | - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" | ||
509 | - } | ||
510 | - } | ||
511 | - }, | ||
512 | - "safe-buffer": { | ||
513 | - "version": "5.2.1", | ||
514 | - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", | ||
515 | - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" | ||
516 | - }, | ||
517 | - "safer-buffer": { | ||
518 | - "version": "2.1.2", | ||
519 | - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", | ||
520 | - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" | ||
521 | - }, | ||
522 | - "send": { | ||
523 | - "version": "0.18.0", | ||
524 | - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", | ||
525 | - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", | ||
526 | - "requires": { | ||
527 | - "debug": "2.6.9", | ||
528 | - "depd": "2.0.0", | ||
529 | - "destroy": "1.2.0", | ||
530 | - "encodeurl": "~1.0.2", | ||
531 | - "escape-html": "~1.0.3", | ||
532 | - "etag": "~1.8.1", | ||
533 | - "fresh": "0.5.2", | ||
534 | - "http-errors": "2.0.0", | ||
535 | - "mime": "1.6.0", | ||
536 | - "ms": "2.1.3", | ||
537 | - "on-finished": "2.4.1", | ||
538 | - "range-parser": "~1.2.1", | ||
539 | - "statuses": "2.0.1" | ||
540 | - }, | ||
541 | - "dependencies": { | ||
542 | - "ms": { | ||
543 | - "version": "2.1.3", | ||
544 | - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", | ||
545 | - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" | ||
546 | - } | ||
547 | - } | ||
548 | - }, | ||
549 | - "serve-static": { | ||
550 | - "version": "1.15.0", | ||
551 | - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", | ||
552 | - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", | ||
553 | - "requires": { | ||
554 | - "encodeurl": "~1.0.2", | ||
555 | - "escape-html": "~1.0.3", | ||
556 | - "parseurl": "~1.3.3", | ||
557 | - "send": "0.18.0" | ||
558 | - } | ||
559 | - }, | ||
560 | - "setprototypeof": { | ||
561 | - "version": "1.2.0", | ||
562 | - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", | ||
563 | - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" | ||
564 | - }, | ||
565 | - "side-channel": { | ||
566 | - "version": "1.0.4", | ||
567 | - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", | ||
568 | - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", | ||
569 | - "requires": { | ||
570 | - "call-bind": "^1.0.0", | ||
571 | - "get-intrinsic": "^1.0.2", | ||
572 | - "object-inspect": "^1.9.0" | ||
573 | - } | ||
574 | - }, | ||
575 | - "sqlstring": { | ||
576 | - "version": "2.3.1", | ||
577 | - "resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.1.tgz", | ||
578 | - "integrity": "sha1-R1OT/56RR5rqYtyvDKPRSYOn+0A=" | ||
579 | - }, | ||
580 | - "statuses": { | ||
581 | - "version": "2.0.1", | ||
582 | - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", | ||
583 | - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" | ||
584 | - }, | ||
585 | - "string_decoder": { | ||
586 | - "version": "1.1.1", | ||
587 | - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", | ||
588 | - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", | ||
589 | - "requires": { | ||
590 | - "safe-buffer": "~5.1.0" | ||
591 | - }, | ||
592 | - "dependencies": { | ||
593 | - "safe-buffer": { | ||
594 | - "version": "5.1.2", | ||
595 | - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", | ||
596 | - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" | ||
597 | - } | ||
598 | - } | ||
599 | - }, | ||
600 | - "supports-color": { | ||
601 | - "version": "7.2.0", | ||
602 | - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", | ||
603 | - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", | ||
604 | - "requires": { | ||
605 | - "has-flag": "^4.0.0" | ||
606 | - } | ||
607 | - }, | ||
608 | - "toidentifier": { | ||
609 | - "version": "1.0.1", | ||
610 | - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", | ||
611 | - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" | ||
612 | - }, | ||
613 | - "type-is": { | ||
614 | - "version": "1.6.18", | ||
615 | - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", | ||
616 | - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", | ||
617 | - "requires": { | ||
618 | - "media-typer": "0.3.0", | ||
619 | - "mime-types": "~2.1.24" | ||
620 | - } | ||
621 | - }, | ||
622 | - "unpipe": { | ||
623 | - "version": "1.0.0", | ||
624 | - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", | ||
625 | - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" | ||
626 | - }, | ||
627 | - "util-deprecate": { | ||
628 | - "version": "1.0.2", | ||
629 | - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", | ||
630 | - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" | ||
631 | - }, | ||
632 | - "utils-merge": { | ||
633 | - "version": "1.0.1", | ||
634 | - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", | ||
635 | - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" | ||
636 | - }, | ||
637 | - "vary": { | ||
638 | - "version": "1.1.2", | ||
639 | - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", | ||
640 | - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" | ||
641 | - } | ||
642 | - } | ||
643 | -} |
jeongmin/login/app/package.json
deleted
100644 → 0
1 | -{ | ||
2 | - "name": "login", | ||
3 | - "version": "1.0.0", | ||
4 | - "main": "app.js", | ||
5 | - "bin": { | ||
6 | - "login": "www.js" | ||
7 | - }, | ||
8 | - "dependencies": { | ||
9 | - "body-parser": "^1.20.0", | ||
10 | - "dotenv": "^16.0.1", | ||
11 | - "ejs": "^3.1.8", | ||
12 | - "express": "^4.18.1", | ||
13 | - "mysql": "^2.18.1" | ||
14 | - }, | ||
15 | - "devDependencies": {}, | ||
16 | - "scripts": { | ||
17 | - "start": "nodemon ./bin/www.js", | ||
18 | - "test": "echo \"Error: no test specified\" && exit 1" | ||
19 | - }, | ||
20 | - "author": "", | ||
21 | - "license": "ISC", | ||
22 | - "keywords": [], | ||
23 | - "description": "" | ||
24 | -} |
jeongmin/login/app/src/config/db.js
deleted
100644 → 0
1 | -const mysql = require("mysql"); | ||
2 | - | ||
3 | -const db = mysql.createConnection({ | ||
4 | - host: process.env.DB_HOST, | ||
5 | - user: process.env.DB_USER, | ||
6 | - password: process.env.DB_PASSWORD, | ||
7 | - database: process.env.DB_DATABASE, | ||
8 | -}); | ||
9 | - | ||
10 | -db.connect(); | ||
11 | - | ||
12 | -module.exports = db; | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | -'use strict'; | ||
2 | -//for DB manipulate | ||
3 | -const UserStorage = require("./UserStorage"); | ||
4 | - | ||
5 | -class User { | ||
6 | - constructor(body) { | ||
7 | - this.body = body; | ||
8 | - } | ||
9 | - | ||
10 | - async login() { | ||
11 | - const client = this.body; | ||
12 | - try { | ||
13 | - | ||
14 | - const {id, password} = await UserStorage.getUserInfo(client.id); | ||
15 | - // console.log(id, password); | ||
16 | - | ||
17 | - if (id) { | ||
18 | - if (id === client.id && password === client.password) { | ||
19 | - return { success: true}; | ||
20 | - } | ||
21 | - return { success : false, msg: "비밀번호가 틀렸습니다."}; | ||
22 | - } | ||
23 | - return {success: false, msg: "존재하지 않는 아이디입니다."}; | ||
24 | - } catch (err) { | ||
25 | - return {success: false, msg: err}; | ||
26 | - } | ||
27 | - } | ||
28 | - | ||
29 | - async register() { | ||
30 | - const client = this.body; | ||
31 | - try { | ||
32 | - const response = await UserStorage.save(client); | ||
33 | - // console.log(response); | ||
34 | - return response; | ||
35 | - } catch (err) { | ||
36 | - | ||
37 | - return {success: false, msg : err}; | ||
38 | - } | ||
39 | - } | ||
40 | -} | ||
41 | - | ||
42 | -module.exports = User; | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | -'use strict'; | ||
2 | -//for DB CRUD | ||
3 | -const db = require("../config/db"); | ||
4 | - | ||
5 | - | ||
6 | -class UserStorage { | ||
7 | - // static getUsers(isAll, ...fields) { | ||
8 | - // } | ||
9 | - | ||
10 | - static getUserInfo(id) { | ||
11 | - return new Promise((resolve, reject) => { | ||
12 | - const query = "SELECT * FROM users WHERE id = ?;"; | ||
13 | - db.query(query, [id], (err, data) => { | ||
14 | - if (err) reject(`${err}`); | ||
15 | - // console.log(data[0]); | ||
16 | - resolve(data[0]); | ||
17 | - }); | ||
18 | - }); | ||
19 | - } | ||
20 | - | ||
21 | - static async save(userInfo) { | ||
22 | - return new Promise((resolve, reject) => { | ||
23 | - const query = "INSERT INTO users(id, name, password) VALUES(?, ?, ?);"; | ||
24 | - db.query( | ||
25 | - query, | ||
26 | - [userInfo.id, userInfo.name, userInfo.password], | ||
27 | - (err, data) => { | ||
28 | - if (err) reject(`${err}`); | ||
29 | - // console.log(data[0]); | ||
30 | - resolve({ success: true}); | ||
31 | - } | ||
32 | - ); | ||
33 | - }); | ||
34 | - } | ||
35 | -} | ||
36 | - | ||
37 | -module.exports = UserStorage; | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | -@import url(https://fonts.googleapis.com/css?family=Roboto:300); | ||
2 | - | ||
3 | -.login-page { | ||
4 | - width: 360px; | ||
5 | - padding: 12% 0 0; | ||
6 | - margin: auto; | ||
7 | -} | ||
8 | -.form { | ||
9 | - position: relative; | ||
10 | - z-index: 1; | ||
11 | - background: #FFFFFF; | ||
12 | - max-width: 360px; | ||
13 | - margin: 0 auto 100px; | ||
14 | - padding: 45px; | ||
15 | - text-align: center; | ||
16 | - box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2), 0 5px 5px 0 rgba(0, 0, 0, 0.24); | ||
17 | -} | ||
18 | -.form input { | ||
19 | - font-family: "Roboto", sans-serif; | ||
20 | - outline: 0; | ||
21 | - background: #f2f2f2; | ||
22 | - width: 100%; | ||
23 | - border: 0; | ||
24 | - margin: 0 0 15px; | ||
25 | - padding: 15px; | ||
26 | - box-sizing: border-box; | ||
27 | - font-size: 14px; | ||
28 | -} | ||
29 | -.form #button { | ||
30 | - font-family: "Roboto", sans-serif; | ||
31 | - text-transform: uppercase; | ||
32 | - outline: 0; | ||
33 | - background: rebeccapurple; | ||
34 | - width: 89%; | ||
35 | - border: 0; | ||
36 | - margin: 0 auto; | ||
37 | - padding: 15px; | ||
38 | - color: #FFFFFF; | ||
39 | - font-size: 14px; | ||
40 | - -webkit-transition: all 0.3 ease; | ||
41 | - transition: all 0.3 ease; | ||
42 | - cursor: pointer; | ||
43 | -} | ||
44 | -.form #button:hover,.form #button:active,.form #button:focus { | ||
45 | - background: rebeccapurple; | ||
46 | -} | ||
47 | -.form .message { | ||
48 | - margin: 15px 0 0; | ||
49 | - color: #b3b3b3; | ||
50 | - font-size: 12px; | ||
51 | -} | ||
52 | -.form .message a { | ||
53 | - color: rebeccapurple; | ||
54 | - text-decoration: none; | ||
55 | -} | ||
56 | -.form .register-form { | ||
57 | - display: none; | ||
58 | -} | ||
59 | -.container { | ||
60 | - position: relative; | ||
61 | - z-index: 1; | ||
62 | - max-width: 300px; | ||
63 | - margin: 0 auto; | ||
64 | -} | ||
65 | -.container:before, .container:after { | ||
66 | - content: ""; | ||
67 | - display: block; | ||
68 | - clear: both; | ||
69 | -} | ||
70 | -.container .info { | ||
71 | - margin: 50px auto; | ||
72 | - text-align: center; | ||
73 | -} | ||
74 | -.container .info h1 { | ||
75 | - margin: 0 0 15px; | ||
76 | - padding: 0; | ||
77 | - font-size: 36px; | ||
78 | - font-weight: 300; | ||
79 | - color: #1a1a1a; | ||
80 | -} | ||
81 | -.container .info span { | ||
82 | - color: #4d4d4d; | ||
83 | - font-size: 12px; | ||
84 | -} | ||
85 | -.container .info span a { | ||
86 | - color: #000000; | ||
87 | - text-decoration: none; | ||
88 | -} | ||
89 | -.container .info span .fa { | ||
90 | - color: #EF3B3A; | ||
91 | -} | ||
92 | - | ||
93 | -/* #id::placeholder #password::placeholder { | ||
94 | - color: black; | ||
95 | - font-style: italic; | ||
96 | - font-weight: bold; | ||
97 | -} */ | ||
98 | - | ||
99 | -body { | ||
100 | - background: rebeccapurple; /* fallback for old browsers */ | ||
101 | - /* background: rebeccapurple; */ | ||
102 | - background: linear-gradient(90deg, rebeccapurple 0%, rebeccapurple 0%); | ||
103 | - font-family: "Roboto", sans-serif; | ||
104 | - -webkit-font-smoothing: antialiased; | ||
105 | - -moz-osx-font-smoothing: grayscale; | ||
106 | -} | ||
107 | - | ||
108 | -/* Copyright (c) 2022 by Aigars Silkalns (https://codepen.io/colorlib/pen/rxddKy) */ | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | -@import url(https://fonts.googleapis.com/css?family=Roboto:300); | ||
2 | - | ||
3 | -.login-page { | ||
4 | - width: 360px; | ||
5 | - padding: 8% 0 0; | ||
6 | - margin: auto; | ||
7 | -} | ||
8 | -.form { | ||
9 | - position: relative; | ||
10 | - z-index: 1; | ||
11 | - background: #FFFFFF; | ||
12 | - max-width: 360px; | ||
13 | - margin: 0 auto 100px; | ||
14 | - padding: 45px; | ||
15 | - text-align: center; | ||
16 | - box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2), 0 5px 5px 0 rgba(0, 0, 0, 0.24); | ||
17 | -} | ||
18 | -.form input { | ||
19 | - font-family: "Roboto", sans-serif; | ||
20 | - outline: 0; | ||
21 | - background: #f2f2f2; | ||
22 | - width: 100%; | ||
23 | - border: 0; | ||
24 | - margin: 0 0 15px; | ||
25 | - padding: 15px; | ||
26 | - box-sizing: border-box; | ||
27 | - font-size: 14px; | ||
28 | -} | ||
29 | -.form #button { | ||
30 | - font-family: "Roboto", sans-serif; | ||
31 | - text-transform: uppercase; | ||
32 | - outline: 0; | ||
33 | - background: rebeccapurple; | ||
34 | - width: 89%; | ||
35 | - border: 0; | ||
36 | - margin: 0 auto; | ||
37 | - padding: 15px; | ||
38 | - color: #FFFFFF; | ||
39 | - font-size: 14px; | ||
40 | - -webkit-transition: all 0.3 ease; | ||
41 | - transition: all 0.3 ease; | ||
42 | - cursor: pointer; | ||
43 | -} | ||
44 | -.form #button:hover,.form #button:active,.form #button:focus { | ||
45 | - background: rebeccapurple; | ||
46 | -} | ||
47 | -.form .message { | ||
48 | - margin: 15px 0 0; | ||
49 | - color: #b3b3b3; | ||
50 | - font-size: 12px; | ||
51 | -} | ||
52 | -.form .message a { | ||
53 | - color: rebeccapurple; | ||
54 | - text-decoration: none; | ||
55 | -} | ||
56 | -.form .register-form { | ||
57 | - display: none; | ||
58 | -} | ||
59 | -.container { | ||
60 | - position: relative; | ||
61 | - z-index: 1; | ||
62 | - max-width: 300px; | ||
63 | - margin: 0 auto; | ||
64 | -} | ||
65 | -.container:before, .container:after { | ||
66 | - content: ""; | ||
67 | - display: block; | ||
68 | - clear: both; | ||
69 | -} | ||
70 | -.container .info { | ||
71 | - margin: 50px auto; | ||
72 | - text-align: center; | ||
73 | -} | ||
74 | -.container .info h1 { | ||
75 | - margin: 0 0 15px; | ||
76 | - padding: 0; | ||
77 | - font-size: 36px; | ||
78 | - font-weight: 300; | ||
79 | - color: #1a1a1a; | ||
80 | -} | ||
81 | -.container .info span { | ||
82 | - color: #4d4d4d; | ||
83 | - font-size: 12px; | ||
84 | -} | ||
85 | -.container .info span a { | ||
86 | - color: #000000; | ||
87 | - text-decoration: none; | ||
88 | -} | ||
89 | -.container .info span .fa { | ||
90 | - color: #EF3B3A; | ||
91 | -} | ||
92 | - | ||
93 | -/* #id::placeholder #password::placeholder { | ||
94 | - color: black; | ||
95 | - font-style: italic; | ||
96 | - font-weight: bold; | ||
97 | -} */ | ||
98 | - | ||
99 | -body { | ||
100 | - background: rebeccapurple; /* fallback for old browsers */ | ||
101 | - /* background: rebeccapurple; */ | ||
102 | - background: linear-gradient(90deg, rebeccapurple 0%, rebeccapurple 0%); | ||
103 | - font-family: "Roboto", sans-serif; | ||
104 | - -webkit-font-smoothing: antialiased; | ||
105 | - -moz-osx-font-smoothing: grayscale; | ||
106 | -} | ||
107 | - | ||
108 | -/* Copyright (c) 2022 by Aigars Silkalns (https://codepen.io/colorlib/pen/rxddKy) */ | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | -'use strict'; | ||
2 | - | ||
3 | -const id = document.querySelector("#id"), | ||
4 | - password = document.querySelector("#password"), | ||
5 | - loginBtn = document.querySelector("#button"); | ||
6 | - | ||
7 | -loginBtn.addEventListener("click", login); | ||
8 | - | ||
9 | -function login() { | ||
10 | - const req = { | ||
11 | - id : id.value, | ||
12 | - password : password.value, | ||
13 | - }; | ||
14 | - | ||
15 | - fetch("/login", { | ||
16 | - method: "POST", | ||
17 | - headers: { | ||
18 | - "Content-Type": "application/json" | ||
19 | - }, | ||
20 | - body: JSON.stringify(req), | ||
21 | - }) | ||
22 | - .then((res) => res.json()) | ||
23 | - .then((res) => { | ||
24 | - if (res.success) { | ||
25 | - //성공하면 이동 | ||
26 | - location.href = "/"; | ||
27 | - } else { | ||
28 | - alert(res.msg); | ||
29 | - } | ||
30 | - }) | ||
31 | - .catch((err) => { | ||
32 | - console.error("로그인 중 에러 발생"); | ||
33 | - }); | ||
34 | -} | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | -'use strict'; | ||
2 | - | ||
3 | -const id = document.querySelector("#id"), | ||
4 | - name = document.querySelector("#name"), | ||
5 | - password = document.querySelector("#password"), | ||
6 | - confirmPassword = document.querySelector("#confirm-password"), | ||
7 | - registerBtn = document.querySelector("#button"); | ||
8 | - | ||
9 | -registerBtn.addEventListener("click", register); | ||
10 | - | ||
11 | -function register() { | ||
12 | - if(!id.value) { | ||
13 | - return alert("아이디를 입력해주세요.") | ||
14 | - } | ||
15 | - | ||
16 | - if(!name.value) { | ||
17 | - return alert("이름을 입력해주세요.") | ||
18 | - } | ||
19 | - if(!password.value) { | ||
20 | - return alert("비밀번호를 입력해주세요.") | ||
21 | - } | ||
22 | - if(!confirmPassword.value) { | ||
23 | - return alert("비밀번호를 확인해주세요.") | ||
24 | - } | ||
25 | - if (password.value !== confirmPassword.value) { | ||
26 | - return alert("비밀번호가 일치하지 않습니다.") | ||
27 | - } | ||
28 | - | ||
29 | - const req = { | ||
30 | - id : id.value, | ||
31 | - name : name.value, | ||
32 | - password : password.value, | ||
33 | - }; | ||
34 | - | ||
35 | - fetch("/register", { | ||
36 | - method: "POST", | ||
37 | - headers: { | ||
38 | - "Content-Type": "application/json" | ||
39 | - }, | ||
40 | - body: JSON.stringify(req), | ||
41 | - }) | ||
42 | - .then((res) => res.json()) | ||
43 | - .then((res) => { | ||
44 | - if (res.success) { | ||
45 | - //성공하면 이동 | ||
46 | - location.href = "/login"; | ||
47 | - } else { | ||
48 | - alert(res.msg); | ||
49 | - } | ||
50 | - }) | ||
51 | - .catch((err) => { | ||
52 | - console.error("회원가입 중 에러 발생"); | ||
53 | - }); | ||
54 | -} | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | -"use strict"; | ||
2 | - | ||
3 | -const User = require("../../models/User"); | ||
4 | - | ||
5 | -const output = { | ||
6 | - hello: (req, res) => { | ||
7 | - res.render("home/index"); | ||
8 | - }, | ||
9 | - | ||
10 | - login: (req, res) => { | ||
11 | - res.render("home/login"); | ||
12 | - }, | ||
13 | - | ||
14 | - register: (req, res) => { | ||
15 | - res.render("home/register"); | ||
16 | - } | ||
17 | -}; | ||
18 | - | ||
19 | -const process = { | ||
20 | - login: async (req, res) => { | ||
21 | - const user = new User(req.body); | ||
22 | - const response = await user.login(); | ||
23 | - return res.json(response); | ||
24 | - }, | ||
25 | - | ||
26 | - register: async (req, res) => { | ||
27 | - const user = new User(req.body); | ||
28 | - const response = await user.register(); | ||
29 | - return res.json(response); | ||
30 | - }, | ||
31 | - // const id = req.body.id, | ||
32 | - // password = req.body.password; | ||
33 | - // const users = UserStorage.getUsers("id", "password"); | ||
34 | - // // console.log(UserStorage.getUsers("id", "password","name")); | ||
35 | - // const response = {}; | ||
36 | - | ||
37 | - // if (users.id.includes(id)) { | ||
38 | - // const idx = users.id.indexOf(id); | ||
39 | - // if (users.password[idx] === password) { | ||
40 | - // response.success = true; | ||
41 | - // return res.json(response); | ||
42 | - // } | ||
43 | - // } | ||
44 | - | ||
45 | - // response.success = false; | ||
46 | - // response.msg = "로그인에 실패하였습니다." | ||
47 | - // return res.json(response); | ||
48 | -}; | ||
49 | - | ||
50 | -module.exports = { | ||
51 | - output, | ||
52 | - process, | ||
53 | -}; | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | -"use strict"; | ||
2 | - | ||
3 | -const express = require("express"); | ||
4 | -const router = express.Router(); | ||
5 | - | ||
6 | -const ctrl = require("./home.ctrl"); | ||
7 | - | ||
8 | -router.get("/", ctrl.output.hello); | ||
9 | -router.get("/login", ctrl.output.login); | ||
10 | -router.get("/register", ctrl.output.register); | ||
11 | - | ||
12 | -router.post("/login", ctrl.process.login); | ||
13 | -router.post("/register", ctrl.process.register); | ||
14 | - | ||
15 | -module.exports = router; | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | -<!DOCTYPE html> | ||
2 | -<html lang="ko"> | ||
3 | - <head> | ||
4 | - <meta charset="UTF-8" /> | ||
5 | - <meta http-equiv="X-UA-Compatible" content="IE=edge" /> | ||
6 | - <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||
7 | - <title>Document</title> | ||
8 | - </head> | ||
9 | - <body> | ||
10 | - 여기는 루트입니다. | ||
11 | - </body> | ||
12 | -</html> |
1 | -<!DOCTYPE html> | ||
2 | -<html lang="ko"> | ||
3 | - <head> | ||
4 | - <meta charset="UTF-8" /> | ||
5 | - <meta http-equiv="X-UA-Compatible" content="IE=edge" /> | ||
6 | - <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||
7 | - <link rel="stylesheet" href="/css/home/login.css" /> | ||
8 | - <script src="/js/home/login.js" defer></script> | ||
9 | - <title>Document</title> | ||
10 | - </head> | ||
11 | - <body> | ||
12 | - <div class="login-page"> | ||
13 | - <div class="form"> | ||
14 | - <!-- <form class="register-form"> | ||
15 | - <input type="text" placeholder="name" /> | ||
16 | - <input type="password" placeholder="password" /> | ||
17 | - <input type="text" placeholder="email address" /> | ||
18 | - <button>create</button> | ||
19 | - <p class="message">Already registered? <a href="#">Sign In</a></p> | ||
20 | - </form> --> | ||
21 | - <form class="login-form"> | ||
22 | - <input id="id" type="text" placeholder="아이디" /> | ||
23 | - <input id="password" type="password" placeholder="비밀번호" /> | ||
24 | - <p id="button">LOGIN</p> | ||
25 | - <p class="message"> | ||
26 | - 계정이 없으신가요? <a href="/register">회원가입</a> | ||
27 | - </p> | ||
28 | - </form> | ||
29 | - </div> | ||
30 | - </div> | ||
31 | - </body> | ||
32 | -</html> | ||
33 | - | ||
34 | -<!-- Copyright (c) 2022 by Aigars Silkalns (https://codepen.io/colorlib/pen/rxddKy) --> |
1 | -<!DOCTYPE html> | ||
2 | -<html lang="ko"> | ||
3 | - <head> | ||
4 | - <meta charset="UTF-8" /> | ||
5 | - <meta http-equiv="X-UA-Compatible" content="IE=edge" /> | ||
6 | - <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||
7 | - <link rel="stylesheet" href="/css/home/register.css" /> | ||
8 | - <script src="/js/home/register.js" defer></script> | ||
9 | - <title>Document</title> | ||
10 | - </head> | ||
11 | - <body> | ||
12 | - <div class="login-page"> | ||
13 | - <div class="form"> | ||
14 | - <!-- <form class="register-form"> | ||
15 | - <input type="text" placeholder="name" /> | ||
16 | - <input type="password" placeholder="password" /> | ||
17 | - <input type="text" placeholder="email address" /> | ||
18 | - <button>create</button> | ||
19 | - <p class="message">Already registered? <a href="#">Sign In</a></p> | ||
20 | - </form> --> | ||
21 | - <form class="login-form"> | ||
22 | - <input id="id" type="text" placeholder="아이디" /> | ||
23 | - <input id="name" type="text" placeholder="이름" /> | ||
24 | - <input id="password" type="password" placeholder="비밀번호" /> | ||
25 | - <input | ||
26 | - id="confirm-password" | ||
27 | - type="password" | ||
28 | - placeholder="비밀번호 확인" | ||
29 | - /> | ||
30 | - <p id="button">SIGN UP</p> | ||
31 | - <p class="message">계정이 있으신가요? <a href="/login">로그인</a></p> | ||
32 | - </form> | ||
33 | - </div> | ||
34 | - </div> | ||
35 | - </body> | ||
36 | -</html> | ||
37 | - | ||
38 | -<!-- Copyright (c) 2022 by Aigars Silkalns (https://codepen.io/colorlib/pen/rxddKy) --> |
jeongmin/login/package-lock.json
deleted
100644 → 0
login_main/.gitignore
deleted
100644 → 0
1 | -# Logs | ||
2 | -logs | ||
3 | -*.log | ||
4 | -npm-debug.log* | ||
5 | -yarn-debug.log* | ||
6 | -yarn-error.log* | ||
7 | -lerna-debug.log* | ||
8 | -.pnpm-debug.log* | ||
9 | -app/log/* | ||
10 | -# Diagnostic reports (https://nodejs.org/api/report.html) | ||
11 | -report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json | ||
12 | - | ||
13 | -# Runtime data | ||
14 | -pids | ||
15 | -*.pid | ||
16 | -*.seed | ||
17 | -*.pid.lock | ||
18 | - | ||
19 | -# Directory for instrumented libs generated by jscoverage/JSCover | ||
20 | -lib-cov | ||
21 | - | ||
22 | -# Coverage directory used by tools like istanbul | ||
23 | -coverage | ||
24 | -*.lcov | ||
25 | - | ||
26 | -# nyc test coverage | ||
27 | -.nyc_output | ||
28 | - | ||
29 | -# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) | ||
30 | -.grunt | ||
31 | - | ||
32 | -# Bower dependency directory (https://bower.io/) | ||
33 | -bower_components | ||
34 | - | ||
35 | -# node-waf configuration | ||
36 | -.lock-wscript | ||
37 | - | ||
38 | -# Compiled binary addons (https://nodejs.org/api/addons.html) | ||
39 | -build/Release | ||
40 | - | ||
41 | -# Dependency directories | ||
42 | -**node_modules/ | ||
43 | -jspm_packages/ | ||
44 | - | ||
45 | -# Snowpack dependency directory (https://snowpack.dev/) | ||
46 | -web_modules/ | ||
47 | - | ||
48 | -# TypeScript cache | ||
49 | -*.tsbuildinfo | ||
50 | - | ||
51 | -# Optional npm cache directory | ||
52 | -.npm | ||
53 | - | ||
54 | -# Optional eslint cache | ||
55 | -.eslintcache | ||
56 | - | ||
57 | -# Microbundle cache | ||
58 | -.rpt2_cache/ | ||
59 | -.rts2_cache_cjs/ | ||
60 | -.rts2_cache_es/ | ||
61 | -.rts2_cache_umd/ | ||
62 | - | ||
63 | -# Optional REPL history | ||
64 | -.node_repl_history | ||
65 | - | ||
66 | -# Output of 'npm pack' | ||
67 | -*.tgz | ||
68 | - | ||
69 | -# Yarn Integrity file | ||
70 | -.yarn-integrity | ||
71 | - | ||
72 | -# dotenv environment variables file | ||
73 | -.env | ||
74 | -.env.test | ||
75 | -.env.production | ||
76 | - | ||
77 | -# parcel-bundler cache (https://parceljs.org/) | ||
78 | -.cache | ||
79 | -.parcel-cache | ||
80 | - | ||
81 | -# Next.js build output | ||
82 | -.next | ||
83 | -out | ||
84 | - | ||
85 | -# Nuxt.js build / generate output | ||
86 | -.nuxt | ||
87 | -dist | ||
88 | - | ||
89 | -# Gatsby files | ||
90 | -.cache/ | ||
91 | -# Comment in the public line in if your project uses Gatsby and not Next.js | ||
92 | -# https://nextjs.org/blog/next-9-1#public-directory-support | ||
93 | -# public | ||
94 | - | ||
95 | -# vuepress build output | ||
96 | -.vuepress/dist | ||
97 | - | ||
98 | -# Serverless directories | ||
99 | -.serverless/ | ||
100 | - | ||
101 | -# FuseBox cache | ||
102 | -.fusebox/ | ||
103 | - | ||
104 | -# DynamoDB Local files | ||
105 | -.dynamodb/ | ||
106 | - | ||
107 | -# TernJS port file | ||
108 | -.tern-port | ||
109 | - | ||
110 | -# Stores VSCode versions used for testing VSCode extensions | ||
111 | -.vscode-test | ||
112 | - | ||
113 | -# yarn v2 | ||
114 | -.yarn/cache | ||
115 | -.yarn/unplugged | ||
116 | -.yarn/build-state.yml | ||
117 | -.yarn/install-state.gz | ||
118 | -<<<<<<< HEAD | ||
119 | -.pnp.* | ||
120 | -======= | ||
121 | -.pnp.* | ||
122 | - | ||
123 | -.package-lock.json | ||
124 | ->>>>>>> release_v0.2.0 |
login_main/app/app.js
deleted
100644 → 0
1 | -"use strict"; | ||
2 | -//모듈 | ||
3 | -const express = require("express"); | ||
4 | -const bodyParser = require("body-parser"); | ||
5 | -//환경변수 (운영체제간 gap 없애고자) | ||
6 | -const dotenv = require("dotenv"); | ||
7 | -dotenv.config(); | ||
8 | -<<<<<<< HEAD | ||
9 | - | ||
10 | -const compression = require("compression"); | ||
11 | -const methodOverride = require("method-override"); | ||
12 | -var cors = require("cors"); | ||
13 | -const { logger } = require("./src/config/winston"); | ||
14 | -//app이라는 express 객체 생성 | ||
15 | -const app = express(); | ||
16 | -//라우팅 | ||
17 | -const home = require("./src/routes/home"); | ||
18 | - | ||
19 | -const port = 3000; | ||
20 | - | ||
21 | -const jwtMiddleware = require("./src/config/jwtMiddleware"); | ||
22 | -======= | ||
23 | -const compression = require("compression"); | ||
24 | -const methodOverride = require("method-override"); | ||
25 | -const path = require("path") | ||
26 | -const socketIO = require("socket.io") | ||
27 | -const moment = require("moment") | ||
28 | -const http = require("http"); | ||
29 | -const app = express(); | ||
30 | -const server = http.createServer(app); | ||
31 | - | ||
32 | -var cors = require("cors"); | ||
33 | -const { logger } = require("./src/config/winston"); | ||
34 | -//app이라는 express 객체 생성 | ||
35 | -//라우팅 | ||
36 | -const home = require("./src/routes/home"); | ||
37 | -const port = 3000; | ||
38 | -const jwtMiddleware = require("./src/config/jwtMiddleware"); | ||
39 | -const io = socketIO(server); | ||
40 | ->>>>>>> release_v0.2.0 | ||
41 | - | ||
42 | -// 앱 세팅 | ||
43 | -app.set("views", "./src/views"); | ||
44 | -app.set("view engine", "ejs"); | ||
45 | -app.use(express.static(`${__dirname}/src/public`)); | ||
46 | -<<<<<<< HEAD | ||
47 | -app.use(bodyParser.json()); | ||
48 | -//url통해 전달되는 데이터에 한글, 공백 등의 문자 오류 해결 | ||
49 | -app.use(bodyParser.urlencoded({extended: true})); | ||
50 | -======= | ||
51 | -app.use(express.static(path.join(__dirname, "src"))) | ||
52 | - | ||
53 | -app.use(bodyParser.json()); | ||
54 | -//url통해 전달되는 데이터에 한글, 공백 등의 문자 오류 해결 | ||
55 | -app.use(bodyParser.urlencoded({extended: true})); | ||
56 | - | ||
57 | ->>>>>>> release_v0.2.0 | ||
58 | -app.use(compression()); // HTTP 요청을 압축 및 해제 | ||
59 | -app.use(express.json()); | ||
60 | -app.use(express.urlencoded({ extended: true })); | ||
61 | -app.use(methodOverride()); | ||
62 | -app.use(cors()); | ||
63 | -// app.use("/restaurants", require("../app/src/routes/home/restaurant.route")); | ||
64 | -<<<<<<< HEAD | ||
65 | -require("../app/src/routes/home/restaurant.route")(app); | ||
66 | - | ||
67 | -app.use("/", home); //미들웨어 등록해주는 method | ||
68 | -======= | ||
69 | -// require("../app/src/routes/home/restaurant.route")(app); | ||
70 | - | ||
71 | -app.use("/", home); //미들웨어 등록해주는 method | ||
72 | - | ||
73 | -io.on('connection', (socket) => { | ||
74 | - socket.on("chatting", (data)=>{ | ||
75 | - const { name, msg } = data; | ||
76 | - io.emit("chatting", { | ||
77 | - name, | ||
78 | - msg, | ||
79 | - time : moment(new Date()).format("h:ss A")}) | ||
80 | - }) | ||
81 | -}); | ||
82 | - | ||
83 | ->>>>>>> release_v0.2.0 | ||
84 | -logger.info(`${process.env.NODE_ENV} - API Server Start At Port ${port}`); | ||
85 | - | ||
86 | -module.exports = app; | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
login_main/app/bin/www.js
deleted
100644 → 0
login_main/app/package-lock.json
deleted
100644 → 0
1 | -{ | ||
2 | - "name": "login", | ||
3 | - "version": "1.0.0", | ||
4 | - "lockfileVersion": 1, | ||
5 | - "requires": true, | ||
6 | - "dependencies": { | ||
7 | - "@colors/colors": { | ||
8 | - "version": "1.5.0", | ||
9 | - "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", | ||
10 | - "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==" | ||
11 | - }, | ||
12 | - "@dabh/diagnostics": { | ||
13 | - "version": "2.0.3", | ||
14 | - "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.3.tgz", | ||
15 | - "integrity": "sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==", | ||
16 | - "requires": { | ||
17 | - "colorspace": "1.1.x", | ||
18 | - "enabled": "2.0.x", | ||
19 | - "kuler": "^2.0.0" | ||
20 | - } | ||
21 | - }, | ||
22 | -<<<<<<< HEAD | ||
23 | -======= | ||
24 | - "@types/component-emitter": { | ||
25 | - "version": "1.2.11", | ||
26 | - "resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.11.tgz", | ||
27 | - "integrity": "sha512-SRXjM+tfsSlA9VuG8hGO2nft2p8zjXCK1VcC6N4NXbBbYbSia9kzCChYQajIjzIqOOOuh5Ock6MmV2oux4jDZQ==" | ||
28 | - }, | ||
29 | - "@types/cookie": { | ||
30 | - "version": "0.4.1", | ||
31 | - "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", | ||
32 | - "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==" | ||
33 | - }, | ||
34 | - "@types/cors": { | ||
35 | - "version": "2.8.12", | ||
36 | - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz", | ||
37 | - "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==" | ||
38 | - }, | ||
39 | ->>>>>>> release_v0.2.0 | ||
40 | - "@types/mysql": { | ||
41 | - "version": "2.15.21", | ||
42 | - "resolved": "https://registry.npmjs.org/@types/mysql/-/mysql-2.15.21.tgz", | ||
43 | - "integrity": "sha512-NPotx5CVful7yB+qZbWtXL2fA4e7aEHkihHLjklc6ID8aq7bhguHgeIoC1EmSNTAuCgI6ZXrjt2ZSaXnYX0EUg==", | ||
44 | - "requires": { | ||
45 | - "@types/node": "*" | ||
46 | - } | ||
47 | - }, | ||
48 | - "@types/node": { | ||
49 | - "version": "17.0.41", | ||
50 | - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.41.tgz", | ||
51 | - "integrity": "sha512-xA6drNNeqb5YyV5fO3OAEsnXLfO7uF0whiOfPTz5AeDo8KeZFmODKnvwPymMNO8qE/an8pVY/O50tig2SQCrGw==" | ||
52 | - }, | ||
53 | - "accepts": { | ||
54 | - "version": "1.3.8", | ||
55 | - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", | ||
56 | - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", | ||
57 | - "requires": { | ||
58 | - "mime-types": "~2.1.34", | ||
59 | - "negotiator": "0.6.3" | ||
60 | - } | ||
61 | - }, | ||
62 | - "ajv": { | ||
63 | - "version": "6.12.6", | ||
64 | - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", | ||
65 | - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", | ||
66 | - "requires": { | ||
67 | - "fast-deep-equal": "^3.1.1", | ||
68 | - "fast-json-stable-stringify": "^2.0.0", | ||
69 | - "json-schema-traverse": "^0.4.1", | ||
70 | - "uri-js": "^4.2.2" | ||
71 | - } | ||
72 | - }, | ||
73 | - "ansi-styles": { | ||
74 | - "version": "4.3.0", | ||
75 | - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", | ||
76 | - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", | ||
77 | - "requires": { | ||
78 | - "color-convert": "^2.0.1" | ||
79 | - } | ||
80 | - }, | ||
81 | - "array-flatten": { | ||
82 | - "version": "1.1.1", | ||
83 | - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", | ||
84 | - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" | ||
85 | - }, | ||
86 | - "asn1": { | ||
87 | - "version": "0.2.6", | ||
88 | - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", | ||
89 | - "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", | ||
90 | - "requires": { | ||
91 | - "safer-buffer": "~2.1.0" | ||
92 | - } | ||
93 | - }, | ||
94 | - "assert-plus": { | ||
95 | - "version": "1.0.0", | ||
96 | - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", | ||
97 | - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==" | ||
98 | - }, | ||
99 | - "async": { | ||
100 | - "version": "3.2.3", | ||
101 | - "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz", | ||
102 | - "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==" | ||
103 | - }, | ||
104 | - "asynckit": { | ||
105 | - "version": "0.4.0", | ||
106 | - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", | ||
107 | - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" | ||
108 | - }, | ||
109 | - "aws-sign2": { | ||
110 | - "version": "0.7.0", | ||
111 | - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", | ||
112 | - "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==" | ||
113 | - }, | ||
114 | - "aws4": { | ||
115 | - "version": "1.11.0", | ||
116 | - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", | ||
117 | - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" | ||
118 | - }, | ||
119 | - "balanced-match": { | ||
120 | - "version": "1.0.2", | ||
121 | - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", | ||
122 | - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" | ||
123 | - }, | ||
124 | -<<<<<<< HEAD | ||
125 | -======= | ||
126 | - "base64id": { | ||
127 | - "version": "2.0.0", | ||
128 | - "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", | ||
129 | - "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==" | ||
130 | - }, | ||
131 | ->>>>>>> release_v0.2.0 | ||
132 | - "bcrypt-pbkdf": { | ||
133 | - "version": "1.0.2", | ||
134 | - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", | ||
135 | - "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", | ||
136 | - "requires": { | ||
137 | - "tweetnacl": "^0.14.3" | ||
138 | - } | ||
139 | - }, | ||
140 | - "bignumber.js": { | ||
141 | - "version": "9.0.0", | ||
142 | - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.0.tgz", | ||
143 | - "integrity": "sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A==" | ||
144 | - }, | ||
145 | - "body-parser": { | ||
146 | - "version": "1.20.0", | ||
147 | - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", | ||
148 | - "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", | ||
149 | - "requires": { | ||
150 | - "bytes": "3.1.2", | ||
151 | - "content-type": "~1.0.4", | ||
152 | - "debug": "2.6.9", | ||
153 | - "depd": "2.0.0", | ||
154 | - "destroy": "1.2.0", | ||
155 | - "http-errors": "2.0.0", | ||
156 | - "iconv-lite": "0.4.24", | ||
157 | - "on-finished": "2.4.1", | ||
158 | - "qs": "6.10.3", | ||
159 | - "raw-body": "2.5.1", | ||
160 | - "type-is": "~1.6.18", | ||
161 | - "unpipe": "1.0.0" | ||
162 | - } | ||
163 | - }, | ||
164 | - "brace-expansion": { | ||
165 | - "version": "2.0.1", | ||
166 | - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", | ||
167 | - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", | ||
168 | - "requires": { | ||
169 | - "balanced-match": "^1.0.0" | ||
170 | - } | ||
171 | - }, | ||
172 | - "buffer-equal-constant-time": { | ||
173 | - "version": "1.0.1", | ||
174 | - "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", | ||
175 | - "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" | ||
176 | - }, | ||
177 | - "bytes": { | ||
178 | - "version": "3.1.2", | ||
179 | - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", | ||
180 | - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" | ||
181 | - }, | ||
182 | - "call-bind": { | ||
183 | - "version": "1.0.2", | ||
184 | - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", | ||
185 | - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", | ||
186 | - "requires": { | ||
187 | - "function-bind": "^1.1.1", | ||
188 | - "get-intrinsic": "^1.0.2" | ||
189 | - } | ||
190 | - }, | ||
191 | - "caseless": { | ||
192 | - "version": "0.12.0", | ||
193 | - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", | ||
194 | - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" | ||
195 | - }, | ||
196 | - "chalk": { | ||
197 | - "version": "4.1.2", | ||
198 | - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", | ||
199 | - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", | ||
200 | - "requires": { | ||
201 | - "ansi-styles": "^4.1.0", | ||
202 | - "supports-color": "^7.1.0" | ||
203 | - } | ||
204 | - }, | ||
205 | - "color": { | ||
206 | - "version": "3.2.1", | ||
207 | - "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", | ||
208 | - "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", | ||
209 | - "requires": { | ||
210 | - "color-convert": "^1.9.3", | ||
211 | - "color-string": "^1.6.0" | ||
212 | - }, | ||
213 | - "dependencies": { | ||
214 | - "color-convert": { | ||
215 | - "version": "1.9.3", | ||
216 | - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", | ||
217 | - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", | ||
218 | - "requires": { | ||
219 | - "color-name": "1.1.3" | ||
220 | - } | ||
221 | - }, | ||
222 | - "color-name": { | ||
223 | - "version": "1.1.3", | ||
224 | - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", | ||
225 | - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" | ||
226 | - } | ||
227 | - } | ||
228 | - }, | ||
229 | - "color-convert": { | ||
230 | - "version": "2.0.1", | ||
231 | - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", | ||
232 | - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", | ||
233 | - "requires": { | ||
234 | - "color-name": "~1.1.4" | ||
235 | - } | ||
236 | - }, | ||
237 | - "color-name": { | ||
238 | - "version": "1.1.4", | ||
239 | - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", | ||
240 | - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" | ||
241 | - }, | ||
242 | - "color-string": { | ||
243 | - "version": "1.9.1", | ||
244 | - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", | ||
245 | - "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", | ||
246 | - "requires": { | ||
247 | - "color-name": "^1.0.0", | ||
248 | - "simple-swizzle": "^0.2.2" | ||
249 | - } | ||
250 | - }, | ||
251 | - "colorspace": { | ||
252 | - "version": "1.1.4", | ||
253 | - "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.4.tgz", | ||
254 | - "integrity": "sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==", | ||
255 | - "requires": { | ||
256 | - "color": "^3.1.3", | ||
257 | - "text-hex": "1.0.x" | ||
258 | - } | ||
259 | - }, | ||
260 | - "combined-stream": { | ||
261 | - "version": "1.0.8", | ||
262 | - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", | ||
263 | - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", | ||
264 | - "requires": { | ||
265 | - "delayed-stream": "~1.0.0" | ||
266 | - } | ||
267 | - }, | ||
268 | -<<<<<<< HEAD | ||
269 | -======= | ||
270 | - "component-emitter": { | ||
271 | - "version": "1.3.0", | ||
272 | - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", | ||
273 | - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" | ||
274 | - }, | ||
275 | ->>>>>>> release_v0.2.0 | ||
276 | - "compressible": { | ||
277 | - "version": "2.0.18", | ||
278 | - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", | ||
279 | - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", | ||
280 | - "requires": { | ||
281 | - "mime-db": ">= 1.43.0 < 2" | ||
282 | - } | ||
283 | - }, | ||
284 | - "compression": { | ||
285 | - "version": "1.7.4", | ||
286 | - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", | ||
287 | - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", | ||
288 | - "requires": { | ||
289 | - "accepts": "~1.3.5", | ||
290 | - "bytes": "3.0.0", | ||
291 | - "compressible": "~2.0.16", | ||
292 | - "debug": "2.6.9", | ||
293 | - "on-headers": "~1.0.2", | ||
294 | - "safe-buffer": "5.1.2", | ||
295 | - "vary": "~1.1.2" | ||
296 | - }, | ||
297 | - "dependencies": { | ||
298 | - "bytes": { | ||
299 | - "version": "3.0.0", | ||
300 | - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", | ||
301 | - "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==" | ||
302 | - }, | ||
303 | - "safe-buffer": { | ||
304 | - "version": "5.1.2", | ||
305 | - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", | ||
306 | - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" | ||
307 | - } | ||
308 | - } | ||
309 | - }, | ||
310 | - "concat-map": { | ||
311 | - "version": "0.0.1", | ||
312 | - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", | ||
313 | - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" | ||
314 | - }, | ||
315 | - "content-disposition": { | ||
316 | - "version": "0.5.4", | ||
317 | - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", | ||
318 | - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", | ||
319 | - "requires": { | ||
320 | - "safe-buffer": "5.2.1" | ||
321 | - } | ||
322 | - }, | ||
323 | - "content-type": { | ||
324 | - "version": "1.0.4", | ||
325 | - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", | ||
326 | - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" | ||
327 | - }, | ||
328 | - "cookie": { | ||
329 | - "version": "0.5.0", | ||
330 | - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", | ||
331 | - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" | ||
332 | - }, | ||
333 | - "cookie-signature": { | ||
334 | - "version": "1.0.6", | ||
335 | - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", | ||
336 | - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" | ||
337 | - }, | ||
338 | - "core-util-is": { | ||
339 | - "version": "1.0.3", | ||
340 | - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", | ||
341 | - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" | ||
342 | - }, | ||
343 | - "cors": { | ||
344 | - "version": "2.8.5", | ||
345 | - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", | ||
346 | - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", | ||
347 | - "requires": { | ||
348 | - "object-assign": "^4", | ||
349 | - "vary": "^1" | ||
350 | - } | ||
351 | - }, | ||
352 | - "crypto": { | ||
353 | - "version": "1.0.1", | ||
354 | - "resolved": "https://registry.npmjs.org/crypto/-/crypto-1.0.1.tgz", | ||
355 | - "integrity": "sha512-VxBKmeNcqQdiUQUW2Tzq0t377b54N2bMtXO/qiLa+6eRRmmC4qT3D4OnTGoT/U6O9aklQ/jTwbOtRMTTY8G0Ig==" | ||
356 | - }, | ||
357 | - "dashdash": { | ||
358 | - "version": "1.14.1", | ||
359 | - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", | ||
360 | - "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", | ||
361 | - "requires": { | ||
362 | - "assert-plus": "^1.0.0" | ||
363 | - } | ||
364 | - }, | ||
365 | - "dateformat": { | ||
366 | - "version": "4.6.3", | ||
367 | - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-4.6.3.tgz", | ||
368 | - "integrity": "sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==" | ||
369 | - }, | ||
370 | - "debug": { | ||
371 | - "version": "2.6.9", | ||
372 | - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", | ||
373 | - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", | ||
374 | - "requires": { | ||
375 | - "ms": "2.0.0" | ||
376 | - } | ||
377 | - }, | ||
378 | - "delayed-stream": { | ||
379 | - "version": "1.0.0", | ||
380 | - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", | ||
381 | - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" | ||
382 | - }, | ||
383 | - "denque": { | ||
384 | - "version": "1.5.1", | ||
385 | - "resolved": "https://registry.npmjs.org/denque/-/denque-1.5.1.tgz", | ||
386 | - "integrity": "sha512-XwE+iZ4D6ZUB7mfYRMb5wByE8L74HCn30FBN7sWnXksWc1LO1bPDl67pBR9o/kC4z/xSNAwkMYcGgqDV3BE3Hw==" | ||
387 | - }, | ||
388 | - "depd": { | ||
389 | - "version": "2.0.0", | ||
390 | - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", | ||
391 | - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" | ||
392 | - }, | ||
393 | - "destroy": { | ||
394 | - "version": "1.2.0", | ||
395 | - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", | ||
396 | - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" | ||
397 | - }, | ||
398 | - "dotenv": { | ||
399 | - "version": "16.0.1", | ||
400 | - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.1.tgz", | ||
401 | - "integrity": "sha512-1K6hR6wtk2FviQ4kEiSjFiH5rpzEVi8WW0x96aztHVMhEspNpc4DVOUTEHtEva5VThQ8IaBX1Pe4gSzpVVUsKQ==" | ||
402 | - }, | ||
403 | - "ecc-jsbn": { | ||
404 | - "version": "0.1.2", | ||
405 | - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", | ||
406 | - "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", | ||
407 | - "requires": { | ||
408 | - "jsbn": "~0.1.0", | ||
409 | - "safer-buffer": "^2.1.0" | ||
410 | - } | ||
411 | - }, | ||
412 | - "ecdsa-sig-formatter": { | ||
413 | - "version": "1.0.11", | ||
414 | - "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", | ||
415 | - "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", | ||
416 | - "requires": { | ||
417 | - "safe-buffer": "^5.0.1" | ||
418 | - } | ||
419 | - }, | ||
420 | - "ee-first": { | ||
421 | - "version": "1.1.1", | ||
422 | - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", | ||
423 | - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" | ||
424 | - }, | ||
425 | - "ejs": { | ||
426 | - "version": "3.1.8", | ||
427 | - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz", | ||
428 | - "integrity": "sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==", | ||
429 | - "requires": { | ||
430 | - "jake": "^10.8.5" | ||
431 | - } | ||
432 | - }, | ||
433 | - "enabled": { | ||
434 | - "version": "2.0.0", | ||
435 | - "resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz", | ||
436 | - "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==" | ||
437 | - }, | ||
438 | - "encodeurl": { | ||
439 | - "version": "1.0.2", | ||
440 | - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", | ||
441 | - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" | ||
442 | - }, | ||
443 | -<<<<<<< HEAD | ||
444 | -======= | ||
445 | - "engine.io": { | ||
446 | - "version": "6.2.0", | ||
447 | - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.0.tgz", | ||
448 | - "integrity": "sha512-4KzwW3F3bk+KlzSOY57fj/Jx6LyRQ1nbcyIadehl+AnXjKT7gDO0ORdRi/84ixvMKTym6ZKuxvbzN62HDDU1Lg==", | ||
449 | - "requires": { | ||
450 | - "@types/cookie": "^0.4.1", | ||
451 | - "@types/cors": "^2.8.12", | ||
452 | - "@types/node": ">=10.0.0", | ||
453 | - "accepts": "~1.3.4", | ||
454 | - "base64id": "2.0.0", | ||
455 | - "cookie": "~0.4.1", | ||
456 | - "cors": "~2.8.5", | ||
457 | - "debug": "~4.3.1", | ||
458 | - "engine.io-parser": "~5.0.3", | ||
459 | - "ws": "~8.2.3" | ||
460 | - }, | ||
461 | - "dependencies": { | ||
462 | - "cookie": { | ||
463 | - "version": "0.4.2", | ||
464 | - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", | ||
465 | - "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==" | ||
466 | - }, | ||
467 | - "debug": { | ||
468 | - "version": "4.3.4", | ||
469 | - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", | ||
470 | - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", | ||
471 | - "requires": { | ||
472 | - "ms": "2.1.2" | ||
473 | - } | ||
474 | - }, | ||
475 | - "ms": { | ||
476 | - "version": "2.1.2", | ||
477 | - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", | ||
478 | - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" | ||
479 | - } | ||
480 | - } | ||
481 | - }, | ||
482 | - "engine.io-parser": { | ||
483 | - "version": "5.0.4", | ||
484 | - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz", | ||
485 | - "integrity": "sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg==" | ||
486 | - }, | ||
487 | ->>>>>>> release_v0.2.0 | ||
488 | - "escape-html": { | ||
489 | - "version": "1.0.3", | ||
490 | - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", | ||
491 | - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" | ||
492 | - }, | ||
493 | - "etag": { | ||
494 | - "version": "1.8.1", | ||
495 | - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", | ||
496 | - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" | ||
497 | - }, | ||
498 | - "express": { | ||
499 | - "version": "4.18.1", | ||
500 | - "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", | ||
501 | - "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==", | ||
502 | - "requires": { | ||
503 | - "accepts": "~1.3.8", | ||
504 | - "array-flatten": "1.1.1", | ||
505 | - "body-parser": "1.20.0", | ||
506 | - "content-disposition": "0.5.4", | ||
507 | - "content-type": "~1.0.4", | ||
508 | - "cookie": "0.5.0", | ||
509 | - "cookie-signature": "1.0.6", | ||
510 | - "debug": "2.6.9", | ||
511 | - "depd": "2.0.0", | ||
512 | - "encodeurl": "~1.0.2", | ||
513 | - "escape-html": "~1.0.3", | ||
514 | - "etag": "~1.8.1", | ||
515 | - "finalhandler": "1.2.0", | ||
516 | - "fresh": "0.5.2", | ||
517 | - "http-errors": "2.0.0", | ||
518 | - "merge-descriptors": "1.0.1", | ||
519 | - "methods": "~1.1.2", | ||
520 | - "on-finished": "2.4.1", | ||
521 | - "parseurl": "~1.3.3", | ||
522 | - "path-to-regexp": "0.1.7", | ||
523 | - "proxy-addr": "~2.0.7", | ||
524 | - "qs": "6.10.3", | ||
525 | - "range-parser": "~1.2.1", | ||
526 | - "safe-buffer": "5.2.1", | ||
527 | - "send": "0.18.0", | ||
528 | - "serve-static": "1.15.0", | ||
529 | - "setprototypeof": "1.2.0", | ||
530 | - "statuses": "2.0.1", | ||
531 | - "type-is": "~1.6.18", | ||
532 | - "utils-merge": "1.0.1", | ||
533 | - "vary": "~1.1.2" | ||
534 | - } | ||
535 | - }, | ||
536 | - "extend": { | ||
537 | - "version": "3.0.2", | ||
538 | - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", | ||
539 | - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" | ||
540 | - }, | ||
541 | - "extsprintf": { | ||
542 | - "version": "1.3.0", | ||
543 | - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", | ||
544 | - "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==" | ||
545 | - }, | ||
546 | - "fast-deep-equal": { | ||
547 | - "version": "3.1.3", | ||
548 | - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", | ||
549 | - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" | ||
550 | - }, | ||
551 | - "fast-json-stable-stringify": { | ||
552 | - "version": "2.1.0", | ||
553 | - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", | ||
554 | - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" | ||
555 | - }, | ||
556 | - "fecha": { | ||
557 | - "version": "4.2.3", | ||
558 | - "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz", | ||
559 | - "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==" | ||
560 | - }, | ||
561 | - "file-stream-rotator": { | ||
562 | - "version": "0.6.1", | ||
563 | - "resolved": "https://registry.npmjs.org/file-stream-rotator/-/file-stream-rotator-0.6.1.tgz", | ||
564 | - "integrity": "sha512-u+dBid4PvZw17PmDeRcNOtCP9CCK/9lRN2w+r1xIS7yOL9JFrIBKTvrYsxT4P0pGtThYTn++QS5ChHaUov3+zQ==", | ||
565 | - "requires": { | ||
566 | - "moment": "^2.29.1" | ||
567 | - } | ||
568 | - }, | ||
569 | - "filelist": { | ||
570 | - "version": "1.0.4", | ||
571 | - "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", | ||
572 | - "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", | ||
573 | - "requires": { | ||
574 | - "minimatch": "^5.0.1" | ||
575 | - }, | ||
576 | - "dependencies": { | ||
577 | - "minimatch": { | ||
578 | - "version": "5.1.0", | ||
579 | - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", | ||
580 | - "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", | ||
581 | - "requires": { | ||
582 | - "brace-expansion": "^2.0.1" | ||
583 | - } | ||
584 | - } | ||
585 | - } | ||
586 | - }, | ||
587 | - "finalhandler": { | ||
588 | - "version": "1.2.0", | ||
589 | - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", | ||
590 | - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", | ||
591 | - "requires": { | ||
592 | - "debug": "2.6.9", | ||
593 | - "encodeurl": "~1.0.2", | ||
594 | - "escape-html": "~1.0.3", | ||
595 | - "on-finished": "2.4.1", | ||
596 | - "parseurl": "~1.3.3", | ||
597 | - "statuses": "2.0.1", | ||
598 | - "unpipe": "~1.0.0" | ||
599 | - } | ||
600 | - }, | ||
601 | - "fn.name": { | ||
602 | - "version": "1.1.0", | ||
603 | - "resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz", | ||
604 | - "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==" | ||
605 | - }, | ||
606 | - "forever-agent": { | ||
607 | - "version": "0.6.1", | ||
608 | - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", | ||
609 | - "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==" | ||
610 | - }, | ||
611 | - "form-data": { | ||
612 | - "version": "2.3.3", | ||
613 | - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", | ||
614 | - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", | ||
615 | - "requires": { | ||
616 | - "asynckit": "^0.4.0", | ||
617 | - "combined-stream": "^1.0.6", | ||
618 | - "mime-types": "^2.1.12" | ||
619 | - } | ||
620 | - }, | ||
621 | - "forwarded": { | ||
622 | - "version": "0.2.0", | ||
623 | - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", | ||
624 | - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" | ||
625 | - }, | ||
626 | - "fresh": { | ||
627 | - "version": "0.5.2", | ||
628 | - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", | ||
629 | - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" | ||
630 | - }, | ||
631 | - "function-bind": { | ||
632 | - "version": "1.1.1", | ||
633 | - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", | ||
634 | - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" | ||
635 | - }, | ||
636 | - "generate-function": { | ||
637 | - "version": "2.3.1", | ||
638 | - "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz", | ||
639 | - "integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==", | ||
640 | - "requires": { | ||
641 | - "is-property": "^1.0.2" | ||
642 | - } | ||
643 | - }, | ||
644 | - "get-intrinsic": { | ||
645 | - "version": "1.1.1", | ||
646 | - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", | ||
647 | - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", | ||
648 | - "requires": { | ||
649 | - "function-bind": "^1.1.1", | ||
650 | - "has": "^1.0.3", | ||
651 | - "has-symbols": "^1.0.1" | ||
652 | - } | ||
653 | - }, | ||
654 | - "getpass": { | ||
655 | - "version": "0.1.7", | ||
656 | - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", | ||
657 | - "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", | ||
658 | - "requires": { | ||
659 | - "assert-plus": "^1.0.0" | ||
660 | - } | ||
661 | - }, | ||
662 | - "har-schema": { | ||
663 | - "version": "2.0.0", | ||
664 | - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", | ||
665 | - "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==" | ||
666 | - }, | ||
667 | - "har-validator": { | ||
668 | - "version": "5.1.5", | ||
669 | - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", | ||
670 | - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", | ||
671 | - "requires": { | ||
672 | - "ajv": "^6.12.3", | ||
673 | - "har-schema": "^2.0.0" | ||
674 | - } | ||
675 | - }, | ||
676 | - "has": { | ||
677 | - "version": "1.0.3", | ||
678 | - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", | ||
679 | - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", | ||
680 | - "requires": { | ||
681 | - "function-bind": "^1.1.1" | ||
682 | - } | ||
683 | - }, | ||
684 | - "has-flag": { | ||
685 | - "version": "4.0.0", | ||
686 | - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", | ||
687 | - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" | ||
688 | - }, | ||
689 | - "has-symbols": { | ||
690 | - "version": "1.0.3", | ||
691 | - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", | ||
692 | - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" | ||
693 | - }, | ||
694 | - "http-errors": { | ||
695 | - "version": "2.0.0", | ||
696 | - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", | ||
697 | - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", | ||
698 | - "requires": { | ||
699 | - "depd": "2.0.0", | ||
700 | - "inherits": "2.0.4", | ||
701 | - "setprototypeof": "1.2.0", | ||
702 | - "statuses": "2.0.1", | ||
703 | - "toidentifier": "1.0.1" | ||
704 | - } | ||
705 | - }, | ||
706 | - "http-signature": { | ||
707 | - "version": "1.2.0", | ||
708 | - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", | ||
709 | - "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", | ||
710 | - "requires": { | ||
711 | - "assert-plus": "^1.0.0", | ||
712 | - "jsprim": "^1.2.2", | ||
713 | - "sshpk": "^1.7.0" | ||
714 | - } | ||
715 | - }, | ||
716 | - "iconv-lite": { | ||
717 | - "version": "0.4.24", | ||
718 | - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", | ||
719 | - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", | ||
720 | - "requires": { | ||
721 | - "safer-buffer": ">= 2.1.2 < 3" | ||
722 | - } | ||
723 | - }, | ||
724 | - "inherits": { | ||
725 | - "version": "2.0.4", | ||
726 | - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", | ||
727 | - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" | ||
728 | - }, | ||
729 | - "ipaddr.js": { | ||
730 | - "version": "1.9.1", | ||
731 | - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", | ||
732 | - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" | ||
733 | - }, | ||
734 | - "is-arrayish": { | ||
735 | - "version": "0.3.2", | ||
736 | - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", | ||
737 | - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" | ||
738 | - }, | ||
739 | - "is-property": { | ||
740 | - "version": "1.0.2", | ||
741 | - "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", | ||
742 | - "integrity": "sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==" | ||
743 | - }, | ||
744 | - "is-stream": { | ||
745 | - "version": "2.0.1", | ||
746 | - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", | ||
747 | - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" | ||
748 | - }, | ||
749 | - "is-typedarray": { | ||
750 | - "version": "1.0.0", | ||
751 | - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", | ||
752 | - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" | ||
753 | - }, | ||
754 | - "isarray": { | ||
755 | - "version": "1.0.0", | ||
756 | - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", | ||
757 | - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" | ||
758 | - }, | ||
759 | - "isstream": { | ||
760 | - "version": "0.1.2", | ||
761 | - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", | ||
762 | - "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" | ||
763 | - }, | ||
764 | - "jake": { | ||
765 | - "version": "10.8.5", | ||
766 | - "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz", | ||
767 | - "integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==", | ||
768 | - "requires": { | ||
769 | - "async": "^3.2.3", | ||
770 | - "chalk": "^4.0.2", | ||
771 | - "filelist": "^1.0.1", | ||
772 | - "minimatch": "^3.0.4" | ||
773 | - } | ||
774 | - }, | ||
775 | - "jsbn": { | ||
776 | - "version": "0.1.1", | ||
777 | - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", | ||
778 | - "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" | ||
779 | - }, | ||
780 | - "json-schema": { | ||
781 | - "version": "0.4.0", | ||
782 | - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", | ||
783 | - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" | ||
784 | - }, | ||
785 | - "json-schema-traverse": { | ||
786 | - "version": "0.4.1", | ||
787 | - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", | ||
788 | - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" | ||
789 | - }, | ||
790 | - "json-stringify-safe": { | ||
791 | - "version": "5.0.1", | ||
792 | - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", | ||
793 | - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" | ||
794 | - }, | ||
795 | - "jsonwebtoken": { | ||
796 | - "version": "8.5.1", | ||
797 | - "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", | ||
798 | - "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", | ||
799 | - "requires": { | ||
800 | - "jws": "^3.2.2", | ||
801 | - "lodash.includes": "^4.3.0", | ||
802 | - "lodash.isboolean": "^3.0.3", | ||
803 | - "lodash.isinteger": "^4.0.4", | ||
804 | - "lodash.isnumber": "^3.0.3", | ||
805 | - "lodash.isplainobject": "^4.0.6", | ||
806 | - "lodash.isstring": "^4.0.1", | ||
807 | - "lodash.once": "^4.0.0", | ||
808 | - "ms": "^2.1.1", | ||
809 | - "semver": "^5.6.0" | ||
810 | - }, | ||
811 | - "dependencies": { | ||
812 | - "ms": { | ||
813 | - "version": "2.1.3", | ||
814 | - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", | ||
815 | - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" | ||
816 | - } | ||
817 | - } | ||
818 | - }, | ||
819 | - "jsprim": { | ||
820 | - "version": "1.4.2", | ||
821 | - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", | ||
822 | - "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", | ||
823 | - "requires": { | ||
824 | - "assert-plus": "1.0.0", | ||
825 | - "extsprintf": "1.3.0", | ||
826 | - "json-schema": "0.4.0", | ||
827 | - "verror": "1.10.0" | ||
828 | - } | ||
829 | - }, | ||
830 | - "jwa": { | ||
831 | - "version": "1.4.1", | ||
832 | - "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", | ||
833 | - "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", | ||
834 | - "requires": { | ||
835 | - "buffer-equal-constant-time": "1.0.1", | ||
836 | - "ecdsa-sig-formatter": "1.0.11", | ||
837 | - "safe-buffer": "^5.0.1" | ||
838 | - } | ||
839 | - }, | ||
840 | - "jws": { | ||
841 | - "version": "3.2.2", | ||
842 | - "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", | ||
843 | - "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", | ||
844 | - "requires": { | ||
845 | - "jwa": "^1.4.1", | ||
846 | - "safe-buffer": "^5.0.1" | ||
847 | - } | ||
848 | - }, | ||
849 | - "kuler": { | ||
850 | - "version": "2.0.0", | ||
851 | - "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz", | ||
852 | - "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==" | ||
853 | - }, | ||
854 | - "lodash.includes": { | ||
855 | - "version": "4.3.0", | ||
856 | - "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", | ||
857 | - "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==" | ||
858 | - }, | ||
859 | - "lodash.isboolean": { | ||
860 | - "version": "3.0.3", | ||
861 | - "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", | ||
862 | - "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" | ||
863 | - }, | ||
864 | - "lodash.isinteger": { | ||
865 | - "version": "4.0.4", | ||
866 | - "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", | ||
867 | - "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==" | ||
868 | - }, | ||
869 | - "lodash.isnumber": { | ||
870 | - "version": "3.0.3", | ||
871 | - "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", | ||
872 | - "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" | ||
873 | - }, | ||
874 | - "lodash.isplainobject": { | ||
875 | - "version": "4.0.6", | ||
876 | - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", | ||
877 | - "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" | ||
878 | - }, | ||
879 | - "lodash.isstring": { | ||
880 | - "version": "4.0.1", | ||
881 | - "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", | ||
882 | - "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" | ||
883 | - }, | ||
884 | - "lodash.once": { | ||
885 | - "version": "4.1.1", | ||
886 | - "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", | ||
887 | - "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" | ||
888 | - }, | ||
889 | - "logform": { | ||
890 | - "version": "2.4.0", | ||
891 | - "resolved": "https://registry.npmjs.org/logform/-/logform-2.4.0.tgz", | ||
892 | - "integrity": "sha512-CPSJw4ftjf517EhXZGGvTHHkYobo7ZCc0kvwUoOYcjfR2UVrI66RHj8MCrfAdEitdmFqbu2BYdYs8FHHZSb6iw==", | ||
893 | - "requires": { | ||
894 | - "@colors/colors": "1.5.0", | ||
895 | - "fecha": "^4.2.0", | ||
896 | - "ms": "^2.1.1", | ||
897 | - "safe-stable-stringify": "^2.3.1", | ||
898 | - "triple-beam": "^1.3.0" | ||
899 | - }, | ||
900 | - "dependencies": { | ||
901 | - "ms": { | ||
902 | - "version": "2.1.3", | ||
903 | - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", | ||
904 | - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" | ||
905 | - } | ||
906 | - } | ||
907 | - }, | ||
908 | - "long": { | ||
909 | - "version": "4.0.0", | ||
910 | - "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", | ||
911 | - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" | ||
912 | - }, | ||
913 | - "lru-cache": { | ||
914 | - "version": "6.0.0", | ||
915 | - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", | ||
916 | - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", | ||
917 | - "requires": { | ||
918 | - "yallist": "^4.0.0" | ||
919 | - } | ||
920 | - }, | ||
921 | - "media-typer": { | ||
922 | - "version": "0.3.0", | ||
923 | - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", | ||
924 | - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" | ||
925 | - }, | ||
926 | - "merge-descriptors": { | ||
927 | - "version": "1.0.1", | ||
928 | - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", | ||
929 | - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" | ||
930 | - }, | ||
931 | - "method-override": { | ||
932 | - "version": "3.0.0", | ||
933 | - "resolved": "https://registry.npmjs.org/method-override/-/method-override-3.0.0.tgz", | ||
934 | - "integrity": "sha512-IJ2NNN/mSl9w3kzWB92rcdHpz+HjkxhDJWNDBqSlas+zQdP8wBiJzITPg08M/k2uVvMow7Sk41atndNtt/PHSA==", | ||
935 | - "requires": { | ||
936 | - "debug": "3.1.0", | ||
937 | - "methods": "~1.1.2", | ||
938 | - "parseurl": "~1.3.2", | ||
939 | - "vary": "~1.1.2" | ||
940 | - }, | ||
941 | - "dependencies": { | ||
942 | - "debug": { | ||
943 | - "version": "3.1.0", | ||
944 | - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", | ||
945 | - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", | ||
946 | - "requires": { | ||
947 | - "ms": "2.0.0" | ||
948 | - } | ||
949 | - } | ||
950 | - } | ||
951 | - }, | ||
952 | - "methods": { | ||
953 | - "version": "1.1.2", | ||
954 | - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", | ||
955 | - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==" | ||
956 | - }, | ||
957 | - "mime": { | ||
958 | - "version": "1.6.0", | ||
959 | - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", | ||
960 | - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" | ||
961 | - }, | ||
962 | - "mime-db": { | ||
963 | - "version": "1.52.0", | ||
964 | - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", | ||
965 | - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" | ||
966 | - }, | ||
967 | - "mime-types": { | ||
968 | - "version": "2.1.35", | ||
969 | - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", | ||
970 | - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", | ||
971 | - "requires": { | ||
972 | - "mime-db": "1.52.0" | ||
973 | - } | ||
974 | - }, | ||
975 | - "minimatch": { | ||
976 | - "version": "3.1.2", | ||
977 | - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", | ||
978 | - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", | ||
979 | - "requires": { | ||
980 | - "brace-expansion": "^1.1.7" | ||
981 | - }, | ||
982 | - "dependencies": { | ||
983 | - "brace-expansion": { | ||
984 | - "version": "1.1.11", | ||
985 | - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", | ||
986 | - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", | ||
987 | - "requires": { | ||
988 | - "balanced-match": "^1.0.0", | ||
989 | - "concat-map": "0.0.1" | ||
990 | - } | ||
991 | - } | ||
992 | - } | ||
993 | - }, | ||
994 | - "moment": { | ||
995 | - "version": "2.29.3", | ||
996 | - "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.3.tgz", | ||
997 | - "integrity": "sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw==" | ||
998 | - }, | ||
999 | - "ms": { | ||
1000 | - "version": "2.0.0", | ||
1001 | - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", | ||
1002 | - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" | ||
1003 | - }, | ||
1004 | - "mysql": { | ||
1005 | - "version": "2.18.1", | ||
1006 | - "resolved": "https://registry.npmjs.org/mysql/-/mysql-2.18.1.tgz", | ||
1007 | - "integrity": "sha512-Bca+gk2YWmqp2Uf6k5NFEurwY/0td0cpebAucFpY/3jhrwrVGuxU2uQFCHjU19SJfje0yQvi+rVWdq78hR5lig==", | ||
1008 | - "requires": { | ||
1009 | - "bignumber.js": "9.0.0", | ||
1010 | - "readable-stream": "2.3.7", | ||
1011 | - "safe-buffer": "5.1.2", | ||
1012 | - "sqlstring": "2.3.1" | ||
1013 | - }, | ||
1014 | - "dependencies": { | ||
1015 | - "safe-buffer": { | ||
1016 | - "version": "5.1.2", | ||
1017 | - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", | ||
1018 | - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" | ||
1019 | - } | ||
1020 | - } | ||
1021 | - }, | ||
1022 | - "mysql2": { | ||
1023 | - "version": "2.2.0", | ||
1024 | - "resolved": "https://registry.npmjs.org/mysql2/-/mysql2-2.2.0.tgz", | ||
1025 | - "integrity": "sha512-3DvnvXihGiFrq6oaMjGN+gR/oreZA5cA1bI7/yBAvReo2W2I6cHd8vfX/9mk9FQEebubxqB/4VAlIJTlnYUEEg==", | ||
1026 | - "requires": { | ||
1027 | - "@types/mysql": "^2.15.7", | ||
1028 | - "denque": "^1.4.1", | ||
1029 | - "generate-function": "^2.3.1", | ||
1030 | - "iconv-lite": "^0.6.2", | ||
1031 | - "long": "^4.0.0", | ||
1032 | - "lru-cache": "^6.0.0", | ||
1033 | - "named-placeholders": "^1.1.2", | ||
1034 | - "seq-queue": "^0.0.5", | ||
1035 | - "sqlstring": "^2.3.2" | ||
1036 | - }, | ||
1037 | - "dependencies": { | ||
1038 | - "iconv-lite": { | ||
1039 | - "version": "0.6.3", | ||
1040 | - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", | ||
1041 | - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", | ||
1042 | - "requires": { | ||
1043 | - "safer-buffer": ">= 2.1.2 < 3.0.0" | ||
1044 | - } | ||
1045 | - }, | ||
1046 | - "sqlstring": { | ||
1047 | - "version": "2.3.3", | ||
1048 | - "resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.3.tgz", | ||
1049 | - "integrity": "sha512-qC9iz2FlN7DQl3+wjwn3802RTyjCx7sDvfQEXchwa6CWOx07/WVfh91gBmQ9fahw8snwGEWU3xGzOt4tFyHLxg==" | ||
1050 | - } | ||
1051 | - } | ||
1052 | - }, | ||
1053 | - "named-placeholders": { | ||
1054 | - "version": "1.1.2", | ||
1055 | - "resolved": "https://registry.npmjs.org/named-placeholders/-/named-placeholders-1.1.2.tgz", | ||
1056 | - "integrity": "sha512-wiFWqxoLL3PGVReSZpjLVxyJ1bRqe+KKJVbr4hGs1KWfTZTQyezHFBbuKj9hsizHyGV2ne7EMjHdxEGAybD5SA==", | ||
1057 | - "requires": { | ||
1058 | - "lru-cache": "^4.1.3" | ||
1059 | - }, | ||
1060 | - "dependencies": { | ||
1061 | - "lru-cache": { | ||
1062 | - "version": "4.1.5", | ||
1063 | - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", | ||
1064 | - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", | ||
1065 | - "requires": { | ||
1066 | - "pseudomap": "^1.0.2", | ||
1067 | - "yallist": "^2.1.2" | ||
1068 | - } | ||
1069 | - }, | ||
1070 | - "yallist": { | ||
1071 | - "version": "2.1.2", | ||
1072 | - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", | ||
1073 | - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" | ||
1074 | - } | ||
1075 | - } | ||
1076 | - }, | ||
1077 | - "negotiator": { | ||
1078 | - "version": "0.6.3", | ||
1079 | - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", | ||
1080 | - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" | ||
1081 | - }, | ||
1082 | - "oauth-sign": { | ||
1083 | - "version": "0.9.0", | ||
1084 | - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", | ||
1085 | - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" | ||
1086 | - }, | ||
1087 | - "object-assign": { | ||
1088 | - "version": "4.1.1", | ||
1089 | - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", | ||
1090 | - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" | ||
1091 | - }, | ||
1092 | - "object-hash": { | ||
1093 | - "version": "2.2.0", | ||
1094 | - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", | ||
1095 | - "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==" | ||
1096 | - }, | ||
1097 | - "object-inspect": { | ||
1098 | - "version": "1.12.2", | ||
1099 | - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", | ||
1100 | - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==" | ||
1101 | - }, | ||
1102 | - "on-finished": { | ||
1103 | - "version": "2.4.1", | ||
1104 | - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", | ||
1105 | - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", | ||
1106 | - "requires": { | ||
1107 | - "ee-first": "1.1.1" | ||
1108 | - } | ||
1109 | - }, | ||
1110 | - "on-headers": { | ||
1111 | - "version": "1.0.2", | ||
1112 | - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", | ||
1113 | - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" | ||
1114 | - }, | ||
1115 | - "one-time": { | ||
1116 | - "version": "1.0.0", | ||
1117 | - "resolved": "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz", | ||
1118 | - "integrity": "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==", | ||
1119 | - "requires": { | ||
1120 | - "fn.name": "1.x.x" | ||
1121 | - } | ||
1122 | - }, | ||
1123 | - "parseurl": { | ||
1124 | - "version": "1.3.3", | ||
1125 | - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", | ||
1126 | - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" | ||
1127 | - }, | ||
1128 | - "path-to-regexp": { | ||
1129 | - "version": "0.1.7", | ||
1130 | - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", | ||
1131 | - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" | ||
1132 | - }, | ||
1133 | - "performance-now": { | ||
1134 | - "version": "2.1.0", | ||
1135 | - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", | ||
1136 | - "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" | ||
1137 | - }, | ||
1138 | - "process-nextick-args": { | ||
1139 | - "version": "2.0.1", | ||
1140 | - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", | ||
1141 | - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" | ||
1142 | - }, | ||
1143 | - "proxy-addr": { | ||
1144 | - "version": "2.0.7", | ||
1145 | - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", | ||
1146 | - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", | ||
1147 | - "requires": { | ||
1148 | - "forwarded": "0.2.0", | ||
1149 | - "ipaddr.js": "1.9.1" | ||
1150 | - } | ||
1151 | - }, | ||
1152 | - "pseudomap": { | ||
1153 | - "version": "1.0.2", | ||
1154 | - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", | ||
1155 | - "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==" | ||
1156 | - }, | ||
1157 | - "psl": { | ||
1158 | - "version": "1.8.0", | ||
1159 | - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", | ||
1160 | - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" | ||
1161 | - }, | ||
1162 | - "punycode": { | ||
1163 | - "version": "2.1.1", | ||
1164 | - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", | ||
1165 | - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" | ||
1166 | - }, | ||
1167 | - "qs": { | ||
1168 | - "version": "6.10.3", | ||
1169 | - "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", | ||
1170 | - "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", | ||
1171 | - "requires": { | ||
1172 | - "side-channel": "^1.0.4" | ||
1173 | - } | ||
1174 | - }, | ||
1175 | - "range-parser": { | ||
1176 | - "version": "1.2.1", | ||
1177 | - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", | ||
1178 | - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" | ||
1179 | - }, | ||
1180 | - "raw-body": { | ||
1181 | - "version": "2.5.1", | ||
1182 | - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", | ||
1183 | - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", | ||
1184 | - "requires": { | ||
1185 | - "bytes": "3.1.2", | ||
1186 | - "http-errors": "2.0.0", | ||
1187 | - "iconv-lite": "0.4.24", | ||
1188 | - "unpipe": "1.0.0" | ||
1189 | - } | ||
1190 | - }, | ||
1191 | - "readable-stream": { | ||
1192 | - "version": "2.3.7", | ||
1193 | - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", | ||
1194 | - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", | ||
1195 | - "requires": { | ||
1196 | - "core-util-is": "~1.0.0", | ||
1197 | - "inherits": "~2.0.3", | ||
1198 | - "isarray": "~1.0.0", | ||
1199 | - "process-nextick-args": "~2.0.0", | ||
1200 | - "safe-buffer": "~5.1.1", | ||
1201 | - "string_decoder": "~1.1.1", | ||
1202 | - "util-deprecate": "~1.0.1" | ||
1203 | - }, | ||
1204 | - "dependencies": { | ||
1205 | - "safe-buffer": { | ||
1206 | - "version": "5.1.2", | ||
1207 | - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", | ||
1208 | - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" | ||
1209 | - } | ||
1210 | - } | ||
1211 | - }, | ||
1212 | - "regex-email": { | ||
1213 | - "version": "1.0.2", | ||
1214 | - "resolved": "https://registry.npmjs.org/regex-email/-/regex-email-1.0.2.tgz", | ||
1215 | - "integrity": "sha1-1nKFy9FvML5e+vaEF1wVPwy8gSE=" | ||
1216 | - }, | ||
1217 | - "request": { | ||
1218 | - "version": "2.88.2", | ||
1219 | - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", | ||
1220 | - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", | ||
1221 | - "requires": { | ||
1222 | - "aws-sign2": "~0.7.0", | ||
1223 | - "aws4": "^1.8.0", | ||
1224 | - "caseless": "~0.12.0", | ||
1225 | - "combined-stream": "~1.0.6", | ||
1226 | - "extend": "~3.0.2", | ||
1227 | - "forever-agent": "~0.6.1", | ||
1228 | - "form-data": "~2.3.2", | ||
1229 | - "har-validator": "~5.1.3", | ||
1230 | - "http-signature": "~1.2.0", | ||
1231 | - "is-typedarray": "~1.0.0", | ||
1232 | - "isstream": "~0.1.2", | ||
1233 | - "json-stringify-safe": "~5.0.1", | ||
1234 | - "mime-types": "~2.1.19", | ||
1235 | - "oauth-sign": "~0.9.0", | ||
1236 | - "performance-now": "^2.1.0", | ||
1237 | - "qs": "~6.5.2", | ||
1238 | - "safe-buffer": "^5.1.2", | ||
1239 | - "tough-cookie": "~2.5.0", | ||
1240 | - "tunnel-agent": "^0.6.0", | ||
1241 | - "uuid": "^3.3.2" | ||
1242 | - }, | ||
1243 | - "dependencies": { | ||
1244 | - "qs": { | ||
1245 | - "version": "6.5.3", | ||
1246 | - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", | ||
1247 | - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==" | ||
1248 | - } | ||
1249 | - } | ||
1250 | - }, | ||
1251 | - "safe-buffer": { | ||
1252 | - "version": "5.2.1", | ||
1253 | - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", | ||
1254 | - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" | ||
1255 | - }, | ||
1256 | - "safe-stable-stringify": { | ||
1257 | - "version": "2.3.1", | ||
1258 | - "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.3.1.tgz", | ||
1259 | - "integrity": "sha512-kYBSfT+troD9cDA85VDnHZ1rpHC50O0g1e6WlGHVCz/g+JS+9WKLj+XwFYyR8UbrZN8ll9HUpDAAddY58MGisg==" | ||
1260 | - }, | ||
1261 | - "safer-buffer": { | ||
1262 | - "version": "2.1.2", | ||
1263 | - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", | ||
1264 | - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" | ||
1265 | - }, | ||
1266 | - "semver": { | ||
1267 | - "version": "5.7.1", | ||
1268 | - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", | ||
1269 | - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" | ||
1270 | - }, | ||
1271 | - "send": { | ||
1272 | - "version": "0.18.0", | ||
1273 | - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", | ||
1274 | - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", | ||
1275 | - "requires": { | ||
1276 | - "debug": "2.6.9", | ||
1277 | - "depd": "2.0.0", | ||
1278 | - "destroy": "1.2.0", | ||
1279 | - "encodeurl": "~1.0.2", | ||
1280 | - "escape-html": "~1.0.3", | ||
1281 | - "etag": "~1.8.1", | ||
1282 | - "fresh": "0.5.2", | ||
1283 | - "http-errors": "2.0.0", | ||
1284 | - "mime": "1.6.0", | ||
1285 | - "ms": "2.1.3", | ||
1286 | - "on-finished": "2.4.1", | ||
1287 | - "range-parser": "~1.2.1", | ||
1288 | - "statuses": "2.0.1" | ||
1289 | - }, | ||
1290 | - "dependencies": { | ||
1291 | - "ms": { | ||
1292 | - "version": "2.1.3", | ||
1293 | - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", | ||
1294 | - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" | ||
1295 | - } | ||
1296 | - } | ||
1297 | - }, | ||
1298 | - "seq-queue": { | ||
1299 | - "version": "0.0.5", | ||
1300 | - "resolved": "https://registry.npmjs.org/seq-queue/-/seq-queue-0.0.5.tgz", | ||
1301 | - "integrity": "sha1-1WgS4cAXpuTnw+Ojeh2m143TyT4=" | ||
1302 | - }, | ||
1303 | - "serve-static": { | ||
1304 | - "version": "1.15.0", | ||
1305 | - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", | ||
1306 | - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", | ||
1307 | - "requires": { | ||
1308 | - "encodeurl": "~1.0.2", | ||
1309 | - "escape-html": "~1.0.3", | ||
1310 | - "parseurl": "~1.3.3", | ||
1311 | - "send": "0.18.0" | ||
1312 | - } | ||
1313 | - }, | ||
1314 | - "setprototypeof": { | ||
1315 | - "version": "1.2.0", | ||
1316 | - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", | ||
1317 | - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" | ||
1318 | - }, | ||
1319 | - "side-channel": { | ||
1320 | - "version": "1.0.4", | ||
1321 | - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", | ||
1322 | - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", | ||
1323 | - "requires": { | ||
1324 | - "call-bind": "^1.0.0", | ||
1325 | - "get-intrinsic": "^1.0.2", | ||
1326 | - "object-inspect": "^1.9.0" | ||
1327 | - } | ||
1328 | - }, | ||
1329 | - "simple-swizzle": { | ||
1330 | - "version": "0.2.2", | ||
1331 | - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", | ||
1332 | - "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", | ||
1333 | - "requires": { | ||
1334 | - "is-arrayish": "^0.3.1" | ||
1335 | - } | ||
1336 | - }, | ||
1337 | -<<<<<<< HEAD | ||
1338 | -======= | ||
1339 | - "socket.io": { | ||
1340 | - "version": "4.5.1", | ||
1341 | - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.1.tgz", | ||
1342 | - "integrity": "sha512-0y9pnIso5a9i+lJmsCdtmTTgJFFSvNQKDnPQRz28mGNnxbmqYg2QPtJTLFxhymFZhAIn50eHAKzJeiNaKr+yUQ==", | ||
1343 | - "requires": { | ||
1344 | - "accepts": "~1.3.4", | ||
1345 | - "base64id": "~2.0.0", | ||
1346 | - "debug": "~4.3.2", | ||
1347 | - "engine.io": "~6.2.0", | ||
1348 | - "socket.io-adapter": "~2.4.0", | ||
1349 | - "socket.io-parser": "~4.0.4" | ||
1350 | - }, | ||
1351 | - "dependencies": { | ||
1352 | - "debug": { | ||
1353 | - "version": "4.3.4", | ||
1354 | - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", | ||
1355 | - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", | ||
1356 | - "requires": { | ||
1357 | - "ms": "2.1.2" | ||
1358 | - } | ||
1359 | - }, | ||
1360 | - "ms": { | ||
1361 | - "version": "2.1.2", | ||
1362 | - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", | ||
1363 | - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" | ||
1364 | - } | ||
1365 | - } | ||
1366 | - }, | ||
1367 | - "socket.io-adapter": { | ||
1368 | - "version": "2.4.0", | ||
1369 | - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz", | ||
1370 | - "integrity": "sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg==" | ||
1371 | - }, | ||
1372 | - "socket.io-parser": { | ||
1373 | - "version": "4.0.4", | ||
1374 | - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz", | ||
1375 | - "integrity": "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==", | ||
1376 | - "requires": { | ||
1377 | - "@types/component-emitter": "^1.2.10", | ||
1378 | - "component-emitter": "~1.3.0", | ||
1379 | - "debug": "~4.3.1" | ||
1380 | - }, | ||
1381 | - "dependencies": { | ||
1382 | - "debug": { | ||
1383 | - "version": "4.3.4", | ||
1384 | - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", | ||
1385 | - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", | ||
1386 | - "requires": { | ||
1387 | - "ms": "2.1.2" | ||
1388 | - } | ||
1389 | - }, | ||
1390 | - "ms": { | ||
1391 | - "version": "2.1.2", | ||
1392 | - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", | ||
1393 | - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" | ||
1394 | - } | ||
1395 | - } | ||
1396 | - }, | ||
1397 | ->>>>>>> release_v0.2.0 | ||
1398 | - "sqlstring": { | ||
1399 | - "version": "2.3.1", | ||
1400 | - "resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.1.tgz", | ||
1401 | - "integrity": "sha1-R1OT/56RR5rqYtyvDKPRSYOn+0A=" | ||
1402 | - }, | ||
1403 | - "sshpk": { | ||
1404 | - "version": "1.17.0", | ||
1405 | - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", | ||
1406 | - "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", | ||
1407 | - "requires": { | ||
1408 | - "asn1": "~0.2.3", | ||
1409 | - "assert-plus": "^1.0.0", | ||
1410 | - "bcrypt-pbkdf": "^1.0.0", | ||
1411 | - "dashdash": "^1.12.0", | ||
1412 | - "ecc-jsbn": "~0.1.1", | ||
1413 | - "getpass": "^0.1.1", | ||
1414 | - "jsbn": "~0.1.0", | ||
1415 | - "safer-buffer": "^2.0.2", | ||
1416 | - "tweetnacl": "~0.14.0" | ||
1417 | - } | ||
1418 | - }, | ||
1419 | - "stack-trace": { | ||
1420 | - "version": "0.0.10", | ||
1421 | - "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", | ||
1422 | - "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=" | ||
1423 | - }, | ||
1424 | - "statuses": { | ||
1425 | - "version": "2.0.1", | ||
1426 | - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", | ||
1427 | - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" | ||
1428 | - }, | ||
1429 | - "string_decoder": { | ||
1430 | - "version": "1.1.1", | ||
1431 | - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", | ||
1432 | - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", | ||
1433 | - "requires": { | ||
1434 | - "safe-buffer": "~5.1.0" | ||
1435 | - }, | ||
1436 | - "dependencies": { | ||
1437 | - "safe-buffer": { | ||
1438 | - "version": "5.1.2", | ||
1439 | - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", | ||
1440 | - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" | ||
1441 | - } | ||
1442 | - } | ||
1443 | - }, | ||
1444 | - "supports-color": { | ||
1445 | - "version": "7.2.0", | ||
1446 | - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", | ||
1447 | - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", | ||
1448 | - "requires": { | ||
1449 | - "has-flag": "^4.0.0" | ||
1450 | - } | ||
1451 | - }, | ||
1452 | - "text-hex": { | ||
1453 | - "version": "1.0.0", | ||
1454 | - "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", | ||
1455 | - "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==" | ||
1456 | - }, | ||
1457 | - "toidentifier": { | ||
1458 | - "version": "1.0.1", | ||
1459 | - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", | ||
1460 | - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" | ||
1461 | - }, | ||
1462 | - "tough-cookie": { | ||
1463 | - "version": "2.5.0", | ||
1464 | - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", | ||
1465 | - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", | ||
1466 | - "requires": { | ||
1467 | - "psl": "^1.1.28", | ||
1468 | - "punycode": "^2.1.1" | ||
1469 | - } | ||
1470 | - }, | ||
1471 | - "triple-beam": { | ||
1472 | - "version": "1.3.0", | ||
1473 | - "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz", | ||
1474 | - "integrity": "sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==" | ||
1475 | - }, | ||
1476 | - "tunnel-agent": { | ||
1477 | - "version": "0.6.0", | ||
1478 | - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", | ||
1479 | - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", | ||
1480 | - "requires": { | ||
1481 | - "safe-buffer": "^5.0.1" | ||
1482 | - } | ||
1483 | - }, | ||
1484 | - "tweetnacl": { | ||
1485 | - "version": "0.14.5", | ||
1486 | - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", | ||
1487 | - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" | ||
1488 | - }, | ||
1489 | - "type-is": { | ||
1490 | - "version": "1.6.18", | ||
1491 | - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", | ||
1492 | - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", | ||
1493 | - "requires": { | ||
1494 | - "media-typer": "0.3.0", | ||
1495 | - "mime-types": "~2.1.24" | ||
1496 | - } | ||
1497 | - }, | ||
1498 | - "unpipe": { | ||
1499 | - "version": "1.0.0", | ||
1500 | - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", | ||
1501 | - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" | ||
1502 | - }, | ||
1503 | - "uri-js": { | ||
1504 | - "version": "4.4.1", | ||
1505 | - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", | ||
1506 | - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", | ||
1507 | - "requires": { | ||
1508 | - "punycode": "^2.1.0" | ||
1509 | - } | ||
1510 | - }, | ||
1511 | - "util-deprecate": { | ||
1512 | - "version": "1.0.2", | ||
1513 | - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", | ||
1514 | - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" | ||
1515 | - }, | ||
1516 | - "utils-merge": { | ||
1517 | - "version": "1.0.1", | ||
1518 | - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", | ||
1519 | - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" | ||
1520 | - }, | ||
1521 | - "uuid": { | ||
1522 | - "version": "3.4.0", | ||
1523 | - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", | ||
1524 | - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" | ||
1525 | - }, | ||
1526 | - "vary": { | ||
1527 | - "version": "1.1.2", | ||
1528 | - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", | ||
1529 | - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" | ||
1530 | - }, | ||
1531 | - "verror": { | ||
1532 | - "version": "1.10.0", | ||
1533 | - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", | ||
1534 | - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", | ||
1535 | - "requires": { | ||
1536 | - "assert-plus": "^1.0.0", | ||
1537 | - "core-util-is": "1.0.2", | ||
1538 | - "extsprintf": "^1.2.0" | ||
1539 | - }, | ||
1540 | - "dependencies": { | ||
1541 | - "core-util-is": { | ||
1542 | - "version": "1.0.2", | ||
1543 | - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", | ||
1544 | - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" | ||
1545 | - } | ||
1546 | - } | ||
1547 | - }, | ||
1548 | - "winston": { | ||
1549 | - "version": "3.7.2", | ||
1550 | - "resolved": "https://registry.npmjs.org/winston/-/winston-3.7.2.tgz", | ||
1551 | - "integrity": "sha512-QziIqtojHBoyzUOdQvQiar1DH0Xp9nF1A1y7NVy2DGEsz82SBDtOalS0ulTRGVT14xPX3WRWkCsdcJKqNflKng==", | ||
1552 | - "requires": { | ||
1553 | - "@dabh/diagnostics": "^2.0.2", | ||
1554 | - "async": "^3.2.3", | ||
1555 | - "is-stream": "^2.0.0", | ||
1556 | - "logform": "^2.4.0", | ||
1557 | - "one-time": "^1.0.0", | ||
1558 | - "readable-stream": "^3.4.0", | ||
1559 | - "safe-stable-stringify": "^2.3.1", | ||
1560 | - "stack-trace": "0.0.x", | ||
1561 | - "triple-beam": "^1.3.0", | ||
1562 | - "winston-transport": "^4.5.0" | ||
1563 | - }, | ||
1564 | - "dependencies": { | ||
1565 | - "readable-stream": { | ||
1566 | - "version": "3.6.0", | ||
1567 | - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", | ||
1568 | - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", | ||
1569 | - "requires": { | ||
1570 | - "inherits": "^2.0.3", | ||
1571 | - "string_decoder": "^1.1.1", | ||
1572 | - "util-deprecate": "^1.0.1" | ||
1573 | - } | ||
1574 | - } | ||
1575 | - } | ||
1576 | - }, | ||
1577 | - "winston-daily-rotate-file": { | ||
1578 | - "version": "4.7.1", | ||
1579 | - "resolved": "https://registry.npmjs.org/winston-daily-rotate-file/-/winston-daily-rotate-file-4.7.1.tgz", | ||
1580 | - "integrity": "sha512-7LGPiYGBPNyGHLn9z33i96zx/bd71pjBn9tqQzO3I4Tayv94WPmBNwKC7CO1wPHdP9uvu+Md/1nr6VSH9h0iaA==", | ||
1581 | - "requires": { | ||
1582 | - "file-stream-rotator": "^0.6.1", | ||
1583 | - "object-hash": "^2.0.1", | ||
1584 | - "triple-beam": "^1.3.0", | ||
1585 | - "winston-transport": "^4.4.0" | ||
1586 | - } | ||
1587 | - }, | ||
1588 | - "winston-transport": { | ||
1589 | - "version": "4.5.0", | ||
1590 | - "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.5.0.tgz", | ||
1591 | - "integrity": "sha512-YpZzcUzBedhlTAfJg6vJDlyEai/IFMIVcaEZZyl3UXIl4gmqRpU7AE89AHLkbzLUsv0NVmw7ts+iztqKxxPW1Q==", | ||
1592 | - "requires": { | ||
1593 | - "logform": "^2.3.2", | ||
1594 | - "readable-stream": "^3.6.0", | ||
1595 | - "triple-beam": "^1.3.0" | ||
1596 | - }, | ||
1597 | - "dependencies": { | ||
1598 | - "readable-stream": { | ||
1599 | - "version": "3.6.0", | ||
1600 | - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", | ||
1601 | - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", | ||
1602 | - "requires": { | ||
1603 | - "inherits": "^2.0.3", | ||
1604 | - "string_decoder": "^1.1.1", | ||
1605 | - "util-deprecate": "^1.0.1" | ||
1606 | - } | ||
1607 | - } | ||
1608 | - } | ||
1609 | - }, | ||
1610 | -<<<<<<< HEAD | ||
1611 | -======= | ||
1612 | - "ws": { | ||
1613 | - "version": "8.2.3", | ||
1614 | - "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz", | ||
1615 | - "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==" | ||
1616 | - }, | ||
1617 | ->>>>>>> release_v0.2.0 | ||
1618 | - "yallist": { | ||
1619 | - "version": "4.0.0", | ||
1620 | - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", | ||
1621 | - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" | ||
1622 | - } | ||
1623 | - } | ||
1624 | -} |
login_main/app/package.json
deleted
100644 → 0
1 | -{ | ||
2 | - "name": "login", | ||
3 | - "version": "1.0.0", | ||
4 | - "main": "app.js", | ||
5 | - "bin": { | ||
6 | - "login": "www.js" | ||
7 | - }, | ||
8 | - "dependencies": { | ||
9 | - "body-parser": "^1.20.0", | ||
10 | - "compression": "^1.7.4", | ||
11 | - "cors": "^2.8.5", | ||
12 | - "crypto": "^1.0.1", | ||
13 | - "dateformat": "^4.3.1", | ||
14 | - "dotenv": "^16.0.1", | ||
15 | - "ejs": "^3.1.8", | ||
16 | - "express": "^4.18.1", | ||
17 | - "jsonwebtoken": "^8.5.1", | ||
18 | - "method-override": "^3.0.0", | ||
19 | -<<<<<<< HEAD | ||
20 | -======= | ||
21 | - "moment": "^2.29.3", | ||
22 | ->>>>>>> release_v0.2.0 | ||
23 | - "mysql": "^2.18.1", | ||
24 | - "mysql2": "^2.2.0", | ||
25 | - "regex-email": "^1.0.2", | ||
26 | - "request": "^2.88.2", | ||
27 | -<<<<<<< HEAD | ||
28 | -======= | ||
29 | - "socket.io": "^4.5.1", | ||
30 | ->>>>>>> release_v0.2.0 | ||
31 | - "winston": "^3.2.1", | ||
32 | - "winston-daily-rotate-file": "^4.2.1" | ||
33 | - }, | ||
34 | - "devDependencies": {}, | ||
35 | - "scripts": { | ||
36 | - "start": "nodemon ./bin/www.js", | ||
37 | - "test": "echo \"Error: no test specified\" && exit 1", | ||
38 | - "dev": "NODE_ENV=development node index.js", | ||
39 | - "prod": "NODE_ENV=production node index.js" | ||
40 | - }, | ||
41 | - "author": "Jeongmin Seo, Jumi Yang", | ||
42 | -<<<<<<< HEAD | ||
43 | - "license": "ISC", | ||
44 | -======= | ||
45 | - "license": "MIT", | ||
46 | ->>>>>>> release_v0.2.0 | ||
47 | - "keywords": [], | ||
48 | - "description": "Node.js API Server" | ||
49 | -} |
login_main/app/src/config/db.js
deleted
100644 → 0
1 | -// const mysql = require("mysql"); | ||
2 | -const { logger } = require("./winston"); | ||
3 | -const mysql2 = require("mysql2/promise"); | ||
4 | - | ||
5 | -// const db = mysql.createConnection({ | ||
6 | -// host: process.env.DB_HOST, | ||
7 | -// user: process.env.DB_USER, | ||
8 | -// password: process.env.DB_PASSWORD, | ||
9 | -// database: process.env.DB_DATABASE, //schema | ||
10 | -// }); | ||
11 | - | ||
12 | -const pool = mysql2.createPool({ | ||
13 | - host: process.env.DB_HOST, | ||
14 | - user: process.env.DB_USER, | ||
15 | - password: process.env.DB_PASSWORD, | ||
16 | - database: process.env.DB_DATABASE, //schema | ||
17 | - connectionLimit: 10000, | ||
18 | - multipleStatements: true, | ||
19 | -}); | ||
20 | - | ||
21 | -// db.connect(); | ||
22 | - | ||
23 | -module.exports = { | ||
24 | - pool: pool, | ||
25 | -}; | ||
26 | - | ||
27 | - | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | -const jwt = require("jsonwebtoken"); | ||
2 | -const secret_config = require("./db"); | ||
3 | -const jwtMiddleware = function (req, res, next) { | ||
4 | - // read the token from header or url | ||
5 | - const token = req.headers["x-access-token"] || req.query.token; | ||
6 | - // token does not exist | ||
7 | - if (!token) { | ||
8 | - return res.status(403).json({ | ||
9 | - isSuccess: false, | ||
10 | - code: 403, | ||
11 | - message: "로그인이 되어 있지 않습니다.", | ||
12 | - }); | ||
13 | - } | ||
14 | - | ||
15 | - try { | ||
16 | - const verifiedToken = jwt.verify(token, secret_config.jwtsecret); | ||
17 | - req.verifiedToken = verifiedToken; | ||
18 | - next(); | ||
19 | - } catch { | ||
20 | - res.status(403).json({ | ||
21 | - isSuccess: false, | ||
22 | - code: 403, | ||
23 | - message: "검증 실패", | ||
24 | - }); | ||
25 | - } | ||
26 | -}; | ||
27 | - | ||
28 | -module.exports = jwtMiddleware; |
login_main/app/src/config/winston.js
deleted
100644 → 0
1 | -const { createLogger, format, transports } = require('winston'); | ||
2 | -require('winston-daily-rotate-file'); | ||
3 | -const fs = require('fs'); | ||
4 | - | ||
5 | -const env = process.env.NODE_ENV || 'development'; | ||
6 | -const logDir = 'log'; | ||
7 | - | ||
8 | -// https://lovemewithoutall.github.io/it/winston-example/ | ||
9 | -// Create the log directory if it does not exist | ||
10 | -if (!fs.existsSync(logDir)) { | ||
11 | - fs.mkdirSync(logDir) | ||
12 | -} | ||
13 | - | ||
14 | -const dailyRotateFileTransport = new transports.DailyRotateFile({ | ||
15 | - level: 'debug', | ||
16 | - filename: `${logDir}/%DATE%-smart-push.log`, | ||
17 | - datePattern: 'YYYY-MM-DD', | ||
18 | - zippedArchive: true, | ||
19 | - maxSize: '20m', | ||
20 | - maxFiles: '14d' | ||
21 | -}); | ||
22 | - | ||
23 | -const logger = createLogger({ | ||
24 | - level: env === 'development' ? 'debug' : 'info', | ||
25 | - format: format.combine( | ||
26 | - format.timestamp({ | ||
27 | - format: 'YYYY-MM-DD HH:mm:ss' | ||
28 | - }), | ||
29 | - format.json() | ||
30 | - ), | ||
31 | - transports: [ | ||
32 | - new transports.Console({ | ||
33 | - level: 'info', | ||
34 | - format: format.combine( | ||
35 | - format.colorize(), | ||
36 | - format.printf( | ||
37 | - info => `${info.timestamp} ${info.level}: ${info.message}` | ||
38 | - ) | ||
39 | - ) | ||
40 | - }), | ||
41 | - dailyRotateFileTransport | ||
42 | - ] | ||
43 | -}); | ||
44 | - | ||
45 | -module.exports = { | ||
46 | - logger: logger | ||
47 | -}; | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | -'use strict'; | ||
2 | -//for DB manipulate | ||
3 | -const RestaurantStorage = require("./RestaurantStorage"); | ||
4 | - | ||
5 | -const {pool} = require("../config/db"); | ||
6 | -const { logger } = require("../config/winston"); | ||
7 | -const jwt = require("jsonwebtoken"); | ||
8 | - | ||
9 | -exports.readRestaurants = async function (req,res) { | ||
10 | - const {category} = req.query; | ||
11 | - | ||
12 | - if (category) { | ||
13 | - const validCategory = ["한식", "중식", "일식", "양식", "분식", "구이", "회/초밥", "기타",]; | ||
14 | - | ||
15 | - if (!validCategory.includes(category)) { | ||
16 | - return res.send({ | ||
17 | - isSuccess: false, | ||
18 | - code: 400, | ||
19 | - message: "유효한 카테고리가 아닙니다.", | ||
20 | - }); | ||
21 | - } | ||
22 | - } | ||
23 | - | ||
24 | - try { | ||
25 | - const connection = await pool.getConnection(async (conn) => conn); | ||
26 | - try { | ||
27 | - //mysql접속 관련 부분 정의하는 함수 | ||
28 | - //es6 비구조할당 | ||
29 | - const [rows] = await RestaurantStorage.selectRestaurants(connection, category); | ||
30 | - | ||
31 | - return res.send({ | ||
32 | - result: rows, | ||
33 | - isSuccess: true, | ||
34 | - code: 200, // 요청 성공시 200번대 코드를 뿌려주고, 실패시 400번대 코드 | ||
35 | - message: "식당 목록 요청 성공", | ||
36 | - }); | ||
37 | - } catch (err) { | ||
38 | - logger.error(`readRestaurants Query error\n: ${JSON.stringify(err)}`); | ||
39 | - return false; | ||
40 | - } finally { | ||
41 | - connection.release(); | ||
42 | - } | ||
43 | - } catch (err) { | ||
44 | - logger.error(`readRestaurants DB Connection error\n: ${JSON.stringify(err)}`); | ||
45 | - return false; | ||
46 | - } | ||
47 | -} | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | -'use strict'; | ||
2 | -//for DB CRUD | ||
3 | -// const db = require("../config/db"); | ||
4 | -const { pool } = require("../config/db"); | ||
5 | - | ||
6 | -exports.selectRestaurants = async function (connection, category) { | ||
7 | - | ||
8 | - const selectAllRestaurantsQuery = `select title, address, category from restaurants where status='A';`; | ||
9 | - const selectCategorizedRestaurantsQuery = `select title, address, category from restaurants where status='A' and category=?;`; | ||
10 | - | ||
11 | - const Params = [category]; | ||
12 | - | ||
13 | - const Query = category ? selectCategorizedRestaurantsQuery : selectAllRestaurantsQuery; | ||
14 | - | ||
15 | - const rows = await connection.query(Query, Params); | ||
16 | - | ||
17 | - return rows; | ||
18 | - | ||
19 | -} | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
login_main/app/src/models/User.js
deleted
100644 → 0
1 | -'use strict'; | ||
2 | -//for DB manipulate | ||
3 | -const UserStorage = require("./UserStorage"); | ||
4 | -const {pool} = require("../config/db"); | ||
5 | -const { logger } = require("../config/winston"); | ||
6 | -const jwt = require("jsonwebtoken"); | ||
7 | - | ||
8 | -class User { | ||
9 | - constructor(body) { | ||
10 | - this.body = body; | ||
11 | - } | ||
12 | - | ||
13 | - async login() { | ||
14 | - const client = this.body; | ||
15 | -<<<<<<< HEAD | ||
16 | - | ||
17 | - try { | ||
18 | - try { | ||
19 | - const {id, password} = await UserStorage.getUserInfo(connection, client.id); | ||
20 | - // console.log(id, password); | ||
21 | - | ||
22 | - if (id) { | ||
23 | - if (id === client.id && password === client.password) { | ||
24 | - return { success: true}; | ||
25 | - } | ||
26 | - return { success : false, msg: "비밀번호가 틀렸습니다."}; | ||
27 | - } | ||
28 | - return {success: false, msg: "존재하지 않는 아이디입니다."}; | ||
29 | - } catch (err) { | ||
30 | - return {success: false, msg: err}; | ||
31 | - } finally { | ||
32 | - connection.release(); | ||
33 | - } | ||
34 | - } catch (err) { | ||
35 | - logger.error(`login DB Connection error\n: ${JSON.stringify(err)}`); | ||
36 | - return false; | ||
37 | - } | ||
38 | - } | ||
39 | - | ||
40 | -======= | ||
41 | - | ||
42 | - try { | ||
43 | - const connection = await pool.getConnection(async (conn) => conn); | ||
44 | - try { | ||
45 | - const { id, password } = await UserStorage.getUserInfo( | ||
46 | - connection, | ||
47 | - client.id | ||
48 | - ); | ||
49 | - if (id) { | ||
50 | - if (id === client.id && password === client.password) { | ||
51 | - return { success: true }; | ||
52 | - } | ||
53 | - return { success: false, msg: "비밀번호가 틀렸습니다." }; | ||
54 | - } | ||
55 | - return { success: false, msg: "존재하지 않는 아이디입니다." }; | ||
56 | - } catch (err) { | ||
57 | - return { success: false, msg: err }; | ||
58 | - } finally { | ||
59 | - connection.release(); | ||
60 | - } | ||
61 | - } catch (err) { | ||
62 | - logger.error(`login DB Connection error\n: ${JSON.stringify(err)}`); | ||
63 | - return false; | ||
64 | - } | ||
65 | - } | ||
66 | - | ||
67 | ->>>>>>> release_v0.2.0 | ||
68 | - async register() { | ||
69 | - const client = this.body; | ||
70 | - try { | ||
71 | - const connection = await pool.getConnection(async (conn) => conn); | ||
72 | - // console.log(client); | ||
73 | - try { | ||
74 | - const response = await UserStorage.save(connection, client); | ||
75 | - // console.log("테스트2 : ", response); | ||
76 | - return response; | ||
77 | - } catch (err) { | ||
78 | - console.log(err); | ||
79 | - return {success: false, msg : err}; | ||
80 | - } finally { | ||
81 | - connection.release(); | ||
82 | - } | ||
83 | - } catch (err) { | ||
84 | - logger.error(`usersaving DB Connection error\n: ${JSON.stringify(err)}`); | ||
85 | - return false; | ||
86 | - } | ||
87 | - } | ||
88 | -} | ||
89 | -module.exports = User; |
1 | -'use strict'; | ||
2 | - | ||
3 | -const { pool } = require("../config/db"); | ||
4 | - | ||
5 | - //for DB CRUD | ||
6 | - | ||
7 | - | ||
8 | -class UserStorage { | ||
9 | - constructor(body) { | ||
10 | - this.body = body; | ||
11 | - // this.connection = await pool.getConnection(async (conn) => conn); | ||
12 | - } | ||
13 | - | ||
14 | - // static getUsers(isAll, ...fields) {} | ||
15 | - static async getUserInfo(connection, id) { | ||
16 | -<<<<<<< HEAD | ||
17 | - return new Promise((resolve, reject) => { | ||
18 | - const query = "SELECT * FROM users WHERE id = ?;"; | ||
19 | - connection.query(query, [id], (err, data) => { | ||
20 | - if (err) reject(`${err}`); | ||
21 | - // console.log(data[0]); | ||
22 | - resolve(data[0]); | ||
23 | - pool.releaseConnection(conn); | ||
24 | - }); | ||
25 | - }); | ||
26 | - } | ||
27 | -======= | ||
28 | - const query = `SELECT * FROM users WHERE id = '${id}';`; | ||
29 | - console.log(query); | ||
30 | - let [row] = await connection.query(query); | ||
31 | - console.log(row[0]); | ||
32 | - return row[0]; | ||
33 | - // , [id], (err, data) => { | ||
34 | - // console.log("44444444"); | ||
35 | - // if (err) reject(`${err}`); | ||
36 | - // resolve(data[0]); | ||
37 | - // pool.releaseConnection(conn); | ||
38 | - // }); | ||
39 | - } | ||
40 | ->>>>>>> release_v0.2.0 | ||
41 | - | ||
42 | - static async save (connection, userInfo) { | ||
43 | - const query = "INSERT INTO users(id, name, password) VALUES(?, ?, ?);"; | ||
44 | - try { | ||
45 | - const [rows] = await connection.query({ | ||
46 | - sql: query, | ||
47 | - timeout: 30000, | ||
48 | - values: [userInfo.id, userInfo.name, userInfo.password] | ||
49 | - }); | ||
50 | - // console.log(fields); | ||
51 | - if (rows.affectedRows) { | ||
52 | - return {success: true}; | ||
53 | - } else { | ||
54 | - return {success: false}; | ||
55 | - } | ||
56 | - } catch (error) { | ||
57 | - console.log(error); | ||
58 | - } | ||
59 | - } | ||
60 | - | ||
61 | -} | ||
62 | -// static getUserInfo(id) { | ||
63 | -// return new Promise((resolve, reject) => { | ||
64 | -// const query = "SELECT * FROM users WHERE id = ?;"; | ||
65 | -// pool.query(query, [id], (err, data) => { | ||
66 | -// if (err) reject(`${err}`); | ||
67 | -// // console.log(data[0]); | ||
68 | -// resolve(data[0]); | ||
69 | -// }); | ||
70 | -// }); | ||
71 | -// } | ||
72 | - | ||
73 | -module.exports = UserStorage; | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | -* { | ||
2 | - margin: 0; | ||
3 | - padding: 0; | ||
4 | -} | ||
5 | - | ||
6 | -html, body { | ||
7 | - height : 100%; | ||
8 | -} | ||
9 | - | ||
10 | -.wrapper { | ||
11 | - height : 100%; | ||
12 | - width: 100%; | ||
13 | - display: flex; | ||
14 | - flex-direction: column; | ||
15 | - overflow: hidden; | ||
16 | -} | ||
17 | - | ||
18 | -.user-container { | ||
19 | - background: rebeccapurple; | ||
20 | - flex: 1; | ||
21 | - display: flex; | ||
22 | - justify-content: flex-start; | ||
23 | - align-items: center; | ||
24 | - padding: 0.5rem; | ||
25 | -} | ||
26 | - | ||
27 | -.user-container .nickname { | ||
28 | - font-size : 14px; | ||
29 | - margin-right : 1.5rem; | ||
30 | - margin-left : 1rem; | ||
31 | - color:#fff; | ||
32 | -} | ||
33 | - | ||
34 | -.user-container input { | ||
35 | - border-radius: 3px; | ||
36 | - border: none; | ||
37 | - height: 80%; | ||
38 | -} | ||
39 | - | ||
40 | -.display-container { | ||
41 | - background: #D2D2FF; | ||
42 | - flex : 12; | ||
43 | - overflow-y:scroll; | ||
44 | -} | ||
45 | - | ||
46 | -.input-container { | ||
47 | - flex:1; | ||
48 | - display:flex; | ||
49 | - justify-content: stretch; | ||
50 | - align-items: stretch; | ||
51 | -} | ||
52 | - | ||
53 | -.input-container span { | ||
54 | - display: flex; | ||
55 | - justify-content: flex-start; | ||
56 | - align-items:center; | ||
57 | - padding: 0.3rem; | ||
58 | - width: 100%; | ||
59 | -} | ||
60 | - | ||
61 | -.chatting-input { | ||
62 | - font-size:12px; | ||
63 | - height:100%; | ||
64 | - flex:8; | ||
65 | - border:none; | ||
66 | -} | ||
67 | - | ||
68 | -.send-button { | ||
69 | - flex:1; | ||
70 | - background: rebeccapurple; | ||
71 | - color:#fff; | ||
72 | - border:none; | ||
73 | - height:100%; | ||
74 | - border-radius:3px; | ||
75 | -} | ||
76 | - | ||
77 | -.chatting-list li { | ||
78 | - width:50%; | ||
79 | - padding:0.3rem; | ||
80 | - display:flex; | ||
81 | - justify-content: flex-start; | ||
82 | - align-items:flex-end; | ||
83 | - margin-top:0.5rem; | ||
84 | -} | ||
85 | - | ||
86 | -.profile { | ||
87 | - display: flex; | ||
88 | - flex-direction: column; | ||
89 | - align-items: center; | ||
90 | - justify-content: center; | ||
91 | - flex: 1; | ||
92 | -} | ||
93 | - | ||
94 | -.profile .user { | ||
95 | - font-size: 10px; | ||
96 | - margin-bottom: 0.3rem; | ||
97 | -} | ||
98 | - | ||
99 | -.profile .image { | ||
100 | - border-radius: 50%; | ||
101 | - object-fit: cover; | ||
102 | - width: 50px; | ||
103 | - height: 50px; | ||
104 | -} | ||
105 | - | ||
106 | -.message { | ||
107 | - border-radius: 5px; | ||
108 | - padding: 0.5rem; | ||
109 | - font-size: 12px; | ||
110 | - margin: 0 5px; | ||
111 | - flex: 10; | ||
112 | -} | ||
113 | - | ||
114 | -.time { | ||
115 | - font-size: 10px; | ||
116 | - margin: 0 5px; | ||
117 | -} | ||
118 | - | ||
119 | -.sent { | ||
120 | - flex-direction: row-reverse; | ||
121 | - float: right; | ||
122 | -} | ||
123 | - | ||
124 | -.sent .message { | ||
125 | - background: #9986EE; | ||
126 | - color: #fff; | ||
127 | -} | ||
128 | - | ||
129 | -.received .message { | ||
130 | - background: #fff; | ||
131 | -} | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | -@font-face { | ||
2 | - font-family: 'Noto Sans KR', sans-serif; | ||
3 | - src: url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@700&display=swap'); | ||
4 | - font-weight: normal; | ||
5 | - font-style: normal; | ||
6 | - } | ||
7 | - | ||
8 | - * { | ||
9 | - padding: 0; | ||
10 | - margin: 0; | ||
11 | - box-sizing: border-box; | ||
12 | - } | ||
13 | - | ||
14 | - html { | ||
15 | - font-size: 10px; | ||
16 | - font-family: 'Noto Sans KR', sans-serif; | ||
17 | - } | ||
18 | - | ||
19 | - nav { | ||
20 | - /* background-color: #e69a06; */ | ||
21 | - } | ||
22 | - | ||
23 | - .nav-container { | ||
24 | - padding: 1rem 0; | ||
25 | - display: flex; | ||
26 | - flex-direction: row; | ||
27 | - justify-content: space-between; | ||
28 | - align-items: center; | ||
29 | - } | ||
30 | - | ||
31 | - .nav-title { | ||
32 | - font-size: 2.5rem; | ||
33 | - color :rebeccapurple; | ||
34 | - } | ||
35 | - | ||
36 | - .nav-contact { | ||
37 | - font-size: 1.5rem; | ||
38 | - border: 0; | ||
39 | - background: none; | ||
40 | - cursor: pointer; | ||
41 | - font-family: inherit; | ||
42 | - color :lightslategray; | ||
43 | -<<<<<<< HEAD | ||
44 | - margin-right: 30px; | ||
45 | -======= | ||
46 | - margin-right: 0px; | ||
47 | ->>>>>>> release_v0.2.0 | ||
48 | - } | ||
49 | - | ||
50 | - .category-title { | ||
51 | - font-size: 2rem; | ||
52 | - padding : 0 30%; | ||
53 | - } | ||
54 | - | ||
55 | - .category-list { | ||
56 | - padding: 15px 1rem; | ||
57 | - } | ||
58 | - | ||
59 | - .category-item { | ||
60 | - width: 24%; | ||
61 | - height: 5rem; | ||
62 | - background: none; | ||
63 | - border: none; | ||
64 | - font-family: inherit; | ||
65 | - font-size: 1.6rem; | ||
66 | - } | ||
67 | - | ||
68 | - .category-item:hover { | ||
69 | - color: #e69a06; | ||
70 | - cursor: pointer; | ||
71 | - } | ||
72 | - | ||
73 | - .inner { | ||
74 | - padding: 0 1.5rem; | ||
75 | - } | ||
76 | - | ||
77 | - @media all and (min-width: 1024px) { | ||
78 | - .inner { | ||
79 | - max-width: 1024px; | ||
80 | - margin: 0 auto; | ||
81 | - } | ||
82 | - } | ||
83 | - | ||
84 | - /* 카카오맵 CSS */ | ||
85 | - | ||
86 | - body { | ||
87 | - height: 100vh; | ||
88 | - } | ||
89 | - | ||
90 | - nav { | ||
91 | - height: 59px; | ||
92 | - } | ||
93 | - | ||
94 | - main { | ||
95 | - padding-top: 1.5rem; | ||
96 | - height: calc(100% - 59px); | ||
97 | - display: flex; | ||
98 | - flex-direction: column; | ||
99 | - } | ||
100 | - | ||
101 | - #map { | ||
102 | - flex-grow: 1; | ||
103 | - width: 100%; | ||
104 | - height: 100%; | ||
105 | - } | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | -@import url(https://fonts.googleapis.com/css?family=Roboto:300); | ||
2 | - | ||
3 | -.login-page { | ||
4 | - width: 360px; | ||
5 | - padding: 12% 0 0; | ||
6 | - margin: auto; | ||
7 | -} | ||
8 | -.form { | ||
9 | - position: relative; | ||
10 | - z-index: 1; | ||
11 | - background: #FFFFFF; | ||
12 | - max-width: 360px; | ||
13 | - margin: 0 auto 100px; | ||
14 | - padding: 45px; | ||
15 | - text-align: center; | ||
16 | - box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2), 0 5px 5px 0 rgba(0, 0, 0, 0.24); | ||
17 | -} | ||
18 | -.form input { | ||
19 | - font-family: "Roboto", sans-serif; | ||
20 | - outline: 0; | ||
21 | - background: #f2f2f2; | ||
22 | - width: 100%; | ||
23 | - border: 0; | ||
24 | - margin: 0 0 15px; | ||
25 | - padding: 15px; | ||
26 | - box-sizing: border-box; | ||
27 | - font-size: 14px; | ||
28 | -} | ||
29 | -.form #button { | ||
30 | - font-family: "Roboto", sans-serif; | ||
31 | - text-transform: uppercase; | ||
32 | - outline: 0; | ||
33 | - background: rebeccapurple; | ||
34 | - width: 89%; | ||
35 | - border: 0; | ||
36 | - margin: 0 auto; | ||
37 | - padding: 15px; | ||
38 | - color: #FFFFFF; | ||
39 | - font-size: 14px; | ||
40 | - -webkit-transition: all 0.3 ease; | ||
41 | - transition: all 0.3 ease; | ||
42 | - cursor: pointer; | ||
43 | -} | ||
44 | -.form #button:hover,.form #button:active,.form #button:focus { | ||
45 | - background: rebeccapurple; | ||
46 | -} | ||
47 | -.form .message { | ||
48 | - margin: 15px 0 0; | ||
49 | - color: #b3b3b3; | ||
50 | - font-size: 12px; | ||
51 | -} | ||
52 | -.form .message a { | ||
53 | - color: rebeccapurple; | ||
54 | - text-decoration: none; | ||
55 | -} | ||
56 | -.form .register-form { | ||
57 | - display: none; | ||
58 | -} | ||
59 | -.container { | ||
60 | - position: relative; | ||
61 | - z-index: 1; | ||
62 | - max-width: 300px; | ||
63 | - margin: 0 auto; | ||
64 | -} | ||
65 | -.container:before, .container:after { | ||
66 | - content: ""; | ||
67 | - display: block; | ||
68 | - clear: both; | ||
69 | -} | ||
70 | -.container .info { | ||
71 | - margin: 50px auto; | ||
72 | - text-align: center; | ||
73 | -} | ||
74 | -.container .info h1 { | ||
75 | - margin: 0 0 15px; | ||
76 | - padding: 0; | ||
77 | - font-size: 36px; | ||
78 | - font-weight: 300; | ||
79 | - color: #1a1a1a; | ||
80 | -} | ||
81 | -.container .info span { | ||
82 | - color: #4d4d4d; | ||
83 | - font-size: 12px; | ||
84 | -} | ||
85 | -.container .info span a { | ||
86 | - color: #000000; | ||
87 | - text-decoration: none; | ||
88 | -} | ||
89 | -.container .info span .fa { | ||
90 | - color: #EF3B3A; | ||
91 | -} | ||
92 | - | ||
93 | -/* #id::placeholder #password::placeholder { | ||
94 | - color: black; | ||
95 | - font-style: italic; | ||
96 | - font-weight: bold; | ||
97 | -} */ | ||
98 | - | ||
99 | -body { | ||
100 | - background: rebeccapurple; /* fallback for old browsers */ | ||
101 | - /* background: rebeccapurple; */ | ||
102 | - background: linear-gradient(90deg, rebeccapurple 0%, rebeccapurple 0%); | ||
103 | - font-family: "Roboto", sans-serif; | ||
104 | - -webkit-font-smoothing: antialiased; | ||
105 | - -moz-osx-font-smoothing: grayscale; | ||
106 | -} | ||
107 | - | ||
108 | -/* Copyright (c) 2022 by Aigars Silkalns (https://codepen.io/colorlib/pen/rxddKy) */ | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | -/*인포윈도우 설정*/ | ||
2 | -.infowindow { | ||
3 | - width : 25rem; | ||
4 | - border : 1px solid black; | ||
5 | - border-radius: 5px; | ||
6 | - background-color : white; | ||
7 | -} | ||
8 | - | ||
9 | -.infowindow-title { | ||
10 | -<<<<<<< HEAD | ||
11 | - font-size: 3rem; | ||
12 | -} | ||
13 | - | ||
14 | -.infowindow-address { | ||
15 | - font-size: 1.6rem; | ||
16 | -} | ||
17 | - | ||
18 | -.infowindow-btn { | ||
19 | - font-size: 1.6rem; | ||
20 | -======= | ||
21 | - font-size: 15px; | ||
22 | - color: rebeccapurple; | ||
23 | - font-weight: 600; | ||
24 | -} | ||
25 | - | ||
26 | -.infowindow-address { | ||
27 | - font-size: 8px; | ||
28 | -} | ||
29 | - | ||
30 | -.infowindow-btn { | ||
31 | - font-size: 8px; | ||
32 | ->>>>>>> release_v0.2.0 | ||
33 | -} | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | -@import url(https://fonts.googleapis.com/css?family=Roboto:300); | ||
2 | - | ||
3 | -.login-page { | ||
4 | - width: 360px; | ||
5 | - padding: 8% 0 0; | ||
6 | - margin: auto; | ||
7 | -} | ||
8 | -.form { | ||
9 | - position: relative; | ||
10 | - z-index: 1; | ||
11 | - background: #FFFFFF; | ||
12 | - max-width: 360px; | ||
13 | - margin: 0 auto 100px; | ||
14 | - padding: 45px; | ||
15 | - text-align: center; | ||
16 | - box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2), 0 5px 5px 0 rgba(0, 0, 0, 0.24); | ||
17 | -} | ||
18 | -.form input { | ||
19 | - font-family: "Roboto", sans-serif; | ||
20 | - outline: 0; | ||
21 | - background: #f2f2f2; | ||
22 | - width: 100%; | ||
23 | - border: 0; | ||
24 | - margin: 0 0 15px; | ||
25 | - padding: 15px; | ||
26 | - box-sizing: border-box; | ||
27 | - font-size: 14px; | ||
28 | -} | ||
29 | -.form #button { | ||
30 | - font-family: "Roboto", sans-serif; | ||
31 | - text-transform: uppercase; | ||
32 | - outline: 0; | ||
33 | - background: rebeccapurple; | ||
34 | - width: 89%; | ||
35 | - border: 0; | ||
36 | - margin: 0 auto; | ||
37 | - padding: 15px; | ||
38 | - color: #FFFFFF; | ||
39 | - font-size: 14px; | ||
40 | - -webkit-transition: all 0.3 ease; | ||
41 | - transition: all 0.3 ease; | ||
42 | - cursor: pointer; | ||
43 | -} | ||
44 | -.form #button:hover,.form #button:active,.form #button:focus { | ||
45 | - background: rebeccapurple; | ||
46 | -} | ||
47 | -.form .message { | ||
48 | - margin: 15px 0 0; | ||
49 | - color: #b3b3b3; | ||
50 | - font-size: 12px; | ||
51 | -} | ||
52 | -.form .message a { | ||
53 | - color: rebeccapurple; | ||
54 | - text-decoration: none; | ||
55 | -} | ||
56 | -.form .register-form { | ||
57 | - display: none; | ||
58 | -} | ||
59 | -.container { | ||
60 | - position: relative; | ||
61 | - z-index: 1; | ||
62 | - max-width: 300px; | ||
63 | - margin: 0 auto; | ||
64 | -} | ||
65 | -.container:before, .container:after { | ||
66 | - content: ""; | ||
67 | - display: block; | ||
68 | - clear: both; | ||
69 | -} | ||
70 | -.container .info { | ||
71 | - margin: 50px auto; | ||
72 | - text-align: center; | ||
73 | -} | ||
74 | -.container .info h1 { | ||
75 | - margin: 0 0 15px; | ||
76 | - padding: 0; | ||
77 | - font-size: 36px; | ||
78 | - font-weight: 300; | ||
79 | - color: #1a1a1a; | ||
80 | -} | ||
81 | -.container .info span { | ||
82 | - color: #4d4d4d; | ||
83 | - font-size: 12px; | ||
84 | -} | ||
85 | -.container .info span a { | ||
86 | - color: #000000; | ||
87 | - text-decoration: none; | ||
88 | -} | ||
89 | -.container .info span .fa { | ||
90 | - color: #EF3B3A; | ||
91 | -} | ||
92 | - | ||
93 | -/* #id::placeholder #password::placeholder { | ||
94 | - color: black; | ||
95 | - font-style: italic; | ||
96 | - font-weight: bold; | ||
97 | -} */ | ||
98 | - | ||
99 | -body { | ||
100 | - background: rebeccapurple; /* fallback for old browsers */ | ||
101 | - /* background: rebeccapurple; */ | ||
102 | - background: linear-gradient(90deg, rebeccapurple 0%, rebeccapurple 0%); | ||
103 | - font-family: "Roboto", sans-serif; | ||
104 | - -webkit-font-smoothing: antialiased; | ||
105 | - -moz-osx-font-smoothing: grayscale; | ||
106 | -} | ||
107 | - | ||
108 | -/* Copyright (c) 2022 by Aigars Silkalns (https://codepen.io/colorlib/pen/rxddKy) */ | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | -/********************************************************************************* | ||
2 | - * 1. 지도 생성 및 확대 축소 컨트롤러 | ||
3 | - */ | ||
4 | - | ||
5 | - var container = document.getElementById('map'); //지도를 담을 영역의 DOM 레퍼런스 | ||
6 | - var options = { //지도를 생성할 때 필요한 기본 옵션 | ||
7 | -<<<<<<< HEAD | ||
8 | - center: new kakao.maps.LatLng(37.54, 126.96), //지도의 중심좌표. | ||
9 | - level: 7 //지도의 레벨(확대, 축소 정도) | ||
10 | -======= | ||
11 | - center: new kakao.maps.LatLng(37.248, 127.08), //지도의 중심좌표. | ||
12 | - level: 4 //지도의 레벨(확대, 축소 정도) | ||
13 | ->>>>>>> release_v0.2.0 | ||
14 | - }; | ||
15 | - | ||
16 | - var map = new kakao.maps.Map(container, options); //지도 생성 및 객체 리턴 | ||
17 | - | ||
18 | - // 확대 축소 컨트롤러 | ||
19 | - var zoomControl = new kakao.maps.ZoomControl(); | ||
20 | - map.addControl(zoomControl, kakao.maps.ControlPosition.RIGHT); | ||
21 | - | ||
22 | - /****************************************************************************** | ||
23 | - * 2. 데이터 준비하기(제목, 주소, 카테고리) | ||
24 | - */ | ||
25 | - | ||
26 | -<<<<<<< HEAD | ||
27 | -const dataSet = [ | ||
28 | - { | ||
29 | - title: "희락돈까스", | ||
30 | - address: "서울 영등포구 양산로 210", | ||
31 | - category: "양식", | ||
32 | - }, | ||
33 | - { | ||
34 | - title: "즉석우동짜장", | ||
35 | - address: "서울 영등포구 대방천로 260", | ||
36 | - category: "한식", | ||
37 | - }, | ||
38 | - { | ||
39 | - title: "아카사카", | ||
40 | - address: "서울 서초구 서초대로74길 23", | ||
41 | - category: "일식", | ||
42 | - } | ||
43 | -]; | ||
44 | - | ||
45 | -// async function getDataSet(category) { | ||
46 | -// let qs = category; | ||
47 | -// if(!qs) { | ||
48 | -// qs = ""; | ||
49 | -// } | ||
50 | - | ||
51 | -// const dataSet = await axios({ | ||
52 | -// method: "get", // http method | ||
53 | -// url: `http://localhost:3000/restaurants?category=${qs}`, | ||
54 | -// headers: {}, | ||
55 | -// data: {}, | ||
56 | -// }); | ||
57 | - | ||
58 | -// return dataSet.data.result; | ||
59 | -// } | ||
60 | - | ||
61 | -// getDataSet(); | ||
62 | -======= | ||
63 | -// const dataSet = [ | ||
64 | -// { | ||
65 | -// title: "희락돈까스", | ||
66 | -// address: "서울 영등포구 양산로 210", | ||
67 | -// category: "양식", | ||
68 | -// }, | ||
69 | -// { | ||
70 | -// title: "즉석우동짜장", | ||
71 | -// address: "서울 영등포구 대방천로 260", | ||
72 | -// category: "한식", | ||
73 | -// }, | ||
74 | -// { | ||
75 | -// title: "아카사카", | ||
76 | -// address: "서울 서초구 서초대로74길 23", | ||
77 | -// category: "일식", | ||
78 | -// } | ||
79 | -// ]; | ||
80 | - | ||
81 | - async function getDataSet(category) { | ||
82 | - let qs = category; | ||
83 | - if(!qs) { | ||
84 | - qs = ""; | ||
85 | - } | ||
86 | - | ||
87 | - const dataSet = await axios({ | ||
88 | - method: "get", // http method | ||
89 | - url: `http://localhost:3000/restaurants?category=${qs}`, | ||
90 | - headers: {}, | ||
91 | - data: {}, | ||
92 | - }); | ||
93 | - // console.log(dataSet); | ||
94 | - | ||
95 | - return dataSet.data.result; | ||
96 | -} | ||
97 | - | ||
98 | -// } | ||
99 | - | ||
100 | - getDataSet(); | ||
101 | ->>>>>>> release_v0.2.0 | ||
102 | - | ||
103 | - /****************************************************************************** | ||
104 | - * 3. 여러개 마커찍기 | ||
105 | - */ | ||
106 | - | ||
107 | - // 주소-좌표 변환 객체를 생성합니다 | ||
108 | - var geocoder = new kakao.maps.services.Geocoder(); | ||
109 | - | ||
110 | - function getCoordsByAddress(address) { | ||
111 | - return new Promise((resolve, reject) => { | ||
112 | - // 주소로 좌표를 검색합니다 | ||
113 | - geocoder.addressSearch(address, function (result, status) { | ||
114 | - // 정상적으로 검색이 완료됐으면 | ||
115 | - if (status === kakao.maps.services.Status.OK) { | ||
116 | - var coords = new kakao.maps.LatLng(result[0].y, result[0].x); | ||
117 | - return resolve(coords); | ||
118 | - } | ||
119 | - reject(new Error("getCoordsByAddress Error: not valid Address")); | ||
120 | - }); | ||
121 | - }); | ||
122 | - } | ||
123 | - | ||
124 | -<<<<<<< HEAD | ||
125 | - setMap(dataSet); | ||
126 | -======= | ||
127 | -// setMap(dataSet); | ||
128 | ->>>>>>> release_v0.2.0 | ||
129 | - | ||
130 | - /* | ||
131 | - ************************************************************* | ||
132 | - 4. 마커에 인포윈도우 붙이기 | ||
133 | - */ | ||
134 | - | ||
135 | - function getContent(data) { | ||
136 | - // 인포윈도우 가공하기 | ||
137 | - return ` | ||
138 | - <div class="infowindow"> | ||
139 | - <div class="infowindow-body"> | ||
140 | - <h5 class="infowindow-title">${data.title}</h5> | ||
141 | - <p class="infowindow-address">${data.address}</p> | ||
142 | - <a href='/chat' class="infowindow-btn" target="_blank">채팅방이동</a> | ||
143 | - </div> | ||
144 | - </div> | ||
145 | - `; | ||
146 | - } | ||
147 | - | ||
148 | - async function setMap(dataSet) { | ||
149 | - for (var i = 0; i < dataSet.length; i++) { | ||
150 | - // 마커를 생성합니다 | ||
151 | - let coords = await getCoordsByAddress(dataSet[i].address); | ||
152 | - var marker = new kakao.maps.Marker({ | ||
153 | - map: map, // 마커를 표시할 지도 | ||
154 | - position: coords, | ||
155 | - }); | ||
156 | - | ||
157 | - markerArray.push(marker); | ||
158 | - | ||
159 | - // 마커에 표시할 인포윈도우를 생성합니다 | ||
160 | - var infowindow = new kakao.maps.InfoWindow({ | ||
161 | - content: getContent(dataSet[i]),// 인포윈도우에 표시할 내용 | ||
162 | - }); | ||
163 | - | ||
164 | - infowindowArray.push(infowindow); | ||
165 | - | ||
166 | - // 마커에 mouseover 이벤트와 mouseout 이벤트를 등록합니다 | ||
167 | - // 이벤트 리스너로는 클로저를 만들어 등록합니다 | ||
168 | - // for문에서 클로저를 만들어 주지 않으면 마지막 마커에만 이벤트가 등록됩니다 | ||
169 | - kakao.maps.event.addListener(marker, 'click', makeOverListener(map, marker, infowindow, coords)); | ||
170 | - kakao.maps.event.addListener(map, 'click', makeOutListener(infowindow)); | ||
171 | - } | ||
172 | - } | ||
173 | - | ||
174 | - // 인포윈도우를 표시하는 클로저를 만드는 함수입니다 | ||
175 | - function makeOverListener(map, marker, infowindow, coords) { | ||
176 | - return function() { | ||
177 | - // 1. 클릭시 다른 인포윈도우 닫기 | ||
178 | - closeInfoWindow(); | ||
179 | - infowindow.open(map, marker); | ||
180 | - // 2. 클릭한 곳으로 지도 중심 옮기기 | ||
181 | - map.panTo(coords); | ||
182 | - }; | ||
183 | - } | ||
184 | - | ||
185 | - let infowindowArray = []; | ||
186 | - function closeInfoWindow() { | ||
187 | - for (let infowindow of infowindowArray) { | ||
188 | - infowindow.close(); | ||
189 | - } | ||
190 | - } | ||
191 | - | ||
192 | - // 인포윈도우를 닫는 클로저를 만드는 함수입니다 | ||
193 | - function makeOutListener(infowindow) { | ||
194 | - return function() { | ||
195 | - infowindow.close(); | ||
196 | - }; | ||
197 | - } | ||
198 | - | ||
199 | - /* | ||
200 | - ********************************************** | ||
201 | - 5. 카테고리 분류 | ||
202 | - */ | ||
203 | - | ||
204 | - // 카테고리 | ||
205 | - const categoryMap = { | ||
206 | - korea: "한식", | ||
207 | - china: "중식", | ||
208 | - japan: "일식", | ||
209 | - america: "양식", | ||
210 | - wheat: "분식", | ||
211 | - meat: "구이", | ||
212 | - sushi: "회/초밥", | ||
213 | - etc: "기타", | ||
214 | - }; | ||
215 | - | ||
216 | - const categoryList = document.querySelector(".category-list"); | ||
217 | - categoryList.addEventListener("click", categoryHandler); | ||
218 | - | ||
219 | - async function categoryHandler(event) { | ||
220 | - const categoryId = event.target.id; | ||
221 | - const category = categoryMap[categoryId]; | ||
222 | - | ||
223 | -<<<<<<< HEAD | ||
224 | -======= | ||
225 | - | ||
226 | ->>>>>>> release_v0.2.0 | ||
227 | - try { | ||
228 | - // 데이터 분류 | ||
229 | - let categorizedDataSet = await getDataSet(category); | ||
230 | - | ||
231 | - // 기존 마커 삭제 | ||
232 | - closeMarker(); | ||
233 | - | ||
234 | - // 기존 인포윈도우 닫기 | ||
235 | - closeInfoWindow(); | ||
236 | - | ||
237 | - setMap(categorizedDataSet); | ||
238 | - | ||
239 | - } catch (error) { | ||
240 | - console.error(error); | ||
241 | - } | ||
242 | - } | ||
243 | - | ||
244 | - let markerArray = []; | ||
245 | - function closeMarker() { | ||
246 | - for (marker of markerArray) { | ||
247 | - marker.setMap(null); | ||
248 | - } | ||
249 | - } | ||
250 | - | ||
251 | -<<<<<<< HEAD | ||
252 | - setMap(dataSet); | ||
253 | - | ||
254 | -// async function setting() { | ||
255 | -// try { | ||
256 | -// const dataSet = await getDataSet(); | ||
257 | -// setMap(dataSet); | ||
258 | - | ||
259 | -// } catch (error) { | ||
260 | -// console.error(error); | ||
261 | -// } | ||
262 | -// } | ||
263 | - | ||
264 | -// setting(); | ||
265 | -======= | ||
266 | - async function setting() { | ||
267 | - try { | ||
268 | - const dataSet = await getDataSet(); | ||
269 | - setMap(dataSet); | ||
270 | - } catch (error) { | ||
271 | - console.error(error); | ||
272 | - } | ||
273 | - } | ||
274 | - | ||
275 | - setting(); | ||
276 | ->>>>>>> release_v0.2.0 |
1 | -"use strict"; | ||
2 | - | ||
3 | -const socketIO = require("socket.io"); | ||
4 | -const http = require("http"); | ||
5 | -const app = express(); | ||
6 | -const server = http.createServer(app); | ||
7 | -const io = socketIO(server); | ||
8 | -const socket = io(); | ||
9 | -//.connect("http://localhost:3000/chat", {transports:['websocket']}); | ||
10 | - | ||
11 | -const nickname = document.querySelector("#nickname") | ||
12 | -const chatlist = document.querySelector(".chatting-list") | ||
13 | -const chatInput = document.querySelector(".chatting-input") | ||
14 | -const sendButton = document.querySelector(".send-button") | ||
15 | -const displayContainer = document.querySelector(".display-container") | ||
16 | - | ||
17 | -chatInput.addEventListener("keypress", (event)=> { | ||
18 | - if(event.keyCode === 13) { | ||
19 | - send() | ||
20 | - } | ||
21 | -}) | ||
22 | - | ||
23 | -function send() { | ||
24 | - const param = { | ||
25 | - name: nickname.value, | ||
26 | - msg: chatInput.value | ||
27 | - } | ||
28 | - socket.emit("chatting", param) | ||
29 | -} | ||
30 | - | ||
31 | -sendButton.addEventListener("click", send) | ||
32 | - | ||
33 | -socket.on("chatting", (data)=>{ | ||
34 | - console.log(data) | ||
35 | - const {name, msg, time} = data; | ||
36 | - const item = new LiModel(name, msg, time); | ||
37 | - item.makeLi() | ||
38 | - displayContainer.scrollTo(0, displayContainer.scrollHeight) | ||
39 | -}) | ||
40 | - | ||
41 | -//console.log(socket); | ||
42 | - | ||
43 | -function LiModel(name, msg, time) { | ||
44 | - this.name = name; | ||
45 | - this.msg = msg; | ||
46 | - this.time = time; | ||
47 | - | ||
48 | - this.makeLi = ()=>{ | ||
49 | - const li = document.createElement("li"); | ||
50 | - li.classList.add(nickname.value === this.name ? "sent":"received") | ||
51 | - const dom = `<span class="profile"> | ||
52 | - <span class="user">${this.name}</span> | ||
53 | - <img class="image" src="https://placeimg.com/50/50/any" alt="any"> | ||
54 | - </span> | ||
55 | - <span class="message">${this.msg}</span> | ||
56 | - <span class="time">${this.time}</span>`; | ||
57 | - | ||
58 | - li.innerHTML = dom; | ||
59 | - chatlist.appendChild(li) | ||
60 | - } | ||
61 | -} | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | -'use strict'; | ||
2 | - | ||
3 | -const id = document.querySelector("#id"), | ||
4 | - password = document.querySelector("#password"), | ||
5 | - loginBtn = document.querySelector("#button"); | ||
6 | - | ||
7 | -loginBtn.addEventListener("click", login); | ||
8 | - | ||
9 | -function login() { | ||
10 | - const req = { | ||
11 | - id : id.value, | ||
12 | - password : password.value, | ||
13 | - }; | ||
14 | - | ||
15 | -<<<<<<< HEAD | ||
16 | -======= | ||
17 | - // console.log("login value : ", id.value); | ||
18 | ->>>>>>> release_v0.2.0 | ||
19 | - fetch("/login", { | ||
20 | - method: "POST", | ||
21 | - headers: { | ||
22 | - "Content-Type": "application/json" | ||
23 | - }, | ||
24 | - body: JSON.stringify(req), | ||
25 | - }) | ||
26 | - .then((res) => res.json()) | ||
27 | - .then((res) => { | ||
28 | - if (res.success) { | ||
29 | - //성공하면 이동 | ||
30 | - location.href = "/"; | ||
31 | - } else { | ||
32 | - alert(res.msg); | ||
33 | - } | ||
34 | - }) | ||
35 | - .catch((err) => { | ||
36 | - console.error("로그인 중 에러 발생"); | ||
37 | - }); | ||
38 | -} | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | -'use strict'; | ||
2 | - | ||
3 | -const id = document.querySelector("#id"), | ||
4 | - name = document.querySelector("#name"), | ||
5 | - password = document.querySelector("#password"), | ||
6 | - confirmPassword = document.querySelector("#confirm-password"), | ||
7 | - registerBtn = document.querySelector("#button"); | ||
8 | - | ||
9 | -registerBtn.addEventListener("click", register); | ||
10 | - | ||
11 | -async function register() { | ||
12 | - if(!id.value) { | ||
13 | - return alert("아이디를 입력해주세요.") | ||
14 | - } | ||
15 | -<<<<<<< HEAD | ||
16 | - | ||
17 | -======= | ||
18 | ->>>>>>> release_v0.2.0 | ||
19 | - if(!name.value) { | ||
20 | - return alert("이름을 입력해주세요.") | ||
21 | - } | ||
22 | - if(!password.value) { | ||
23 | - return alert("비밀번호를 입력해주세요.") | ||
24 | - } | ||
25 | - if(!confirmPassword.value) { | ||
26 | - return alert("비밀번호를 확인해주세요.") | ||
27 | - } | ||
28 | - if (password.value !== confirmPassword.value) { | ||
29 | - return alert("비밀번호가 일치하지 않습니다.") | ||
30 | - } | ||
31 | -<<<<<<< HEAD | ||
32 | - | ||
33 | -======= | ||
34 | - | ||
35 | ->>>>>>> release_v0.2.0 | ||
36 | - const req = { | ||
37 | - id: id.value, | ||
38 | - name: name.value, | ||
39 | - password: password.value, | ||
40 | - }; | ||
41 | - | ||
42 | -<<<<<<< HEAD | ||
43 | - console.log("id : ", req.id); | ||
44 | - try { | ||
45 | - const response = await fetch("/register", { | ||
46 | - method: "POST", | ||
47 | - headers: { | ||
48 | - "Content-Type": "application/json" | ||
49 | - }, | ||
50 | - body: JSON.stringify(req), | ||
51 | - }); | ||
52 | - console.log("테스트 : ", response); | ||
53 | - } catch(e) { | ||
54 | - console.log(e); | ||
55 | - } | ||
56 | -======= | ||
57 | - fetch("/register", { | ||
58 | - method: "POST", | ||
59 | - headers: { | ||
60 | - "Content-Type": "application/json", | ||
61 | - }, | ||
62 | - body: JSON.stringify(req), | ||
63 | - }) | ||
64 | - .then((res) => res.json()) | ||
65 | - .then((res) => { | ||
66 | - if (res.success) { | ||
67 | - location.href = "/login"; | ||
68 | - } else { | ||
69 | - if (res.err) return alert(res.err); | ||
70 | - alert(res.msg); | ||
71 | - } | ||
72 | - }) | ||
73 | - .catch((err) => { | ||
74 | - console.error("회원가입 중 에러 발생"); | ||
75 | - }); | ||
76 | - | ||
77 | - // try { | ||
78 | - // const response = await fetch("/register", { | ||
79 | - // method: "POST", | ||
80 | - // headers: { | ||
81 | - // "Content-Type": "application/json" | ||
82 | - // }, | ||
83 | - // body: JSON.stringify(req), | ||
84 | - // }); | ||
85 | - // console.log("테스트 : ", response); | ||
86 | - // } catch(e) { | ||
87 | - // console.log(e); | ||
88 | - // } | ||
89 | ->>>>>>> release_v0.2.0 | ||
90 | - | ||
91 | -} | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | -"use strict"; | ||
2 | - | ||
3 | -const User = require("../../models/User"); | ||
4 | -// const Restaurant = require("../../models/Restaurant"); | ||
5 | - | ||
6 | -const output = { | ||
7 | - hello: (req, res) => { | ||
8 | - res.render("home/index"); | ||
9 | - }, | ||
10 | - | ||
11 | - login: (req, res) => { | ||
12 | - res.render("home/login"); | ||
13 | - }, | ||
14 | - | ||
15 | - register: (req, res) => { | ||
16 | - res.render("home/register"); | ||
17 | - }, | ||
18 | - | ||
19 | -<<<<<<< HEAD | ||
20 | -======= | ||
21 | - chat: (req, res) => { | ||
22 | - res.render("home/chat"); | ||
23 | - }, | ||
24 | - | ||
25 | ->>>>>>> release_v0.2.0 | ||
26 | - // restaurants: (req, res) => { | ||
27 | - // res.render("home/restaurants"); | ||
28 | - // } | ||
29 | -}; | ||
30 | - | ||
31 | -const process = { | ||
32 | - login: async (req, res) => { | ||
33 | - const user = new User(req.body); | ||
34 | - const response = await user.login(); | ||
35 | - return res.json(response); | ||
36 | - }, | ||
37 | - | ||
38 | - register: async (req, res) => { | ||
39 | - const user = new User(req.body); | ||
40 | - const response = await user.register(); | ||
41 | -<<<<<<< HEAD | ||
42 | -======= | ||
43 | - // console.log("req.body", req.body); | ||
44 | ->>>>>>> release_v0.2.0 | ||
45 | - // console.log(res.json(response)); | ||
46 | - // console.log(res.json(response).statusCode); => 이거도 잘 찍혔음. | ||
47 | - return res.json(response); | ||
48 | - }, | ||
49 | - | ||
50 | - // restaurants: async (req, res) => { | ||
51 | - // const restaurant = new Restaurant(req.body); | ||
52 | - // const response = await restaurant.restaurants(); | ||
53 | - // return res.json(response); | ||
54 | - // }, | ||
55 | -}; | ||
56 | - | ||
57 | -module.exports = { | ||
58 | - output, | ||
59 | - process, | ||
60 | -}; | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | -"use strict"; | ||
2 | - | ||
3 | -const express = require("express"); | ||
4 | -const router = express.Router(); | ||
5 | -const jwtMiddleware = require("../../config/jwtMiddleware"); | ||
6 | -// const Restaurant = require("../../models/Restaurant"); | ||
7 | - | ||
8 | -const ctrl = require("./home.ctrl"); | ||
9 | -<<<<<<< HEAD | ||
10 | -======= | ||
11 | -const index = require("../../models/Restaurant"); | ||
12 | ->>>>>>> release_v0.2.0 | ||
13 | - | ||
14 | -router.get("/", ctrl.output.hello); | ||
15 | -router.get("/login", ctrl.output.login); | ||
16 | -router.get("/register", ctrl.output.register); | ||
17 | -<<<<<<< HEAD | ||
18 | -======= | ||
19 | -router.get("/restaurants", index.readRestaurants); | ||
20 | -router.get("/chat", ctrl.output.chat); | ||
21 | ->>>>>>> release_v0.2.0 | ||
22 | -// router.get("/restaurants", Restaurant.restaurants); | ||
23 | -// router.get("/restaurants", ctrl.output.restaurants); | ||
24 | - | ||
25 | -router.post("/login", ctrl.process.login); | ||
26 | -router.post("/register", ctrl.process.register); | ||
27 | - | ||
28 | -module.exports = router; | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | -module.exports = function (app) { | ||
2 | - //controller갖고있는 모듈 생성 | ||
3 | - const index = require("../../models/Restaurant"); | ||
4 | - // const user = require("../../models/User"); | ||
5 | - const jwtMiddleware = require("../../config/jwtMiddleware"); | ||
6 | - | ||
7 | - // 식당 목록 조회 | ||
8 | - app.get("/restaurants", index.readRestaurants); | ||
9 | - }; | ||
10 | - | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | -<!DOCTYPE html> | ||
2 | -<html lang="en"> | ||
3 | - <head> | ||
4 | - <meta charset="UTF-8" /> | ||
5 | - <meta http-equiv="X-UA-Compatible" content="IE=edge" /> | ||
6 | - <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||
7 | -<<<<<<< HEAD | ||
8 | - <title>채팅</title> | ||
9 | - </head> | ||
10 | - <body></body> | ||
11 | -======= | ||
12 | - <title>채팅방</title> | ||
13 | - <link rel="stylesheet" href="/css/home/chat.css" /> | ||
14 | - </head> | ||
15 | - <body> | ||
16 | - <div class="wrapper"> | ||
17 | - <div class="user-container"> | ||
18 | - <lable class="nickname" for="nickname">닉네임설정</lable> | ||
19 | - <input type="text" id="nickname" /> | ||
20 | - </div> | ||
21 | - <div class="display-container"> | ||
22 | - <ul class="chatting-list"></ul> | ||
23 | - </div> | ||
24 | - <div class="input-container"> | ||
25 | - <span> | ||
26 | - <input type="text" class="chatting-input" /> | ||
27 | - <button class="send-button">전송</button> | ||
28 | - </span> | ||
29 | - </div> | ||
30 | - </div> | ||
31 | - <script | ||
32 | - src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/4.5.1/socket.io.js" | ||
33 | - integrity="sha512-9mpsATI0KClwt+xVZfbcf2lJ8IFBAwsubJ6mI3rtULwyM3fBmQFzj0It4tGqxLOGQwGfJdk/G+fANnxfq9/cew==" | ||
34 | - crossorigin="anonymous" | ||
35 | - referrerpolicy="no-referrer" | ||
36 | - ></script> | ||
37 | - <script src="/js/home/chat.js"></script> | ||
38 | - </body> | ||
39 | ->>>>>>> release_v0.2.0 | ||
40 | -</html> |
1 | -<!DOCTYPE html> | ||
2 | -<html lang="en"> | ||
3 | - <head> | ||
4 | - <meta charset="UTF-8" /> | ||
5 | - <meta http-equiv="X-UA-Compatible" content="IE=edge" /> | ||
6 | - <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||
7 | - <title>맛집지도</title> | ||
8 | - <meta name="author" content="양주미" /> | ||
9 | - <meta name="description" content="맛집지도 서비스" /> | ||
10 | - <meta name="keywords" content="맛집지도, 맛집추천, 실시간채팅" /> | ||
11 | - <link rel="stylesheet" href="/css/home/index.css" /> | ||
12 | -<<<<<<< HEAD | ||
13 | - <script src="/js/home/axios-index.js"></script> | ||
14 | -======= | ||
15 | - <link rel="stylesheet" href="/css/home/map.css" /> | ||
16 | ->>>>>>> release_v0.2.0 | ||
17 | - </head> | ||
18 | - <body> | ||
19 | - <nav> | ||
20 | - <div class="inner"> | ||
21 | - <div class="nav-container"> | ||
22 | - <h1 class="nav-title">맛집지도</h1> | ||
23 | -<<<<<<< HEAD | ||
24 | - <button class="nav-contact">Chatting Rooms</button> | ||
25 | -======= | ||
26 | - <button class="nav-contact">Contact : balljm@naver.com</button> | ||
27 | ->>>>>>> release_v0.2.0 | ||
28 | - </div> | ||
29 | - </div> | ||
30 | - </nav> | ||
31 | - | ||
32 | - <main> | ||
33 | - <section id="category"> | ||
34 | - <div class="inner"> | ||
35 | - <div class="category-container"> | ||
36 | - <h2 class="category-title">💜맛집지도 카테고리를 선택해보세요💜</h2> | ||
37 | - <div class="category-list"> | ||
38 | - <button class="category-item" id="korea">한식🍚</button> | ||
39 | - <button class="category-item" id="china">중식🍜</button> | ||
40 | - <button class="category-item" id="japan">일식🍙</button> | ||
41 | - <button class="category-item" id="america">양식🍝</button> | ||
42 | - <button class="category-item" id="wheat">분식🍭</button> | ||
43 | - <button class="category-item" id="meat">구이🍖</button> | ||
44 | - <button class="category-item" id="sushi">회/초밥🍣</button> | ||
45 | - <button class="category-item" id="etc">기타🍴</button> | ||
46 | - </div> | ||
47 | - </div> | ||
48 | - </div> | ||
49 | - </section> | ||
50 | - <!-- 카테고리 --> | ||
51 | - <div id="map" class="inner"></div> | ||
52 | - | ||
53 | - <!-- 카카오지도 --> | ||
54 | - </main> | ||
55 | - | ||
56 | - <script | ||
57 | - type="text/javascript" | ||
58 | - src="//dapi.kakao.com/v2/maps/sdk.js?appkey=e55f753363b95e27b799aa6286a6c398&libraries=services" | ||
59 | - ></script> | ||
60 | -<<<<<<< HEAD | ||
61 | - <!-- <script | ||
62 | -======= | ||
63 | - <script | ||
64 | ->>>>>>> release_v0.2.0 | ||
65 | - src="https://cdnjs.cloudflare.com/ajax/libs/axios/1.0.0-alpha.1/axios.min.js" | ||
66 | - integrity="sha512-xIPqqrfvUAc/Cspuj7Bq0UtHNo/5qkdyngx6Vwt+tmbvTLDszzXM0G6c91LXmGrRx8KEPulT+AfOOez+TeVylg==" | ||
67 | - crossorigin="anonymous" | ||
68 | - referrerpolicy="no-referrer" | ||
69 | -<<<<<<< HEAD | ||
70 | - ></script> --> | ||
71 | -======= | ||
72 | - ></script> | ||
73 | - <script src="/js/home/axios-index.js"></script> | ||
74 | ->>>>>>> release_v0.2.0 | ||
75 | - </body> | ||
76 | -</html> |
1 | -<!DOCTYPE html> | ||
2 | -<html lang="ko"> | ||
3 | - <head> | ||
4 | - <meta charset="UTF-8" /> | ||
5 | - <meta http-equiv="X-UA-Compatible" content="IE=edge" /> | ||
6 | - <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||
7 | - <link rel="stylesheet" href="/css/home/login.css" /> | ||
8 | - <script src="/js/home/login.js" defer></script> | ||
9 | - <title>로그인</title> | ||
10 | - </head> | ||
11 | - <body> | ||
12 | - <div class="login-page"> | ||
13 | - <div class="form"> | ||
14 | - <!-- <form class="register-form"> | ||
15 | - <input type="text" placeholder="name" /> | ||
16 | - <input type="password" placeholder="password" /> | ||
17 | - <input type="text" placeholder="email address" /> | ||
18 | - <button>create</button> | ||
19 | - <p class="message">Already registered? <a href="#">Sign In</a></p> | ||
20 | - </form> --> | ||
21 | - <form class="login-form"> | ||
22 | - <input id="id" type="text" placeholder="아이디" /> | ||
23 | - <input id="password" type="password" placeholder="비밀번호" /> | ||
24 | - <p id="button">LOGIN</p> | ||
25 | - <p class="message"> | ||
26 | - 계정이 없으신가요? <a href="/register">회원가입</a> | ||
27 | - </p> | ||
28 | - </form> | ||
29 | - </div> | ||
30 | - </div> | ||
31 | - </body> | ||
32 | -</html> | ||
33 | - | ||
34 | -<!-- Copyright (c) 2022 by Aigars Silkalns (https://codepen.io/colorlib/pen/rxddKy) --> |
1 | -<!DOCTYPE html> | ||
2 | -<html lang="ko"> | ||
3 | - <head> | ||
4 | - <meta charset="UTF-8" /> | ||
5 | - <meta http-equiv="X-UA-Compatible" content="IE=edge" /> | ||
6 | - <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||
7 | - <link rel="stylesheet" href="/css/home/register.css" /> | ||
8 | - <script src="/js/home/register.js" defer></script> | ||
9 | - <title>회원가입</title> | ||
10 | - </head> | ||
11 | - <body> | ||
12 | - <div class="login-page"> | ||
13 | - <div class="form"> | ||
14 | - <!-- <form class="register-form"> | ||
15 | - <input type="text" placeholder="name" /> | ||
16 | - <input type="password" placeholder="password" /> | ||
17 | - <input type="text" placeholder="email address" /> | ||
18 | - <button>create</button> | ||
19 | - <p class="message">Already registered? <a href="#">Sign In</a></p> | ||
20 | - </form> --> | ||
21 | - <form class="login-form"> | ||
22 | - <input id="id" type="text" placeholder="아이디" /> | ||
23 | - <input id="name" type="text" placeholder="이름" /> | ||
24 | - <input id="password" type="password" placeholder="비밀번호" /> | ||
25 | - <input | ||
26 | - id="confirm-password" | ||
27 | - type="password" | ||
28 | - placeholder="비밀번호 확인" | ||
29 | - /> | ||
30 | - <p id="button">SIGN UP</p> | ||
31 | - <p class="message">계정이 있으신가요? <a href="/login">로그인</a></p> | ||
32 | - </form> | ||
33 | - </div> | ||
34 | - </div> | ||
35 | - </body> | ||
36 | -</html> | ||
37 | - | ||
38 | -<!-- Copyright (c) 2022 by Aigars Silkalns (https://codepen.io/colorlib/pen/rxddKy) --> |
login_main/package-lock.json
deleted
100644 → 0
map.css
deleted
100644 → 0
1 | -/*인포윈도우 설정*/ | ||
2 | -.infowindow { | ||
3 | - width : 25rem; | ||
4 | - border : 1px solid black; | ||
5 | - border-radius: 5px; | ||
6 | - background-color : white; | ||
7 | -} | ||
8 | - | ||
9 | -.infowindow-title { | ||
10 | - font-size: 3rem; | ||
11 | -} | ||
12 | - | ||
13 | -.infowindow-address { | ||
14 | - font-size: 1.6rem; | ||
15 | -} | ||
16 | - | ||
17 | -.infowindow-btn { | ||
18 | - font-size: 1.6rem; | ||
19 | -} | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
script.js
deleted
100644 → 0
1 | -/********************************************************************************* | ||
2 | - * 1. 지도 생성 및 확대 축소 컨트롤러 | ||
3 | - */ | ||
4 | - | ||
5 | -var container = document.getElementById('map'); //지도를 담을 영역의 DOM 레퍼런스 | ||
6 | -var options = { //지도를 생성할 때 필요한 기본 옵션 | ||
7 | - center: new kakao.maps.LatLng(37.54, 126.96), //지도의 중심좌표. | ||
8 | - level: 7 //지도의 레벨(확대, 축소 정도) | ||
9 | -}; | ||
10 | - | ||
11 | -var map = new kakao.maps.Map(container, options); //지도 생성 및 객체 리턴 | ||
12 | - | ||
13 | -// 확대 축소 컨트롤러 | ||
14 | -var zoomControl = new kakao.maps.ZoomControl(); | ||
15 | -map.addControl(zoomControl, kakao.maps.ControlPosition.RIGHT); | ||
16 | - | ||
17 | -/****************************************************************************** | ||
18 | - * 2. 더미데이터 준비하기(제목, 주소, 카테고리) | ||
19 | - */ | ||
20 | - | ||
21 | - const dataSet = [ | ||
22 | - { | ||
23 | - title: "희락돈까스", | ||
24 | - address: "서울 영등포구 양산로 210", | ||
25 | - category: "양식", | ||
26 | - }, | ||
27 | - { | ||
28 | - title: "즉석우동짜장", | ||
29 | - address: "서울 영등포구 대방천로 260", | ||
30 | - category: "한식", | ||
31 | - }, | ||
32 | - { | ||
33 | - title: "아카사카", | ||
34 | - address: "서울 서초구 서초대로74길 23", | ||
35 | - category: "일식", | ||
36 | - }, | ||
37 | - { | ||
38 | - title: "한우만", | ||
39 | - address: "서울 서초구 서초3동 효령로 216", | ||
40 | - category: "한식", | ||
41 | - }, | ||
42 | - | ||
43 | - ]; | ||
44 | - | ||
45 | - | ||
46 | -/****************************************************************************** | ||
47 | - * 3. 여러개 마커찍기 | ||
48 | - */ | ||
49 | - | ||
50 | -// 주소-좌표 변환 객체를 생성합니다 | ||
51 | -var geocoder = new kakao.maps.services.Geocoder(); | ||
52 | - | ||
53 | -function getCoordsByAddress(address) { | ||
54 | - return new Promise((resolve, reject) => { | ||
55 | - // 주소로 좌표를 검색합니다 | ||
56 | - geocoder.addressSearch(address, function (result, status) { | ||
57 | - // 정상적으로 검색이 완료됐으면 | ||
58 | - if (status === kakao.maps.services.Status.OK) { | ||
59 | - var coords = new kakao.maps.LatLng(result[0].y, result[0].x); | ||
60 | - return resolve(coords); | ||
61 | - } | ||
62 | - reject(new Error("getCoordsByAddress Error: not valid Address")); | ||
63 | - }); | ||
64 | - }); | ||
65 | -} | ||
66 | - | ||
67 | -setMap(dataSet); | ||
68 | - | ||
69 | -/* | ||
70 | -************************************************************* | ||
71 | -4. 마커에 인포윈도우 붙이기 | ||
72 | -*/ | ||
73 | - | ||
74 | -function getContent(data) { | ||
75 | - // 인포윈도우 가공하기 | ||
76 | - return ` | ||
77 | - <div class="infowindow"> | ||
78 | - <div class="infowindow-body"> | ||
79 | - <h5 class="infowindow-title">${data.title}</h5> | ||
80 | - <p class="infowindow-address">${data.address}</p> | ||
81 | - <a href='/chat' class="infowindow-btn" target="_blank">채팅방이동</a> | ||
82 | - </div> | ||
83 | - </div> | ||
84 | - `; | ||
85 | -} | ||
86 | - | ||
87 | -async function setMap(dataSet) { | ||
88 | - for (var i = 0; i < dataSet.length; i++) { | ||
89 | - // 마커를 생성합니다 | ||
90 | - let coords = await getCoordsByAddress(dataSet[i].address); | ||
91 | - var marker = new kakao.maps.Marker({ | ||
92 | - map: map, // 마커를 표시할 지도 | ||
93 | - position: coords, | ||
94 | - }); | ||
95 | - | ||
96 | - markerArray.push(marker); | ||
97 | - | ||
98 | - // 마커에 표시할 인포윈도우를 생성합니다 | ||
99 | - var infowindow = new kakao.maps.InfoWindow({ | ||
100 | - content: getContent(dataSet[i]),// 인포윈도우에 표시할 내용 | ||
101 | - }); | ||
102 | - | ||
103 | - infowindowArray.push(infowindow); | ||
104 | - | ||
105 | - // 마커에 mouseover 이벤트와 mouseout 이벤트를 등록합니다 | ||
106 | - // 이벤트 리스너로는 클로저를 만들어 등록합니다 | ||
107 | - // for문에서 클로저를 만들어 주지 않으면 마지막 마커에만 이벤트가 등록됩니다 | ||
108 | - kakao.maps.event.addListener(marker, 'click', makeOverListener(map, marker, infowindow, coords)); | ||
109 | - kakao.maps.event.addListener(map, 'click', makeOutListener(infowindow)); | ||
110 | - } | ||
111 | - } | ||
112 | - | ||
113 | - // 인포윈도우를 표시하는 클로저를 만드는 함수입니다 | ||
114 | -function makeOverListener(map, marker, infowindow, coords) { | ||
115 | - return function() { | ||
116 | - // 1. 클릭시 다른 인포윈도우 닫기 | ||
117 | - closeInfoWindow(); | ||
118 | - infowindow.open(map, marker); | ||
119 | - // 2. 클릭한 곳으로 지도 중심 옮기기 | ||
120 | - map.panTo(coords); | ||
121 | - }; | ||
122 | -} | ||
123 | - | ||
124 | -let infowindowArray = []; | ||
125 | -function closeInfoWindow() { | ||
126 | - for (let infowindow of infowindowArray) { | ||
127 | - infowindow.close(); | ||
128 | - } | ||
129 | -} | ||
130 | - | ||
131 | -// 인포윈도우를 닫는 클로저를 만드는 함수입니다 | ||
132 | -function makeOutListener(infowindow) { | ||
133 | - return function() { | ||
134 | - infowindow.close(); | ||
135 | - }; | ||
136 | -} | ||
137 | - | ||
138 | -/* | ||
139 | -********************************************** | ||
140 | -5. 카테고리 분류 | ||
141 | -*/ | ||
142 | - | ||
143 | -// 카테고리 | ||
144 | -const categoryMap = { | ||
145 | - korea: "한식", | ||
146 | - china: "중식", | ||
147 | - japan: "일식", | ||
148 | - america: "양식", | ||
149 | - wheat: "분식", | ||
150 | - meat: "구이", | ||
151 | - sushi: "회/초밥", | ||
152 | - etc: "기타", | ||
153 | - }; | ||
154 | - | ||
155 | -const categoryList = document.querySelector(".category-list"); | ||
156 | -categoryList.addEventListener("click", categoryHandler); | ||
157 | - | ||
158 | -function categoryHandler(event) { | ||
159 | - const categoryId = event.target.id; | ||
160 | - const category = categoryMap[categoryId]; | ||
161 | - | ||
162 | - // 데이터 분류 | ||
163 | - let categorizedDataSet = []; | ||
164 | - for (let data of dataSet) { | ||
165 | - if (data.category === category) { | ||
166 | - categorizedDataSet.push(data); | ||
167 | - } | ||
168 | - } | ||
169 | - | ||
170 | - // 기존 마커 삭제 | ||
171 | - closeMarker(); | ||
172 | - | ||
173 | - // 기존 인포윈도우 닫기 | ||
174 | - closeInfoWindow(); | ||
175 | - | ||
176 | - setMap(categorizedDataSet); | ||
177 | -} | ||
178 | - | ||
179 | -let markerArray = []; | ||
180 | -function closeMarker() { | ||
181 | - for (marker of markerArray) { | ||
182 | - marker.setMap(null); | ||
183 | - } | ||
184 | -} | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
-
Please register or login to post a comment