[jichoi]
08-01
240801 최정임 페이지 생성
@730242fa011d75cc74b0b5eb45534e21b0883a27
+++ .gitignore
... | ... | @@ -0,0 +1,3 @@ |
1 | +client/build/ | |
2 | +server/logs/ | |
3 | +node_modules/(파일 끝에 줄바꿈 문자 없음) |
+++ Global.js
... | ... | @@ -0,0 +1,17 @@ |
1 | +const PROJECT_NAME = 'NodeJS Web Server Framework(Vue)'; | |
2 | +const PROJECT_VERSION = '1.0'; | |
3 | +const BASE_DIR = __dirname; | |
4 | +const LOG_BASE_DIR = `${__dirname}/server/logs`; | |
5 | +const SERVICE_STATUS = process.env.NODE_ENV;//development, production | |
6 | +const PORT = 80; | |
7 | +const API_SERVER_HOST = 'localhost:8080'; | |
8 | + | |
9 | +module.exports = { | |
10 | + PROJECT_NAME, | |
11 | + PROJECT_VERSION, | |
12 | + BASE_DIR, | |
13 | + LOG_BASE_DIR, | |
14 | + SERVICE_STATUS, | |
15 | + PORT, | |
16 | + API_SERVER_HOST | |
17 | +}(파일 끝에 줄바꿈 문자 없음) |
+++ client/resources/css/common.css
... | ... | @@ -0,0 +1,1072 @@ |
1 | +@charset "utf-8"; | |
2 | + | |
3 | +:root { | |
4 | + /* color */ | |
5 | + --color-black: #231815; | |
6 | + --color-lightGray: #C6C6C6; | |
7 | + --color-gray: #c6c6c6; | |
8 | + --color-white: #ffffff; | |
9 | + --color-orange: #fbbe28; | |
10 | + --color-light-orange: #fff4d7; | |
11 | + --color-green: #00A8BA; | |
12 | + --color-lightGreen: #EBF7EC; | |
13 | + --color-red: #ff5d5d; | |
14 | + --color-blue: #213f99; | |
15 | + --color-darkG: #434343; | |
16 | + --color-blueE: #e3ecff; | |
17 | + --color-skyBlue: #f5f8ff; | |
18 | + --color-navGreen:#00A8BA; | |
19 | + --color-tableGreen:#EBF7EC; | |
20 | + --color-tableRightGreen:#f2faf2; | |
21 | + --color-darkBlue:#2b53c9; | |
22 | + --color-skyDarkBlue:#456ad7; | |
23 | + --color-lightBlue:#869de5; | |
24 | + --color-lightskyBlue:#96aae8; | |
25 | + --color-lightlightBlue:#d6def6; | |
26 | + --color-boxBackground:#f9f9f9; | |
27 | + --color-imgBox:#f8f8f8; | |
28 | + --color-inputBoder:#717171; | |
29 | + --color-text:#8E8E8E; | |
30 | + | |
31 | + --color-tableBack:#EDF1F5; | |
32 | + --color-buttonBack:#EBF7EC; | |
33 | +} | |
34 | + | |
35 | + | |
36 | +/* 정렬 */ | |
37 | +.flex { | |
38 | + display: flex; | |
39 | +} | |
40 | + | |
41 | +.flex-column { | |
42 | + display: flex; | |
43 | + flex-direction: column; | |
44 | + height: 100%; | |
45 | +} | |
46 | + | |
47 | + | |
48 | +.justify-start { | |
49 | + justify-content: flex-start; | |
50 | +} | |
51 | + | |
52 | +.justify-center { | |
53 | + justify-content: center; | |
54 | +} | |
55 | + | |
56 | +.justify-between { | |
57 | + justify-content: space-between; | |
58 | +} | |
59 | + | |
60 | +.justify-around { | |
61 | + justify-content: space-around; | |
62 | +} | |
63 | + | |
64 | +.justify-end { | |
65 | + justify-content: flex-end; | |
66 | +} | |
67 | + | |
68 | +.align-start { | |
69 | + align-items: flex-start; | |
70 | +} | |
71 | + | |
72 | +.align-center { | |
73 | + align-items: center; | |
74 | +} | |
75 | + | |
76 | +.align-end { | |
77 | + align-items: flex-end; | |
78 | +} | |
79 | + | |
80 | + | |
81 | +.flex5, | |
82 | +.flex10, | |
83 | +.flex15, | |
84 | +.flex20, | |
85 | +.flex25, | |
86 | +.flex30, | |
87 | +.flex35, | |
88 | +.flex40, | |
89 | +.flex45, | |
90 | +.flex50, | |
91 | +.flex55, | |
92 | +.flex60, | |
93 | +.flex65, | |
94 | +.flex70, | |
95 | +.flex75, | |
96 | +.flex80, | |
97 | +.flex85, | |
98 | +.flex90, | |
99 | +.flex95, | |
100 | +.flex100 { | |
101 | + padding-left: 10px; | |
102 | + padding-right: 10px; | |
103 | +} | |
104 | + | |
105 | +.no-gutter>.flex5, | |
106 | +.no-gutter>.flex10, | |
107 | +.no-gutter>.flex15, | |
108 | +.no-gutter>.flex20, | |
109 | +.no-gutter>.flex25, | |
110 | +.no-gutter>.flex30, | |
111 | +.no-gutter>.flex35, | |
112 | +.no-gutter>.flex40, | |
113 | +.no-gutter>.flex45, | |
114 | +.no-gutter>.flex50, | |
115 | +.no-gutter>.flex55, | |
116 | +.no-gutter>.flex60, | |
117 | +.no-gutter>.flex65, | |
118 | +.no-gutter>.flex70, | |
119 | +.no-gutter>.flex75, | |
120 | +.no-gutter>.flex80, | |
121 | +.no-gutter>.flex85, | |
122 | +.no-gutter>.flex90, | |
123 | +.no-gutter>.flex95, | |
124 | +.no-gutter>.flex100 { | |
125 | + padding-left: 0; | |
126 | + padding-right: 0; | |
127 | +} | |
128 | + | |
129 | +/* 정렬 배율 */ | |
130 | +.flex5 { | |
131 | + flex: 0 0 5% | |
132 | +} | |
133 | + | |
134 | +.flex10 { | |
135 | + flex: 0 0 10% | |
136 | +} | |
137 | + | |
138 | +.flex15 { | |
139 | + flex: 0 0 15% | |
140 | +} | |
141 | + | |
142 | +.flex20 { | |
143 | + flex: 0 0 20% | |
144 | +} | |
145 | + | |
146 | +.flex25 { | |
147 | + flex: 0 0 25% | |
148 | +} | |
149 | + | |
150 | +.flex30 { | |
151 | + flex: 0 0 30% | |
152 | +} | |
153 | + | |
154 | +.flex35 { | |
155 | + flex: 0 0 35% | |
156 | +} | |
157 | + | |
158 | +.flex40 { | |
159 | + flex: 0 0 40% | |
160 | +} | |
161 | + | |
162 | +.flex45 { | |
163 | + flex: 0 0 45% | |
164 | +} | |
165 | + | |
166 | +.flex50 { | |
167 | + flex: 0 0 50% | |
168 | +} | |
169 | + | |
170 | +.flex55 { | |
171 | + flex: 0 0 55% | |
172 | +} | |
173 | + | |
174 | +.flex60 { | |
175 | + flex: 0 0 60% | |
176 | +} | |
177 | + | |
178 | +.flex65 { | |
179 | + flex: 0 0 65% | |
180 | +} | |
181 | + | |
182 | +.flex70 { | |
183 | + flex: 0 0 70% | |
184 | +} | |
185 | + | |
186 | +.flex75 { | |
187 | + flex: 0 0 75% | |
188 | +} | |
189 | + | |
190 | +.flex80 { | |
191 | + flex: 0 0 80% | |
192 | +} | |
193 | + | |
194 | +.flex85 { | |
195 | + flex: 0 0 85% | |
196 | +} | |
197 | + | |
198 | + | |
199 | +.flex90 { | |
200 | + flex: 0 0 90% | |
201 | +} | |
202 | + | |
203 | +.flex95 { | |
204 | + flex: 0 0 95% | |
205 | +} | |
206 | + | |
207 | +.flex100 { | |
208 | + flex: 0 0 100%; | |
209 | +} | |
210 | + | |
211 | +/* 너비 */ | |
212 | +.w10 { | |
213 | + width: 10%; | |
214 | +} | |
215 | + | |
216 | +.w20 { | |
217 | + width: 20%; | |
218 | +} | |
219 | + | |
220 | +.w30 { | |
221 | + width: 30%; | |
222 | +} | |
223 | + | |
224 | +.w40 { | |
225 | + width: 40%; | |
226 | +} | |
227 | + | |
228 | +.w50 { | |
229 | + width: 50%; | |
230 | +} | |
231 | + | |
232 | +.w60 { | |
233 | + width: 60%; | |
234 | +} | |
235 | + | |
236 | +.w70 { | |
237 | + width: 70%; | |
238 | +} | |
239 | + | |
240 | +.w80 { | |
241 | + width: 80%; | |
242 | +} | |
243 | + | |
244 | +.w90 { | |
245 | + width: 90%; | |
246 | +} | |
247 | + | |
248 | +.w100 { | |
249 | + width: 100%; | |
250 | +} | |
251 | + | |
252 | + | |
253 | + | |
254 | +/* 마진 */ | |
255 | +.ml0 { | |
256 | + margin-left: 0rem; | |
257 | +} | |
258 | + | |
259 | +.ml5 { | |
260 | + margin-left: 0.5rem; | |
261 | +} | |
262 | + | |
263 | +.ml10 { | |
264 | + margin-left: 1rem; | |
265 | +} | |
266 | + | |
267 | +.ml20 { | |
268 | + margin-left: 2rem; | |
269 | +} | |
270 | +.ml25 { | |
271 | + margin-left: 2.5rem; | |
272 | +} | |
273 | +.ml30 { | |
274 | + margin-left: 3rem; | |
275 | +} | |
276 | + | |
277 | +.ml40 { | |
278 | + margin-left: 4rem; | |
279 | +} | |
280 | + | |
281 | +.ml50 { | |
282 | + margin-left: 5rem; | |
283 | +} | |
284 | + | |
285 | +.ml60 { | |
286 | + margin-left: 6rem; | |
287 | +} | |
288 | + | |
289 | +.ml70 { | |
290 | + margin-left: 7rem; | |
291 | +} | |
292 | + | |
293 | +.ml80 { | |
294 | + margin-left: 8rem; | |
295 | +} | |
296 | + | |
297 | +.ml90 { | |
298 | + margin-left: 9rem; | |
299 | +} | |
300 | + | |
301 | +.ml100 { | |
302 | + margin-left: 10rem; | |
303 | +} | |
304 | + | |
305 | +.mr0 { | |
306 | + margin-right: 0rem; | |
307 | +} | |
308 | + | |
309 | +.mr5 { | |
310 | + margin-right: 0.5rem; | |
311 | +} | |
312 | + | |
313 | +.mr10 { | |
314 | + margin-right: 1rem; | |
315 | +} | |
316 | +.mr15{ | |
317 | + margin-right: 15px; | |
318 | +} | |
319 | +.mr20 { | |
320 | + margin-right: 2rem; | |
321 | +} | |
322 | + | |
323 | +.mr30 { | |
324 | + margin-right: 3rem; | |
325 | +} | |
326 | + | |
327 | +.mr40 { | |
328 | + margin-right: 4rem; | |
329 | +} | |
330 | + | |
331 | +.mr50 { | |
332 | + margin-right: 5rem; | |
333 | +} | |
334 | + | |
335 | +.mr60 { | |
336 | + margin-right: 6rem; | |
337 | +} | |
338 | + | |
339 | +.mr70 { | |
340 | + margin-right: 7rem; | |
341 | +} | |
342 | + | |
343 | +.mr80 { | |
344 | + margin-right: 8rem; | |
345 | +} | |
346 | + | |
347 | +.mr90 { | |
348 | + margin-right: 9rem; | |
349 | +} | |
350 | + | |
351 | +.mr100 { | |
352 | + margin-right: 10rem; | |
353 | +} | |
354 | + | |
355 | +.mt0 { | |
356 | + margin-top: 0rem; | |
357 | +} | |
358 | + | |
359 | +.mt5 { | |
360 | + margin-top: 0.5rem; | |
361 | +} | |
362 | + | |
363 | +.mt10 { | |
364 | + margin-top: 1rem; | |
365 | +} | |
366 | +.mt15{margin-top: 15px;} | |
367 | +.mt20 { | |
368 | + margin-top: 2rem; | |
369 | +} | |
370 | +.mt25 { | |
371 | + margin-top: 2.5rem; | |
372 | +} | |
373 | + | |
374 | +.mt30 { | |
375 | + margin-top: 3rem; | |
376 | +} | |
377 | + | |
378 | +.mt40 { | |
379 | + margin-top: 4rem; | |
380 | +} | |
381 | + | |
382 | +.mt50 { | |
383 | + margin-top: 5rem; | |
384 | +} | |
385 | + | |
386 | +.mt60 { | |
387 | + margin-top: 6rem; | |
388 | +} | |
389 | + | |
390 | +.mt70 { | |
391 | + margin-top: 7rem; | |
392 | +} | |
393 | + | |
394 | +.mt80 { | |
395 | + margin-top: 8rem; | |
396 | +} | |
397 | + | |
398 | +.mt90 { | |
399 | + margin-top: 9rem; | |
400 | +} | |
401 | + | |
402 | +.mt100 { | |
403 | + margin-top: 10rem; | |
404 | +} | |
405 | + | |
406 | +.mb0 { | |
407 | + margin-bottom: 0rem; | |
408 | +} | |
409 | + | |
410 | +.mb5 { | |
411 | + margin-bottom: 0.5rem; | |
412 | +} | |
413 | + | |
414 | +.mb10 { | |
415 | + margin-bottom: 1rem; | |
416 | +} | |
417 | +.mb15{margin-bottom: 15px;} | |
418 | +.mb20 { | |
419 | + margin-bottom: 2rem; | |
420 | +} | |
421 | +.mb25{margin-bottom: 25px;} | |
422 | +.mb30 { | |
423 | + margin-bottom: 3rem; | |
424 | +} | |
425 | + | |
426 | +.mb40 { | |
427 | + margin-bottom: 4rem; | |
428 | +} | |
429 | + | |
430 | +.mb50 { | |
431 | + margin-bottom: 5rem; | |
432 | +} | |
433 | + | |
434 | +.mb60 { | |
435 | + margin-bottom: 6rem; | |
436 | +} | |
437 | +.mb65{ | |
438 | + margin-bottom: 65px; | |
439 | +} | |
440 | +.mb70 { | |
441 | + margin-bottom: 7rem; | |
442 | +} | |
443 | + | |
444 | +.mb80 { | |
445 | + margin-bottom: 8rem; | |
446 | +} | |
447 | + | |
448 | +.mb90 { | |
449 | + margin-bottom: 9rem; | |
450 | +} | |
451 | + | |
452 | +.mb100 { | |
453 | + margin-bottom: 10rem; | |
454 | +} | |
455 | + | |
456 | +/* 패딩 */ | |
457 | +.pd0 { | |
458 | + padding: 0; | |
459 | +} | |
460 | + | |
461 | +.pd5 { | |
462 | + padding: 0.5rem; | |
463 | +} | |
464 | + | |
465 | +.pd10 { | |
466 | + padding: 1rem; | |
467 | +} | |
468 | + | |
469 | +.pd20 { | |
470 | + padding: 2rem; | |
471 | +} | |
472 | + | |
473 | +.pd30 { | |
474 | + padding: 3rem; | |
475 | +} | |
476 | + | |
477 | +.pd40 { | |
478 | + padding: 4rem; | |
479 | +} | |
480 | + | |
481 | +.pd50 { | |
482 | + padding: 5rem; | |
483 | +} | |
484 | + | |
485 | +.pd60 { | |
486 | + padding: 6rem; | |
487 | +} | |
488 | + | |
489 | +.pd70 { | |
490 | + padding: 7rem; | |
491 | +} | |
492 | + | |
493 | +.pd80 { | |
494 | + padding: 8rem; | |
495 | +} | |
496 | + | |
497 | +.pd90 { | |
498 | + padding: 9rem; | |
499 | +} | |
500 | + | |
501 | +.pd100 { | |
502 | + padding: 10rem; | |
503 | +} | |
504 | + | |
505 | +/* 패딩 top */ | |
506 | + | |
507 | +.pt0 { | |
508 | + padding-top: 0; | |
509 | +} | |
510 | + | |
511 | +.pt5 { | |
512 | + padding-top: 0.5rem; | |
513 | +} | |
514 | + | |
515 | +.pt10 { | |
516 | + padding-top: 1rem; | |
517 | +} | |
518 | + | |
519 | +.pt20 { | |
520 | + padding-top: 2rem; | |
521 | +} | |
522 | + | |
523 | +.pt30 { | |
524 | + padding-top: 3rem; | |
525 | +} | |
526 | + | |
527 | +.pt40 { | |
528 | + padding-top: 4rem; | |
529 | +} | |
530 | + | |
531 | +.pt50 { | |
532 | + padding-top: 5rem; | |
533 | +} | |
534 | + | |
535 | +.pt60 { | |
536 | + padding-top: 6rem; | |
537 | +} | |
538 | + | |
539 | +.pt70 { | |
540 | + padding-top: 7rem; | |
541 | +} | |
542 | + | |
543 | +.pt80 { | |
544 | + padding-top: 8rem; | |
545 | +} | |
546 | + | |
547 | +.pt90 { | |
548 | + padding-top: 9rem; | |
549 | +} | |
550 | + | |
551 | +.pt100 { | |
552 | + padding-top: 10rem; | |
553 | +} | |
554 | +.pt120 { | |
555 | + padding-top: 12rem; | |
556 | +} | |
557 | + | |
558 | +.pb0 { | |
559 | + padding-bottom: 0; | |
560 | +} | |
561 | + | |
562 | +/* 패딩 bottom */ | |
563 | +.pb5 { | |
564 | + padding-bottom: 0.5rem; | |
565 | +} | |
566 | + | |
567 | +.pb10 { | |
568 | + padding-bottom: 1rem; | |
569 | +} | |
570 | +.pb15 { | |
571 | + padding-bottom: 1.5rem; | |
572 | +} | |
573 | + | |
574 | +.pb20 { | |
575 | + padding-bottom: 2rem; | |
576 | +} | |
577 | + | |
578 | +.pb30 { | |
579 | + padding-bottom: 3rem; | |
580 | +} | |
581 | + | |
582 | +.pb40 { | |
583 | + padding-bottom: 4rem; | |
584 | +} | |
585 | + | |
586 | +.pb50 { | |
587 | + padding-bottom: 5rem; | |
588 | +} | |
589 | + | |
590 | +.pb60 { | |
591 | + padding-bottom: 6rem; | |
592 | +} | |
593 | + | |
594 | +.pb70 { | |
595 | + padding-bottom: 7rem; | |
596 | +} | |
597 | + | |
598 | +.pb80 { | |
599 | + padding-bottom: 8rem; | |
600 | +} | |
601 | + | |
602 | +.pb90 { | |
603 | + padding-bottom: 9rem; | |
604 | +} | |
605 | + | |
606 | +.pb100 { | |
607 | + padding-bottom: 10rem; | |
608 | +} | |
609 | +.pb120 { | |
610 | + padding-bottom: 12rem; | |
611 | +} | |
612 | + | |
613 | +/* 패딩 left */ | |
614 | +.pl0 { | |
615 | + padding-left: 0rem; | |
616 | +} | |
617 | +.pl5 { | |
618 | + padding-left: 0.5rem; | |
619 | +} | |
620 | + | |
621 | +.pl10 { | |
622 | + padding-left: 1rem; | |
623 | +} | |
624 | + | |
625 | +.pl20 { | |
626 | + padding-left: 2rem; | |
627 | +} | |
628 | + | |
629 | +.pl30 { | |
630 | + padding-left: 3rem; | |
631 | +} | |
632 | + | |
633 | +.pl40 { | |
634 | + padding-left: 4rem; | |
635 | +} | |
636 | + | |
637 | +.pl50 { | |
638 | + padding-left: 5rem; | |
639 | +} | |
640 | + | |
641 | +.pl60 { | |
642 | + padding-left: 6rem; | |
643 | +} | |
644 | + | |
645 | +.pl70 { | |
646 | + padding-left: 7rem; | |
647 | +} | |
648 | + | |
649 | +.pl80 { | |
650 | + padding-left: 8rem; | |
651 | +} | |
652 | + | |
653 | +.pl90 { | |
654 | + padding-left: 9rem; | |
655 | +} | |
656 | + | |
657 | +.pl100 { | |
658 | + padding-left: 10rem; | |
659 | +} | |
660 | + | |
661 | +/* 패딩 right */ | |
662 | +.pr0 { | |
663 | + padding-right: 0rem; | |
664 | +} | |
665 | +.pr5 { | |
666 | + padding-right: 0.5rem; | |
667 | +} | |
668 | + | |
669 | +.pr10 { | |
670 | + padding-right: 1rem; | |
671 | +} | |
672 | + | |
673 | +.pr20 { | |
674 | + padding-right: 2rem; | |
675 | +} | |
676 | + | |
677 | +.pr30 { | |
678 | + padding-right: 3rem; | |
679 | +} | |
680 | + | |
681 | +.pr40 { | |
682 | + padding-right: 4rem; | |
683 | +} | |
684 | + | |
685 | +.pr50 { | |
686 | + padding-right: 5rem; | |
687 | +} | |
688 | + | |
689 | +.pr60 { | |
690 | + padding-right: 6rem; | |
691 | +} | |
692 | + | |
693 | +.pr70 { | |
694 | + padding-right: 7rem; | |
695 | +} | |
696 | + | |
697 | +.pr80 { | |
698 | + padding-right: 8rem; | |
699 | +} | |
700 | + | |
701 | +.pr90 { | |
702 | + padding-right: 9rem; | |
703 | +} | |
704 | + | |
705 | +.pr100 { | |
706 | + padding-right: 10rem; | |
707 | +} | |
708 | + | |
709 | +/* btn */ | |
710 | +.small-btn { | |
711 | + width: 120px; | |
712 | + padding: 5px 10px; | |
713 | + border-radius: 5px; | |
714 | +} | |
715 | + | |
716 | +.set-btn { | |
717 | + width: 50px; | |
718 | + padding: 5px 10px; | |
719 | + border-radius: 5px; | |
720 | +} | |
721 | + | |
722 | +.large-btn { | |
723 | + width: 100%; | |
724 | + padding: 5px 15px; | |
725 | + border-radius: 5px; | |
726 | +} | |
727 | + | |
728 | +.icon-btn { | |
729 | + padding: 5px; | |
730 | + border-radius: 50%; | |
731 | + | |
732 | +} | |
733 | + | |
734 | +.custom-toggle { | |
735 | + position: absolute; | |
736 | + bottom: 0; | |
737 | + background-color: var(--color-skyBlue); | |
738 | + margin-left: 0; | |
739 | + border: 1px solid #eee; | |
740 | + border-left: 0; | |
741 | +} | |
742 | + | |
743 | +.custom-toggle::after { | |
744 | + content: ""; | |
745 | + position: absolute; | |
746 | + left: 0; | |
747 | + width: 5px; | |
748 | + height: 5px; | |
749 | + background-color: var(--color-skyBlue); | |
750 | + bottom: 0; | |
751 | +} | |
752 | + | |
753 | +.logout-btn { | |
754 | + padding: 5px 10px; | |
755 | + color: #aaa; | |
756 | + position: relative; | |
757 | +} | |
758 | + | |
759 | +.logout-btn::before { | |
760 | + content: ""; | |
761 | + width: 1px; | |
762 | + height: 10px; | |
763 | + position: absolute; | |
764 | + top: 50%; | |
765 | + left: 0; | |
766 | + transform: translateY(-50%); | |
767 | + background-color: #aaa; | |
768 | +} | |
769 | + | |
770 | +.close-btn { | |
771 | + color: #d6def6; | |
772 | +} | |
773 | + | |
774 | +.style-btn { | |
775 | + border: 1px solid #eee; | |
776 | + border-radius: 3px; | |
777 | + background-color: var(--color-white); | |
778 | +} | |
779 | + | |
780 | +.style-btn>svg { | |
781 | + color: #aaa; | |
782 | +} | |
783 | + | |
784 | +.btn-active { | |
785 | + border: 1px solid var(--color-blue); | |
786 | +} | |
787 | + | |
788 | +.btn-active>svg { | |
789 | + color: var(--color-blue); | |
790 | +} | |
791 | + | |
792 | +.attribute-btn { | |
793 | + position: relative; | |
794 | +} | |
795 | + | |
796 | +.blue-btn, | |
797 | +.blue-border-btn:hover { | |
798 | + background-color: var(--color-blue); | |
799 | + color: var(--color-white); | |
800 | + transition: all 0.3s ease-in-out; | |
801 | +} | |
802 | + | |
803 | +.red-btn, | |
804 | +.red-border-btn:hover { | |
805 | + background-color: var(--color-red); | |
806 | + color: var(--color-white); | |
807 | + transition: all 0.3s ease-in-out; | |
808 | +} | |
809 | + | |
810 | +.green-btn, | |
811 | +.green-border-btn:hover { | |
812 | + background-color: var(--color-green); | |
813 | + color: var(--color-white); | |
814 | + transition: all 0.3s ease-in-out; | |
815 | +} | |
816 | + | |
817 | +.orange-btn, | |
818 | +.orange-border-btn:hover { | |
819 | + background-color: var(--color-orange); | |
820 | + color: var(--color-white); | |
821 | + transition: all 0.3s ease-in-out; | |
822 | +} | |
823 | + | |
824 | +.darkg-btn, | |
825 | +.darkg-border-btn:hover { | |
826 | + background-color: var(--color-darkG); | |
827 | + color: var(--color-white); | |
828 | + transition: all 0.3s ease-in-out; | |
829 | +} | |
830 | + | |
831 | +.gray-btn, | |
832 | +.gray-border-btn:hover { | |
833 | + background-color: #eee; | |
834 | + color: #333; | |
835 | + transition: all 0.3s ease-in-out; | |
836 | +} | |
837 | + | |
838 | + | |
839 | +.blue-border-btn { | |
840 | + border: 1px solid var(--color-blue); | |
841 | + color: var(--color-blue); | |
842 | + background-color: var(--color-white); | |
843 | +} | |
844 | + | |
845 | +.red-border-btn { | |
846 | + border: 1px solid var(--color-red); | |
847 | + color: var(--color-red); | |
848 | + background-color: var(--color-white); | |
849 | +} | |
850 | + | |
851 | +.green-border-btn { | |
852 | + border: 1px solid var(--color-green); | |
853 | + color: var(--color-green); | |
854 | + background-color: var(--color-white); | |
855 | +} | |
856 | + | |
857 | +.orange-border-btn { | |
858 | + border: 1px solid var(--color-orange); | |
859 | + color: var(--color-orange); | |
860 | + background-color: #fff; | |
861 | +} | |
862 | + | |
863 | +.darkg-border-btn { | |
864 | + border: 1px solid #434343; | |
865 | + color: #434343; | |
866 | + background-color: var(--color-white); | |
867 | +} | |
868 | + | |
869 | +.gray-border-btn { | |
870 | + border: 1px solid #aaa; | |
871 | + color: #aaa; | |
872 | + background-color: var(--color-white); | |
873 | +} | |
874 | + | |
875 | +.tp-btn { | |
876 | + background-color: transparent; | |
877 | + width: 15px; | |
878 | + height: 15px; | |
879 | + margin-left: 10px; | |
880 | +} | |
881 | + | |
882 | +button:disabled { | |
883 | + background-color: #eee; | |
884 | + color: #333; | |
885 | +} | |
886 | + | |
887 | +/* .del-icon-btn{ | |
888 | + width: 25px; | |
889 | + height: 25px; | |
890 | + padding: 5px; | |
891 | + background-color: var(--color-red); | |
892 | + color: var(--color-white); | |
893 | + border-radius: 50%; | |
894 | +} | |
895 | + | |
896 | +.set-icon-btn{ | |
897 | + width: 25px; | |
898 | + height: 25px; | |
899 | + padding: 5px; | |
900 | + background-color: var(--color-darkG); | |
901 | + color: var(--color-white); | |
902 | + border-radius: 50%; | |
903 | +} */ | |
904 | + | |
905 | + | |
906 | + | |
907 | +/* text 정렬 */ | |
908 | +.text-lf { | |
909 | + text-align: left; | |
910 | +} | |
911 | + | |
912 | +.text-ct { | |
913 | + text-align: center; | |
914 | +} | |
915 | + | |
916 | +.text-rg { | |
917 | + text-align: right; | |
918 | +} | |
919 | + | |
920 | +/* text color */ | |
921 | +.orange { | |
922 | + color: var(--color-orange); | |
923 | +} | |
924 | + | |
925 | +.green { | |
926 | + color: var(--color-green); | |
927 | +} | |
928 | + | |
929 | +.blue { | |
930 | + color: var(--color-blue); | |
931 | +} | |
932 | + | |
933 | +.red { | |
934 | + color: var(--color-red); | |
935 | +} | |
936 | + | |
937 | +.cursor { | |
938 | + cursor: pointer; | |
939 | +} | |
940 | + | |
941 | + | |
942 | +/* checkbox settings */ | |
943 | +input[type="radio"] { | |
944 | + display: inline-block; | |
945 | + width: 18px !important; | |
946 | + height: 18px; | |
947 | + margin: -2px 10px 0 0; | |
948 | + vertical-align: middle; | |
949 | + cursor: pointer; | |
950 | + -moz-border-radius: 50%; | |
951 | + border-radius: 50%; | |
952 | + border: 3px solid #ffffff; | |
953 | + accent-color: #00A8BA; | |
954 | +} | |
955 | + /* Global CSS */ | |
956 | + fieldset { | |
957 | + display: flex; | |
958 | + justify-content: center; | |
959 | + border: none; | |
960 | + margin: 0; | |
961 | + padding: 40px 20px; | |
962 | + } | |
963 | + | |
964 | + *, | |
965 | + *::before, | |
966 | + *::after { | |
967 | + box-sizing: border-box; | |
968 | + } | |
969 | +.ui-checkbox { | |
970 | + --primary-color: #00A8BA; | |
971 | + --secondary-color: #fff; | |
972 | + --primary-hover-color: #00A8BA; | |
973 | + /* checkbox */ | |
974 | + --checkbox-diameter: 22px; | |
975 | + --checkbox-border-radius: 3px; | |
976 | + --checkbox-border-color: #d9d9d9; | |
977 | + --checkbox-border-width: 1px; | |
978 | + --checkbox-border-style: solid; | |
979 | + /* checkmark */ | |
980 | + --checkmark-size: 1.2; | |
981 | + | |
982 | + } | |
983 | + | |
984 | + .ui-checkbox, | |
985 | + .ui-checkbox *, | |
986 | + .ui-checkbox *::before, | |
987 | + .ui-checkbox *::after { | |
988 | + -webkit-box-sizing: border-box; | |
989 | + box-sizing: border-box; | |
990 | + } | |
991 | + | |
992 | + .ui-checkbox { | |
993 | + -webkit-appearance: none; | |
994 | + -moz-appearance: none; | |
995 | + appearance: none; | |
996 | + width: var(--checkbox-diameter); | |
997 | + height: var(--checkbox-diameter); | |
998 | + border-radius: var(--checkbox-border-radius); | |
999 | + background: var(--secondary-color); | |
1000 | + border: var(--checkbox-border-width) var(--checkbox-border-style) var(--checkbox-border-color); | |
1001 | + -webkit-transition: all 0.3s; | |
1002 | + -o-transition: all 0.3s; | |
1003 | + transition: all 0.3s; | |
1004 | + cursor: pointer; | |
1005 | + position: relative; | |
1006 | + } | |
1007 | + | |
1008 | + .ui-checkbox::after { | |
1009 | + content: ""; | |
1010 | + position: absolute; | |
1011 | + top: 0; | |
1012 | + left: 0; | |
1013 | + right: 0; | |
1014 | + bottom: 0; | |
1015 | + -webkit-box-shadow: 0 0 0 calc(var(--checkbox-diameter) / 2.5) var(--primary-color); | |
1016 | + box-shadow: 0 0 0 calc(var(--checkbox-diameter) / 2.5) var(--primary-color); | |
1017 | + border-radius: inherit; | |
1018 | + opacity: 0; | |
1019 | + -webkit-transition: all 0.5s cubic-bezier(0.12, 0.4, 0.29, 1.46); | |
1020 | + -o-transition: all 0.5s cubic-bezier(0.12, 0.4, 0.29, 1.46); | |
1021 | + transition: all 0.5s cubic-bezier(0.12, 0.4, 0.29, 1.46); | |
1022 | + } | |
1023 | + | |
1024 | + .ui-checkbox::before { | |
1025 | + top: 40%; | |
1026 | + left: 50%; | |
1027 | + content: ""; | |
1028 | + position: absolute; | |
1029 | + width: 4px; | |
1030 | + height: 7px; | |
1031 | + border-right: 2px solid var(--secondary-color); | |
1032 | + border-bottom: 2px solid var(--secondary-color); | |
1033 | + -webkit-transform: translate(-50%, -50%) rotate(45deg) scale(0); | |
1034 | + -ms-transform: translate(-50%, -50%) rotate(45deg) scale(0); | |
1035 | + transform: translate(-50%, -50%) rotate(45deg) scale(0); | |
1036 | + opacity: 0; | |
1037 | + -webkit-transition: all 0.1s cubic-bezier(0.71, -0.46, 0.88, 0.6),opacity 0.1s; | |
1038 | + -o-transition: all 0.1s cubic-bezier(0.71, -0.46, 0.88, 0.6),opacity 0.1s; | |
1039 | + transition: all 0.1s cubic-bezier(0.71, -0.46, 0.88, 0.6),opacity 0.1s; | |
1040 | + } | |
1041 | + | |
1042 | + /* actions */ | |
1043 | + | |
1044 | + .ui-checkbox:hover { | |
1045 | + border-color: var(--primary-color); | |
1046 | + } | |
1047 | + | |
1048 | + .ui-checkbox:checked { | |
1049 | + background: var(--primary-color); | |
1050 | + border-color: transparent; | |
1051 | + } | |
1052 | + | |
1053 | + .ui-checkbox:checked::before { | |
1054 | + opacity: 1; | |
1055 | + -webkit-transform: translate(-50%, -50%) rotate(45deg) scale(var(--checkmark-size)); | |
1056 | + -ms-transform: translate(-50%, -50%) rotate(45deg) scale(var(--checkmark-size)); | |
1057 | + transform: translate(-50%, -50%) rotate(45deg) scale(var(--checkmark-size)); | |
1058 | + -webkit-transition: all 0.2s cubic-bezier(0.12, 0.4, 0.29, 1.46) 0.1s; | |
1059 | + -o-transition: all 0.2s cubic-bezier(0.12, 0.4, 0.29, 1.46) 0.1s; | |
1060 | + transition: all 0.2s cubic-bezier(0.12, 0.4, 0.29, 1.46) 0.1s; | |
1061 | + } | |
1062 | + | |
1063 | + .ui-checkbox:active:not(:checked)::after { | |
1064 | + -webkit-transition: none; | |
1065 | + -o-transition: none; | |
1066 | + -webkit-box-shadow: none; | |
1067 | + box-shadow: none; | |
1068 | + transition: none; | |
1069 | + opacity: 1; | |
1070 | + } | |
1071 | + | |
1072 | + (파일 끝에 줄바꿈 문자 없음) |
+++ client/resources/css/grid.css
... | ... | @@ -0,0 +1,331 @@ |
1 | +@charset "utf-8"; | |
2 | + | |
3 | +.container { | |
4 | + width: 100%; | |
5 | + padding-right: 15px; | |
6 | + padding-left: 15px; | |
7 | + margin-right: auto; | |
8 | + margin-left: auto; | |
9 | + | |
10 | +} | |
11 | + | |
12 | +/* | |
13 | +@media (min-width: 576px) { | |
14 | + .container { | |
15 | + max-width: 540px; | |
16 | + } | |
17 | +} | |
18 | + | |
19 | +@media (min-width: 768px) { | |
20 | + .container { | |
21 | + max-width: 720px; | |
22 | + } | |
23 | +} | |
24 | + | |
25 | +@media (min-width: 992px) { | |
26 | + .container { | |
27 | + max-width: 960px; | |
28 | + } | |
29 | +} | |
30 | + | |
31 | +@media (min-width: 1480px) { | |
32 | + .container { | |
33 | + max-width: 1140px; | |
34 | + } | |
35 | +} */ | |
36 | + | |
37 | +.flex-column { | |
38 | + display: flex; | |
39 | + flex-direction: column; | |
40 | +} | |
41 | + | |
42 | +.no-space { | |
43 | + margin-right: 0; | |
44 | + margin-left: 0; | |
45 | + padding-right: 0 !important; | |
46 | + padding-left: 0 !important; | |
47 | +} | |
48 | + | |
49 | + | |
50 | +.no-space>.gd, | |
51 | +.no-space>[class*="gd-"] { | |
52 | + padding-right: 0; | |
53 | + padding-left: 0; | |
54 | +} | |
55 | + | |
56 | +.gd-1, | |
57 | +.gd-2, | |
58 | +.gd-3, | |
59 | +.gd-4, | |
60 | +.gd-5, | |
61 | +.gd-6, | |
62 | +.gd-7, | |
63 | +.gd-8, | |
64 | +.gd-9, | |
65 | +.gd-10, | |
66 | +.gd-11, | |
67 | +.gd-12, | |
68 | +.gd, | |
69 | +.gd-auto, | |
70 | +.gd-sm-1, | |
71 | +.gd-sm-2, | |
72 | +.gd-sm-3, | |
73 | +.gd-sm-4, | |
74 | +.gd-sm-5, | |
75 | +.gd-sm-6, | |
76 | +.gd-sm-7, | |
77 | +.gd-sm-8, | |
78 | +.gd-sm-9, | |
79 | +.gd-sm-10, | |
80 | +.gd-sm-11, | |
81 | +.gd-sm-12, | |
82 | +.gd-sm, | |
83 | +.gd-sm-auto, | |
84 | +.gd-md-1, | |
85 | +.gd-md-2, | |
86 | +.gd-md-3, | |
87 | +.gd-md-4, | |
88 | +.gd-md-5, | |
89 | +.gd-md-6, | |
90 | +.gd-md-7, | |
91 | +.gd-md-8, | |
92 | +.gd-md-9, | |
93 | +.gd-md-10, | |
94 | +.gd-md-11, | |
95 | +.gd-md-12, | |
96 | +.gd-md, | |
97 | +.gd-md-auto, | |
98 | +.gd-lg-1, | |
99 | +.gd-lg-2, | |
100 | +.gd-lg-3, | |
101 | +.gd-lg-4, | |
102 | +.gd-lg-5, | |
103 | +.gd-lg-6, | |
104 | +.gd-lg-7, | |
105 | +.gd-lg-8, | |
106 | +.gd-lg-9, | |
107 | +.gd-lg-10, | |
108 | +.gd-lg-11, | |
109 | +.gd-lg-12, | |
110 | +.gd-lg, | |
111 | +.gd-lg-auto, | |
112 | +.gd-xl-1, | |
113 | +.gd-xl-2, | |
114 | +.gd-xl-3, | |
115 | +.gd-xl-4, | |
116 | +.gd-xl-5, | |
117 | +.gd-xl-6, | |
118 | +.gd-xl-7, | |
119 | +.gd-xl-8, | |
120 | +.gd-xl-9, | |
121 | +.gd-xl-10, | |
122 | +.gd-xl-11, | |
123 | +.gd-xl-12, | |
124 | +.gd-xl, | |
125 | +.gd-xl-auto { | |
126 | + position: relative; | |
127 | + width: 100%; | |
128 | + min-height: 1px; | |
129 | +} | |
130 | + | |
131 | + | |
132 | +.gd { | |
133 | + -ms-flex-preferred-size: 0; | |
134 | + flex-basis: 0; | |
135 | + -ms-flex-positive: 1; | |
136 | + flex-grow: 1; | |
137 | + max-width: 100%; | |
138 | +} | |
139 | + | |
140 | +.gd-auto { | |
141 | + -ms-flex: 0 0 auto; | |
142 | + flex: 0 0 auto; | |
143 | + width: auto; | |
144 | + max-width: none; | |
145 | +} | |
146 | + | |
147 | +.gd-1 { | |
148 | + -ms-flex: 0 0 8.333333%; | |
149 | + flex: 0 0 8.333333%; | |
150 | + max-width: 8.333333%; | |
151 | +} | |
152 | + | |
153 | +.gd-2 { | |
154 | + -ms-flex: 0 0 16.666667%; | |
155 | + flex: 0 0 16.666667%; | |
156 | + max-width: 16.666667%; | |
157 | +} | |
158 | + | |
159 | +.gd-3 { | |
160 | + -ms-flex: 0 0 25%; | |
161 | + flex: 0 0 25%; | |
162 | + max-width: 25%; | |
163 | +} | |
164 | + | |
165 | +.gd-4 { | |
166 | + -ms-flex: 0 0 33.333333%; | |
167 | + flex: 0 0 33.333333%; | |
168 | + max-width: 33.333333%; | |
169 | +} | |
170 | + | |
171 | +.gd-5 { | |
172 | + -ms-flex: 0 0 41.666667%; | |
173 | + flex: 0 0 41.666667%; | |
174 | + max-width: 41.666667%; | |
175 | +} | |
176 | + | |
177 | +.gd-6 { | |
178 | + -ms-flex: 0 0 50%; | |
179 | + flex: 0 0 50%; | |
180 | + max-width: 50%; | |
181 | +} | |
182 | + | |
183 | +.gd-7 { | |
184 | + -ms-flex: 0 0 58.333333%; | |
185 | + flex: 0 0 58.333333%; | |
186 | + max-width: 58.333333%; | |
187 | +} | |
188 | + | |
189 | +.gd-8 { | |
190 | + -ms-flex: 0 0 66.666667%; | |
191 | + flex: 0 0 66.666667%; | |
192 | + max-width: 66.666667%; | |
193 | +} | |
194 | + | |
195 | +.gd-9 { | |
196 | + -ms-flex: 0 0 75%; | |
197 | + flex: 0 0 75%; | |
198 | + max-width: 75%; | |
199 | +} | |
200 | + | |
201 | +.gd-10 { | |
202 | + -ms-flex: 0 0 83.333333%; | |
203 | + flex: 0 0 83.333333%; | |
204 | + max-width: 83.333333%; | |
205 | +} | |
206 | + | |
207 | +.gd-11 { | |
208 | + -ms-flex: 0 0 91.666667%; | |
209 | + flex: 0 0 91.666667%; | |
210 | + max-width: 91.666667%; | |
211 | +} | |
212 | + | |
213 | +.gd-12 { | |
214 | + -ms-flex: 0 0 100%; | |
215 | + flex: 0 0 100%; | |
216 | + max-width: 100%; | |
217 | +} | |
218 | +.gd-col2{ display: grid; | |
219 | + grid-template-columns: 1fr 1fr; | |
220 | + } | |
221 | + | |
222 | + | |
223 | +.justify-start { | |
224 | + justify-content: flex-start; | |
225 | +} | |
226 | + | |
227 | +.justify-center { | |
228 | + justify-content: center; | |
229 | +} | |
230 | + | |
231 | +.justify-end { | |
232 | + justify-content: flex-end; | |
233 | +} | |
234 | + | |
235 | +.justify-between { | |
236 | + justify-content: space-between; | |
237 | +} | |
238 | + | |
239 | +.justify-around { | |
240 | + justify-content: space-around; | |
241 | +} | |
242 | + | |
243 | +.align-start { | |
244 | + align-items: flex-start; | |
245 | +} | |
246 | + | |
247 | + | |
248 | +.align-center { | |
249 | + align-items: center; | |
250 | +} | |
251 | + | |
252 | +.align-end { | |
253 | + align-items: flex-end; | |
254 | +} | |
255 | + | |
256 | +.flex-auto { | |
257 | + flex: 0 0 auto; | |
258 | +} | |
259 | + | |
260 | +.flex1 { | |
261 | + flex: 1; | |
262 | +} | |
263 | + | |
264 | +.flex2 { | |
265 | + flex: 2; | |
266 | +} | |
267 | + | |
268 | +.flex3 { | |
269 | + flex: 3; | |
270 | +} | |
271 | + | |
272 | +.flex4 { | |
273 | + flex: 4; | |
274 | +} | |
275 | + | |
276 | +.flex5 { | |
277 | + flex: 5; | |
278 | +} | |
279 | + | |
280 | +.flex6 { | |
281 | + flex: 6; | |
282 | +} | |
283 | + | |
284 | +.flex7 { | |
285 | + flex: 7; | |
286 | +} | |
287 | + | |
288 | +.flex8 { | |
289 | + flex: 8; | |
290 | +} | |
291 | + | |
292 | + | |
293 | +.gap1 { | |
294 | + gap: 1%; | |
295 | +} | |
296 | + | |
297 | +.gap2 { | |
298 | + gap: 2%; | |
299 | +} | |
300 | + | |
301 | +.gap3 { | |
302 | + gap: 3%; | |
303 | +} | |
304 | + | |
305 | +.gap4 { | |
306 | + gap: 4%; | |
307 | +} | |
308 | + | |
309 | +.gap5 { | |
310 | + gap: 5%; | |
311 | +} | |
312 | + | |
313 | +.gap6 { | |
314 | + gap: 6%; | |
315 | +} | |
316 | + | |
317 | +.gap7 { | |
318 | + gap: 7%; | |
319 | +} | |
320 | + | |
321 | +.gap8 { | |
322 | + gap: 8%; | |
323 | +} | |
324 | + | |
325 | +.gap9 { | |
326 | + gap: 9%; | |
327 | +} | |
328 | + | |
329 | +.gap10 { | |
330 | + gap: 10%; | |
331 | +}(파일 끝에 줄바꿈 문자 없음) |
+++ client/resources/css/reset.css
... | ... | @@ -0,0 +1,76 @@ |
1 | +@charset "utf-8"; | |
2 | +@font-face { | |
3 | + font-family: 'Pretendard'; | |
4 | + font-weight: 100; | |
5 | + font-display: swap; | |
6 | + src: local('Pretendard Thin'), url(../font/Pretendard-Thin.woff2) format('woff2'), url(../font/Pretendard-Thin.woff) format('woff'); | |
7 | +} | |
8 | +@font-face { | |
9 | + font-family: 'Pretendard-Bold'; | |
10 | + font-weight: 100; | |
11 | + font-display: swap; | |
12 | + src: local('Pretendard Bold'), url(../font/Pretendard-Bold.woff2) format('woff2'), url(../font/Pretendard-Bold.woff2) format('woff'); | |
13 | +} | |
14 | +@font-face { | |
15 | + font-family: 'Pretendard-Regular'; | |
16 | + font-weight: 100; | |
17 | + font-display: swap; | |
18 | + src: local('Pretendard Regular'), url(../font/Pretendard-Regular.woff2) format('woff2'), url(../font/Pretendard-Regular.woff2) format('woff'); | |
19 | +} | |
20 | + | |
21 | +@font-face { | |
22 | + font-family: 'ONEMobilePOP'; | |
23 | + src: url('../font/ONEMobilePOP.ttf') format('truetype'); | |
24 | +} | |
25 | +@font-face { | |
26 | + font-family: 'ONEMobileOTF-Regular'; | |
27 | + src: url('../font/ONEMobileOTF-Regular.otf') format('opentype'); | |
28 | +} | |
29 | +@font-face { | |
30 | + font-family: 'ONEMobileOTF-Light'; | |
31 | + src: url('../font/ONEMobileOTF-Light.otf') format('opentype'); | |
32 | +} | |
33 | +@font-face { | |
34 | + font-family: 'ONEMobileOTF-Bold'; | |
35 | + src: url('../font/ONEMobileOTF-Bold.otf') format('opentype'); | |
36 | +} | |
37 | +@font-face { | |
38 | + font-family: 'ONEMobilePOPOTF'; | |
39 | + src: url('../font/ONEMobilePOPOTF.otf') format('opentype'); | |
40 | +} | |
41 | + | |
42 | + | |
43 | +* { | |
44 | + padding: 0; | |
45 | + margin: 0; | |
46 | + box-sizing: border-box; | |
47 | +} | |
48 | + | |
49 | + | |
50 | +html, | |
51 | +body, | |
52 | +#root { | |
53 | + font-size: 10px; | |
54 | + color: #2E2F30; | |
55 | + font-family: 'ONEMobileOTF-Regular'; | |
56 | +} | |
57 | +html, | |
58 | +body{height: 100%} | |
59 | +body{position:relative;text-align: left; overflow-x: hidden; width: 1920px;} | |
60 | +::-webkit-scrollbar {width: 10px; } | |
61 | +::-webkit-scrollbar-track {border-radius: 5px;background-color: #EAEDF4;} | |
62 | +::-webkit-scrollbar-thumb { border-radius: 5px; background-color: #FFBA08;} | |
63 | +#root{padding: 15px 60px 90px 60px; | |
64 | + height: 920px; | |
65 | + background-color: #eaedf4;} | |
66 | +input, select, span,p, label { | |
67 | + font-size: 16px; | |
68 | +} | |
69 | +input::placeholder{color: #8C8E92;} | |
70 | + | |
71 | +button{ | |
72 | + border: none; | |
73 | + background-color: transparent; | |
74 | + cursor: pointer; | |
75 | +} | |
76 | +textarea{resize: none; border: 0; outline: 0; font-size: 20px; font-family: 'ONEMobileOTF-Regular';}(파일 끝에 줄바꿈 문자 없음) |
+++ client/resources/css/style.css
... | ... | @@ -0,0 +1,445 @@ |
1 | +/* 로그인페이지 */ | |
2 | +.login-container { | |
3 | + padding: 40px 60px; | |
4 | +} | |
5 | + | |
6 | +.login h2 { | |
7 | + font-size: 30px; | |
8 | + color: #fff; | |
9 | + font-family: 'ONEMobilePOPOTF'; | |
10 | +} | |
11 | + | |
12 | +.login-bg { | |
13 | + position: absolute; | |
14 | + z-index: -10; | |
15 | + left: 0; | |
16 | + top: 0; | |
17 | +} | |
18 | + | |
19 | +.login-box { | |
20 | + width: 712px; | |
21 | + /* height: 560px; */ | |
22 | + margin: 0 auto; | |
23 | +} | |
24 | + | |
25 | +.login-form { | |
26 | + background-color: #fff; | |
27 | + padding: 60px 45px; | |
28 | + border-radius: 20px; | |
29 | +} | |
30 | + | |
31 | +.login-form p { | |
32 | + font-family: 'ONEMobileOTF-Bold'; | |
33 | + font-size: 24px; | |
34 | +} | |
35 | + | |
36 | +.login-form input { | |
37 | + border: 3px solid #FFD56B; | |
38 | + border-radius: 10px; | |
39 | + padding: 22px 19px; | |
40 | + width: 100%; | |
41 | + font-size: 24px; | |
42 | +} | |
43 | + | |
44 | +.login-btn { | |
45 | + position: relative; | |
46 | +} | |
47 | + | |
48 | +.login-btn p { | |
49 | + position: absolute; | |
50 | + top: 42%; | |
51 | + left: 50%; | |
52 | + transform: translate(-50%, -50%); | |
53 | + font-family: 'ONEMobilePOPOTF'; | |
54 | + font-size: 36px; | |
55 | +} | |
56 | + | |
57 | + | |
58 | +/* 레이아웃 */ | |
59 | +.side { | |
60 | + width: 42rem; | |
61 | +} | |
62 | + | |
63 | +.main-wrap { | |
64 | + box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); | |
65 | + padding: 65px 15px 70px 60px; | |
66 | +} | |
67 | + | |
68 | +.main-wrap { | |
69 | + width: 134rem; | |
70 | + height: 70rem; | |
71 | + background-color: #fff; | |
72 | + border-radius: 10px; | |
73 | + position: absolute; | |
74 | + right: 60px; | |
75 | + top: 179px; | |
76 | + z-index: 1; | |
77 | +} | |
78 | + | |
79 | +.header img { | |
80 | + margin-left: 20px; | |
81 | + object-fit: contain; | |
82 | +} | |
83 | + | |
84 | +/* 사이드 */ | |
85 | +.side button p { | |
86 | + font-size: 24px; | |
87 | +} | |
88 | + | |
89 | +.side .profile { | |
90 | + height: 24rem; | |
91 | + background-color: #fff; | |
92 | + border-radius: 10px; | |
93 | + padding: 25px 48px; | |
94 | + font-size: 16px; | |
95 | + font-family: 'ONEMobileOTF-Regular'; | |
96 | + box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); | |
97 | +} | |
98 | + | |
99 | +.side .profile .name { | |
100 | + font-family: 'ONEMobilePOPOTF'; | |
101 | + font-size: 24px; | |
102 | +} | |
103 | + | |
104 | +.side .profile img { | |
105 | + object-fit: contain; | |
106 | +} | |
107 | + | |
108 | +.side .profile span { | |
109 | + font-family: 'Pretendard'; | |
110 | + font-weight: bold; | |
111 | + font-size: 14px; | |
112 | +} | |
113 | + | |
114 | +.side .profile span.brown { | |
115 | + color: #331600; | |
116 | +} | |
117 | + | |
118 | +.side .ask { | |
119 | + height: 32rem; | |
120 | + background-color: #fff; | |
121 | + border-radius: 10px; | |
122 | + padding: 25px 48px; | |
123 | + box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); | |
124 | +} | |
125 | + | |
126 | +.side .ask .memo { | |
127 | + background-image: url('../img/img10_s.png'); | |
128 | + background-repeat: no-repeat; | |
129 | + width: 324px; | |
130 | + height: 174px; | |
131 | + position: relative; | |
132 | + padding: 25px 30px; | |
133 | +} | |
134 | + | |
135 | +.side .ask .memo textarea { | |
136 | + background-color: #ddf0ff; | |
137 | + width: -webkit-fill-available; | |
138 | + height: 117px; | |
139 | +} | |
140 | + | |
141 | +.side .ask button { | |
142 | + padding: 10px 30px; | |
143 | + border: #FFD56B 3px solid; | |
144 | + border-radius: 30px; | |
145 | + font-family: 'ONEMobilePOPOTF'; | |
146 | + font-size: 18px; | |
147 | + color: #331600; | |
148 | +} | |
149 | + | |
150 | + | |
151 | +/* 메뉴 */ | |
152 | +.menu { | |
153 | + margin-top: 63px; | |
154 | + width: 1324px; | |
155 | + position: absolute; | |
156 | + left: 579px; | |
157 | +} | |
158 | + | |
159 | +.menu a:first-child button { | |
160 | + background-image: url('../../resources/img/btn04_s.png'); | |
161 | + width: 186px; | |
162 | +} | |
163 | + | |
164 | +.menu a:nth-child(2) button { | |
165 | + background-image: url('../../resources/img/btn06_s.png'); | |
166 | + width: 225px; | |
167 | +} | |
168 | + | |
169 | +.menu a:last-child button { | |
170 | + background-image: url('../../resources/img/btn05_s.png'); | |
171 | + width: 207px; | |
172 | +} | |
173 | + | |
174 | +.menu a:first-child button.active { | |
175 | + background-image: url('../../resources/img/btn05_1_s.png'); | |
176 | + width: 252px; | |
177 | + /* 마이페이지 활성화 이미지 */ | |
178 | +} | |
179 | + | |
180 | +.menu a:nth-child(2) button.active { | |
181 | + background-image: url('../../resources/img/btn06_1_s.png'); | |
182 | + width: 297px; | |
183 | + /* 대시보드 활성화 이미지 */ | |
184 | +} | |
185 | + | |
186 | +.menu a:last-child button.active { | |
187 | + background-image: url('../../resources/img/btn04_1_s.png'); | |
188 | + width: 259px; | |
189 | + /* 학습일정계획 활성화 이미지 */ | |
190 | +} | |
191 | + | |
192 | +.menu button p { | |
193 | + font-size: 32px; | |
194 | + color: #fff; | |
195 | + height: 50px; | |
196 | +} | |
197 | + | |
198 | +.menu button { | |
199 | + background-repeat: no-repeat; | |
200 | + height: 72px; | |
201 | + text-align: -webkit-center; | |
202 | +} | |
203 | + | |
204 | +.menu button.active { | |
205 | + height: 118px; | |
206 | + margin-top: -18px; | |
207 | +} | |
208 | + | |
209 | +.menu button p.active { | |
210 | + display: none; | |
211 | + /* 원하는 색상으로 변경 */ | |
212 | +} | |
213 | + | |
214 | + | |
215 | +/* 대시보드 */ | |
216 | +.main { | |
217 | + max-height: 600px; | |
218 | + overflow: auto; | |
219 | +} | |
220 | + | |
221 | +.main .race-wrap { | |
222 | + background-image: url('../img/img20_1_s.png'); | |
223 | + background-repeat: no-repeat; | |
224 | + width: 1242px; | |
225 | + height: 599px; | |
226 | + position: relative; | |
227 | +} | |
228 | + | |
229 | +.complete-wrap { | |
230 | + width: 1244px; | |
231 | + height: 617px; | |
232 | +} | |
233 | + | |
234 | +button p { | |
235 | + font-family: 'ONEMobilePOPOTF'; | |
236 | + width: max-content; | |
237 | +} | |
238 | + | |
239 | +.race-wrap .title-box { | |
240 | + position: absolute; | |
241 | + top: 68px; | |
242 | + left: 120px; | |
243 | + text-align: center; | |
244 | +} | |
245 | + | |
246 | +.race-wrap .title-box .title { | |
247 | + font-size: 32px; | |
248 | + font-family: 'ONEMobilePOPOTF'; | |
249 | +} | |
250 | + | |
251 | +.race-wrap .title-box .subtitle { | |
252 | + font-size: 16px; | |
253 | + background-color: #441E03; | |
254 | + color: #fff; | |
255 | + padding: 5px 15px; | |
256 | + width: fit-content; | |
257 | + border-radius: 20px; | |
258 | + display: inline-block; | |
259 | + font-family: 'ONEMobileOTF-Bold'; | |
260 | +} | |
261 | + | |
262 | +.race-box { | |
263 | + width: 1063px; | |
264 | + height: 516px; | |
265 | + position: absolute; | |
266 | + left: 114px; | |
267 | + top: 60px; | |
268 | +} | |
269 | + | |
270 | +.race-box .rcon, | |
271 | +.race-box .lcon { | |
272 | + gap: 42px; | |
273 | + width: 1063px; | |
274 | +} | |
275 | + | |
276 | +.rabbit { | |
277 | + position: absolute; | |
278 | + top: -45px; | |
279 | + left: 393px; | |
280 | +} | |
281 | + | |
282 | +.rabbit img { | |
283 | + transform: scaleX(-1); | |
284 | +} | |
285 | + | |
286 | +.race-btn { | |
287 | + position: relative; | |
288 | + cursor: pointer; | |
289 | +} | |
290 | + | |
291 | +.race-btn p { | |
292 | + position: absolute; | |
293 | + text-align: center; | |
294 | + width: 76px; | |
295 | + top: 16px; | |
296 | + right: 9px; | |
297 | + font-family: 'ONEMobilePOPOTF'; | |
298 | + font-size: 28px; | |
299 | + color: #3A241D; | |
300 | +} | |
301 | + | |
302 | +.race-btn p.long { | |
303 | + width: fit-content; | |
304 | +} | |
305 | + | |
306 | +.complete-wrap h2 { | |
307 | + font-size: 32px; | |
308 | + color: #331600; | |
309 | + font-family: 'ONEMobilePOPOTF'; | |
310 | + font-weight: 100; | |
311 | +} | |
312 | + | |
313 | + | |
314 | +/* 챕터 */ | |
315 | +.content-wrap { | |
316 | + width: 1808px; | |
317 | + | |
318 | +} | |
319 | + | |
320 | +.content-wrap::before { | |
321 | + background-image: url('../img/logo2.png'); | |
322 | + background-size: 155px 58px; | |
323 | + width: 155px; | |
324 | + height: 58px; | |
325 | + content: ""; | |
326 | + display: block; | |
327 | + position: absolute; | |
328 | + top: 17px; | |
329 | +} | |
330 | +.content-wrap > .title-box{margin-left: 75px;} | |
331 | +.content p.title-bg { | |
332 | + width: max-content; | |
333 | + height: max-content; | |
334 | + background: linear-gradient(to right, #eaedf4, #fff); | |
335 | + padding: 20px 60px; | |
336 | + margin-bottom: 30px; | |
337 | +} | |
338 | +.content { | |
339 | + box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); | |
340 | + width: 1670px; | |
341 | + height: 710px; | |
342 | + background-color: #fff; | |
343 | + border-radius: 20px; | |
344 | +} | |
345 | + | |
346 | +/* step1 */ | |
347 | +.videoCon { | |
348 | + position: relative; | |
349 | + text-align: center; | |
350 | + width: 100%; | |
351 | + display: inline-block; | |
352 | +} | |
353 | + | |
354 | + | |
355 | +.videoCon .videoStart { | |
356 | + position: absolute; | |
357 | + top: 50%; | |
358 | + left: 50%; | |
359 | + transform: translateY(-50%) translateX(-50%); | |
360 | +} | |
361 | +.look-text{position: absolute; right: 60px; bottom: 0;} | |
362 | +.look-text button{position: relative;} | |
363 | +.look-text p{ position: absolute; | |
364 | + top: 45%; | |
365 | + left: 50%; | |
366 | + transform: translate(-50%, -50%); | |
367 | + font-size: 28px; | |
368 | + | |
369 | + } | |
370 | + | |
371 | +/* step1-1 */ | |
372 | +.imgGroup, .textareaGroup{width: 100%; text-align: center;} | |
373 | +.textareaGroup{margin-top: 40px;} | |
374 | +.textareaGroup textarea{width: 1460px; height: 200px; background-color: #eff2f7; border-radius: 10px; padding: 30px 40px; | |
375 | + line-height: 30px; font-size: 24px; font-family: 'Pretendard-Regular';} | |
376 | + /* step1-1-팝업 */ | |
377 | + .popup { | |
378 | + /* display: none; */ | |
379 | + position: absolute; | |
380 | + width: 355px; | |
381 | + height: 327px; | |
382 | + background-color: white; | |
383 | + border: 3px solid #FFBD14; | |
384 | + border-radius: 10px; | |
385 | + padding: 20px 40px; | |
386 | + } | |
387 | + | |
388 | + .popup h3{font-size: 42px;} | |
389 | + .popup .yellow-box{width: 33px; height: 33px; color: #FFBA08; background-color: #FFF3D7; padding: 7px; | |
390 | + border-radius: 5px; margin-right: 10px;} | |
391 | + | |
392 | + | |
393 | + /* step1-2 */ | |
394 | + .readGroup{ | |
395 | + | |
396 | + } | |
397 | + .readGroup .icon{text-align: center;} | |
398 | + .readGroup p.read{ | |
399 | + width: max-content; | |
400 | + border-radius: 10px; | |
401 | + font-size: 24px; font-family: 'Pretendard-Regular'; background-color: #EAEDF4; padding: 10px 20px;} | |
402 | + | |
403 | + | |
404 | +.next-btn, .pre-btn{cursor: pointer;} | |
405 | + | |
406 | + | |
407 | + | |
408 | +input.borderx { | |
409 | + border: none; | |
410 | +} | |
411 | + | |
412 | +.underline { | |
413 | + text-decoration: underline; | |
414 | +} | |
415 | + | |
416 | +hr { | |
417 | + color: #C6C6C6; | |
418 | + margin: 10px 0 20px 0; | |
419 | +} | |
420 | + | |
421 | +.title2 { | |
422 | + font-size: 20px; | |
423 | + font-weight: bold; | |
424 | +} | |
425 | + | |
426 | +.title1 { | |
427 | + font-size: 24px; | |
428 | + font-weight: bold; | |
429 | +} | |
430 | + | |
431 | +.title-box .title { | |
432 | + font-size: 32px; | |
433 | + font-family: 'ONEMobilePOPOTF'; | |
434 | +} | |
435 | + | |
436 | +.title-box .subtitle { | |
437 | + font-size: 16px; | |
438 | + background-color: #441E03; | |
439 | + color: #fff; | |
440 | + padding: 5px 15px; | |
441 | + width: fit-content; | |
442 | + border-radius: 20px; | |
443 | + display: inline-block; | |
444 | + font-family: 'ONEMobileOTF-Bold'; | |
445 | +}(파일 끝에 줄바꿈 문자 없음) |
+++ client/resources/font/ONEMobileOTF-Bold.otf
Binary file is not shown |
+++ client/resources/font/ONEMobileOTF-Light.otf
Binary file is not shown |
+++ client/resources/font/ONEMobileOTF-Regular.otf
Binary file is not shown |
+++ client/resources/font/ONEMobilePOP.ttf
Binary file is not shown |
+++ client/resources/font/ONEMobilePOPOTF.otf
Binary file is not shown |
+++ client/resources/font/Pretendard-Bold.woff2
Binary file is not shown |
+++ client/resources/font/Pretendard-Light.woff2
Binary file is not shown |
+++ client/resources/font/Pretendard-Medium.woff2
Binary file is not shown |
+++ client/resources/font/Pretendard-Regular.woff2
Binary file is not shown |
+++ client/resources/font/Pretendard-Thin.woff2
Binary file is not shown |
+++ client/resources/img/bg.png
Binary file is not shown |
+++ client/resources/img/btn01.png
Binary file is not shown |
+++ client/resources/img/btn02.png
Binary file is not shown |
+++ client/resources/img/btn03.png
Binary file is not shown |
+++ client/resources/img/btn04_1_s.png
Binary file is not shown |
+++ client/resources/img/btn04_s.png
Binary file is not shown |
+++ client/resources/img/btn05_1_s.png
Binary file is not shown |
+++ client/resources/img/btn05_s.png
Binary file is not shown |
+++ client/resources/img/btn06_1_s.png
Binary file is not shown |
+++ client/resources/img/btn06_s.png
Binary file is not shown |
+++ client/resources/img/btn07_s.png
Binary file is not shown |
+++ client/resources/img/btn08_s.png
Binary file is not shown |
+++ client/resources/img/btn09_s.png
Binary file is not shown |
+++ client/resources/img/btn_.png
Binary file is not shown |
+++ client/resources/img/icon1.png
Binary file is not shown |
+++ client/resources/img/icon2.png
Binary file is not shown |
+++ client/resources/img/icon2_1.png
Binary file is not shown |
+++ client/resources/img/icon3.png
Binary file is not shown |
+++ client/resources/img/icon4.png
Binary file is not shown |
+++ client/resources/img/img01.png
Binary file is not shown |
+++ client/resources/img/img02.png
Binary file is not shown |
+++ client/resources/img/img03.png
Binary file is not shown |
+++ client/resources/img/img04.png
Binary file is not shown |
+++ client/resources/img/img05.png
Binary file is not shown |
+++ client/resources/img/img06.png
Binary file is not shown |
+++ client/resources/img/img07.png
Binary file is not shown |
+++ client/resources/img/img08.png
Binary file is not shown |
+++ client/resources/img/img09_s.png
Binary file is not shown |
+++ client/resources/img/img10_s.png
Binary file is not shown |
+++ client/resources/img/img11_1_s.png
Binary file is not shown |
+++ client/resources/img/img11_2_s.png
Binary file is not shown |
+++ client/resources/img/img11_s.png
Binary file is not shown |
+++ client/resources/img/img12_1_s.png
Binary file is not shown |
+++ client/resources/img/img12_2_s.png
Binary file is not shown |
+++ client/resources/img/img12_s.png
Binary file is not shown |
+++ client/resources/img/img13_s.png
Binary file is not shown |
+++ client/resources/img/img14_s.png
Binary file is not shown |
+++ client/resources/img/img15_s.png
Binary file is not shown |
+++ client/resources/img/img16_s.png
Binary file is not shown |
+++ client/resources/img/img17_s.png
Binary file is not shown |
+++ client/resources/img/img18_s.png
Binary file is not shown |
+++ client/resources/img/img19_s.png
Binary file is not shown |
+++ client/resources/img/img20_1_s.png
Binary file is not shown |
+++ client/resources/img/img20_s.png
Binary file is not shown |
+++ client/resources/img/img21_s.png
Binary file is not shown |
+++ client/resources/img/img22_s.png
Binary file is not shown |
+++ client/resources/img/img23_s.png
Binary file is not shown |
+++ client/resources/img/img24_s.png
Binary file is not shown |
+++ client/resources/img/img25_s.png
Binary file is not shown |
+++ client/resources/img/img26_s.png
Binary file is not shown |
+++ client/resources/img/img27_s.png
Binary file is not shown |
+++ client/resources/img/img28_s.png
Binary file is not shown |
+++ client/resources/img/img29_s.png
Binary file is not shown |
+++ client/resources/img/img30_s.png
Binary file is not shown |
+++ client/resources/img/img31_s.png
Binary file is not shown |
+++ client/resources/img/img32_s.png
Binary file is not shown |
+++ client/resources/img/img33_s.png
Binary file is not shown |
+++ client/resources/img/img34_s.png
Binary file is not shown |
+++ client/resources/img/img35_s.png
Binary file is not shown |
+++ client/resources/img/img36_s.png
Binary file is not shown |
+++ client/resources/img/img37_s.png
Binary file is not shown |
+++ client/resources/img/img38_s.png
Binary file is not shown |
+++ client/resources/img/img39_s.png
Binary file is not shown |
+++ client/resources/img/left.png
Binary file is not shown |
+++ client/resources/img/logo.png
Binary file is not shown |
+++ client/resources/img/logo2.png
Binary file is not shown |
+++ client/resources/img/look.png
Binary file is not shown |
+++ client/resources/img/right.png
Binary file is not shown |
+++ client/resources/img/setting.png
Binary file is not shown |
+++ client/views/App.vue
... | ... | @@ -0,0 +1,61 @@ |
1 | +<template> | |
2 | + <div id="app"> | |
3 | + <Header></Header> | |
4 | + <router-view /> | |
5 | + <v-app > | |
6 | + </v-app> | |
7 | + </div> | |
8 | + <!-- <div > | |
9 | + | |
10 | + <div class="flex justify-between"> | |
11 | + <Side></Side> | |
12 | + <div> | |
13 | + <Menu></Menu> | |
14 | + <div class="main-wrap"> | |
15 | + | |
16 | + <router-view /> | |
17 | + <v-app id="app"> | |
18 | + </v-app> | |
19 | + </div> | |
20 | + </div> | |
21 | + </div> | |
22 | + </div> --> | |
23 | +</template> | |
24 | + | |
25 | +<script> | |
26 | +import Header from '../views/layout/Header.vue'; | |
27 | +import Menu from '../views/layout/Menu.vue'; | |
28 | +import Side from '../views/layout/Side.vue'; | |
29 | +// import Footer from '../views/layout/Footer.vue'; | |
30 | + | |
31 | +const App = { | |
32 | + data: () => { | |
33 | + return { | |
34 | + } | |
35 | + }, | |
36 | + methods: { | |
37 | + | |
38 | + }, | |
39 | + watch: { | |
40 | + | |
41 | + }, | |
42 | + computed: { | |
43 | + | |
44 | + }, | |
45 | + components: { | |
46 | + Header: Header, | |
47 | + Menu: Menu, | |
48 | + // Footer:Footer, | |
49 | + Side:Side, | |
50 | + }, | |
51 | + mounted: () => { | |
52 | + console.log('Vue mounted'); | |
53 | + } | |
54 | +} | |
55 | + | |
56 | +export default App; | |
57 | +</script> | |
58 | + | |
59 | +<style scoped> | |
60 | + | |
61 | +</style> |
+++ client/views/Login.vue
... | ... | @@ -0,0 +1,53 @@ |
1 | +<template> | |
2 | + <div class="login-container"> | |
3 | + <img class="login-bg" src="../resources/img/bg.png" alt=""> | |
4 | + <div class="login "> | |
5 | + <div class="logo flex justify-end"><img src="../resources/img/logo.png" alt=""></div> | |
6 | + | |
7 | + <div class="login-box"> | |
8 | + <div class="flex align-center justify-start mb40"> | |
9 | + <img src="../resources/img/icon1.png" alt="" class="mr20"> | |
10 | + <h2> 로그인 하기</h2> | |
11 | + </div> | |
12 | + <form @submit.prevent="submitForm" class="login-form "> | |
13 | + <div class="mb30"> | |
14 | + <p class="mb15" for="username">아이디</p> | |
15 | + <input type="text" id="username" v-model="username" placeholder="아이디를 입력하세요."> | |
16 | + </div> | |
17 | + <div> | |
18 | + <p class="mb15" for="password">비밀번호</p> | |
19 | + <input type="password" id="password" v-model="password" placeholder="비밀번호를 입력하세요."> | |
20 | + </div> | |
21 | + <button class="login-btn mt50" type="submit" @click="goToApp"><img src="../resources/img/button.png" alt=""> <p >로그인</p></button> | |
22 | + <div class="flex justify-between mt40"> | |
23 | + <p class="underline">아이디/비밀번호 찾기</p> | |
24 | + <p class="underline">회원가입</p> | |
25 | + </div> | |
26 | + </form> | |
27 | + </div> | |
28 | + </div> | |
29 | + </div> | |
30 | +</template> | |
31 | + | |
32 | +<script> | |
33 | +export default { | |
34 | + data() { | |
35 | + return { | |
36 | + username: '', | |
37 | + password: '' | |
38 | + } | |
39 | + }, | |
40 | + methods: { | |
41 | + submitForm() { | |
42 | + // 여기에 로그인 로직을 추가하세요. | |
43 | + console.log('Username:', this.username); | |
44 | + console.log('Password:', this.password); | |
45 | + }, | |
46 | + goToApp() { | |
47 | + this.$router.push('/'); | |
48 | + } | |
49 | + } | |
50 | +} | |
51 | +</script> | |
52 | + | |
53 | +<style scoped></style>(파일 끝에 줄바꿈 문자 없음) |
+++ client/views/component/ProgressBar.vue
... | ... | @@ -0,0 +1,35 @@ |
1 | +<template> | |
2 | + <div class="progress-bar"> | |
3 | + <div class="progress-bar-fill" :style="{ width: progress + '%' }"></div> | |
4 | + </div> | |
5 | + </template> | |
6 | + | |
7 | + <script> | |
8 | + export default { | |
9 | + props: { | |
10 | + progress: { | |
11 | + type: Number, | |
12 | + required: true | |
13 | + } | |
14 | + } | |
15 | + }; | |
16 | + </script> | |
17 | + | |
18 | + <style> | |
19 | + .progress-bar { | |
20 | + width: 100%; | |
21 | + height: 15px; | |
22 | + background-color: #f3f3f3; | |
23 | + border: 3px solid #331600; | |
24 | + border-radius: 20px; | |
25 | + overflow: hidden; | |
26 | + } | |
27 | + | |
28 | + .progress-bar-fill { | |
29 | + height: 20px; | |
30 | + background-color: #FFBA08; | |
31 | + width: 0; | |
32 | + transition: width 0.5s ease-in-out; | |
33 | + } | |
34 | + </style> | |
35 | + (파일 끝에 줄바꿈 문자 없음) |
+++ client/views/index.html
... | ... | @@ -0,0 +1,35 @@ |
1 | +<!DOCTYPE html> | |
2 | +<html> | |
3 | + | |
4 | +<head> | |
5 | + <meta charset="UTF-8"> | |
6 | + <meta http-equiv="X-UA-Compatible" content="IE=edge"> | |
7 | + <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | |
8 | + <meta name="description" content="Node Vue Web"> | |
9 | + <link rel="stylesheet" href="../../client/resources/css/reset.css"> | |
10 | + <link rel="stylesheet" href="../../client/resources/css/style.css"> | |
11 | + <link rel="stylesheet" href="../../client/resources/css/grid.css"> | |
12 | + <link rel="stylesheet" href="../../client/resources/css/common.css"> | |
13 | + <link rel="icon" href="" /> | |
14 | + <title>Node Vue Web</title> | |
15 | +</head> | |
16 | + | |
17 | +<body> | |
18 | + <div id="root"></div> | |
19 | + <script src="/client/build/bundle.js"></script> | |
20 | + <script> | |
21 | + function resizer(data) { | |
22 | + const width = window.innerWidth; | |
23 | + const ratio = width / 1920; | |
24 | + if (data.zoom) { | |
25 | + document.getElementsByTagName('body')[0].style.zoom = ratio * data.zoom / 100; | |
26 | + } else { | |
27 | + document.getElementsByTagName('body')[0].style.zoom = ratio; | |
28 | + } | |
29 | + }; | |
30 | + window.addEventListener('resize', resizer); | |
31 | + resizer(100); | |
32 | + </script> | |
33 | +</body> | |
34 | + | |
35 | +</html>(파일 끝에 줄바꿈 문자 없음) |
+++ client/views/index.js
... | ... | @@ -0,0 +1,16 @@ |
1 | +/** | |
2 | + * @author : 최정우 | |
3 | + * @since : 2022.10.19 | |
4 | + * @dscription : Vue를 활용한 Client단 구현의 시작점(Index) Component 입니다. | |
5 | + */ | |
6 | +import { createApp } from 'vue'; | |
7 | + | |
8 | +import AppRouter from './pages/AppRouter.js'; | |
9 | +import App from './App.vue'; | |
10 | +// import Login from './Login.vue'; | |
11 | + | |
12 | +const vue = createApp(App).use(AppRouter) | |
13 | +// .component('login-page', Login) | |
14 | +.mount('#root'); | |
15 | + | |
16 | + |
+++ client/views/layout/Header.vue
... | ... | @@ -0,0 +1,28 @@ |
1 | +<template> | |
2 | + <div class="header flex justify-end"> | |
3 | + <img src="../../resources/img/setting.png" alt=""> | |
4 | + <img src="../../resources/img/icon2.png" alt=""> | |
5 | + <img src="../../resources/img/img03.png" alt=""> | |
6 | + </div> | |
7 | +</template> | |
8 | + | |
9 | +<script> | |
10 | +export default { | |
11 | + data () { | |
12 | + return { | |
13 | + } | |
14 | + }, | |
15 | + methods: { | |
16 | + | |
17 | + }, | |
18 | + watch: { | |
19 | + | |
20 | + }, | |
21 | + computed: { | |
22 | + | |
23 | + }, | |
24 | + mounted() { | |
25 | + console.log('Header mounted'); | |
26 | + } | |
27 | +} | |
28 | +</script>(파일 끝에 줄바꿈 문자 없음) |
+++ client/views/layout/Menu.vue
... | ... | @@ -0,0 +1,43 @@ |
1 | +<template> | |
2 | + <div class="menu flex" style="gap: 30px;"> | |
3 | + <router-link to="/MyPage.page"> | |
4 | + <button :class="{ active: activeButton === 'mypage' }" type="submit" @click="goToApp('mypage')"> | |
5 | + <p :class="{ active: activeButton === 'mypage' }">마이페이지</p> | |
6 | + </button> | |
7 | + </router-link> | |
8 | + <router-link to="/Dashboard.page"> | |
9 | + <button :class="{ active: activeButton === 'dashboard' }" type="submit" @click="goToApp('dashboard')"> | |
10 | + <p :class="{ active: activeButton === 'dashboard' }">Dashboard</p> | |
11 | + </button> | |
12 | + </router-link> | |
13 | + <router-link to="/MyPlan.page"> | |
14 | + <button :class="{ active: activeButton === 'schedule' }" type="submit" @click="goToApp('schedule')"> | |
15 | + <p :class="{ active: activeButton === 'schedule' }">학습일정계획</p> | |
16 | + </button> | |
17 | + </router-link> | |
18 | + </div> | |
19 | + </template> | |
20 | + | |
21 | + <script> | |
22 | + | |
23 | + | |
24 | + export default { | |
25 | + data() { | |
26 | + return { | |
27 | + activeButton: '', | |
28 | + }; | |
29 | + }, | |
30 | + methods: { | |
31 | + goToApp(button) { | |
32 | + this.activeButton = button; | |
33 | + }, | |
34 | + }, | |
35 | + mounted() { | |
36 | + console.log('Menu mounted'); | |
37 | + } | |
38 | + }; | |
39 | + </script> | |
40 | + | |
41 | + <style> | |
42 | + </style> | |
43 | + (파일 끝에 줄바꿈 문자 없음) |
+++ client/views/layout/Side.vue
... | ... | @@ -0,0 +1,65 @@ |
1 | +<template> | |
2 | + <div class="side"> | |
3 | + <div class="logo mb25"><img src="../../resources/img/logo2.png" alt=""></div> | |
4 | + <div class="profile mb30"> | |
5 | + <div class="flex align-start"> | |
6 | + <img src="../../resources/img/img16_s.png" alt=""> | |
7 | + <div class="ml25"> | |
8 | + <p class="name mb10">학생이름</p> | |
9 | + <p class="mb5">xx중학교 3학년 x반</p> | |
10 | + <progress-bar :progress="progress"></progress-bar> | |
11 | + <span @click="increaseProgress">오늘의 공부</span> | |
12 | + <span class="brown ml10">{{ progress }}%</span> | |
13 | + </div> | |
14 | + </div> | |
15 | + <hr> | |
16 | + <p class="title2 mb25">최근 학습 히스토리</p> | |
17 | + <ul class="flex justify-between ml30"> | |
18 | + <li>자학사 3학년 2학기</li> | |
19 | + <li>자학사 3학년 2학기</li> | |
20 | + </ul> | |
21 | + </div> | |
22 | + <div class="ask mb30"> | |
23 | + <p class="title1 mb15">선생님께 질문 있어요~</p> | |
24 | + | |
25 | + <div class="memo mb15"><textarea name="" id="" placeholder="궁금한 것을 적어보세요."></textarea></div> | |
26 | + <div class="flex justify-end"><button>질문하기</button></div> | |
27 | + </div> | |
28 | + <div class="btn-wrap flex justify-between"> | |
29 | + <button class="login-btn" type="submit" ><img src="../../resources/img/btn07_s.png" alt=""> <p >오답노트</p></button> | |
30 | + <button class="login-btn" type="submit" ><img src="../../resources/img/btn07_s.png" alt=""> <p >오늘 할 다른 공부</p></button> | |
31 | + </div> | |
32 | + </div> | |
33 | +</template> | |
34 | + | |
35 | +<script> | |
36 | +import ProgressBar from '../component/ProgressBar.vue'; | |
37 | + | |
38 | +export default { | |
39 | + data () { | |
40 | + return { | |
41 | + progress: 20 | |
42 | + } | |
43 | + }, | |
44 | + methods: { | |
45 | + increaseProgress() { | |
46 | + if (this.progress < 100) { | |
47 | + this.progress += 10; | |
48 | + } | |
49 | + } | |
50 | + | |
51 | + }, | |
52 | + watch: { | |
53 | + | |
54 | + }, | |
55 | + computed: { | |
56 | + | |
57 | + }, | |
58 | + components: { | |
59 | + ProgressBar | |
60 | + }, | |
61 | + mounted() { | |
62 | + console.log('Menu mounted'); | |
63 | + } | |
64 | +} | |
65 | +</script>(파일 끝에 줄바꿈 문자 없음) |
+++ client/views/pages/AppRouter.js
... | ... | @@ -0,0 +1,73 @@ |
1 | +import { createWebHistory, createRouter } from "vue-router"; | |
2 | + | |
3 | +// import App from "../App.vue"; | |
4 | +import login from "../Login.vue" | |
5 | +import MyPage from './main/MyPage.vue'; | |
6 | +import MyPlan from './main/MyPlan.vue'; | |
7 | +import Dashboard from './main/Dashboard.vue'; | |
8 | +import Main from "./main/Main.vue"; | |
9 | +import Chapter1 from "./main/Chapter/Chapter1.vue"; | |
10 | +import Chapter1_1 from "./main/Chapter/Chapter1_1.vue"; | |
11 | +import Chapter1_2 from "./main/Chapter/Chapter1_2.vue"; | |
12 | +import Chapter1_3 from "./main/Chapter/Chapter1_3.vue"; | |
13 | +import Chapter2 from "./main/Chapter/Chapter2.vue"; | |
14 | +import Chapter3 from "./main/Chapter/Chapter3.vue"; | |
15 | +import Chapter4 from "./main/Chapter/Chapter4.vue"; | |
16 | +import Chapter5 from "./main/Chapter/Chapter5.vue"; | |
17 | +import Chapter6 from "./main/Chapter/Chapter6.vue"; | |
18 | +import Chapter7 from "./main/Chapter/Chapter7.vue"; | |
19 | +import Chapter8 from "./main/Chapter/Chapter8.vue"; | |
20 | +import Chapter9 from "./main/Chapter/Chapter9.vue"; | |
21 | +import Chapter10 from "./main/Chapter/Chapter10.vue"; | |
22 | +import Chapter11 from "./main/Chapter/Chapter11.vue"; | |
23 | + | |
24 | +import Main_p from "./parents/Main_p.vue"; | |
25 | + | |
26 | +import Main_t from "./teacher/Main_t.vue"; | |
27 | + | |
28 | +const routes = [ | |
29 | + { path: '/login.page', name: 'login', component: login}, | |
30 | + // { path: '/App.page', name: 'App', component: App, | |
31 | + // children:[ | |
32 | + | |
33 | + | |
34 | + // ] | |
35 | + // }, | |
36 | + // { path: '/Main.page', name: 'Main', component: Main}, | |
37 | + /* 학생 */ | |
38 | + { path: '/', | |
39 | + name: 'Main', | |
40 | + component: Main, | |
41 | + children:[ | |
42 | + { path: '/Dashboard.page', name: 'Dashboard', component: Dashboard}, | |
43 | + { path: '/MyPage.page', name: 'MyPage', component: MyPage}, | |
44 | + { path: '/MyPlan.page', name: 'MyPlan', component: MyPlan}, | |
45 | + ] | |
46 | +}, | |
47 | +{ path: '/Chapter1.page', name: 'Chapter1', component: Chapter1}, | |
48 | +{ path: '/Chapter1_1.page', name: 'Chapter1_1', component: Chapter1_1}, | |
49 | +{ path: '/Chapter1_2.page', name: 'Chapter1_2', component: Chapter1_2}, | |
50 | +{ path: '/Chapter1_3.page', name: 'Chapter1_3', component: Chapter1_3}, | |
51 | + { path: '/Chapter2.page', name: 'Chapter2', component: Chapter2}, | |
52 | + { path: '/Chapter3.page', name: 'Chapter3', component: Chapter3}, | |
53 | + { path: '/Chapter4.page', name: 'Chapter4', component: Chapter4}, | |
54 | + { path: '/Chapter5.page', name: 'Chapter5', component: Chapter5}, | |
55 | + { path: '/Chapter6.page', name: 'Chapter6', component: Chapter6}, | |
56 | + { path: '/Chapter7.page', name: 'Chapter7', component: Chapter7}, | |
57 | + { path: '/Chapter8.page', name: 'Chapter8', component: Chapter8}, | |
58 | + { path: '/Chapter9.page', name: 'Chapter9', component: Chapter9}, | |
59 | + { path: '/Chapter10.page', name: 'Chapter10', component: Chapter10}, | |
60 | + { path: '/Chapter11.page', name: 'Chapter11', component: Chapter11}, | |
61 | + | |
62 | + /* 부모님 */ | |
63 | + { path: '/Main_p.page', name: 'Main_p', component: Main_p}, | |
64 | + /* 선생님 */ | |
65 | + { path: '/Main_t.page', name: 'Main_t', component: Main_t}, | |
66 | +]; | |
67 | + | |
68 | +const AppRouter = createRouter({ | |
69 | + history: createWebHistory(), | |
70 | + routes, | |
71 | +}); | |
72 | + | |
73 | +export default AppRouter;(파일 끝에 줄바꿈 문자 없음) |
+++ client/views/pages/Login copy.vue
... | ... | @@ -0,0 +1,53 @@ |
1 | +<template> | |
2 | + <div class="login-container"> | |
3 | + <img class="login-bg" src="../../resources/img/bg.png" alt=""> | |
4 | + <div class="login "> | |
5 | + <div class="logo flex justify-end"><img src="../../resources/img/logo.png" alt=""></div> | |
6 | + | |
7 | + <div class="login-box"> | |
8 | + <div class="flex align-center justify-start mb40"> | |
9 | + <img src="../../resources/img/icon1.png" alt="" class="mr20"> | |
10 | + <h2> 로그인 하기</h2> | |
11 | + </div> | |
12 | + <form @submit.prevent="submitForm" class="login-form "> | |
13 | + <div class="mb30"> | |
14 | + <p class="mb15" for="username">아이디</p> | |
15 | + <input type="text" id="username" v-model="username" placeholder="아이디를 입력하세요."> | |
16 | + </div> | |
17 | + <div> | |
18 | + <p class="mb15" for="password">비밀번호</p> | |
19 | + <input type="password" id="password" v-model="password" placeholder="비밀번호를 입력하세요."> | |
20 | + </div> | |
21 | + <button class="login-btn mt50" type="submit" @click="goToApp"><img src="../../resources/img/button.png" alt=""> <p >로그인</p></button> | |
22 | + <div class="flex justify-between mt40"> | |
23 | + <p class="underline">아이디/비밀번호 찾기</p> | |
24 | + <p class="underline">회원가입</p> | |
25 | + </div> | |
26 | + </form> | |
27 | + </div> | |
28 | + </div> | |
29 | + </div> | |
30 | +</template> | |
31 | + | |
32 | +<script> | |
33 | +export default { | |
34 | + data() { | |
35 | + return { | |
36 | + username: '', | |
37 | + password: '' | |
38 | + } | |
39 | + }, | |
40 | + methods: { | |
41 | + submitForm() { | |
42 | + // 여기에 로그인 로직을 추가하세요. | |
43 | + console.log('Username:', this.username); | |
44 | + console.log('Password:', this.password); | |
45 | + }, | |
46 | + goToApp() { | |
47 | + this.$router.push('/app.page'); | |
48 | + } | |
49 | + } | |
50 | +} | |
51 | +</script> | |
52 | + | |
53 | +<style scoped></style>(파일 끝에 줄바꿈 문자 없음) |
+++ client/views/pages/main/Chapter/Chapter1.vue
... | ... | @@ -0,0 +1,45 @@ |
1 | +<template> | |
2 | + <div id="Chapter1" class="content-wrap"> | |
3 | + <div class="title-box mb25 flex align-center mt40"> | |
4 | + <span class="title mr40">1. Hello WORLD</span> | |
5 | + <span class="subtitle">my name is dd</span> | |
6 | + </div> | |
7 | + <div class="flex justify-between align-center"> | |
8 | + <div class="pre-btn"><img src="../../../../resources/img/left.png" alt=""></div> | |
9 | + <div class="content title-box"> | |
10 | + <p class="title mt25 title-bg">step1. Hello WORLD</p> | |
11 | + <div class="videoCon"> | |
12 | + <img src="../../../../resources/img/img34_s.png" data-num="1"> | |
13 | + <button class="videoStart" data-video="1" tabindex="0" aria-label="동영상 재생"><img src="../../../../resources/img/btn09_s.png" | |
14 | + data-num="1"></button> | |
15 | + <div class="look-text"> <button ><img src="../../../../resources/img/btn08_s.png" alt=""><p>지문 보기</p></button></div> | |
16 | + </div> | |
17 | + </div> | |
18 | + <div class="next-btn" @click="goToPage('Chapter1_1')"><img src="../../../../resources/img/right.png" alt=""></div> | |
19 | + </div> | |
20 | + </div> | |
21 | +</template> | |
22 | + | |
23 | +<script> | |
24 | +export default { | |
25 | + data() { | |
26 | + return { | |
27 | + } | |
28 | + }, | |
29 | + methods: { | |
30 | + goToPage(page) { | |
31 | + this.$router.push({ name: page }); | |
32 | + } | |
33 | + }, | |
34 | + watch: { | |
35 | + | |
36 | + }, | |
37 | + computed: { | |
38 | + | |
39 | + }, | |
40 | + components: { | |
41 | + }, | |
42 | + mounted() { | |
43 | + } | |
44 | +} | |
45 | +</script>(파일 끝에 줄바꿈 문자 없음) |
+++ client/views/pages/main/Chapter/Chapter10.vue
... | ... | @@ -0,0 +1,0 @@ |
+++ client/views/pages/main/Chapter/Chapter11.vue
... | ... | @@ -0,0 +1,0 @@ |
+++ client/views/pages/main/Chapter/Chapter1_1.vue
... | ... | @@ -0,0 +1,83 @@ |
1 | +<template> | |
2 | + <div id="Chapter1_1" class="content-wrap"> | |
3 | + <div class="title-box mb25 flex align-center mt40"> | |
4 | + <span class="title mr40">1. Hello WORLD</span> | |
5 | + <span class="subtitle">my name is dd</span> | |
6 | + </div> | |
7 | + <div class="flex justify-between align-center"> | |
8 | + <div class="pre-btn" @click="goToPage('Chapter1')"><img src="../../../../resources/img/left.png" alt=""></div> | |
9 | + <div class="content title-box"> | |
10 | + <p class="title mt25 title-bg">step1. Hello WORLD</p> | |
11 | + | |
12 | + <div class="imgGroup"> | |
13 | + <img src="../../../../resources/img/img35_s.png" data-num="1"> | |
14 | + | |
15 | + </div> | |
16 | + <div class="textareaGroup"> | |
17 | + <textarea>Bike lanes are important because they ket, bike riders and all other people safe. Before bike lanes, people rode on the sidewalk or in the same lanes as the cars on the street. Riding a bike on the sidewalk can cause you to crash into someone who is walking by. And riding a bike in the same lanes as cars can be unsafe, too, Bikes move more slowly than cars, so people driving behind bikes will try to go around them. These cars could hit the bike riders or other cars. </textarea> | |
18 | + <div id="popup" class="popup"> | |
19 | + <div class="imgGroup mb10"> | |
20 | + <img src="../../../../resources/img/img36_s.png" data-num="1"> | |
21 | + </div> | |
22 | + <h3>sidewalk</h3> | |
23 | + <div class="flex align-center justify-center mt10"> | |
24 | + <p class="yellow-box">명</p> | |
25 | + <span class="title1">보도</span> | |
26 | + </div> | |
27 | + </div> | |
28 | + </div> | |
29 | + </div> | |
30 | + <div class="next-btn" @click="goToPage('Chapter1_2')"><img src="../../../../resources/img/right.png" alt=""></div> | |
31 | + </div> | |
32 | + </div> | |
33 | +</template> | |
34 | + | |
35 | +<script> | |
36 | +export default { | |
37 | + data() { | |
38 | + return { | |
39 | + } | |
40 | + }, | |
41 | + methods: { | |
42 | + goToPage(page) { | |
43 | + this.$router.push({ name: page }); | |
44 | + } | |
45 | + }, | |
46 | + watch: { | |
47 | + | |
48 | + }, | |
49 | + computed: { | |
50 | + | |
51 | + }, | |
52 | + components: { | |
53 | + }, | |
54 | + mounted() { | |
55 | + const textArea = this.$refs.textArea; | |
56 | + const popup = this.$refs.popup; | |
57 | + | |
58 | + textArea.addEventListener('mousemove', (event) => { | |
59 | + const text = textArea.value; | |
60 | + const words = text.split(' '); | |
61 | + const selectionStart = textArea.selectionStart; | |
62 | + const selectionEnd = textArea.selectionEnd; | |
63 | + | |
64 | + if (selectionStart !== selectionEnd) { | |
65 | + const selectedText = text.substring(selectionStart, selectionEnd); | |
66 | + const rect = textArea.getBoundingClientRect(); | |
67 | + popup.style.left = `${event.clientX}px`; | |
68 | + popup.style.top = `${event.clientY + window.scrollY}px`; | |
69 | + popup.innerHTML = `You selected: ${selectedText}`; | |
70 | + popup.style.display = 'block'; | |
71 | + } else { | |
72 | + popup.style.display = 'none'; | |
73 | + } | |
74 | + }); | |
75 | + | |
76 | + document.addEventListener('click', (event) => { | |
77 | + if (!textArea.contains(event.target) && !popup.contains(event.target)) { | |
78 | + popup.style.display = 'none'; | |
79 | + } | |
80 | + }); | |
81 | + } | |
82 | +} | |
83 | +</script>(파일 끝에 줄바꿈 문자 없음) |
+++ client/views/pages/main/Chapter/Chapter1_2.vue
... | ... | @@ -0,0 +1,97 @@ |
1 | +<template> | |
2 | + <div id="Chapter1_2" class="content-wrap"> | |
3 | + <div class="title-box mb25 flex align-center mt40"> | |
4 | + <span class="title mr40">1. Hello WORLD</span> | |
5 | + <span class="subtitle">my name is dd</span> | |
6 | + </div> | |
7 | + <div class="flex justify-between align-center"> | |
8 | + <div class="pre-btn" @click="goToPage('Chapter1_1')"><img src="../../../../resources/img/left.png" alt=""></div> | |
9 | + <div class="content title-box"> | |
10 | + <p class="title mt25 title-bg">step1. Hello WORLD</p> | |
11 | +<h4>각 인물들의 대화를 집중해서 읽어보세요</h4> | |
12 | + <div class="readGroup"> | |
13 | + <article class="flex align-start mb10"> | |
14 | + <div class="icon mr40"> | |
15 | + <img src="../../../../resources/img/img37_s.png" alt=""> | |
16 | + <p class="name">발화좌</p> | |
17 | + </div> | |
18 | + <p class="read">What’s up man, nice to meet you Minsu. how are you today?</p> | |
19 | + </article> | |
20 | + <article class="flex align-start mb10 justify-end"> | |
21 | + <p class="read mr40">What’s up man, nice to meet you Minsu. how are you today?</p> | |
22 | + <div class="icon "> | |
23 | + <img src="../../../../resources/img/img37_s.png" alt=""> | |
24 | + <p class="name">발화좌</p> | |
25 | + </div> | |
26 | + </article> | |
27 | + <article class="flex align-start mb10"> | |
28 | + <div class="icon mr40"> | |
29 | + <img src="../../../../resources/img/img37_s.png" alt=""> | |
30 | + <p class="name">발화좌</p> | |
31 | + </div> | |
32 | + <p class="read">What’s up man, nice to meet you Minsu. how are you today?</p> | |
33 | + </article> | |
34 | + <article class="flex align-start mb10 justify-end"> | |
35 | + <p class="read mr40">What’s up man, nice to meet you Minsu. how are you today?</p> | |
36 | + <div class="icon "> | |
37 | + <img src="../../../../resources/img/img37_s.png" alt=""> | |
38 | + <p class="name">발화좌</p> | |
39 | + </div> | |
40 | + </article> | |
41 | + | |
42 | + </div> | |
43 | + </div> | |
44 | + <div class="next-btn" @click="goToPage('Chapter1_3')"><img src="../../../../resources/img/right.png" alt=""></div> | |
45 | + </div> | |
46 | + </div> | |
47 | +</template> | |
48 | + | |
49 | +<script> | |
50 | +export default { | |
51 | + data() { | |
52 | + return { | |
53 | + } | |
54 | + }, | |
55 | + methods: { | |
56 | + goToPage(page) { | |
57 | + this.$router.push({ name: page }); | |
58 | + } | |
59 | + }, | |
60 | + watch: { | |
61 | + | |
62 | + }, | |
63 | + computed: { | |
64 | + | |
65 | + }, | |
66 | + components: { | |
67 | + }, | |
68 | + mounted() { | |
69 | + const textArea = this.$refs.textArea; | |
70 | + const popup = this.$refs.popup; | |
71 | + | |
72 | + textArea.addEventListener('mousemove', (event) => { | |
73 | + const text = textArea.value; | |
74 | + const words = text.split(' '); | |
75 | + const selectionStart = textArea.selectionStart; | |
76 | + const selectionEnd = textArea.selectionEnd; | |
77 | + | |
78 | + if (selectionStart !== selectionEnd) { | |
79 | + const selectedText = text.substring(selectionStart, selectionEnd); | |
80 | + const rect = textArea.getBoundingClientRect(); | |
81 | + popup.style.left = `${event.clientX}px`; | |
82 | + popup.style.top = `${event.clientY + window.scrollY}px`; | |
83 | + popup.innerHTML = `You selected: ${selectedText}`; | |
84 | + popup.style.display = 'block'; | |
85 | + } else { | |
86 | + popup.style.display = 'none'; | |
87 | + } | |
88 | + }); | |
89 | + | |
90 | + document.addEventListener('click', (event) => { | |
91 | + if (!textArea.contains(event.target) && !popup.contains(event.target)) { | |
92 | + popup.style.display = 'none'; | |
93 | + } | |
94 | + }); | |
95 | + } | |
96 | +} | |
97 | +</script>(파일 끝에 줄바꿈 문자 없음) |
+++ client/views/pages/main/Chapter/Chapter1_3.vue
... | ... | @@ -0,0 +1,45 @@ |
1 | +<template> | |
2 | + <div id="Chapter1" class="content-wrap"> | |
3 | + <div class="title-box mb25 flex align-center mt40"> | |
4 | + <span class="title mr40">1. Hello WORLD</span> | |
5 | + <span class="subtitle">my name is dd</span> | |
6 | + </div> | |
7 | + <div class="flex justify-between align-center"> | |
8 | + <div class="pre-btn" @click="goToPage('Chapter1_2')"><img src="../../../../resources/img/left.png" alt=""></div> | |
9 | + <div class="content title-box"> | |
10 | + <p class="title mt25 title-bg">step1. Hello WORLD</p> | |
11 | + <div class="videoCon"> | |
12 | + <img src="../../../../resources/img/img34_s.png" data-num="1"> | |
13 | + <button class="videoStart" data-video="1" tabindex="0" aria-label="동영상 재생"><img src="../../../../resources/img/btn09_s.png" | |
14 | + data-num="1"></button> | |
15 | + <div class="look-text"> <button ><img src="../../../../resources/img/btn08_s.png" alt=""><p>지문 보기</p></button></div> | |
16 | + </div> | |
17 | + </div> | |
18 | + <div class="next-btn" @click="goToPage('Chapter1_4')"><img src="../../../../resources/img/right.png" alt=""></div> | |
19 | + </div> | |
20 | + </div> | |
21 | +</template> | |
22 | + | |
23 | +<script> | |
24 | +export default { | |
25 | + data() { | |
26 | + return { | |
27 | + } | |
28 | + }, | |
29 | + methods: { | |
30 | + goToPage(page) { | |
31 | + this.$router.push({ name: page }); | |
32 | + } | |
33 | + }, | |
34 | + watch: { | |
35 | + | |
36 | + }, | |
37 | + computed: { | |
38 | + | |
39 | + }, | |
40 | + components: { | |
41 | + }, | |
42 | + mounted() { | |
43 | + } | |
44 | +} | |
45 | +</script>(파일 끝에 줄바꿈 문자 없음) |
+++ client/views/pages/main/Chapter/Chapter2.vue
... | ... | @@ -0,0 +1,0 @@ |
+++ client/views/pages/main/Chapter/Chapter3.vue
... | ... | @@ -0,0 +1,0 @@ |
+++ client/views/pages/main/Chapter/Chapter4.vue
... | ... | @@ -0,0 +1,0 @@ |
+++ client/views/pages/main/Chapter/Chapter5.vue
... | ... | @@ -0,0 +1,0 @@ |
+++ client/views/pages/main/Chapter/Chapter6.vue
... | ... | @@ -0,0 +1,0 @@ |
+++ client/views/pages/main/Chapter/Chapter7.vue
... | ... | @@ -0,0 +1,0 @@ |
+++ client/views/pages/main/Chapter/Chapter8.vue
... | ... | @@ -0,0 +1,0 @@ |
+++ client/views/pages/main/Chapter/Chapter9.vue
... | ... | @@ -0,0 +1,0 @@ |
+++ client/views/pages/main/Dashboard.vue
... | ... | @@ -0,0 +1,93 @@ |
1 | +<template> | |
2 | + <div class="main"> | |
3 | + <div class="race-wrap"> | |
4 | + <div class="title-box"> | |
5 | + <p class="title">hello world!</p> | |
6 | + <p class="subtitle">hi my name is dd!</p> | |
7 | + </div> | |
8 | + <div class="race-box"> | |
9 | + <div class="rabbit"><img src="../../../resources/img/img09_s.png" alt=""></div> | |
10 | + <div class="rcon flex justify-end mb5"> | |
11 | + <div class="race-btn" @click="goToPage('Chapter1')"> | |
12 | + <img src="../../../resources/img/img11_1_s.png" alt="" data-num="1"> | |
13 | + <p>지문1</p> | |
14 | + </div> | |
15 | + <div class="race-btn" @click="goToPage('Chapter2')"> | |
16 | + <img src="../../../resources/img/img11_1_s.png" alt="" data-num="2"> | |
17 | + <p>단어장</p> | |
18 | + </div> | |
19 | + </div> | |
20 | + <div class="lcon flex justify-between mb5"> | |
21 | + <div class="race-btn" @click="goToPage('Chapter7')"> | |
22 | + <img src="../../../resources/img/img11_1_s.png" alt="" data-num="7"> | |
23 | + <p>문제1</p> | |
24 | + </div> | |
25 | + <div class="race-btn" @click="goToPage('Chapter6')"> | |
26 | + <img src="../../../resources/img/img11_1_s.png" alt="" data-num="6"> | |
27 | + <p>단어장</p> | |
28 | + </div> | |
29 | + <div class="race-btn" @click="goToPage('Chapter5')"> | |
30 | + <img src="../../../resources/img/img11_1_s.png" alt="" data-num="5"> | |
31 | + <p>지문2</p> | |
32 | + </div> | |
33 | + <div class="race-btn" @click="goToPage('Chapter4')"> | |
34 | + <img src="../../../resources/img/img11_1_s.png" alt="" data-num="4"> | |
35 | + <p>문제2</p> | |
36 | + </div> | |
37 | + <div class="race-btn" @click="goToPage('Chapter3')"> | |
38 | + <img src="../../../resources/img/img11_1_s.png" alt="" data-num="3"> | |
39 | + <p>문제1</p> | |
40 | + </div> | |
41 | + </div> | |
42 | + <div class="rcon flex"> | |
43 | + <div class="race-btn" @click="goToPage('Chapter8')"> | |
44 | + <img src="../../../resources/img/img11_2_s.png" alt="" data-num="8"> | |
45 | + <p class="long">중간 평가</p> | |
46 | + </div> | |
47 | + <div class="race-btn" @click="goToPage('Chapter9')"> | |
48 | + <img src="../../../resources/img/img11_1_s.png" alt="" data-num="9"> | |
49 | + <p>지문3</p> | |
50 | + </div> | |
51 | + <div class="race-btn" @click="goToPage('Chapter10')"> | |
52 | + <img src="../../../resources/img/img11_1_s.png" alt="" data-num="10"> | |
53 | + <p>단어장</p> | |
54 | + </div> | |
55 | + <div class="race-btn" @click="goToPage('Chapter11')"> | |
56 | + <img src="../../../resources/img/img11_2_s.png" alt="" data-num="11"> | |
57 | + <p class="long">최종 평가</p> | |
58 | + </div> | |
59 | + </div> | |
60 | + </div> | |
61 | + </div> | |
62 | + <div class="complete-wrap mt90 "> | |
63 | + <h2 class="mb40">전체 진행률</h2> | |
64 | + </div> | |
65 | + | |
66 | + </div> | |
67 | +</template> | |
68 | + | |
69 | +<script> | |
70 | + | |
71 | +export default { | |
72 | + data() { | |
73 | + return { | |
74 | + } | |
75 | + }, | |
76 | + methods: { | |
77 | + goToPage(page) { | |
78 | + this.$router.push({ name: page }); | |
79 | + } | |
80 | + }, | |
81 | + watch: { | |
82 | + | |
83 | + }, | |
84 | + computed: { | |
85 | + | |
86 | + }, | |
87 | + components: { | |
88 | + }, | |
89 | + mounted() { | |
90 | + console.log('main mounted'); | |
91 | + } | |
92 | +} | |
93 | +</script>(파일 끝에 줄바꿈 문자 없음) |
+++ client/views/pages/main/Main.vue
... | ... | @@ -0,0 +1,43 @@ |
1 | +<template> | |
2 | + <div class="flex justify-between"> | |
3 | + <Side></Side> | |
4 | + <div> | |
5 | + <Menu></Menu> | |
6 | + <div class="main-wrap"> | |
7 | + <router-view /> | |
8 | + </div> | |
9 | + </div> | |
10 | + </div> | |
11 | + | |
12 | +</template> | |
13 | + | |
14 | +<script> | |
15 | +import Header from '../../layout/Header.vue'; | |
16 | +import Menu from '../../layout/Menu.vue'; | |
17 | +import Side from '../../layout/Side.vue'; | |
18 | + | |
19 | +export default { | |
20 | + data() { | |
21 | + return { | |
22 | + } | |
23 | + }, | |
24 | + methods: { | |
25 | + | |
26 | + }, | |
27 | + watch: { | |
28 | + | |
29 | + }, | |
30 | + computed: { | |
31 | + | |
32 | + }, | |
33 | + components: { | |
34 | + Header: Header, | |
35 | + Menu: Menu, | |
36 | + // Footer:Footer, | |
37 | + Side:Side, | |
38 | + }, | |
39 | + mounted() { | |
40 | + console.log('main mounted'); | |
41 | + } | |
42 | +} | |
43 | +</script>(파일 끝에 줄바꿈 문자 없음) |
+++ client/views/pages/main/MyPage.vue
... | ... | @@ -0,0 +1,24 @@ |
1 | +<template> | |
2 | + <div>마이페이지</div> | |
3 | +</template> | |
4 | + | |
5 | +<script> | |
6 | +export default { | |
7 | + data () { | |
8 | + return { | |
9 | + } | |
10 | + }, | |
11 | + methods: { | |
12 | + | |
13 | + }, | |
14 | + watch: { | |
15 | + | |
16 | + }, | |
17 | + computed: { | |
18 | + | |
19 | + }, | |
20 | + mounted() { | |
21 | + console.log('Main2 mounted'); | |
22 | + } | |
23 | +} | |
24 | +</script>(파일 끝에 줄바꿈 문자 없음) |
+++ client/views/pages/main/MyPlan.vue
... | ... | @@ -0,0 +1,24 @@ |
1 | +<template> | |
2 | + <div>학습일정계획</div> | |
3 | +</template> | |
4 | + | |
5 | +<script> | |
6 | +export default { | |
7 | + data () { | |
8 | + return { | |
9 | + } | |
10 | + }, | |
11 | + methods: { | |
12 | + | |
13 | + }, | |
14 | + watch: { | |
15 | + | |
16 | + }, | |
17 | + computed: { | |
18 | + | |
19 | + }, | |
20 | + mounted() { | |
21 | + console.log('Main2 mounted'); | |
22 | + } | |
23 | +} | |
24 | +</script>(파일 끝에 줄바꿈 문자 없음) |
+++ client/views/pages/parents/Main_p.vue
... | ... | @@ -0,0 +1,27 @@ |
1 | +<template> | |
2 | + <div>Main.vue</div> | |
3 | +</template> | |
4 | + | |
5 | +<script> | |
6 | + | |
7 | +export default { | |
8 | + data () { | |
9 | + return { | |
10 | + } | |
11 | + }, | |
12 | + methods: { | |
13 | + | |
14 | + }, | |
15 | + watch: { | |
16 | + | |
17 | + }, | |
18 | + computed: { | |
19 | + | |
20 | + }, | |
21 | + components: { | |
22 | + }, | |
23 | + mounted() { | |
24 | + console.log('main mounted'); | |
25 | + } | |
26 | +} | |
27 | +</script>(파일 끝에 줄바꿈 문자 없음) |
+++ client/views/pages/teacher/Main_t.vue
... | ... | @@ -0,0 +1,27 @@ |
1 | +<template> | |
2 | + <div>Main.vue</div> | |
3 | +</template> | |
4 | + | |
5 | +<script> | |
6 | + | |
7 | +export default { | |
8 | + data () { | |
9 | + return { | |
10 | + } | |
11 | + }, | |
12 | + methods: { | |
13 | + | |
14 | + }, | |
15 | + watch: { | |
16 | + | |
17 | + }, | |
18 | + computed: { | |
19 | + | |
20 | + }, | |
21 | + components: { | |
22 | + }, | |
23 | + mounted() { | |
24 | + console.log('main mounted'); | |
25 | + } | |
26 | +} | |
27 | +</script>(파일 끝에 줄바꿈 문자 없음) |
+++ package-lock.json
... | ... | @@ -0,0 +1,3866 @@ |
1 | +{ | |
2 | + "name": "lms_front", | |
3 | + "lockfileVersion": 3, | |
4 | + "requires": true, | |
5 | + "packages": { | |
6 | + "": { | |
7 | + "dependencies": { | |
8 | + "@babel/cli": "7.19.3", | |
9 | + "@babel/core": "7.19.3", | |
10 | + "babel-loader": "8.2.5", | |
11 | + "css-loader": "6.7.1", | |
12 | + "express": "^4.18.1", | |
13 | + "express-http-proxy": "^2.0.0", | |
14 | + "file-loader": "6.2.0", | |
15 | + "fs": "0.0.1-security", | |
16 | + "new-line": "^1.1.1", | |
17 | + "pg": "8.8.0", | |
18 | + "url-loader": "4.1.1", | |
19 | + "vue": "3.2.40", | |
20 | + "vue-loader": "^17.0.0", | |
21 | + "vue-router": "4.1.5", | |
22 | + "vue-style-loader": "4.1.3", | |
23 | + "vue3-sfc-loader": "^0.8.4", | |
24 | + "webpack": "5.74.0", | |
25 | + "webpack-cli": "4.10.0" | |
26 | + } | |
27 | + }, | |
28 | + "node_modules/@ampproject/remapping": { | |
29 | + "version": "2.3.0", | |
30 | + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", | |
31 | + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", | |
32 | + "license": "Apache-2.0", | |
33 | + "dependencies": { | |
34 | + "@jridgewell/gen-mapping": "^0.3.5", | |
35 | + "@jridgewell/trace-mapping": "^0.3.24" | |
36 | + }, | |
37 | + "engines": { | |
38 | + "node": ">=6.0.0" | |
39 | + } | |
40 | + }, | |
41 | + "node_modules/@babel/cli": { | |
42 | + "version": "7.19.3", | |
43 | + "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.19.3.tgz", | |
44 | + "integrity": "sha512-643/TybmaCAe101m2tSVHi9UKpETXP9c/Ff4mD2tAwkdP6esKIfaauZFc67vGEM6r9fekbEGid+sZhbEnSe3dg==", | |
45 | + "license": "MIT", | |
46 | + "dependencies": { | |
47 | + "@jridgewell/trace-mapping": "^0.3.8", | |
48 | + "commander": "^4.0.1", | |
49 | + "convert-source-map": "^1.1.0", | |
50 | + "fs-readdir-recursive": "^1.1.0", | |
51 | + "glob": "^7.2.0", | |
52 | + "make-dir": "^2.1.0", | |
53 | + "slash": "^2.0.0" | |
54 | + }, | |
55 | + "bin": { | |
56 | + "babel": "bin/babel.js", | |
57 | + "babel-external-helpers": "bin/babel-external-helpers.js" | |
58 | + }, | |
59 | + "engines": { | |
60 | + "node": ">=6.9.0" | |
61 | + }, | |
62 | + "optionalDependencies": { | |
63 | + "@nicolo-ribaudo/chokidar-2": "2.1.8-no-fsevents.3", | |
64 | + "chokidar": "^3.4.0" | |
65 | + }, | |
66 | + "peerDependencies": { | |
67 | + "@babel/core": "^7.0.0-0" | |
68 | + } | |
69 | + }, | |
70 | + "node_modules/@babel/code-frame": { | |
71 | + "version": "7.24.7", | |
72 | + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", | |
73 | + "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", | |
74 | + "license": "MIT", | |
75 | + "dependencies": { | |
76 | + "@babel/highlight": "^7.24.7", | |
77 | + "picocolors": "^1.0.0" | |
78 | + }, | |
79 | + "engines": { | |
80 | + "node": ">=6.9.0" | |
81 | + } | |
82 | + }, | |
83 | + "node_modules/@babel/compat-data": { | |
84 | + "version": "7.25.0", | |
85 | + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.0.tgz", | |
86 | + "integrity": "sha512-P4fwKI2mjEb3ZU5cnMJzvRsRKGBUcs8jvxIoRmr6ufAY9Xk2Bz7JubRTTivkw55c7WQJfTECeqYVa+HZ0FzREg==", | |
87 | + "license": "MIT", | |
88 | + "engines": { | |
89 | + "node": ">=6.9.0" | |
90 | + } | |
91 | + }, | |
92 | + "node_modules/@babel/core": { | |
93 | + "version": "7.19.3", | |
94 | + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.3.tgz", | |
95 | + "integrity": "sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==", | |
96 | + "license": "MIT", | |
97 | + "dependencies": { | |
98 | + "@ampproject/remapping": "^2.1.0", | |
99 | + "@babel/code-frame": "^7.18.6", | |
100 | + "@babel/generator": "^7.19.3", | |
101 | + "@babel/helper-compilation-targets": "^7.19.3", | |
102 | + "@babel/helper-module-transforms": "^7.19.0", | |
103 | + "@babel/helpers": "^7.19.0", | |
104 | + "@babel/parser": "^7.19.3", | |
105 | + "@babel/template": "^7.18.10", | |
106 | + "@babel/traverse": "^7.19.3", | |
107 | + "@babel/types": "^7.19.3", | |
108 | + "convert-source-map": "^1.7.0", | |
109 | + "debug": "^4.1.0", | |
110 | + "gensync": "^1.0.0-beta.2", | |
111 | + "json5": "^2.2.1", | |
112 | + "semver": "^6.3.0" | |
113 | + }, | |
114 | + "engines": { | |
115 | + "node": ">=6.9.0" | |
116 | + }, | |
117 | + "funding": { | |
118 | + "type": "opencollective", | |
119 | + "url": "https://opencollective.com/babel" | |
120 | + } | |
121 | + }, | |
122 | + "node_modules/@babel/generator": { | |
123 | + "version": "7.25.0", | |
124 | + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.0.tgz", | |
125 | + "integrity": "sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw==", | |
126 | + "license": "MIT", | |
127 | + "dependencies": { | |
128 | + "@babel/types": "^7.25.0", | |
129 | + "@jridgewell/gen-mapping": "^0.3.5", | |
130 | + "@jridgewell/trace-mapping": "^0.3.25", | |
131 | + "jsesc": "^2.5.1" | |
132 | + }, | |
133 | + "engines": { | |
134 | + "node": ">=6.9.0" | |
135 | + } | |
136 | + }, | |
137 | + "node_modules/@babel/helper-compilation-targets": { | |
138 | + "version": "7.24.8", | |
139 | + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.8.tgz", | |
140 | + "integrity": "sha512-oU+UoqCHdp+nWVDkpldqIQL/i/bvAv53tRqLG/s+cOXxe66zOYLU7ar/Xs3LdmBihrUMEUhwu6dMZwbNOYDwvw==", | |
141 | + "license": "MIT", | |
142 | + "dependencies": { | |
143 | + "@babel/compat-data": "^7.24.8", | |
144 | + "@babel/helper-validator-option": "^7.24.8", | |
145 | + "browserslist": "^4.23.1", | |
146 | + "lru-cache": "^5.1.1", | |
147 | + "semver": "^6.3.1" | |
148 | + }, | |
149 | + "engines": { | |
150 | + "node": ">=6.9.0" | |
151 | + } | |
152 | + }, | |
153 | + "node_modules/@babel/helper-module-imports": { | |
154 | + "version": "7.24.7", | |
155 | + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", | |
156 | + "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", | |
157 | + "license": "MIT", | |
158 | + "dependencies": { | |
159 | + "@babel/traverse": "^7.24.7", | |
160 | + "@babel/types": "^7.24.7" | |
161 | + }, | |
162 | + "engines": { | |
163 | + "node": ">=6.9.0" | |
164 | + } | |
165 | + }, | |
166 | + "node_modules/@babel/helper-module-transforms": { | |
167 | + "version": "7.25.0", | |
168 | + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.0.tgz", | |
169 | + "integrity": "sha512-bIkOa2ZJYn7FHnepzr5iX9Kmz8FjIz4UKzJ9zhX3dnYuVW0xul9RuR3skBfoLu+FPTQw90EHW9rJsSZhyLQ3fQ==", | |
170 | + "license": "MIT", | |
171 | + "dependencies": { | |
172 | + "@babel/helper-module-imports": "^7.24.7", | |
173 | + "@babel/helper-simple-access": "^7.24.7", | |
174 | + "@babel/helper-validator-identifier": "^7.24.7", | |
175 | + "@babel/traverse": "^7.25.0" | |
176 | + }, | |
177 | + "engines": { | |
178 | + "node": ">=6.9.0" | |
179 | + }, | |
180 | + "peerDependencies": { | |
181 | + "@babel/core": "^7.0.0" | |
182 | + } | |
183 | + }, | |
184 | + "node_modules/@babel/helper-simple-access": { | |
185 | + "version": "7.24.7", | |
186 | + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", | |
187 | + "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", | |
188 | + "license": "MIT", | |
189 | + "dependencies": { | |
190 | + "@babel/traverse": "^7.24.7", | |
191 | + "@babel/types": "^7.24.7" | |
192 | + }, | |
193 | + "engines": { | |
194 | + "node": ">=6.9.0" | |
195 | + } | |
196 | + }, | |
197 | + "node_modules/@babel/helper-string-parser": { | |
198 | + "version": "7.24.8", | |
199 | + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", | |
200 | + "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", | |
201 | + "license": "MIT", | |
202 | + "engines": { | |
203 | + "node": ">=6.9.0" | |
204 | + } | |
205 | + }, | |
206 | + "node_modules/@babel/helper-validator-identifier": { | |
207 | + "version": "7.24.7", | |
208 | + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", | |
209 | + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", | |
210 | + "license": "MIT", | |
211 | + "engines": { | |
212 | + "node": ">=6.9.0" | |
213 | + } | |
214 | + }, | |
215 | + "node_modules/@babel/helper-validator-option": { | |
216 | + "version": "7.24.8", | |
217 | + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz", | |
218 | + "integrity": "sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==", | |
219 | + "license": "MIT", | |
220 | + "engines": { | |
221 | + "node": ">=6.9.0" | |
222 | + } | |
223 | + }, | |
224 | + "node_modules/@babel/helpers": { | |
225 | + "version": "7.25.0", | |
226 | + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.0.tgz", | |
227 | + "integrity": "sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw==", | |
228 | + "license": "MIT", | |
229 | + "dependencies": { | |
230 | + "@babel/template": "^7.25.0", | |
231 | + "@babel/types": "^7.25.0" | |
232 | + }, | |
233 | + "engines": { | |
234 | + "node": ">=6.9.0" | |
235 | + } | |
236 | + }, | |
237 | + "node_modules/@babel/highlight": { | |
238 | + "version": "7.24.7", | |
239 | + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", | |
240 | + "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", | |
241 | + "license": "MIT", | |
242 | + "dependencies": { | |
243 | + "@babel/helper-validator-identifier": "^7.24.7", | |
244 | + "chalk": "^2.4.2", | |
245 | + "js-tokens": "^4.0.0", | |
246 | + "picocolors": "^1.0.0" | |
247 | + }, | |
248 | + "engines": { | |
249 | + "node": ">=6.9.0" | |
250 | + } | |
251 | + }, | |
252 | + "node_modules/@babel/parser": { | |
253 | + "version": "7.25.0", | |
254 | + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.0.tgz", | |
255 | + "integrity": "sha512-CzdIU9jdP0dg7HdyB+bHvDJGagUv+qtzZt5rYCWwW6tITNqV9odjp6Qu41gkG0ca5UfdDUWrKkiAnHHdGRnOrA==", | |
256 | + "license": "MIT", | |
257 | + "bin": { | |
258 | + "parser": "bin/babel-parser.js" | |
259 | + }, | |
260 | + "engines": { | |
261 | + "node": ">=6.0.0" | |
262 | + } | |
263 | + }, | |
264 | + "node_modules/@babel/template": { | |
265 | + "version": "7.25.0", | |
266 | + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz", | |
267 | + "integrity": "sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==", | |
268 | + "license": "MIT", | |
269 | + "dependencies": { | |
270 | + "@babel/code-frame": "^7.24.7", | |
271 | + "@babel/parser": "^7.25.0", | |
272 | + "@babel/types": "^7.25.0" | |
273 | + }, | |
274 | + "engines": { | |
275 | + "node": ">=6.9.0" | |
276 | + } | |
277 | + }, | |
278 | + "node_modules/@babel/traverse": { | |
279 | + "version": "7.25.1", | |
280 | + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.1.tgz", | |
281 | + "integrity": "sha512-LrHHoWq08ZpmmFqBAzN+hUdWwy5zt7FGa/hVwMcOqW6OVtwqaoD5utfuGYU87JYxdZgLUvktAsn37j/sYR9siA==", | |
282 | + "license": "MIT", | |
283 | + "dependencies": { | |
284 | + "@babel/code-frame": "^7.24.7", | |
285 | + "@babel/generator": "^7.25.0", | |
286 | + "@babel/parser": "^7.25.0", | |
287 | + "@babel/template": "^7.25.0", | |
288 | + "@babel/types": "^7.25.0", | |
289 | + "debug": "^4.3.1", | |
290 | + "globals": "^11.1.0" | |
291 | + }, | |
292 | + "engines": { | |
293 | + "node": ">=6.9.0" | |
294 | + } | |
295 | + }, | |
296 | + "node_modules/@babel/types": { | |
297 | + "version": "7.25.0", | |
298 | + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.0.tgz", | |
299 | + "integrity": "sha512-LcnxQSsd9aXOIgmmSpvZ/1yo46ra2ESYyqLcryaBZOghxy5qqOBjvCWP5JfkI8yl9rlxRgdLTTMCQQRcN2hdCg==", | |
300 | + "license": "MIT", | |
301 | + "dependencies": { | |
302 | + "@babel/helper-string-parser": "^7.24.8", | |
303 | + "@babel/helper-validator-identifier": "^7.24.7", | |
304 | + "to-fast-properties": "^2.0.0" | |
305 | + }, | |
306 | + "engines": { | |
307 | + "node": ">=6.9.0" | |
308 | + } | |
309 | + }, | |
310 | + "node_modules/@discoveryjs/json-ext": { | |
311 | + "version": "0.5.7", | |
312 | + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", | |
313 | + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", | |
314 | + "license": "MIT", | |
315 | + "engines": { | |
316 | + "node": ">=10.0.0" | |
317 | + } | |
318 | + }, | |
319 | + "node_modules/@jridgewell/gen-mapping": { | |
320 | + "version": "0.3.5", | |
321 | + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", | |
322 | + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", | |
323 | + "license": "MIT", | |
324 | + "dependencies": { | |
325 | + "@jridgewell/set-array": "^1.2.1", | |
326 | + "@jridgewell/sourcemap-codec": "^1.4.10", | |
327 | + "@jridgewell/trace-mapping": "^0.3.24" | |
328 | + }, | |
329 | + "engines": { | |
330 | + "node": ">=6.0.0" | |
331 | + } | |
332 | + }, | |
333 | + "node_modules/@jridgewell/resolve-uri": { | |
334 | + "version": "3.1.2", | |
335 | + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", | |
336 | + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", | |
337 | + "license": "MIT", | |
338 | + "engines": { | |
339 | + "node": ">=6.0.0" | |
340 | + } | |
341 | + }, | |
342 | + "node_modules/@jridgewell/set-array": { | |
343 | + "version": "1.2.1", | |
344 | + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", | |
345 | + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", | |
346 | + "license": "MIT", | |
347 | + "engines": { | |
348 | + "node": ">=6.0.0" | |
349 | + } | |
350 | + }, | |
351 | + "node_modules/@jridgewell/source-map": { | |
352 | + "version": "0.3.6", | |
353 | + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", | |
354 | + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", | |
355 | + "license": "MIT", | |
356 | + "dependencies": { | |
357 | + "@jridgewell/gen-mapping": "^0.3.5", | |
358 | + "@jridgewell/trace-mapping": "^0.3.25" | |
359 | + } | |
360 | + }, | |
361 | + "node_modules/@jridgewell/sourcemap-codec": { | |
362 | + "version": "1.5.0", | |
363 | + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", | |
364 | + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", | |
365 | + "license": "MIT" | |
366 | + }, | |
367 | + "node_modules/@jridgewell/trace-mapping": { | |
368 | + "version": "0.3.25", | |
369 | + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", | |
370 | + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", | |
371 | + "license": "MIT", | |
372 | + "dependencies": { | |
373 | + "@jridgewell/resolve-uri": "^3.1.0", | |
374 | + "@jridgewell/sourcemap-codec": "^1.4.14" | |
375 | + } | |
376 | + }, | |
377 | + "node_modules/@nicolo-ribaudo/chokidar-2": { | |
378 | + "version": "2.1.8-no-fsevents.3", | |
379 | + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz", | |
380 | + "integrity": "sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==", | |
381 | + "license": "MIT", | |
382 | + "optional": true | |
383 | + }, | |
384 | + "node_modules/@types/eslint": { | |
385 | + "version": "9.6.0", | |
386 | + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.0.tgz", | |
387 | + "integrity": "sha512-gi6WQJ7cHRgZxtkQEoyHMppPjq9Kxo5Tjn2prSKDSmZrCz8TZ3jSRCeTJm+WoM+oB0WG37bRqLzaaU3q7JypGg==", | |
388 | + "license": "MIT", | |
389 | + "dependencies": { | |
390 | + "@types/estree": "*", | |
391 | + "@types/json-schema": "*" | |
392 | + } | |
393 | + }, | |
394 | + "node_modules/@types/eslint-scope": { | |
395 | + "version": "3.7.7", | |
396 | + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", | |
397 | + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", | |
398 | + "license": "MIT", | |
399 | + "dependencies": { | |
400 | + "@types/eslint": "*", | |
401 | + "@types/estree": "*" | |
402 | + } | |
403 | + }, | |
404 | + "node_modules/@types/estree": { | |
405 | + "version": "0.0.51", | |
406 | + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", | |
407 | + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", | |
408 | + "license": "MIT" | |
409 | + }, | |
410 | + "node_modules/@types/json-schema": { | |
411 | + "version": "7.0.15", | |
412 | + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", | |
413 | + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", | |
414 | + "license": "MIT" | |
415 | + }, | |
416 | + "node_modules/@types/node": { | |
417 | + "version": "22.0.0", | |
418 | + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.0.0.tgz", | |
419 | + "integrity": "sha512-VT7KSYudcPOzP5Q0wfbowyNLaVR8QWUdw+088uFWwfvpY6uCWaXpqV6ieLAu9WBcnTa7H4Z5RLK8I5t2FuOcqw==", | |
420 | + "license": "MIT", | |
421 | + "dependencies": { | |
422 | + "undici-types": "~6.11.1" | |
423 | + } | |
424 | + }, | |
425 | + "node_modules/@vue/compiler-core": { | |
426 | + "version": "3.2.40", | |
427 | + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.40.tgz", | |
428 | + "integrity": "sha512-2Dc3Stk0J/VyQ4OUr2yEC53kU28614lZS+bnrCbFSAIftBJ40g/2yQzf4mPBiFuqguMB7hyHaujdgZAQ67kZYA==", | |
429 | + "license": "MIT", | |
430 | + "dependencies": { | |
431 | + "@babel/parser": "^7.16.4", | |
432 | + "@vue/shared": "3.2.40", | |
433 | + "estree-walker": "^2.0.2", | |
434 | + "source-map": "^0.6.1" | |
435 | + } | |
436 | + }, | |
437 | + "node_modules/@vue/compiler-dom": { | |
438 | + "version": "3.2.40", | |
439 | + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.40.tgz", | |
440 | + "integrity": "sha512-OZCNyYVC2LQJy4H7h0o28rtk+4v+HMQygRTpmibGoG9wZyomQiS5otU7qo3Wlq5UfHDw2RFwxb9BJgKjVpjrQw==", | |
441 | + "license": "MIT", | |
442 | + "dependencies": { | |
443 | + "@vue/compiler-core": "3.2.40", | |
444 | + "@vue/shared": "3.2.40" | |
445 | + } | |
446 | + }, | |
447 | + "node_modules/@vue/compiler-sfc": { | |
448 | + "version": "3.2.40", | |
449 | + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.40.tgz", | |
450 | + "integrity": "sha512-tzqwniIN1fu1PDHC3CpqY/dPCfN/RN1thpBC+g69kJcrl7mbGiHKNwbA6kJ3XKKy8R6JLKqcpVugqN4HkeBFFg==", | |
451 | + "license": "MIT", | |
452 | + "dependencies": { | |
453 | + "@babel/parser": "^7.16.4", | |
454 | + "@vue/compiler-core": "3.2.40", | |
455 | + "@vue/compiler-dom": "3.2.40", | |
456 | + "@vue/compiler-ssr": "3.2.40", | |
457 | + "@vue/reactivity-transform": "3.2.40", | |
458 | + "@vue/shared": "3.2.40", | |
459 | + "estree-walker": "^2.0.2", | |
460 | + "magic-string": "^0.25.7", | |
461 | + "postcss": "^8.1.10", | |
462 | + "source-map": "^0.6.1" | |
463 | + } | |
464 | + }, | |
465 | + "node_modules/@vue/compiler-ssr": { | |
466 | + "version": "3.2.40", | |
467 | + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.40.tgz", | |
468 | + "integrity": "sha512-80cQcgasKjrPPuKcxwuCx7feq+wC6oFl5YaKSee9pV3DNq+6fmCVwEEC3vvkf/E2aI76rIJSOYHsWSEIxK74oQ==", | |
469 | + "license": "MIT", | |
470 | + "dependencies": { | |
471 | + "@vue/compiler-dom": "3.2.40", | |
472 | + "@vue/shared": "3.2.40" | |
473 | + } | |
474 | + }, | |
475 | + "node_modules/@vue/devtools-api": { | |
476 | + "version": "6.6.3", | |
477 | + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.3.tgz", | |
478 | + "integrity": "sha512-0MiMsFma/HqA6g3KLKn+AGpL1kgKhFWszC9U29NfpWK5LE7bjeXxySWJrOJ77hBz+TBrBQ7o4QJqbPbqbs8rJw==", | |
479 | + "license": "MIT" | |
480 | + }, | |
481 | + "node_modules/@vue/reactivity": { | |
482 | + "version": "3.2.40", | |
483 | + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.40.tgz", | |
484 | + "integrity": "sha512-N9qgGLlZmtUBMHF9xDT4EkD9RdXde1Xbveb+niWMXuHVWQP5BzgRmE3SFyUBBcyayG4y1lhoz+lphGRRxxK4RA==", | |
485 | + "license": "MIT", | |
486 | + "dependencies": { | |
487 | + "@vue/shared": "3.2.40" | |
488 | + } | |
489 | + }, | |
490 | + "node_modules/@vue/reactivity-transform": { | |
491 | + "version": "3.2.40", | |
492 | + "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.40.tgz", | |
493 | + "integrity": "sha512-HQUCVwEaacq6fGEsg2NUuGKIhUveMCjOk8jGHqLXPI2w6zFoPrlQhwWEaINTv5kkZDXKEnCijAp+4gNEHG03yw==", | |
494 | + "license": "MIT", | |
495 | + "dependencies": { | |
496 | + "@babel/parser": "^7.16.4", | |
497 | + "@vue/compiler-core": "3.2.40", | |
498 | + "@vue/shared": "3.2.40", | |
499 | + "estree-walker": "^2.0.2", | |
500 | + "magic-string": "^0.25.7" | |
501 | + } | |
502 | + }, | |
503 | + "node_modules/@vue/runtime-core": { | |
504 | + "version": "3.2.40", | |
505 | + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.40.tgz", | |
506 | + "integrity": "sha512-U1+rWf0H8xK8aBUZhnrN97yoZfHbjgw/bGUzfgKPJl69/mXDuSg8CbdBYBn6VVQdR947vWneQBFzdhasyzMUKg==", | |
507 | + "license": "MIT", | |
508 | + "dependencies": { | |
509 | + "@vue/reactivity": "3.2.40", | |
510 | + "@vue/shared": "3.2.40" | |
511 | + } | |
512 | + }, | |
513 | + "node_modules/@vue/runtime-dom": { | |
514 | + "version": "3.2.40", | |
515 | + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.40.tgz", | |
516 | + "integrity": "sha512-AO2HMQ+0s2+MCec8hXAhxMgWhFhOPJ/CyRXnmTJ6XIOnJFLrH5Iq3TNwvVcODGR295jy77I6dWPj+wvFoSYaww==", | |
517 | + "license": "MIT", | |
518 | + "dependencies": { | |
519 | + "@vue/runtime-core": "3.2.40", | |
520 | + "@vue/shared": "3.2.40", | |
521 | + "csstype": "^2.6.8" | |
522 | + } | |
523 | + }, | |
524 | + "node_modules/@vue/server-renderer": { | |
525 | + "version": "3.2.40", | |
526 | + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.40.tgz", | |
527 | + "integrity": "sha512-gtUcpRwrXOJPJ4qyBpU3EyxQa4EkV8I4f8VrDePcGCPe4O/hd0BPS7v9OgjIQob6Ap8VDz9G+mGTKazE45/95w==", | |
528 | + "license": "MIT", | |
529 | + "dependencies": { | |
530 | + "@vue/compiler-ssr": "3.2.40", | |
531 | + "@vue/shared": "3.2.40" | |
532 | + }, | |
533 | + "peerDependencies": { | |
534 | + "vue": "3.2.40" | |
535 | + } | |
536 | + }, | |
537 | + "node_modules/@vue/shared": { | |
538 | + "version": "3.2.40", | |
539 | + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.40.tgz", | |
540 | + "integrity": "sha512-0PLQ6RUtZM0vO3teRfzGi4ltLUO5aO+kLgwh4Um3THSR03rpQWLTuRCkuO5A41ITzwdWeKdPHtSARuPkoo5pCQ==", | |
541 | + "license": "MIT" | |
542 | + }, | |
543 | + "node_modules/@webassemblyjs/ast": { | |
544 | + "version": "1.11.1", | |
545 | + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", | |
546 | + "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", | |
547 | + "license": "MIT", | |
548 | + "dependencies": { | |
549 | + "@webassemblyjs/helper-numbers": "1.11.1", | |
550 | + "@webassemblyjs/helper-wasm-bytecode": "1.11.1" | |
551 | + } | |
552 | + }, | |
553 | + "node_modules/@webassemblyjs/floating-point-hex-parser": { | |
554 | + "version": "1.11.1", | |
555 | + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", | |
556 | + "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", | |
557 | + "license": "MIT" | |
558 | + }, | |
559 | + "node_modules/@webassemblyjs/helper-api-error": { | |
560 | + "version": "1.11.1", | |
561 | + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", | |
562 | + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", | |
563 | + "license": "MIT" | |
564 | + }, | |
565 | + "node_modules/@webassemblyjs/helper-buffer": { | |
566 | + "version": "1.11.1", | |
567 | + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", | |
568 | + "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", | |
569 | + "license": "MIT" | |
570 | + }, | |
571 | + "node_modules/@webassemblyjs/helper-numbers": { | |
572 | + "version": "1.11.1", | |
573 | + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", | |
574 | + "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", | |
575 | + "license": "MIT", | |
576 | + "dependencies": { | |
577 | + "@webassemblyjs/floating-point-hex-parser": "1.11.1", | |
578 | + "@webassemblyjs/helper-api-error": "1.11.1", | |
579 | + "@xtuc/long": "4.2.2" | |
580 | + } | |
581 | + }, | |
582 | + "node_modules/@webassemblyjs/helper-wasm-bytecode": { | |
583 | + "version": "1.11.1", | |
584 | + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", | |
585 | + "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", | |
586 | + "license": "MIT" | |
587 | + }, | |
588 | + "node_modules/@webassemblyjs/helper-wasm-section": { | |
589 | + "version": "1.11.1", | |
590 | + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", | |
591 | + "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", | |
592 | + "license": "MIT", | |
593 | + "dependencies": { | |
594 | + "@webassemblyjs/ast": "1.11.1", | |
595 | + "@webassemblyjs/helper-buffer": "1.11.1", | |
596 | + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", | |
597 | + "@webassemblyjs/wasm-gen": "1.11.1" | |
598 | + } | |
599 | + }, | |
600 | + "node_modules/@webassemblyjs/ieee754": { | |
601 | + "version": "1.11.1", | |
602 | + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", | |
603 | + "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", | |
604 | + "license": "MIT", | |
605 | + "dependencies": { | |
606 | + "@xtuc/ieee754": "^1.2.0" | |
607 | + } | |
608 | + }, | |
609 | + "node_modules/@webassemblyjs/leb128": { | |
610 | + "version": "1.11.1", | |
611 | + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", | |
612 | + "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", | |
613 | + "license": "Apache-2.0", | |
614 | + "dependencies": { | |
615 | + "@xtuc/long": "4.2.2" | |
616 | + } | |
617 | + }, | |
618 | + "node_modules/@webassemblyjs/utf8": { | |
619 | + "version": "1.11.1", | |
620 | + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", | |
621 | + "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", | |
622 | + "license": "MIT" | |
623 | + }, | |
624 | + "node_modules/@webassemblyjs/wasm-edit": { | |
625 | + "version": "1.11.1", | |
626 | + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", | |
627 | + "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", | |
628 | + "license": "MIT", | |
629 | + "dependencies": { | |
630 | + "@webassemblyjs/ast": "1.11.1", | |
631 | + "@webassemblyjs/helper-buffer": "1.11.1", | |
632 | + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", | |
633 | + "@webassemblyjs/helper-wasm-section": "1.11.1", | |
634 | + "@webassemblyjs/wasm-gen": "1.11.1", | |
635 | + "@webassemblyjs/wasm-opt": "1.11.1", | |
636 | + "@webassemblyjs/wasm-parser": "1.11.1", | |
637 | + "@webassemblyjs/wast-printer": "1.11.1" | |
638 | + } | |
639 | + }, | |
640 | + "node_modules/@webassemblyjs/wasm-gen": { | |
641 | + "version": "1.11.1", | |
642 | + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", | |
643 | + "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", | |
644 | + "license": "MIT", | |
645 | + "dependencies": { | |
646 | + "@webassemblyjs/ast": "1.11.1", | |
647 | + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", | |
648 | + "@webassemblyjs/ieee754": "1.11.1", | |
649 | + "@webassemblyjs/leb128": "1.11.1", | |
650 | + "@webassemblyjs/utf8": "1.11.1" | |
651 | + } | |
652 | + }, | |
653 | + "node_modules/@webassemblyjs/wasm-opt": { | |
654 | + "version": "1.11.1", | |
655 | + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", | |
656 | + "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", | |
657 | + "license": "MIT", | |
658 | + "dependencies": { | |
659 | + "@webassemblyjs/ast": "1.11.1", | |
660 | + "@webassemblyjs/helper-buffer": "1.11.1", | |
661 | + "@webassemblyjs/wasm-gen": "1.11.1", | |
662 | + "@webassemblyjs/wasm-parser": "1.11.1" | |
663 | + } | |
664 | + }, | |
665 | + "node_modules/@webassemblyjs/wasm-parser": { | |
666 | + "version": "1.11.1", | |
667 | + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", | |
668 | + "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", | |
669 | + "license": "MIT", | |
670 | + "dependencies": { | |
671 | + "@webassemblyjs/ast": "1.11.1", | |
672 | + "@webassemblyjs/helper-api-error": "1.11.1", | |
673 | + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", | |
674 | + "@webassemblyjs/ieee754": "1.11.1", | |
675 | + "@webassemblyjs/leb128": "1.11.1", | |
676 | + "@webassemblyjs/utf8": "1.11.1" | |
677 | + } | |
678 | + }, | |
679 | + "node_modules/@webassemblyjs/wast-printer": { | |
680 | + "version": "1.11.1", | |
681 | + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", | |
682 | + "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", | |
683 | + "license": "MIT", | |
684 | + "dependencies": { | |
685 | + "@webassemblyjs/ast": "1.11.1", | |
686 | + "@xtuc/long": "4.2.2" | |
687 | + } | |
688 | + }, | |
689 | + "node_modules/@webpack-cli/configtest": { | |
690 | + "version": "1.2.0", | |
691 | + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.2.0.tgz", | |
692 | + "integrity": "sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==", | |
693 | + "license": "MIT", | |
694 | + "peerDependencies": { | |
695 | + "webpack": "4.x.x || 5.x.x", | |
696 | + "webpack-cli": "4.x.x" | |
697 | + } | |
698 | + }, | |
699 | + "node_modules/@webpack-cli/info": { | |
700 | + "version": "1.5.0", | |
701 | + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.5.0.tgz", | |
702 | + "integrity": "sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==", | |
703 | + "license": "MIT", | |
704 | + "dependencies": { | |
705 | + "envinfo": "^7.7.3" | |
706 | + }, | |
707 | + "peerDependencies": { | |
708 | + "webpack-cli": "4.x.x" | |
709 | + } | |
710 | + }, | |
711 | + "node_modules/@webpack-cli/serve": { | |
712 | + "version": "1.7.0", | |
713 | + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.7.0.tgz", | |
714 | + "integrity": "sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==", | |
715 | + "license": "MIT", | |
716 | + "peerDependencies": { | |
717 | + "webpack-cli": "4.x.x" | |
718 | + }, | |
719 | + "peerDependenciesMeta": { | |
720 | + "webpack-dev-server": { | |
721 | + "optional": true | |
722 | + } | |
723 | + } | |
724 | + }, | |
725 | + "node_modules/@xtuc/ieee754": { | |
726 | + "version": "1.2.0", | |
727 | + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", | |
728 | + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", | |
729 | + "license": "BSD-3-Clause" | |
730 | + }, | |
731 | + "node_modules/@xtuc/long": { | |
732 | + "version": "4.2.2", | |
733 | + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", | |
734 | + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", | |
735 | + "license": "Apache-2.0" | |
736 | + }, | |
737 | + "node_modules/accepts": { | |
738 | + "version": "1.3.8", | |
739 | + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", | |
740 | + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", | |
741 | + "license": "MIT", | |
742 | + "dependencies": { | |
743 | + "mime-types": "~2.1.34", | |
744 | + "negotiator": "0.6.3" | |
745 | + }, | |
746 | + "engines": { | |
747 | + "node": ">= 0.6" | |
748 | + } | |
749 | + }, | |
750 | + "node_modules/acorn": { | |
751 | + "version": "8.12.1", | |
752 | + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", | |
753 | + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", | |
754 | + "license": "MIT", | |
755 | + "bin": { | |
756 | + "acorn": "bin/acorn" | |
757 | + }, | |
758 | + "engines": { | |
759 | + "node": ">=0.4.0" | |
760 | + } | |
761 | + }, | |
762 | + "node_modules/acorn-import-assertions": { | |
763 | + "version": "1.9.0", | |
764 | + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", | |
765 | + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", | |
766 | + "license": "MIT", | |
767 | + "peerDependencies": { | |
768 | + "acorn": "^8" | |
769 | + } | |
770 | + }, | |
771 | + "node_modules/ajv": { | |
772 | + "version": "6.12.6", | |
773 | + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", | |
774 | + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", | |
775 | + "license": "MIT", | |
776 | + "dependencies": { | |
777 | + "fast-deep-equal": "^3.1.1", | |
778 | + "fast-json-stable-stringify": "^2.0.0", | |
779 | + "json-schema-traverse": "^0.4.1", | |
780 | + "uri-js": "^4.2.2" | |
781 | + }, | |
782 | + "funding": { | |
783 | + "type": "github", | |
784 | + "url": "https://github.com/sponsors/epoberezkin" | |
785 | + } | |
786 | + }, | |
787 | + "node_modules/ajv-keywords": { | |
788 | + "version": "3.5.2", | |
789 | + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", | |
790 | + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", | |
791 | + "license": "MIT", | |
792 | + "peerDependencies": { | |
793 | + "ajv": "^6.9.1" | |
794 | + } | |
795 | + }, | |
796 | + "node_modules/ansi-styles": { | |
797 | + "version": "3.2.1", | |
798 | + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", | |
799 | + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", | |
800 | + "license": "MIT", | |
801 | + "dependencies": { | |
802 | + "color-convert": "^1.9.0" | |
803 | + }, | |
804 | + "engines": { | |
805 | + "node": ">=4" | |
806 | + } | |
807 | + }, | |
808 | + "node_modules/anymatch": { | |
809 | + "version": "3.1.3", | |
810 | + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", | |
811 | + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", | |
812 | + "license": "ISC", | |
813 | + "optional": true, | |
814 | + "dependencies": { | |
815 | + "normalize-path": "^3.0.0", | |
816 | + "picomatch": "^2.0.4" | |
817 | + }, | |
818 | + "engines": { | |
819 | + "node": ">= 8" | |
820 | + } | |
821 | + }, | |
822 | + "node_modules/array-flatten": { | |
823 | + "version": "1.1.1", | |
824 | + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", | |
825 | + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", | |
826 | + "license": "MIT" | |
827 | + }, | |
828 | + "node_modules/babel-loader": { | |
829 | + "version": "8.2.5", | |
830 | + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz", | |
831 | + "integrity": "sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==", | |
832 | + "license": "MIT", | |
833 | + "dependencies": { | |
834 | + "find-cache-dir": "^3.3.1", | |
835 | + "loader-utils": "^2.0.0", | |
836 | + "make-dir": "^3.1.0", | |
837 | + "schema-utils": "^2.6.5" | |
838 | + }, | |
839 | + "engines": { | |
840 | + "node": ">= 8.9" | |
841 | + }, | |
842 | + "peerDependencies": { | |
843 | + "@babel/core": "^7.0.0", | |
844 | + "webpack": ">=2" | |
845 | + } | |
846 | + }, | |
847 | + "node_modules/babel-loader/node_modules/make-dir": { | |
848 | + "version": "3.1.0", | |
849 | + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", | |
850 | + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", | |
851 | + "license": "MIT", | |
852 | + "dependencies": { | |
853 | + "semver": "^6.0.0" | |
854 | + }, | |
855 | + "engines": { | |
856 | + "node": ">=8" | |
857 | + }, | |
858 | + "funding": { | |
859 | + "url": "https://github.com/sponsors/sindresorhus" | |
860 | + } | |
861 | + }, | |
862 | + "node_modules/balanced-match": { | |
863 | + "version": "1.0.2", | |
864 | + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", | |
865 | + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", | |
866 | + "license": "MIT" | |
867 | + }, | |
868 | + "node_modules/big.js": { | |
869 | + "version": "5.2.2", | |
870 | + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", | |
871 | + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", | |
872 | + "license": "MIT", | |
873 | + "engines": { | |
874 | + "node": "*" | |
875 | + } | |
876 | + }, | |
877 | + "node_modules/binary-extensions": { | |
878 | + "version": "2.3.0", | |
879 | + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", | |
880 | + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", | |
881 | + "license": "MIT", | |
882 | + "optional": true, | |
883 | + "engines": { | |
884 | + "node": ">=8" | |
885 | + }, | |
886 | + "funding": { | |
887 | + "url": "https://github.com/sponsors/sindresorhus" | |
888 | + } | |
889 | + }, | |
890 | + "node_modules/body-parser": { | |
891 | + "version": "1.20.0", | |
892 | + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", | |
893 | + "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", | |
894 | + "license": "MIT", | |
895 | + "dependencies": { | |
896 | + "bytes": "3.1.2", | |
897 | + "content-type": "~1.0.4", | |
898 | + "debug": "2.6.9", | |
899 | + "depd": "2.0.0", | |
900 | + "destroy": "1.2.0", | |
901 | + "http-errors": "2.0.0", | |
902 | + "iconv-lite": "0.4.24", | |
903 | + "on-finished": "2.4.1", | |
904 | + "qs": "6.10.3", | |
905 | + "raw-body": "2.5.1", | |
906 | + "type-is": "~1.6.18", | |
907 | + "unpipe": "1.0.0" | |
908 | + }, | |
909 | + "engines": { | |
910 | + "node": ">= 0.8", | |
911 | + "npm": "1.2.8000 || >= 1.4.16" | |
912 | + } | |
913 | + }, | |
914 | + "node_modules/body-parser/node_modules/debug": { | |
915 | + "version": "2.6.9", | |
916 | + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", | |
917 | + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", | |
918 | + "license": "MIT", | |
919 | + "dependencies": { | |
920 | + "ms": "2.0.0" | |
921 | + } | |
922 | + }, | |
923 | + "node_modules/body-parser/node_modules/ms": { | |
924 | + "version": "2.0.0", | |
925 | + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", | |
926 | + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", | |
927 | + "license": "MIT" | |
928 | + }, | |
929 | + "node_modules/brace-expansion": { | |
930 | + "version": "1.1.11", | |
931 | + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", | |
932 | + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", | |
933 | + "license": "MIT", | |
934 | + "dependencies": { | |
935 | + "balanced-match": "^1.0.0", | |
936 | + "concat-map": "0.0.1" | |
937 | + } | |
938 | + }, | |
939 | + "node_modules/braces": { | |
940 | + "version": "3.0.3", | |
941 | + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", | |
942 | + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", | |
943 | + "license": "MIT", | |
944 | + "optional": true, | |
945 | + "dependencies": { | |
946 | + "fill-range": "^7.1.1" | |
947 | + }, | |
948 | + "engines": { | |
949 | + "node": ">=8" | |
950 | + } | |
951 | + }, | |
952 | + "node_modules/browserslist": { | |
953 | + "version": "4.23.2", | |
954 | + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.2.tgz", | |
955 | + "integrity": "sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==", | |
956 | + "funding": [ | |
957 | + { | |
958 | + "type": "opencollective", | |
959 | + "url": "https://opencollective.com/browserslist" | |
960 | + }, | |
961 | + { | |
962 | + "type": "tidelift", | |
963 | + "url": "https://tidelift.com/funding/github/npm/browserslist" | |
964 | + }, | |
965 | + { | |
966 | + "type": "github", | |
967 | + "url": "https://github.com/sponsors/ai" | |
968 | + } | |
969 | + ], | |
970 | + "license": "MIT", | |
971 | + "dependencies": { | |
972 | + "caniuse-lite": "^1.0.30001640", | |
973 | + "electron-to-chromium": "^1.4.820", | |
974 | + "node-releases": "^2.0.14", | |
975 | + "update-browserslist-db": "^1.1.0" | |
976 | + }, | |
977 | + "bin": { | |
978 | + "browserslist": "cli.js" | |
979 | + }, | |
980 | + "engines": { | |
981 | + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" | |
982 | + } | |
983 | + }, | |
984 | + "node_modules/buffer-from": { | |
985 | + "version": "1.1.2", | |
986 | + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", | |
987 | + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", | |
988 | + "license": "MIT" | |
989 | + }, | |
990 | + "node_modules/buffer-writer": { | |
991 | + "version": "2.0.0", | |
992 | + "resolved": "https://registry.npmjs.org/buffer-writer/-/buffer-writer-2.0.0.tgz", | |
993 | + "integrity": "sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==", | |
994 | + "license": "MIT", | |
995 | + "engines": { | |
996 | + "node": ">=4" | |
997 | + } | |
998 | + }, | |
999 | + "node_modules/bytes": { | |
1000 | + "version": "3.1.2", | |
1001 | + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", | |
1002 | + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", | |
1003 | + "license": "MIT", | |
1004 | + "engines": { | |
1005 | + "node": ">= 0.8" | |
1006 | + } | |
1007 | + }, | |
1008 | + "node_modules/call-bind": { | |
1009 | + "version": "1.0.7", | |
1010 | + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", | |
1011 | + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", | |
1012 | + "license": "MIT", | |
1013 | + "dependencies": { | |
1014 | + "es-define-property": "^1.0.0", | |
1015 | + "es-errors": "^1.3.0", | |
1016 | + "function-bind": "^1.1.2", | |
1017 | + "get-intrinsic": "^1.2.4", | |
1018 | + "set-function-length": "^1.2.1" | |
1019 | + }, | |
1020 | + "engines": { | |
1021 | + "node": ">= 0.4" | |
1022 | + }, | |
1023 | + "funding": { | |
1024 | + "url": "https://github.com/sponsors/ljharb" | |
1025 | + } | |
1026 | + }, | |
1027 | + "node_modules/caniuse-lite": { | |
1028 | + "version": "1.0.30001643", | |
1029 | + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001643.tgz", | |
1030 | + "integrity": "sha512-ERgWGNleEilSrHM6iUz/zJNSQTP8Mr21wDWpdgvRwcTXGAq6jMtOUPP4dqFPTdKqZ2wKTdtB+uucZ3MRpAUSmg==", | |
1031 | + "funding": [ | |
1032 | + { | |
1033 | + "type": "opencollective", | |
1034 | + "url": "https://opencollective.com/browserslist" | |
1035 | + }, | |
1036 | + { | |
1037 | + "type": "tidelift", | |
1038 | + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" | |
1039 | + }, | |
1040 | + { | |
1041 | + "type": "github", | |
1042 | + "url": "https://github.com/sponsors/ai" | |
1043 | + } | |
1044 | + ], | |
1045 | + "license": "CC-BY-4.0" | |
1046 | + }, | |
1047 | + "node_modules/chalk": { | |
1048 | + "version": "2.4.2", | |
1049 | + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", | |
1050 | + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", | |
1051 | + "license": "MIT", | |
1052 | + "dependencies": { | |
1053 | + "ansi-styles": "^3.2.1", | |
1054 | + "escape-string-regexp": "^1.0.5", | |
1055 | + "supports-color": "^5.3.0" | |
1056 | + }, | |
1057 | + "engines": { | |
1058 | + "node": ">=4" | |
1059 | + } | |
1060 | + }, | |
1061 | + "node_modules/chokidar": { | |
1062 | + "version": "3.6.0", | |
1063 | + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", | |
1064 | + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", | |
1065 | + "license": "MIT", | |
1066 | + "optional": true, | |
1067 | + "dependencies": { | |
1068 | + "anymatch": "~3.1.2", | |
1069 | + "braces": "~3.0.2", | |
1070 | + "glob-parent": "~5.1.2", | |
1071 | + "is-binary-path": "~2.1.0", | |
1072 | + "is-glob": "~4.0.1", | |
1073 | + "normalize-path": "~3.0.0", | |
1074 | + "readdirp": "~3.6.0" | |
1075 | + }, | |
1076 | + "engines": { | |
1077 | + "node": ">= 8.10.0" | |
1078 | + }, | |
1079 | + "funding": { | |
1080 | + "url": "https://paulmillr.com/funding/" | |
1081 | + }, | |
1082 | + "optionalDependencies": { | |
1083 | + "fsevents": "~2.3.2" | |
1084 | + } | |
1085 | + }, | |
1086 | + "node_modules/chrome-trace-event": { | |
1087 | + "version": "1.0.4", | |
1088 | + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", | |
1089 | + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", | |
1090 | + "license": "MIT", | |
1091 | + "engines": { | |
1092 | + "node": ">=6.0" | |
1093 | + } | |
1094 | + }, | |
1095 | + "node_modules/clone-deep": { | |
1096 | + "version": "4.0.1", | |
1097 | + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", | |
1098 | + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", | |
1099 | + "license": "MIT", | |
1100 | + "dependencies": { | |
1101 | + "is-plain-object": "^2.0.4", | |
1102 | + "kind-of": "^6.0.2", | |
1103 | + "shallow-clone": "^3.0.0" | |
1104 | + }, | |
1105 | + "engines": { | |
1106 | + "node": ">=6" | |
1107 | + } | |
1108 | + }, | |
1109 | + "node_modules/color-convert": { | |
1110 | + "version": "1.9.3", | |
1111 | + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", | |
1112 | + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", | |
1113 | + "license": "MIT", | |
1114 | + "dependencies": { | |
1115 | + "color-name": "1.1.3" | |
1116 | + } | |
1117 | + }, | |
1118 | + "node_modules/color-name": { | |
1119 | + "version": "1.1.3", | |
1120 | + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", | |
1121 | + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", | |
1122 | + "license": "MIT" | |
1123 | + }, | |
1124 | + "node_modules/colorette": { | |
1125 | + "version": "2.0.20", | |
1126 | + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", | |
1127 | + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", | |
1128 | + "license": "MIT" | |
1129 | + }, | |
1130 | + "node_modules/commander": { | |
1131 | + "version": "4.1.1", | |
1132 | + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", | |
1133 | + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", | |
1134 | + "license": "MIT", | |
1135 | + "engines": { | |
1136 | + "node": ">= 6" | |
1137 | + } | |
1138 | + }, | |
1139 | + "node_modules/commondir": { | |
1140 | + "version": "1.0.1", | |
1141 | + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", | |
1142 | + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", | |
1143 | + "license": "MIT" | |
1144 | + }, | |
1145 | + "node_modules/concat-map": { | |
1146 | + "version": "0.0.1", | |
1147 | + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", | |
1148 | + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", | |
1149 | + "license": "MIT" | |
1150 | + }, | |
1151 | + "node_modules/content-disposition": { | |
1152 | + "version": "0.5.4", | |
1153 | + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", | |
1154 | + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", | |
1155 | + "license": "MIT", | |
1156 | + "dependencies": { | |
1157 | + "safe-buffer": "5.2.1" | |
1158 | + }, | |
1159 | + "engines": { | |
1160 | + "node": ">= 0.6" | |
1161 | + } | |
1162 | + }, | |
1163 | + "node_modules/content-type": { | |
1164 | + "version": "1.0.5", | |
1165 | + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", | |
1166 | + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", | |
1167 | + "license": "MIT", | |
1168 | + "engines": { | |
1169 | + "node": ">= 0.6" | |
1170 | + } | |
1171 | + }, | |
1172 | + "node_modules/convert-source-map": { | |
1173 | + "version": "1.9.0", | |
1174 | + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", | |
1175 | + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", | |
1176 | + "license": "MIT" | |
1177 | + }, | |
1178 | + "node_modules/cookie": { | |
1179 | + "version": "0.5.0", | |
1180 | + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", | |
1181 | + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", | |
1182 | + "license": "MIT", | |
1183 | + "engines": { | |
1184 | + "node": ">= 0.6" | |
1185 | + } | |
1186 | + }, | |
1187 | + "node_modules/cookie-signature": { | |
1188 | + "version": "1.0.6", | |
1189 | + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", | |
1190 | + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", | |
1191 | + "license": "MIT" | |
1192 | + }, | |
1193 | + "node_modules/cross-spawn": { | |
1194 | + "version": "7.0.3", | |
1195 | + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", | |
1196 | + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", | |
1197 | + "license": "MIT", | |
1198 | + "dependencies": { | |
1199 | + "path-key": "^3.1.0", | |
1200 | + "shebang-command": "^2.0.0", | |
1201 | + "which": "^2.0.1" | |
1202 | + }, | |
1203 | + "engines": { | |
1204 | + "node": ">= 8" | |
1205 | + } | |
1206 | + }, | |
1207 | + "node_modules/css-loader": { | |
1208 | + "version": "6.7.1", | |
1209 | + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.1.tgz", | |
1210 | + "integrity": "sha512-yB5CNFa14MbPJcomwNh3wLThtkZgcNyI2bNMRt8iE5Z8Vwl7f8vQXFAzn2HDOJvtDq2NTZBUGMSUNNyrv3/+cw==", | |
1211 | + "license": "MIT", | |
1212 | + "dependencies": { | |
1213 | + "icss-utils": "^5.1.0", | |
1214 | + "postcss": "^8.4.7", | |
1215 | + "postcss-modules-extract-imports": "^3.0.0", | |
1216 | + "postcss-modules-local-by-default": "^4.0.0", | |
1217 | + "postcss-modules-scope": "^3.0.0", | |
1218 | + "postcss-modules-values": "^4.0.0", | |
1219 | + "postcss-value-parser": "^4.2.0", | |
1220 | + "semver": "^7.3.5" | |
1221 | + }, | |
1222 | + "engines": { | |
1223 | + "node": ">= 12.13.0" | |
1224 | + }, | |
1225 | + "funding": { | |
1226 | + "type": "opencollective", | |
1227 | + "url": "https://opencollective.com/webpack" | |
1228 | + }, | |
1229 | + "peerDependencies": { | |
1230 | + "webpack": "^5.0.0" | |
1231 | + } | |
1232 | + }, | |
1233 | + "node_modules/css-loader/node_modules/semver": { | |
1234 | + "version": "7.6.3", | |
1235 | + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", | |
1236 | + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", | |
1237 | + "license": "ISC", | |
1238 | + "bin": { | |
1239 | + "semver": "bin/semver.js" | |
1240 | + }, | |
1241 | + "engines": { | |
1242 | + "node": ">=10" | |
1243 | + } | |
1244 | + }, | |
1245 | + "node_modules/cssesc": { | |
1246 | + "version": "3.0.0", | |
1247 | + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", | |
1248 | + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", | |
1249 | + "license": "MIT", | |
1250 | + "bin": { | |
1251 | + "cssesc": "bin/cssesc" | |
1252 | + }, | |
1253 | + "engines": { | |
1254 | + "node": ">=4" | |
1255 | + } | |
1256 | + }, | |
1257 | + "node_modules/csstype": { | |
1258 | + "version": "2.6.21", | |
1259 | + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz", | |
1260 | + "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==", | |
1261 | + "license": "MIT" | |
1262 | + }, | |
1263 | + "node_modules/debug": { | |
1264 | + "version": "4.3.6", | |
1265 | + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", | |
1266 | + "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", | |
1267 | + "license": "MIT", | |
1268 | + "dependencies": { | |
1269 | + "ms": "2.1.2" | |
1270 | + }, | |
1271 | + "engines": { | |
1272 | + "node": ">=6.0" | |
1273 | + }, | |
1274 | + "peerDependenciesMeta": { | |
1275 | + "supports-color": { | |
1276 | + "optional": true | |
1277 | + } | |
1278 | + } | |
1279 | + }, | |
1280 | + "node_modules/define-data-property": { | |
1281 | + "version": "1.1.4", | |
1282 | + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", | |
1283 | + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", | |
1284 | + "license": "MIT", | |
1285 | + "dependencies": { | |
1286 | + "es-define-property": "^1.0.0", | |
1287 | + "es-errors": "^1.3.0", | |
1288 | + "gopd": "^1.0.1" | |
1289 | + }, | |
1290 | + "engines": { | |
1291 | + "node": ">= 0.4" | |
1292 | + }, | |
1293 | + "funding": { | |
1294 | + "url": "https://github.com/sponsors/ljharb" | |
1295 | + } | |
1296 | + }, | |
1297 | + "node_modules/depd": { | |
1298 | + "version": "2.0.0", | |
1299 | + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", | |
1300 | + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", | |
1301 | + "license": "MIT", | |
1302 | + "engines": { | |
1303 | + "node": ">= 0.8" | |
1304 | + } | |
1305 | + }, | |
1306 | + "node_modules/destroy": { | |
1307 | + "version": "1.2.0", | |
1308 | + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", | |
1309 | + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", | |
1310 | + "license": "MIT", | |
1311 | + "engines": { | |
1312 | + "node": ">= 0.8", | |
1313 | + "npm": "1.2.8000 || >= 1.4.16" | |
1314 | + } | |
1315 | + }, | |
1316 | + "node_modules/ee-first": { | |
1317 | + "version": "1.1.1", | |
1318 | + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", | |
1319 | + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", | |
1320 | + "license": "MIT" | |
1321 | + }, | |
1322 | + "node_modules/electron-to-chromium": { | |
1323 | + "version": "1.5.2", | |
1324 | + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.2.tgz", | |
1325 | + "integrity": "sha512-kc4r3U3V3WLaaZqThjYz/Y6z8tJe+7K0bbjUVo3i+LWIypVdMx5nXCkwRe6SWbY6ILqLdc1rKcKmr3HoH7wjSQ==", | |
1326 | + "license": "ISC" | |
1327 | + }, | |
1328 | + "node_modules/emojis-list": { | |
1329 | + "version": "3.0.0", | |
1330 | + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", | |
1331 | + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", | |
1332 | + "license": "MIT", | |
1333 | + "engines": { | |
1334 | + "node": ">= 4" | |
1335 | + } | |
1336 | + }, | |
1337 | + "node_modules/encodeurl": { | |
1338 | + "version": "1.0.2", | |
1339 | + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", | |
1340 | + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", | |
1341 | + "license": "MIT", | |
1342 | + "engines": { | |
1343 | + "node": ">= 0.8" | |
1344 | + } | |
1345 | + }, | |
1346 | + "node_modules/enhanced-resolve": { | |
1347 | + "version": "5.17.1", | |
1348 | + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", | |
1349 | + "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", | |
1350 | + "license": "MIT", | |
1351 | + "dependencies": { | |
1352 | + "graceful-fs": "^4.2.4", | |
1353 | + "tapable": "^2.2.0" | |
1354 | + }, | |
1355 | + "engines": { | |
1356 | + "node": ">=10.13.0" | |
1357 | + } | |
1358 | + }, | |
1359 | + "node_modules/envinfo": { | |
1360 | + "version": "7.13.0", | |
1361 | + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.13.0.tgz", | |
1362 | + "integrity": "sha512-cvcaMr7KqXVh4nyzGTVqTum+gAiL265x5jUWQIDLq//zOGbW+gSW/C+OWLleY/rs9Qole6AZLMXPbtIFQbqu+Q==", | |
1363 | + "license": "MIT", | |
1364 | + "bin": { | |
1365 | + "envinfo": "dist/cli.js" | |
1366 | + }, | |
1367 | + "engines": { | |
1368 | + "node": ">=4" | |
1369 | + } | |
1370 | + }, | |
1371 | + "node_modules/es-define-property": { | |
1372 | + "version": "1.0.0", | |
1373 | + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", | |
1374 | + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", | |
1375 | + "license": "MIT", | |
1376 | + "dependencies": { | |
1377 | + "get-intrinsic": "^1.2.4" | |
1378 | + }, | |
1379 | + "engines": { | |
1380 | + "node": ">= 0.4" | |
1381 | + } | |
1382 | + }, | |
1383 | + "node_modules/es-errors": { | |
1384 | + "version": "1.3.0", | |
1385 | + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", | |
1386 | + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", | |
1387 | + "license": "MIT", | |
1388 | + "engines": { | |
1389 | + "node": ">= 0.4" | |
1390 | + } | |
1391 | + }, | |
1392 | + "node_modules/es-module-lexer": { | |
1393 | + "version": "0.9.3", | |
1394 | + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", | |
1395 | + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", | |
1396 | + "license": "MIT" | |
1397 | + }, | |
1398 | + "node_modules/es6-promise": { | |
1399 | + "version": "4.2.8", | |
1400 | + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", | |
1401 | + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", | |
1402 | + "license": "MIT" | |
1403 | + }, | |
1404 | + "node_modules/escalade": { | |
1405 | + "version": "3.1.2", | |
1406 | + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", | |
1407 | + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", | |
1408 | + "license": "MIT", | |
1409 | + "engines": { | |
1410 | + "node": ">=6" | |
1411 | + } | |
1412 | + }, | |
1413 | + "node_modules/escape-html": { | |
1414 | + "version": "1.0.3", | |
1415 | + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", | |
1416 | + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", | |
1417 | + "license": "MIT" | |
1418 | + }, | |
1419 | + "node_modules/escape-string-regexp": { | |
1420 | + "version": "1.0.5", | |
1421 | + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", | |
1422 | + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", | |
1423 | + "license": "MIT", | |
1424 | + "engines": { | |
1425 | + "node": ">=0.8.0" | |
1426 | + } | |
1427 | + }, | |
1428 | + "node_modules/eslint-scope": { | |
1429 | + "version": "5.1.1", | |
1430 | + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", | |
1431 | + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", | |
1432 | + "license": "BSD-2-Clause", | |
1433 | + "dependencies": { | |
1434 | + "esrecurse": "^4.3.0", | |
1435 | + "estraverse": "^4.1.1" | |
1436 | + }, | |
1437 | + "engines": { | |
1438 | + "node": ">=8.0.0" | |
1439 | + } | |
1440 | + }, | |
1441 | + "node_modules/esrecurse": { | |
1442 | + "version": "4.3.0", | |
1443 | + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", | |
1444 | + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", | |
1445 | + "license": "BSD-2-Clause", | |
1446 | + "dependencies": { | |
1447 | + "estraverse": "^5.2.0" | |
1448 | + }, | |
1449 | + "engines": { | |
1450 | + "node": ">=4.0" | |
1451 | + } | |
1452 | + }, | |
1453 | + "node_modules/esrecurse/node_modules/estraverse": { | |
1454 | + "version": "5.3.0", | |
1455 | + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", | |
1456 | + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", | |
1457 | + "license": "BSD-2-Clause", | |
1458 | + "engines": { | |
1459 | + "node": ">=4.0" | |
1460 | + } | |
1461 | + }, | |
1462 | + "node_modules/estraverse": { | |
1463 | + "version": "4.3.0", | |
1464 | + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", | |
1465 | + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", | |
1466 | + "license": "BSD-2-Clause", | |
1467 | + "engines": { | |
1468 | + "node": ">=4.0" | |
1469 | + } | |
1470 | + }, | |
1471 | + "node_modules/estree-walker": { | |
1472 | + "version": "2.0.2", | |
1473 | + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", | |
1474 | + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", | |
1475 | + "license": "MIT" | |
1476 | + }, | |
1477 | + "node_modules/etag": { | |
1478 | + "version": "1.8.1", | |
1479 | + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", | |
1480 | + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", | |
1481 | + "license": "MIT", | |
1482 | + "engines": { | |
1483 | + "node": ">= 0.6" | |
1484 | + } | |
1485 | + }, | |
1486 | + "node_modules/events": { | |
1487 | + "version": "3.3.0", | |
1488 | + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", | |
1489 | + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", | |
1490 | + "license": "MIT", | |
1491 | + "engines": { | |
1492 | + "node": ">=0.8.x" | |
1493 | + } | |
1494 | + }, | |
1495 | + "node_modules/express": { | |
1496 | + "version": "4.18.1", | |
1497 | + "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", | |
1498 | + "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==", | |
1499 | + "license": "MIT", | |
1500 | + "dependencies": { | |
1501 | + "accepts": "~1.3.8", | |
1502 | + "array-flatten": "1.1.1", | |
1503 | + "body-parser": "1.20.0", | |
1504 | + "content-disposition": "0.5.4", | |
1505 | + "content-type": "~1.0.4", | |
1506 | + "cookie": "0.5.0", | |
1507 | + "cookie-signature": "1.0.6", | |
1508 | + "debug": "2.6.9", | |
1509 | + "depd": "2.0.0", | |
1510 | + "encodeurl": "~1.0.2", | |
1511 | + "escape-html": "~1.0.3", | |
1512 | + "etag": "~1.8.1", | |
1513 | + "finalhandler": "1.2.0", | |
1514 | + "fresh": "0.5.2", | |
1515 | + "http-errors": "2.0.0", | |
1516 | + "merge-descriptors": "1.0.1", | |
1517 | + "methods": "~1.1.2", | |
1518 | + "on-finished": "2.4.1", | |
1519 | + "parseurl": "~1.3.3", | |
1520 | + "path-to-regexp": "0.1.7", | |
1521 | + "proxy-addr": "~2.0.7", | |
1522 | + "qs": "6.10.3", | |
1523 | + "range-parser": "~1.2.1", | |
1524 | + "safe-buffer": "5.2.1", | |
1525 | + "send": "0.18.0", | |
1526 | + "serve-static": "1.15.0", | |
1527 | + "setprototypeof": "1.2.0", | |
1528 | + "statuses": "2.0.1", | |
1529 | + "type-is": "~1.6.18", | |
1530 | + "utils-merge": "1.0.1", | |
1531 | + "vary": "~1.1.2" | |
1532 | + }, | |
1533 | + "engines": { | |
1534 | + "node": ">= 0.10.0" | |
1535 | + } | |
1536 | + }, | |
1537 | + "node_modules/express-http-proxy": { | |
1538 | + "version": "2.0.0", | |
1539 | + "resolved": "https://registry.npmjs.org/express-http-proxy/-/express-http-proxy-2.0.0.tgz", | |
1540 | + "integrity": "sha512-TXxcPFTWVUMSEmyM6iX2sT/JtmqhqngTq29P+eXTVFdtxZrTmM8THUYK59rUXiln0FfPGvxEpGRnVrgvHksXDw==", | |
1541 | + "license": "MIT", | |
1542 | + "dependencies": { | |
1543 | + "debug": "^3.0.1", | |
1544 | + "es6-promise": "^4.1.1", | |
1545 | + "raw-body": "^2.3.0" | |
1546 | + }, | |
1547 | + "engines": { | |
1548 | + "node": ">=6.0.0" | |
1549 | + } | |
1550 | + }, | |
1551 | + "node_modules/express-http-proxy/node_modules/debug": { | |
1552 | + "version": "3.2.7", | |
1553 | + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", | |
1554 | + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", | |
1555 | + "license": "MIT", | |
1556 | + "dependencies": { | |
1557 | + "ms": "^2.1.1" | |
1558 | + } | |
1559 | + }, | |
1560 | + "node_modules/express/node_modules/debug": { | |
1561 | + "version": "2.6.9", | |
1562 | + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", | |
1563 | + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", | |
1564 | + "license": "MIT", | |
1565 | + "dependencies": { | |
1566 | + "ms": "2.0.0" | |
1567 | + } | |
1568 | + }, | |
1569 | + "node_modules/express/node_modules/ms": { | |
1570 | + "version": "2.0.0", | |
1571 | + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", | |
1572 | + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", | |
1573 | + "license": "MIT" | |
1574 | + }, | |
1575 | + "node_modules/fast-deep-equal": { | |
1576 | + "version": "3.1.3", | |
1577 | + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", | |
1578 | + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", | |
1579 | + "license": "MIT" | |
1580 | + }, | |
1581 | + "node_modules/fast-json-stable-stringify": { | |
1582 | + "version": "2.1.0", | |
1583 | + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", | |
1584 | + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", | |
1585 | + "license": "MIT" | |
1586 | + }, | |
1587 | + "node_modules/fastest-levenshtein": { | |
1588 | + "version": "1.0.16", | |
1589 | + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", | |
1590 | + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", | |
1591 | + "license": "MIT", | |
1592 | + "engines": { | |
1593 | + "node": ">= 4.9.1" | |
1594 | + } | |
1595 | + }, | |
1596 | + "node_modules/file-loader": { | |
1597 | + "version": "6.2.0", | |
1598 | + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", | |
1599 | + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", | |
1600 | + "license": "MIT", | |
1601 | + "dependencies": { | |
1602 | + "loader-utils": "^2.0.0", | |
1603 | + "schema-utils": "^3.0.0" | |
1604 | + }, | |
1605 | + "engines": { | |
1606 | + "node": ">= 10.13.0" | |
1607 | + }, | |
1608 | + "funding": { | |
1609 | + "type": "opencollective", | |
1610 | + "url": "https://opencollective.com/webpack" | |
1611 | + }, | |
1612 | + "peerDependencies": { | |
1613 | + "webpack": "^4.0.0 || ^5.0.0" | |
1614 | + } | |
1615 | + }, | |
1616 | + "node_modules/file-loader/node_modules/schema-utils": { | |
1617 | + "version": "3.3.0", | |
1618 | + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", | |
1619 | + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", | |
1620 | + "license": "MIT", | |
1621 | + "dependencies": { | |
1622 | + "@types/json-schema": "^7.0.8", | |
1623 | + "ajv": "^6.12.5", | |
1624 | + "ajv-keywords": "^3.5.2" | |
1625 | + }, | |
1626 | + "engines": { | |
1627 | + "node": ">= 10.13.0" | |
1628 | + }, | |
1629 | + "funding": { | |
1630 | + "type": "opencollective", | |
1631 | + "url": "https://opencollective.com/webpack" | |
1632 | + } | |
1633 | + }, | |
1634 | + "node_modules/fill-range": { | |
1635 | + "version": "7.1.1", | |
1636 | + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", | |
1637 | + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", | |
1638 | + "license": "MIT", | |
1639 | + "optional": true, | |
1640 | + "dependencies": { | |
1641 | + "to-regex-range": "^5.0.1" | |
1642 | + }, | |
1643 | + "engines": { | |
1644 | + "node": ">=8" | |
1645 | + } | |
1646 | + }, | |
1647 | + "node_modules/finalhandler": { | |
1648 | + "version": "1.2.0", | |
1649 | + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", | |
1650 | + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", | |
1651 | + "license": "MIT", | |
1652 | + "dependencies": { | |
1653 | + "debug": "2.6.9", | |
1654 | + "encodeurl": "~1.0.2", | |
1655 | + "escape-html": "~1.0.3", | |
1656 | + "on-finished": "2.4.1", | |
1657 | + "parseurl": "~1.3.3", | |
1658 | + "statuses": "2.0.1", | |
1659 | + "unpipe": "~1.0.0" | |
1660 | + }, | |
1661 | + "engines": { | |
1662 | + "node": ">= 0.8" | |
1663 | + } | |
1664 | + }, | |
1665 | + "node_modules/finalhandler/node_modules/debug": { | |
1666 | + "version": "2.6.9", | |
1667 | + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", | |
1668 | + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", | |
1669 | + "license": "MIT", | |
1670 | + "dependencies": { | |
1671 | + "ms": "2.0.0" | |
1672 | + } | |
1673 | + }, | |
1674 | + "node_modules/finalhandler/node_modules/ms": { | |
1675 | + "version": "2.0.0", | |
1676 | + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", | |
1677 | + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", | |
1678 | + "license": "MIT" | |
1679 | + }, | |
1680 | + "node_modules/find-cache-dir": { | |
1681 | + "version": "3.3.2", | |
1682 | + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", | |
1683 | + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", | |
1684 | + "license": "MIT", | |
1685 | + "dependencies": { | |
1686 | + "commondir": "^1.0.1", | |
1687 | + "make-dir": "^3.0.2", | |
1688 | + "pkg-dir": "^4.1.0" | |
1689 | + }, | |
1690 | + "engines": { | |
1691 | + "node": ">=8" | |
1692 | + }, | |
1693 | + "funding": { | |
1694 | + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" | |
1695 | + } | |
1696 | + }, | |
1697 | + "node_modules/find-cache-dir/node_modules/make-dir": { | |
1698 | + "version": "3.1.0", | |
1699 | + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", | |
1700 | + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", | |
1701 | + "license": "MIT", | |
1702 | + "dependencies": { | |
1703 | + "semver": "^6.0.0" | |
1704 | + }, | |
1705 | + "engines": { | |
1706 | + "node": ">=8" | |
1707 | + }, | |
1708 | + "funding": { | |
1709 | + "url": "https://github.com/sponsors/sindresorhus" | |
1710 | + } | |
1711 | + }, | |
1712 | + "node_modules/find-up": { | |
1713 | + "version": "4.1.0", | |
1714 | + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", | |
1715 | + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", | |
1716 | + "license": "MIT", | |
1717 | + "dependencies": { | |
1718 | + "locate-path": "^5.0.0", | |
1719 | + "path-exists": "^4.0.0" | |
1720 | + }, | |
1721 | + "engines": { | |
1722 | + "node": ">=8" | |
1723 | + } | |
1724 | + }, | |
1725 | + "node_modules/flat": { | |
1726 | + "version": "5.0.2", | |
1727 | + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", | |
1728 | + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", | |
1729 | + "license": "BSD-3-Clause", | |
1730 | + "bin": { | |
1731 | + "flat": "cli.js" | |
1732 | + } | |
1733 | + }, | |
1734 | + "node_modules/forwarded": { | |
1735 | + "version": "0.2.0", | |
1736 | + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", | |
1737 | + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", | |
1738 | + "license": "MIT", | |
1739 | + "engines": { | |
1740 | + "node": ">= 0.6" | |
1741 | + } | |
1742 | + }, | |
1743 | + "node_modules/fresh": { | |
1744 | + "version": "0.5.2", | |
1745 | + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", | |
1746 | + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", | |
1747 | + "license": "MIT", | |
1748 | + "engines": { | |
1749 | + "node": ">= 0.6" | |
1750 | + } | |
1751 | + }, | |
1752 | + "node_modules/fs": { | |
1753 | + "version": "0.0.1-security", | |
1754 | + "resolved": "https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz", | |
1755 | + "integrity": "sha512-3XY9e1pP0CVEUCdj5BmfIZxRBTSDycnbqhIOGec9QYtmVH2fbLpj86CFWkrNOkt/Fvty4KZG5lTglL9j/gJ87w==", | |
1756 | + "license": "ISC" | |
1757 | + }, | |
1758 | + "node_modules/fs-readdir-recursive": { | |
1759 | + "version": "1.1.0", | |
1760 | + "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", | |
1761 | + "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", | |
1762 | + "license": "MIT" | |
1763 | + }, | |
1764 | + "node_modules/fs.realpath": { | |
1765 | + "version": "1.0.0", | |
1766 | + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", | |
1767 | + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", | |
1768 | + "license": "ISC" | |
1769 | + }, | |
1770 | + "node_modules/fsevents": { | |
1771 | + "version": "2.3.3", | |
1772 | + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", | |
1773 | + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", | |
1774 | + "hasInstallScript": true, | |
1775 | + "license": "MIT", | |
1776 | + "optional": true, | |
1777 | + "os": [ | |
1778 | + "darwin" | |
1779 | + ], | |
1780 | + "engines": { | |
1781 | + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" | |
1782 | + } | |
1783 | + }, | |
1784 | + "node_modules/function-bind": { | |
1785 | + "version": "1.1.2", | |
1786 | + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", | |
1787 | + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", | |
1788 | + "license": "MIT", | |
1789 | + "funding": { | |
1790 | + "url": "https://github.com/sponsors/ljharb" | |
1791 | + } | |
1792 | + }, | |
1793 | + "node_modules/gensync": { | |
1794 | + "version": "1.0.0-beta.2", | |
1795 | + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", | |
1796 | + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", | |
1797 | + "license": "MIT", | |
1798 | + "engines": { | |
1799 | + "node": ">=6.9.0" | |
1800 | + } | |
1801 | + }, | |
1802 | + "node_modules/get-intrinsic": { | |
1803 | + "version": "1.2.4", | |
1804 | + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", | |
1805 | + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", | |
1806 | + "license": "MIT", | |
1807 | + "dependencies": { | |
1808 | + "es-errors": "^1.3.0", | |
1809 | + "function-bind": "^1.1.2", | |
1810 | + "has-proto": "^1.0.1", | |
1811 | + "has-symbols": "^1.0.3", | |
1812 | + "hasown": "^2.0.0" | |
1813 | + }, | |
1814 | + "engines": { | |
1815 | + "node": ">= 0.4" | |
1816 | + }, | |
1817 | + "funding": { | |
1818 | + "url": "https://github.com/sponsors/ljharb" | |
1819 | + } | |
1820 | + }, | |
1821 | + "node_modules/glob": { | |
1822 | + "version": "7.2.3", | |
1823 | + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", | |
1824 | + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", | |
1825 | + "deprecated": "Glob versions prior to v9 are no longer supported", | |
1826 | + "license": "ISC", | |
1827 | + "dependencies": { | |
1828 | + "fs.realpath": "^1.0.0", | |
1829 | + "inflight": "^1.0.4", | |
1830 | + "inherits": "2", | |
1831 | + "minimatch": "^3.1.1", | |
1832 | + "once": "^1.3.0", | |
1833 | + "path-is-absolute": "^1.0.0" | |
1834 | + }, | |
1835 | + "engines": { | |
1836 | + "node": "*" | |
1837 | + }, | |
1838 | + "funding": { | |
1839 | + "url": "https://github.com/sponsors/isaacs" | |
1840 | + } | |
1841 | + }, | |
1842 | + "node_modules/glob-parent": { | |
1843 | + "version": "5.1.2", | |
1844 | + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", | |
1845 | + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", | |
1846 | + "license": "ISC", | |
1847 | + "optional": true, | |
1848 | + "dependencies": { | |
1849 | + "is-glob": "^4.0.1" | |
1850 | + }, | |
1851 | + "engines": { | |
1852 | + "node": ">= 6" | |
1853 | + } | |
1854 | + }, | |
1855 | + "node_modules/glob-to-regexp": { | |
1856 | + "version": "0.4.1", | |
1857 | + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", | |
1858 | + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", | |
1859 | + "license": "BSD-2-Clause" | |
1860 | + }, | |
1861 | + "node_modules/globals": { | |
1862 | + "version": "11.12.0", | |
1863 | + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", | |
1864 | + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", | |
1865 | + "license": "MIT", | |
1866 | + "engines": { | |
1867 | + "node": ">=4" | |
1868 | + } | |
1869 | + }, | |
1870 | + "node_modules/gopd": { | |
1871 | + "version": "1.0.1", | |
1872 | + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", | |
1873 | + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", | |
1874 | + "license": "MIT", | |
1875 | + "dependencies": { | |
1876 | + "get-intrinsic": "^1.1.3" | |
1877 | + }, | |
1878 | + "funding": { | |
1879 | + "url": "https://github.com/sponsors/ljharb" | |
1880 | + } | |
1881 | + }, | |
1882 | + "node_modules/graceful-fs": { | |
1883 | + "version": "4.2.11", | |
1884 | + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", | |
1885 | + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", | |
1886 | + "license": "ISC" | |
1887 | + }, | |
1888 | + "node_modules/has-flag": { | |
1889 | + "version": "3.0.0", | |
1890 | + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", | |
1891 | + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", | |
1892 | + "license": "MIT", | |
1893 | + "engines": { | |
1894 | + "node": ">=4" | |
1895 | + } | |
1896 | + }, | |
1897 | + "node_modules/has-property-descriptors": { | |
1898 | + "version": "1.0.2", | |
1899 | + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", | |
1900 | + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", | |
1901 | + "license": "MIT", | |
1902 | + "dependencies": { | |
1903 | + "es-define-property": "^1.0.0" | |
1904 | + }, | |
1905 | + "funding": { | |
1906 | + "url": "https://github.com/sponsors/ljharb" | |
1907 | + } | |
1908 | + }, | |
1909 | + "node_modules/has-proto": { | |
1910 | + "version": "1.0.3", | |
1911 | + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", | |
1912 | + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", | |
1913 | + "license": "MIT", | |
1914 | + "engines": { | |
1915 | + "node": ">= 0.4" | |
1916 | + }, | |
1917 | + "funding": { | |
1918 | + "url": "https://github.com/sponsors/ljharb" | |
1919 | + } | |
1920 | + }, | |
1921 | + "node_modules/has-symbols": { | |
1922 | + "version": "1.0.3", | |
1923 | + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", | |
1924 | + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", | |
1925 | + "license": "MIT", | |
1926 | + "engines": { | |
1927 | + "node": ">= 0.4" | |
1928 | + }, | |
1929 | + "funding": { | |
1930 | + "url": "https://github.com/sponsors/ljharb" | |
1931 | + } | |
1932 | + }, | |
1933 | + "node_modules/hash-sum": { | |
1934 | + "version": "2.0.0", | |
1935 | + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz", | |
1936 | + "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==", | |
1937 | + "license": "MIT" | |
1938 | + }, | |
1939 | + "node_modules/hasown": { | |
1940 | + "version": "2.0.2", | |
1941 | + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", | |
1942 | + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", | |
1943 | + "license": "MIT", | |
1944 | + "dependencies": { | |
1945 | + "function-bind": "^1.1.2" | |
1946 | + }, | |
1947 | + "engines": { | |
1948 | + "node": ">= 0.4" | |
1949 | + } | |
1950 | + }, | |
1951 | + "node_modules/http-errors": { | |
1952 | + "version": "2.0.0", | |
1953 | + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", | |
1954 | + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", | |
1955 | + "license": "MIT", | |
1956 | + "dependencies": { | |
1957 | + "depd": "2.0.0", | |
1958 | + "inherits": "2.0.4", | |
1959 | + "setprototypeof": "1.2.0", | |
1960 | + "statuses": "2.0.1", | |
1961 | + "toidentifier": "1.0.1" | |
1962 | + }, | |
1963 | + "engines": { | |
1964 | + "node": ">= 0.8" | |
1965 | + } | |
1966 | + }, | |
1967 | + "node_modules/iconv-lite": { | |
1968 | + "version": "0.4.24", | |
1969 | + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", | |
1970 | + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", | |
1971 | + "license": "MIT", | |
1972 | + "dependencies": { | |
1973 | + "safer-buffer": ">= 2.1.2 < 3" | |
1974 | + }, | |
1975 | + "engines": { | |
1976 | + "node": ">=0.10.0" | |
1977 | + } | |
1978 | + }, | |
1979 | + "node_modules/icss-utils": { | |
1980 | + "version": "5.1.0", | |
1981 | + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", | |
1982 | + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", | |
1983 | + "license": "ISC", | |
1984 | + "engines": { | |
1985 | + "node": "^10 || ^12 || >= 14" | |
1986 | + }, | |
1987 | + "peerDependencies": { | |
1988 | + "postcss": "^8.1.0" | |
1989 | + } | |
1990 | + }, | |
1991 | + "node_modules/import-local": { | |
1992 | + "version": "3.2.0", | |
1993 | + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", | |
1994 | + "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", | |
1995 | + "license": "MIT", | |
1996 | + "dependencies": { | |
1997 | + "pkg-dir": "^4.2.0", | |
1998 | + "resolve-cwd": "^3.0.0" | |
1999 | + }, | |
2000 | + "bin": { | |
2001 | + "import-local-fixture": "fixtures/cli.js" | |
2002 | + }, | |
2003 | + "engines": { | |
2004 | + "node": ">=8" | |
2005 | + }, | |
2006 | + "funding": { | |
2007 | + "url": "https://github.com/sponsors/sindresorhus" | |
2008 | + } | |
2009 | + }, | |
2010 | + "node_modules/inflight": { | |
2011 | + "version": "1.0.6", | |
2012 | + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", | |
2013 | + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", | |
2014 | + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", | |
2015 | + "license": "ISC", | |
2016 | + "dependencies": { | |
2017 | + "once": "^1.3.0", | |
2018 | + "wrappy": "1" | |
2019 | + } | |
2020 | + }, | |
2021 | + "node_modules/inherits": { | |
2022 | + "version": "2.0.4", | |
2023 | + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", | |
2024 | + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", | |
2025 | + "license": "ISC" | |
2026 | + }, | |
2027 | + "node_modules/interpret": { | |
2028 | + "version": "2.2.0", | |
2029 | + "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", | |
2030 | + "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", | |
2031 | + "license": "MIT", | |
2032 | + "engines": { | |
2033 | + "node": ">= 0.10" | |
2034 | + } | |
2035 | + }, | |
2036 | + "node_modules/ipaddr.js": { | |
2037 | + "version": "1.9.1", | |
2038 | + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", | |
2039 | + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", | |
2040 | + "license": "MIT", | |
2041 | + "engines": { | |
2042 | + "node": ">= 0.10" | |
2043 | + } | |
2044 | + }, | |
2045 | + "node_modules/is-binary-path": { | |
2046 | + "version": "2.1.0", | |
2047 | + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", | |
2048 | + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", | |
2049 | + "license": "MIT", | |
2050 | + "optional": true, | |
2051 | + "dependencies": { | |
2052 | + "binary-extensions": "^2.0.0" | |
2053 | + }, | |
2054 | + "engines": { | |
2055 | + "node": ">=8" | |
2056 | + } | |
2057 | + }, | |
2058 | + "node_modules/is-core-module": { | |
2059 | + "version": "2.15.0", | |
2060 | + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.0.tgz", | |
2061 | + "integrity": "sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==", | |
2062 | + "license": "MIT", | |
2063 | + "dependencies": { | |
2064 | + "hasown": "^2.0.2" | |
2065 | + }, | |
2066 | + "engines": { | |
2067 | + "node": ">= 0.4" | |
2068 | + }, | |
2069 | + "funding": { | |
2070 | + "url": "https://github.com/sponsors/ljharb" | |
2071 | + } | |
2072 | + }, | |
2073 | + "node_modules/is-extglob": { | |
2074 | + "version": "2.1.1", | |
2075 | + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", | |
2076 | + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", | |
2077 | + "license": "MIT", | |
2078 | + "optional": true, | |
2079 | + "engines": { | |
2080 | + "node": ">=0.10.0" | |
2081 | + } | |
2082 | + }, | |
2083 | + "node_modules/is-glob": { | |
2084 | + "version": "4.0.3", | |
2085 | + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", | |
2086 | + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", | |
2087 | + "license": "MIT", | |
2088 | + "optional": true, | |
2089 | + "dependencies": { | |
2090 | + "is-extglob": "^2.1.1" | |
2091 | + }, | |
2092 | + "engines": { | |
2093 | + "node": ">=0.10.0" | |
2094 | + } | |
2095 | + }, | |
2096 | + "node_modules/is-number": { | |
2097 | + "version": "7.0.0", | |
2098 | + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", | |
2099 | + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", | |
2100 | + "license": "MIT", | |
2101 | + "optional": true, | |
2102 | + "engines": { | |
2103 | + "node": ">=0.12.0" | |
2104 | + } | |
2105 | + }, | |
2106 | + "node_modules/is-plain-object": { | |
2107 | + "version": "2.0.4", | |
2108 | + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", | |
2109 | + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", | |
2110 | + "license": "MIT", | |
2111 | + "dependencies": { | |
2112 | + "isobject": "^3.0.1" | |
2113 | + }, | |
2114 | + "engines": { | |
2115 | + "node": ">=0.10.0" | |
2116 | + } | |
2117 | + }, | |
2118 | + "node_modules/isexe": { | |
2119 | + "version": "2.0.0", | |
2120 | + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", | |
2121 | + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", | |
2122 | + "license": "ISC" | |
2123 | + }, | |
2124 | + "node_modules/isobject": { | |
2125 | + "version": "3.0.1", | |
2126 | + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", | |
2127 | + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", | |
2128 | + "license": "MIT", | |
2129 | + "engines": { | |
2130 | + "node": ">=0.10.0" | |
2131 | + } | |
2132 | + }, | |
2133 | + "node_modules/jest-worker": { | |
2134 | + "version": "27.5.1", | |
2135 | + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", | |
2136 | + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", | |
2137 | + "license": "MIT", | |
2138 | + "dependencies": { | |
2139 | + "@types/node": "*", | |
2140 | + "merge-stream": "^2.0.0", | |
2141 | + "supports-color": "^8.0.0" | |
2142 | + }, | |
2143 | + "engines": { | |
2144 | + "node": ">= 10.13.0" | |
2145 | + } | |
2146 | + }, | |
2147 | + "node_modules/jest-worker/node_modules/has-flag": { | |
2148 | + "version": "4.0.0", | |
2149 | + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", | |
2150 | + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", | |
2151 | + "license": "MIT", | |
2152 | + "engines": { | |
2153 | + "node": ">=8" | |
2154 | + } | |
2155 | + }, | |
2156 | + "node_modules/jest-worker/node_modules/supports-color": { | |
2157 | + "version": "8.1.1", | |
2158 | + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", | |
2159 | + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", | |
2160 | + "license": "MIT", | |
2161 | + "dependencies": { | |
2162 | + "has-flag": "^4.0.0" | |
2163 | + }, | |
2164 | + "engines": { | |
2165 | + "node": ">=10" | |
2166 | + }, | |
2167 | + "funding": { | |
2168 | + "url": "https://github.com/chalk/supports-color?sponsor=1" | |
2169 | + } | |
2170 | + }, | |
2171 | + "node_modules/js-tokens": { | |
2172 | + "version": "4.0.0", | |
2173 | + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", | |
2174 | + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", | |
2175 | + "license": "MIT" | |
2176 | + }, | |
2177 | + "node_modules/jsesc": { | |
2178 | + "version": "2.5.2", | |
2179 | + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", | |
2180 | + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", | |
2181 | + "license": "MIT", | |
2182 | + "bin": { | |
2183 | + "jsesc": "bin/jsesc" | |
2184 | + }, | |
2185 | + "engines": { | |
2186 | + "node": ">=4" | |
2187 | + } | |
2188 | + }, | |
2189 | + "node_modules/json-parse-even-better-errors": { | |
2190 | + "version": "2.3.1", | |
2191 | + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", | |
2192 | + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", | |
2193 | + "license": "MIT" | |
2194 | + }, | |
2195 | + "node_modules/json-schema-traverse": { | |
2196 | + "version": "0.4.1", | |
2197 | + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", | |
2198 | + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", | |
2199 | + "license": "MIT" | |
2200 | + }, | |
2201 | + "node_modules/json5": { | |
2202 | + "version": "2.2.3", | |
2203 | + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", | |
2204 | + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", | |
2205 | + "license": "MIT", | |
2206 | + "bin": { | |
2207 | + "json5": "lib/cli.js" | |
2208 | + }, | |
2209 | + "engines": { | |
2210 | + "node": ">=6" | |
2211 | + } | |
2212 | + }, | |
2213 | + "node_modules/kind-of": { | |
2214 | + "version": "6.0.3", | |
2215 | + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", | |
2216 | + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", | |
2217 | + "license": "MIT", | |
2218 | + "engines": { | |
2219 | + "node": ">=0.10.0" | |
2220 | + } | |
2221 | + }, | |
2222 | + "node_modules/loader-runner": { | |
2223 | + "version": "4.3.0", | |
2224 | + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", | |
2225 | + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", | |
2226 | + "license": "MIT", | |
2227 | + "engines": { | |
2228 | + "node": ">=6.11.5" | |
2229 | + } | |
2230 | + }, | |
2231 | + "node_modules/loader-utils": { | |
2232 | + "version": "2.0.4", | |
2233 | + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", | |
2234 | + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", | |
2235 | + "license": "MIT", | |
2236 | + "dependencies": { | |
2237 | + "big.js": "^5.2.2", | |
2238 | + "emojis-list": "^3.0.0", | |
2239 | + "json5": "^2.1.2" | |
2240 | + }, | |
2241 | + "engines": { | |
2242 | + "node": ">=8.9.0" | |
2243 | + } | |
2244 | + }, | |
2245 | + "node_modules/locate-path": { | |
2246 | + "version": "5.0.0", | |
2247 | + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", | |
2248 | + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", | |
2249 | + "license": "MIT", | |
2250 | + "dependencies": { | |
2251 | + "p-locate": "^4.1.0" | |
2252 | + }, | |
2253 | + "engines": { | |
2254 | + "node": ">=8" | |
2255 | + } | |
2256 | + }, | |
2257 | + "node_modules/lru-cache": { | |
2258 | + "version": "5.1.1", | |
2259 | + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", | |
2260 | + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", | |
2261 | + "license": "ISC", | |
2262 | + "dependencies": { | |
2263 | + "yallist": "^3.0.2" | |
2264 | + } | |
2265 | + }, | |
2266 | + "node_modules/magic-string": { | |
2267 | + "version": "0.25.9", | |
2268 | + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", | |
2269 | + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", | |
2270 | + "license": "MIT", | |
2271 | + "dependencies": { | |
2272 | + "sourcemap-codec": "^1.4.8" | |
2273 | + } | |
2274 | + }, | |
2275 | + "node_modules/make-dir": { | |
2276 | + "version": "2.1.0", | |
2277 | + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", | |
2278 | + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", | |
2279 | + "license": "MIT", | |
2280 | + "dependencies": { | |
2281 | + "pify": "^4.0.1", | |
2282 | + "semver": "^5.6.0" | |
2283 | + }, | |
2284 | + "engines": { | |
2285 | + "node": ">=6" | |
2286 | + } | |
2287 | + }, | |
2288 | + "node_modules/make-dir/node_modules/semver": { | |
2289 | + "version": "5.7.2", | |
2290 | + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", | |
2291 | + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", | |
2292 | + "license": "ISC", | |
2293 | + "bin": { | |
2294 | + "semver": "bin/semver" | |
2295 | + } | |
2296 | + }, | |
2297 | + "node_modules/media-typer": { | |
2298 | + "version": "0.3.0", | |
2299 | + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", | |
2300 | + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", | |
2301 | + "license": "MIT", | |
2302 | + "engines": { | |
2303 | + "node": ">= 0.6" | |
2304 | + } | |
2305 | + }, | |
2306 | + "node_modules/merge-descriptors": { | |
2307 | + "version": "1.0.1", | |
2308 | + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", | |
2309 | + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", | |
2310 | + "license": "MIT" | |
2311 | + }, | |
2312 | + "node_modules/merge-stream": { | |
2313 | + "version": "2.0.0", | |
2314 | + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", | |
2315 | + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", | |
2316 | + "license": "MIT" | |
2317 | + }, | |
2318 | + "node_modules/methods": { | |
2319 | + "version": "1.1.2", | |
2320 | + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", | |
2321 | + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", | |
2322 | + "license": "MIT", | |
2323 | + "engines": { | |
2324 | + "node": ">= 0.6" | |
2325 | + } | |
2326 | + }, | |
2327 | + "node_modules/mime": { | |
2328 | + "version": "1.6.0", | |
2329 | + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", | |
2330 | + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", | |
2331 | + "license": "MIT", | |
2332 | + "bin": { | |
2333 | + "mime": "cli.js" | |
2334 | + }, | |
2335 | + "engines": { | |
2336 | + "node": ">=4" | |
2337 | + } | |
2338 | + }, | |
2339 | + "node_modules/mime-db": { | |
2340 | + "version": "1.52.0", | |
2341 | + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", | |
2342 | + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", | |
2343 | + "license": "MIT", | |
2344 | + "engines": { | |
2345 | + "node": ">= 0.6" | |
2346 | + } | |
2347 | + }, | |
2348 | + "node_modules/mime-types": { | |
2349 | + "version": "2.1.35", | |
2350 | + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", | |
2351 | + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", | |
2352 | + "license": "MIT", | |
2353 | + "dependencies": { | |
2354 | + "mime-db": "1.52.0" | |
2355 | + }, | |
2356 | + "engines": { | |
2357 | + "node": ">= 0.6" | |
2358 | + } | |
2359 | + }, | |
2360 | + "node_modules/minimatch": { | |
2361 | + "version": "3.1.2", | |
2362 | + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", | |
2363 | + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", | |
2364 | + "license": "ISC", | |
2365 | + "dependencies": { | |
2366 | + "brace-expansion": "^1.1.7" | |
2367 | + }, | |
2368 | + "engines": { | |
2369 | + "node": "*" | |
2370 | + } | |
2371 | + }, | |
2372 | + "node_modules/minimist": { | |
2373 | + "version": "1.2.8", | |
2374 | + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", | |
2375 | + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", | |
2376 | + "license": "MIT", | |
2377 | + "funding": { | |
2378 | + "url": "https://github.com/sponsors/ljharb" | |
2379 | + } | |
2380 | + }, | |
2381 | + "node_modules/ms": { | |
2382 | + "version": "2.1.2", | |
2383 | + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", | |
2384 | + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", | |
2385 | + "license": "MIT" | |
2386 | + }, | |
2387 | + "node_modules/nanoid": { | |
2388 | + "version": "3.3.7", | |
2389 | + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", | |
2390 | + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", | |
2391 | + "funding": [ | |
2392 | + { | |
2393 | + "type": "github", | |
2394 | + "url": "https://github.com/sponsors/ai" | |
2395 | + } | |
2396 | + ], | |
2397 | + "license": "MIT", | |
2398 | + "bin": { | |
2399 | + "nanoid": "bin/nanoid.cjs" | |
2400 | + }, | |
2401 | + "engines": { | |
2402 | + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" | |
2403 | + } | |
2404 | + }, | |
2405 | + "node_modules/negotiator": { | |
2406 | + "version": "0.6.3", | |
2407 | + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", | |
2408 | + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", | |
2409 | + "license": "MIT", | |
2410 | + "engines": { | |
2411 | + "node": ">= 0.6" | |
2412 | + } | |
2413 | + }, | |
2414 | + "node_modules/neo-async": { | |
2415 | + "version": "2.6.2", | |
2416 | + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", | |
2417 | + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", | |
2418 | + "license": "MIT" | |
2419 | + }, | |
2420 | + "node_modules/new-line": { | |
2421 | + "version": "1.1.1", | |
2422 | + "resolved": "https://registry.npmjs.org/new-line/-/new-line-1.1.1.tgz", | |
2423 | + "integrity": "sha512-BHhU5J48wv56aU2DaYnR0brR7PDTaJOeZW/R1koEt03ygvmX/WDnsXsxAq4JLK15vJeP4HHQHBGCfg3npp7onQ==", | |
2424 | + "license": "MIT" | |
2425 | + }, | |
2426 | + "node_modules/node-releases": { | |
2427 | + "version": "2.0.18", | |
2428 | + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", | |
2429 | + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", | |
2430 | + "license": "MIT" | |
2431 | + }, | |
2432 | + "node_modules/normalize-path": { | |
2433 | + "version": "3.0.0", | |
2434 | + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", | |
2435 | + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", | |
2436 | + "license": "MIT", | |
2437 | + "optional": true, | |
2438 | + "engines": { | |
2439 | + "node": ">=0.10.0" | |
2440 | + } | |
2441 | + }, | |
2442 | + "node_modules/object-inspect": { | |
2443 | + "version": "1.13.2", | |
2444 | + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", | |
2445 | + "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", | |
2446 | + "license": "MIT", | |
2447 | + "engines": { | |
2448 | + "node": ">= 0.4" | |
2449 | + }, | |
2450 | + "funding": { | |
2451 | + "url": "https://github.com/sponsors/ljharb" | |
2452 | + } | |
2453 | + }, | |
2454 | + "node_modules/on-finished": { | |
2455 | + "version": "2.4.1", | |
2456 | + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", | |
2457 | + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", | |
2458 | + "license": "MIT", | |
2459 | + "dependencies": { | |
2460 | + "ee-first": "1.1.1" | |
2461 | + }, | |
2462 | + "engines": { | |
2463 | + "node": ">= 0.8" | |
2464 | + } | |
2465 | + }, | |
2466 | + "node_modules/once": { | |
2467 | + "version": "1.4.0", | |
2468 | + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", | |
2469 | + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", | |
2470 | + "license": "ISC", | |
2471 | + "dependencies": { | |
2472 | + "wrappy": "1" | |
2473 | + } | |
2474 | + }, | |
2475 | + "node_modules/p-limit": { | |
2476 | + "version": "2.3.0", | |
2477 | + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", | |
2478 | + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", | |
2479 | + "license": "MIT", | |
2480 | + "dependencies": { | |
2481 | + "p-try": "^2.0.0" | |
2482 | + }, | |
2483 | + "engines": { | |
2484 | + "node": ">=6" | |
2485 | + }, | |
2486 | + "funding": { | |
2487 | + "url": "https://github.com/sponsors/sindresorhus" | |
2488 | + } | |
2489 | + }, | |
2490 | + "node_modules/p-locate": { | |
2491 | + "version": "4.1.0", | |
2492 | + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", | |
2493 | + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", | |
2494 | + "license": "MIT", | |
2495 | + "dependencies": { | |
2496 | + "p-limit": "^2.2.0" | |
2497 | + }, | |
2498 | + "engines": { | |
2499 | + "node": ">=8" | |
2500 | + } | |
2501 | + }, | |
2502 | + "node_modules/p-try": { | |
2503 | + "version": "2.2.0", | |
2504 | + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", | |
2505 | + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", | |
2506 | + "license": "MIT", | |
2507 | + "engines": { | |
2508 | + "node": ">=6" | |
2509 | + } | |
2510 | + }, | |
2511 | + "node_modules/packet-reader": { | |
2512 | + "version": "1.0.0", | |
2513 | + "resolved": "https://registry.npmjs.org/packet-reader/-/packet-reader-1.0.0.tgz", | |
2514 | + "integrity": "sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==", | |
2515 | + "license": "MIT" | |
2516 | + }, | |
2517 | + "node_modules/parseurl": { | |
2518 | + "version": "1.3.3", | |
2519 | + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", | |
2520 | + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", | |
2521 | + "license": "MIT", | |
2522 | + "engines": { | |
2523 | + "node": ">= 0.8" | |
2524 | + } | |
2525 | + }, | |
2526 | + "node_modules/path-exists": { | |
2527 | + "version": "4.0.0", | |
2528 | + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", | |
2529 | + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", | |
2530 | + "license": "MIT", | |
2531 | + "engines": { | |
2532 | + "node": ">=8" | |
2533 | + } | |
2534 | + }, | |
2535 | + "node_modules/path-is-absolute": { | |
2536 | + "version": "1.0.1", | |
2537 | + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", | |
2538 | + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", | |
2539 | + "license": "MIT", | |
2540 | + "engines": { | |
2541 | + "node": ">=0.10.0" | |
2542 | + } | |
2543 | + }, | |
2544 | + "node_modules/path-key": { | |
2545 | + "version": "3.1.1", | |
2546 | + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", | |
2547 | + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", | |
2548 | + "license": "MIT", | |
2549 | + "engines": { | |
2550 | + "node": ">=8" | |
2551 | + } | |
2552 | + }, | |
2553 | + "node_modules/path-parse": { | |
2554 | + "version": "1.0.7", | |
2555 | + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", | |
2556 | + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", | |
2557 | + "license": "MIT" | |
2558 | + }, | |
2559 | + "node_modules/path-to-regexp": { | |
2560 | + "version": "0.1.7", | |
2561 | + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", | |
2562 | + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", | |
2563 | + "license": "MIT" | |
2564 | + }, | |
2565 | + "node_modules/pg": { | |
2566 | + "version": "8.8.0", | |
2567 | + "resolved": "https://registry.npmjs.org/pg/-/pg-8.8.0.tgz", | |
2568 | + "integrity": "sha512-UXYN0ziKj+AeNNP7VDMwrehpACThH7LUl/p8TDFpEUuSejCUIwGSfxpHsPvtM6/WXFy6SU4E5RG4IJV/TZAGjw==", | |
2569 | + "license": "MIT", | |
2570 | + "dependencies": { | |
2571 | + "buffer-writer": "2.0.0", | |
2572 | + "packet-reader": "1.0.0", | |
2573 | + "pg-connection-string": "^2.5.0", | |
2574 | + "pg-pool": "^3.5.2", | |
2575 | + "pg-protocol": "^1.5.0", | |
2576 | + "pg-types": "^2.1.0", | |
2577 | + "pgpass": "1.x" | |
2578 | + }, | |
2579 | + "engines": { | |
2580 | + "node": ">= 8.0.0" | |
2581 | + }, | |
2582 | + "peerDependencies": { | |
2583 | + "pg-native": ">=3.0.1" | |
2584 | + }, | |
2585 | + "peerDependenciesMeta": { | |
2586 | + "pg-native": { | |
2587 | + "optional": true | |
2588 | + } | |
2589 | + } | |
2590 | + }, | |
2591 | + "node_modules/pg-connection-string": { | |
2592 | + "version": "2.6.4", | |
2593 | + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.6.4.tgz", | |
2594 | + "integrity": "sha512-v+Z7W/0EO707aNMaAEfiGnGL9sxxumwLl2fJvCQtMn9Fxsg+lPpPkdcyBSv/KFgpGdYkMfn+EI1Or2EHjpgLCA==", | |
2595 | + "license": "MIT" | |
2596 | + }, | |
2597 | + "node_modules/pg-int8": { | |
2598 | + "version": "1.0.1", | |
2599 | + "resolved": "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz", | |
2600 | + "integrity": "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==", | |
2601 | + "license": "ISC", | |
2602 | + "engines": { | |
2603 | + "node": ">=4.0.0" | |
2604 | + } | |
2605 | + }, | |
2606 | + "node_modules/pg-pool": { | |
2607 | + "version": "3.6.2", | |
2608 | + "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.6.2.tgz", | |
2609 | + "integrity": "sha512-Htjbg8BlwXqSBQ9V8Vjtc+vzf/6fVUuak/3/XXKA9oxZprwW3IMDQTGHP+KDmVL7rtd+R1QjbnCFPuTHm3G4hg==", | |
2610 | + "license": "MIT", | |
2611 | + "peerDependencies": { | |
2612 | + "pg": ">=8.0" | |
2613 | + } | |
2614 | + }, | |
2615 | + "node_modules/pg-protocol": { | |
2616 | + "version": "1.6.1", | |
2617 | + "resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.6.1.tgz", | |
2618 | + "integrity": "sha512-jPIlvgoD63hrEuihvIg+tJhoGjUsLPn6poJY9N5CnlPd91c2T18T/9zBtLxZSb1EhYxBRoZJtzScCaWlYLtktg==", | |
2619 | + "license": "MIT" | |
2620 | + }, | |
2621 | + "node_modules/pg-types": { | |
2622 | + "version": "2.2.0", | |
2623 | + "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz", | |
2624 | + "integrity": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==", | |
2625 | + "license": "MIT", | |
2626 | + "dependencies": { | |
2627 | + "pg-int8": "1.0.1", | |
2628 | + "postgres-array": "~2.0.0", | |
2629 | + "postgres-bytea": "~1.0.0", | |
2630 | + "postgres-date": "~1.0.4", | |
2631 | + "postgres-interval": "^1.1.0" | |
2632 | + }, | |
2633 | + "engines": { | |
2634 | + "node": ">=4" | |
2635 | + } | |
2636 | + }, | |
2637 | + "node_modules/pgpass": { | |
2638 | + "version": "1.0.5", | |
2639 | + "resolved": "https://registry.npmjs.org/pgpass/-/pgpass-1.0.5.tgz", | |
2640 | + "integrity": "sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==", | |
2641 | + "license": "MIT", | |
2642 | + "dependencies": { | |
2643 | + "split2": "^4.1.0" | |
2644 | + } | |
2645 | + }, | |
2646 | + "node_modules/picocolors": { | |
2647 | + "version": "1.0.1", | |
2648 | + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", | |
2649 | + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", | |
2650 | + "license": "ISC" | |
2651 | + }, | |
2652 | + "node_modules/picomatch": { | |
2653 | + "version": "2.3.1", | |
2654 | + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", | |
2655 | + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", | |
2656 | + "license": "MIT", | |
2657 | + "optional": true, | |
2658 | + "engines": { | |
2659 | + "node": ">=8.6" | |
2660 | + }, | |
2661 | + "funding": { | |
2662 | + "url": "https://github.com/sponsors/jonschlinkert" | |
2663 | + } | |
2664 | + }, | |
2665 | + "node_modules/pify": { | |
2666 | + "version": "4.0.1", | |
2667 | + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", | |
2668 | + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", | |
2669 | + "license": "MIT", | |
2670 | + "engines": { | |
2671 | + "node": ">=6" | |
2672 | + } | |
2673 | + }, | |
2674 | + "node_modules/pkg-dir": { | |
2675 | + "version": "4.2.0", | |
2676 | + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", | |
2677 | + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", | |
2678 | + "license": "MIT", | |
2679 | + "dependencies": { | |
2680 | + "find-up": "^4.0.0" | |
2681 | + }, | |
2682 | + "engines": { | |
2683 | + "node": ">=8" | |
2684 | + } | |
2685 | + }, | |
2686 | + "node_modules/postcss": { | |
2687 | + "version": "8.4.40", | |
2688 | + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.40.tgz", | |
2689 | + "integrity": "sha512-YF2kKIUzAofPMpfH6hOi2cGnv/HrUlfucspc7pDyvv7kGdqXrfj8SCl/t8owkEgKEuu8ZcRjSOxFxVLqwChZ2Q==", | |
2690 | + "funding": [ | |
2691 | + { | |
2692 | + "type": "opencollective", | |
2693 | + "url": "https://opencollective.com/postcss/" | |
2694 | + }, | |
2695 | + { | |
2696 | + "type": "tidelift", | |
2697 | + "url": "https://tidelift.com/funding/github/npm/postcss" | |
2698 | + }, | |
2699 | + { | |
2700 | + "type": "github", | |
2701 | + "url": "https://github.com/sponsors/ai" | |
2702 | + } | |
2703 | + ], | |
2704 | + "license": "MIT", | |
2705 | + "dependencies": { | |
2706 | + "nanoid": "^3.3.7", | |
2707 | + "picocolors": "^1.0.1", | |
2708 | + "source-map-js": "^1.2.0" | |
2709 | + }, | |
2710 | + "engines": { | |
2711 | + "node": "^10 || ^12 || >=14" | |
2712 | + } | |
2713 | + }, | |
2714 | + "node_modules/postcss-modules-extract-imports": { | |
2715 | + "version": "3.1.0", | |
2716 | + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", | |
2717 | + "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", | |
2718 | + "license": "ISC", | |
2719 | + "engines": { | |
2720 | + "node": "^10 || ^12 || >= 14" | |
2721 | + }, | |
2722 | + "peerDependencies": { | |
2723 | + "postcss": "^8.1.0" | |
2724 | + } | |
2725 | + }, | |
2726 | + "node_modules/postcss-modules-local-by-default": { | |
2727 | + "version": "4.0.5", | |
2728 | + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.5.tgz", | |
2729 | + "integrity": "sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==", | |
2730 | + "license": "MIT", | |
2731 | + "dependencies": { | |
2732 | + "icss-utils": "^5.0.0", | |
2733 | + "postcss-selector-parser": "^6.0.2", | |
2734 | + "postcss-value-parser": "^4.1.0" | |
2735 | + }, | |
2736 | + "engines": { | |
2737 | + "node": "^10 || ^12 || >= 14" | |
2738 | + }, | |
2739 | + "peerDependencies": { | |
2740 | + "postcss": "^8.1.0" | |
2741 | + } | |
2742 | + }, | |
2743 | + "node_modules/postcss-modules-scope": { | |
2744 | + "version": "3.2.0", | |
2745 | + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.0.tgz", | |
2746 | + "integrity": "sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==", | |
2747 | + "license": "ISC", | |
2748 | + "dependencies": { | |
2749 | + "postcss-selector-parser": "^6.0.4" | |
2750 | + }, | |
2751 | + "engines": { | |
2752 | + "node": "^10 || ^12 || >= 14" | |
2753 | + }, | |
2754 | + "peerDependencies": { | |
2755 | + "postcss": "^8.1.0" | |
2756 | + } | |
2757 | + }, | |
2758 | + "node_modules/postcss-modules-values": { | |
2759 | + "version": "4.0.0", | |
2760 | + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", | |
2761 | + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", | |
2762 | + "license": "ISC", | |
2763 | + "dependencies": { | |
2764 | + "icss-utils": "^5.0.0" | |
2765 | + }, | |
2766 | + "engines": { | |
2767 | + "node": "^10 || ^12 || >= 14" | |
2768 | + }, | |
2769 | + "peerDependencies": { | |
2770 | + "postcss": "^8.1.0" | |
2771 | + } | |
2772 | + }, | |
2773 | + "node_modules/postcss-selector-parser": { | |
2774 | + "version": "6.1.1", | |
2775 | + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.1.tgz", | |
2776 | + "integrity": "sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==", | |
2777 | + "license": "MIT", | |
2778 | + "dependencies": { | |
2779 | + "cssesc": "^3.0.0", | |
2780 | + "util-deprecate": "^1.0.2" | |
2781 | + }, | |
2782 | + "engines": { | |
2783 | + "node": ">=4" | |
2784 | + } | |
2785 | + }, | |
2786 | + "node_modules/postcss-value-parser": { | |
2787 | + "version": "4.2.0", | |
2788 | + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", | |
2789 | + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", | |
2790 | + "license": "MIT" | |
2791 | + }, | |
2792 | + "node_modules/postgres-array": { | |
2793 | + "version": "2.0.0", | |
2794 | + "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz", | |
2795 | + "integrity": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==", | |
2796 | + "license": "MIT", | |
2797 | + "engines": { | |
2798 | + "node": ">=4" | |
2799 | + } | |
2800 | + }, | |
2801 | + "node_modules/postgres-bytea": { | |
2802 | + "version": "1.0.0", | |
2803 | + "resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.0.tgz", | |
2804 | + "integrity": "sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==", | |
2805 | + "license": "MIT", | |
2806 | + "engines": { | |
2807 | + "node": ">=0.10.0" | |
2808 | + } | |
2809 | + }, | |
2810 | + "node_modules/postgres-date": { | |
2811 | + "version": "1.0.7", | |
2812 | + "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.7.tgz", | |
2813 | + "integrity": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==", | |
2814 | + "license": "MIT", | |
2815 | + "engines": { | |
2816 | + "node": ">=0.10.0" | |
2817 | + } | |
2818 | + }, | |
2819 | + "node_modules/postgres-interval": { | |
2820 | + "version": "1.2.0", | |
2821 | + "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz", | |
2822 | + "integrity": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==", | |
2823 | + "license": "MIT", | |
2824 | + "dependencies": { | |
2825 | + "xtend": "^4.0.0" | |
2826 | + }, | |
2827 | + "engines": { | |
2828 | + "node": ">=0.10.0" | |
2829 | + } | |
2830 | + }, | |
2831 | + "node_modules/proxy-addr": { | |
2832 | + "version": "2.0.7", | |
2833 | + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", | |
2834 | + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", | |
2835 | + "license": "MIT", | |
2836 | + "dependencies": { | |
2837 | + "forwarded": "0.2.0", | |
2838 | + "ipaddr.js": "1.9.1" | |
2839 | + }, | |
2840 | + "engines": { | |
2841 | + "node": ">= 0.10" | |
2842 | + } | |
2843 | + }, | |
2844 | + "node_modules/punycode": { | |
2845 | + "version": "2.3.1", | |
2846 | + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", | |
2847 | + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", | |
2848 | + "license": "MIT", | |
2849 | + "engines": { | |
2850 | + "node": ">=6" | |
2851 | + } | |
2852 | + }, | |
2853 | + "node_modules/qs": { | |
2854 | + "version": "6.10.3", | |
2855 | + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", | |
2856 | + "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", | |
2857 | + "license": "BSD-3-Clause", | |
2858 | + "dependencies": { | |
2859 | + "side-channel": "^1.0.4" | |
2860 | + }, | |
2861 | + "engines": { | |
2862 | + "node": ">=0.6" | |
2863 | + }, | |
2864 | + "funding": { | |
2865 | + "url": "https://github.com/sponsors/ljharb" | |
2866 | + } | |
2867 | + }, | |
2868 | + "node_modules/randombytes": { | |
2869 | + "version": "2.1.0", | |
2870 | + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", | |
2871 | + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", | |
2872 | + "license": "MIT", | |
2873 | + "dependencies": { | |
2874 | + "safe-buffer": "^5.1.0" | |
2875 | + } | |
2876 | + }, | |
2877 | + "node_modules/range-parser": { | |
2878 | + "version": "1.2.1", | |
2879 | + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", | |
2880 | + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", | |
2881 | + "license": "MIT", | |
2882 | + "engines": { | |
2883 | + "node": ">= 0.6" | |
2884 | + } | |
2885 | + }, | |
2886 | + "node_modules/raw-body": { | |
2887 | + "version": "2.5.1", | |
2888 | + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", | |
2889 | + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", | |
2890 | + "license": "MIT", | |
2891 | + "dependencies": { | |
2892 | + "bytes": "3.1.2", | |
2893 | + "http-errors": "2.0.0", | |
2894 | + "iconv-lite": "0.4.24", | |
2895 | + "unpipe": "1.0.0" | |
2896 | + }, | |
2897 | + "engines": { | |
2898 | + "node": ">= 0.8" | |
2899 | + } | |
2900 | + }, | |
2901 | + "node_modules/readdirp": { | |
2902 | + "version": "3.6.0", | |
2903 | + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", | |
2904 | + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", | |
2905 | + "license": "MIT", | |
2906 | + "optional": true, | |
2907 | + "dependencies": { | |
2908 | + "picomatch": "^2.2.1" | |
2909 | + }, | |
2910 | + "engines": { | |
2911 | + "node": ">=8.10.0" | |
2912 | + } | |
2913 | + }, | |
2914 | + "node_modules/rechoir": { | |
2915 | + "version": "0.7.1", | |
2916 | + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", | |
2917 | + "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", | |
2918 | + "license": "MIT", | |
2919 | + "dependencies": { | |
2920 | + "resolve": "^1.9.0" | |
2921 | + }, | |
2922 | + "engines": { | |
2923 | + "node": ">= 0.10" | |
2924 | + } | |
2925 | + }, | |
2926 | + "node_modules/resolve": { | |
2927 | + "version": "1.22.8", | |
2928 | + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", | |
2929 | + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", | |
2930 | + "license": "MIT", | |
2931 | + "dependencies": { | |
2932 | + "is-core-module": "^2.13.0", | |
2933 | + "path-parse": "^1.0.7", | |
2934 | + "supports-preserve-symlinks-flag": "^1.0.0" | |
2935 | + }, | |
2936 | + "bin": { | |
2937 | + "resolve": "bin/resolve" | |
2938 | + }, | |
2939 | + "funding": { | |
2940 | + "url": "https://github.com/sponsors/ljharb" | |
2941 | + } | |
2942 | + }, | |
2943 | + "node_modules/resolve-cwd": { | |
2944 | + "version": "3.0.0", | |
2945 | + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", | |
2946 | + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", | |
2947 | + "license": "MIT", | |
2948 | + "dependencies": { | |
2949 | + "resolve-from": "^5.0.0" | |
2950 | + }, | |
2951 | + "engines": { | |
2952 | + "node": ">=8" | |
2953 | + } | |
2954 | + }, | |
2955 | + "node_modules/resolve-from": { | |
2956 | + "version": "5.0.0", | |
2957 | + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", | |
2958 | + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", | |
2959 | + "license": "MIT", | |
2960 | + "engines": { | |
2961 | + "node": ">=8" | |
2962 | + } | |
2963 | + }, | |
2964 | + "node_modules/safe-buffer": { | |
2965 | + "version": "5.2.1", | |
2966 | + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", | |
2967 | + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", | |
2968 | + "funding": [ | |
2969 | + { | |
2970 | + "type": "github", | |
2971 | + "url": "https://github.com/sponsors/feross" | |
2972 | + }, | |
2973 | + { | |
2974 | + "type": "patreon", | |
2975 | + "url": "https://www.patreon.com/feross" | |
2976 | + }, | |
2977 | + { | |
2978 | + "type": "consulting", | |
2979 | + "url": "https://feross.org/support" | |
2980 | + } | |
2981 | + ], | |
2982 | + "license": "MIT" | |
2983 | + }, | |
2984 | + "node_modules/safer-buffer": { | |
2985 | + "version": "2.1.2", | |
2986 | + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", | |
2987 | + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", | |
2988 | + "license": "MIT" | |
2989 | + }, | |
2990 | + "node_modules/schema-utils": { | |
2991 | + "version": "2.7.1", | |
2992 | + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", | |
2993 | + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", | |
2994 | + "license": "MIT", | |
2995 | + "dependencies": { | |
2996 | + "@types/json-schema": "^7.0.5", | |
2997 | + "ajv": "^6.12.4", | |
2998 | + "ajv-keywords": "^3.5.2" | |
2999 | + }, | |
3000 | + "engines": { | |
3001 | + "node": ">= 8.9.0" | |
3002 | + }, | |
3003 | + "funding": { | |
3004 | + "type": "opencollective", | |
3005 | + "url": "https://opencollective.com/webpack" | |
3006 | + } | |
3007 | + }, | |
3008 | + "node_modules/semver": { | |
3009 | + "version": "6.3.1", | |
3010 | + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", | |
3011 | + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", | |
3012 | + "license": "ISC", | |
3013 | + "bin": { | |
3014 | + "semver": "bin/semver.js" | |
3015 | + } | |
3016 | + }, | |
3017 | + "node_modules/send": { | |
3018 | + "version": "0.18.0", | |
3019 | + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", | |
3020 | + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", | |
3021 | + "license": "MIT", | |
3022 | + "dependencies": { | |
3023 | + "debug": "2.6.9", | |
3024 | + "depd": "2.0.0", | |
3025 | + "destroy": "1.2.0", | |
3026 | + "encodeurl": "~1.0.2", | |
3027 | + "escape-html": "~1.0.3", | |
3028 | + "etag": "~1.8.1", | |
3029 | + "fresh": "0.5.2", | |
3030 | + "http-errors": "2.0.0", | |
3031 | + "mime": "1.6.0", | |
3032 | + "ms": "2.1.3", | |
3033 | + "on-finished": "2.4.1", | |
3034 | + "range-parser": "~1.2.1", | |
3035 | + "statuses": "2.0.1" | |
3036 | + }, | |
3037 | + "engines": { | |
3038 | + "node": ">= 0.8.0" | |
3039 | + } | |
3040 | + }, | |
3041 | + "node_modules/send/node_modules/debug": { | |
3042 | + "version": "2.6.9", | |
3043 | + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", | |
3044 | + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", | |
3045 | + "license": "MIT", | |
3046 | + "dependencies": { | |
3047 | + "ms": "2.0.0" | |
3048 | + } | |
3049 | + }, | |
3050 | + "node_modules/send/node_modules/debug/node_modules/ms": { | |
3051 | + "version": "2.0.0", | |
3052 | + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", | |
3053 | + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", | |
3054 | + "license": "MIT" | |
3055 | + }, | |
3056 | + "node_modules/send/node_modules/ms": { | |
3057 | + "version": "2.1.3", | |
3058 | + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", | |
3059 | + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", | |
3060 | + "license": "MIT" | |
3061 | + }, | |
3062 | + "node_modules/serialize-javascript": { | |
3063 | + "version": "6.0.2", | |
3064 | + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", | |
3065 | + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", | |
3066 | + "license": "BSD-3-Clause", | |
3067 | + "dependencies": { | |
3068 | + "randombytes": "^2.1.0" | |
3069 | + } | |
3070 | + }, | |
3071 | + "node_modules/serve-static": { | |
3072 | + "version": "1.15.0", | |
3073 | + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", | |
3074 | + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", | |
3075 | + "license": "MIT", | |
3076 | + "dependencies": { | |
3077 | + "encodeurl": "~1.0.2", | |
3078 | + "escape-html": "~1.0.3", | |
3079 | + "parseurl": "~1.3.3", | |
3080 | + "send": "0.18.0" | |
3081 | + }, | |
3082 | + "engines": { | |
3083 | + "node": ">= 0.8.0" | |
3084 | + } | |
3085 | + }, | |
3086 | + "node_modules/set-function-length": { | |
3087 | + "version": "1.2.2", | |
3088 | + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", | |
3089 | + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", | |
3090 | + "license": "MIT", | |
3091 | + "dependencies": { | |
3092 | + "define-data-property": "^1.1.4", | |
3093 | + "es-errors": "^1.3.0", | |
3094 | + "function-bind": "^1.1.2", | |
3095 | + "get-intrinsic": "^1.2.4", | |
3096 | + "gopd": "^1.0.1", | |
3097 | + "has-property-descriptors": "^1.0.2" | |
3098 | + }, | |
3099 | + "engines": { | |
3100 | + "node": ">= 0.4" | |
3101 | + } | |
3102 | + }, | |
3103 | + "node_modules/setprototypeof": { | |
3104 | + "version": "1.2.0", | |
3105 | + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", | |
3106 | + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", | |
3107 | + "license": "ISC" | |
3108 | + }, | |
3109 | + "node_modules/shallow-clone": { | |
3110 | + "version": "3.0.1", | |
3111 | + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", | |
3112 | + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", | |
3113 | + "license": "MIT", | |
3114 | + "dependencies": { | |
3115 | + "kind-of": "^6.0.2" | |
3116 | + }, | |
3117 | + "engines": { | |
3118 | + "node": ">=8" | |
3119 | + } | |
3120 | + }, | |
3121 | + "node_modules/shebang-command": { | |
3122 | + "version": "2.0.0", | |
3123 | + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", | |
3124 | + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", | |
3125 | + "license": "MIT", | |
3126 | + "dependencies": { | |
3127 | + "shebang-regex": "^3.0.0" | |
3128 | + }, | |
3129 | + "engines": { | |
3130 | + "node": ">=8" | |
3131 | + } | |
3132 | + }, | |
3133 | + "node_modules/shebang-regex": { | |
3134 | + "version": "3.0.0", | |
3135 | + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", | |
3136 | + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", | |
3137 | + "license": "MIT", | |
3138 | + "engines": { | |
3139 | + "node": ">=8" | |
3140 | + } | |
3141 | + }, | |
3142 | + "node_modules/side-channel": { | |
3143 | + "version": "1.0.6", | |
3144 | + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", | |
3145 | + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", | |
3146 | + "license": "MIT", | |
3147 | + "dependencies": { | |
3148 | + "call-bind": "^1.0.7", | |
3149 | + "es-errors": "^1.3.0", | |
3150 | + "get-intrinsic": "^1.2.4", | |
3151 | + "object-inspect": "^1.13.1" | |
3152 | + }, | |
3153 | + "engines": { | |
3154 | + "node": ">= 0.4" | |
3155 | + }, | |
3156 | + "funding": { | |
3157 | + "url": "https://github.com/sponsors/ljharb" | |
3158 | + } | |
3159 | + }, | |
3160 | + "node_modules/slash": { | |
3161 | + "version": "2.0.0", | |
3162 | + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", | |
3163 | + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", | |
3164 | + "license": "MIT", | |
3165 | + "engines": { | |
3166 | + "node": ">=6" | |
3167 | + } | |
3168 | + }, | |
3169 | + "node_modules/source-map": { | |
3170 | + "version": "0.6.1", | |
3171 | + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", | |
3172 | + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", | |
3173 | + "license": "BSD-3-Clause", | |
3174 | + "engines": { | |
3175 | + "node": ">=0.10.0" | |
3176 | + } | |
3177 | + }, | |
3178 | + "node_modules/source-map-js": { | |
3179 | + "version": "1.2.0", | |
3180 | + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", | |
3181 | + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", | |
3182 | + "license": "BSD-3-Clause", | |
3183 | + "engines": { | |
3184 | + "node": ">=0.10.0" | |
3185 | + } | |
3186 | + }, | |
3187 | + "node_modules/source-map-support": { | |
3188 | + "version": "0.5.21", | |
3189 | + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", | |
3190 | + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", | |
3191 | + "license": "MIT", | |
3192 | + "dependencies": { | |
3193 | + "buffer-from": "^1.0.0", | |
3194 | + "source-map": "^0.6.0" | |
3195 | + } | |
3196 | + }, | |
3197 | + "node_modules/sourcemap-codec": { | |
3198 | + "version": "1.4.8", | |
3199 | + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", | |
3200 | + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", | |
3201 | + "deprecated": "Please use @jridgewell/sourcemap-codec instead", | |
3202 | + "license": "MIT" | |
3203 | + }, | |
3204 | + "node_modules/split2": { | |
3205 | + "version": "4.2.0", | |
3206 | + "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", | |
3207 | + "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", | |
3208 | + "license": "ISC", | |
3209 | + "engines": { | |
3210 | + "node": ">= 10.x" | |
3211 | + } | |
3212 | + }, | |
3213 | + "node_modules/statuses": { | |
3214 | + "version": "2.0.1", | |
3215 | + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", | |
3216 | + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", | |
3217 | + "license": "MIT", | |
3218 | + "engines": { | |
3219 | + "node": ">= 0.8" | |
3220 | + } | |
3221 | + }, | |
3222 | + "node_modules/supports-color": { | |
3223 | + "version": "5.5.0", | |
3224 | + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", | |
3225 | + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", | |
3226 | + "license": "MIT", | |
3227 | + "dependencies": { | |
3228 | + "has-flag": "^3.0.0" | |
3229 | + }, | |
3230 | + "engines": { | |
3231 | + "node": ">=4" | |
3232 | + } | |
3233 | + }, | |
3234 | + "node_modules/supports-preserve-symlinks-flag": { | |
3235 | + "version": "1.0.0", | |
3236 | + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", | |
3237 | + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", | |
3238 | + "license": "MIT", | |
3239 | + "engines": { | |
3240 | + "node": ">= 0.4" | |
3241 | + }, | |
3242 | + "funding": { | |
3243 | + "url": "https://github.com/sponsors/ljharb" | |
3244 | + } | |
3245 | + }, | |
3246 | + "node_modules/tapable": { | |
3247 | + "version": "2.2.1", | |
3248 | + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", | |
3249 | + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", | |
3250 | + "license": "MIT", | |
3251 | + "engines": { | |
3252 | + "node": ">=6" | |
3253 | + } | |
3254 | + }, | |
3255 | + "node_modules/terser": { | |
3256 | + "version": "5.31.3", | |
3257 | + "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.3.tgz", | |
3258 | + "integrity": "sha512-pAfYn3NIZLyZpa83ZKigvj6Rn9c/vd5KfYGX7cN1mnzqgDcxWvrU5ZtAfIKhEXz9nRecw4z3LXkjaq96/qZqAA==", | |
3259 | + "license": "BSD-2-Clause", | |
3260 | + "dependencies": { | |
3261 | + "@jridgewell/source-map": "^0.3.3", | |
3262 | + "acorn": "^8.8.2", | |
3263 | + "commander": "^2.20.0", | |
3264 | + "source-map-support": "~0.5.20" | |
3265 | + }, | |
3266 | + "bin": { | |
3267 | + "terser": "bin/terser" | |
3268 | + }, | |
3269 | + "engines": { | |
3270 | + "node": ">=10" | |
3271 | + } | |
3272 | + }, | |
3273 | + "node_modules/terser-webpack-plugin": { | |
3274 | + "version": "5.3.10", | |
3275 | + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", | |
3276 | + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", | |
3277 | + "license": "MIT", | |
3278 | + "dependencies": { | |
3279 | + "@jridgewell/trace-mapping": "^0.3.20", | |
3280 | + "jest-worker": "^27.4.5", | |
3281 | + "schema-utils": "^3.1.1", | |
3282 | + "serialize-javascript": "^6.0.1", | |
3283 | + "terser": "^5.26.0" | |
3284 | + }, | |
3285 | + "engines": { | |
3286 | + "node": ">= 10.13.0" | |
3287 | + }, | |
3288 | + "funding": { | |
3289 | + "type": "opencollective", | |
3290 | + "url": "https://opencollective.com/webpack" | |
3291 | + }, | |
3292 | + "peerDependencies": { | |
3293 | + "webpack": "^5.1.0" | |
3294 | + }, | |
3295 | + "peerDependenciesMeta": { | |
3296 | + "@swc/core": { | |
3297 | + "optional": true | |
3298 | + }, | |
3299 | + "esbuild": { | |
3300 | + "optional": true | |
3301 | + }, | |
3302 | + "uglify-js": { | |
3303 | + "optional": true | |
3304 | + } | |
3305 | + } | |
3306 | + }, | |
3307 | + "node_modules/terser-webpack-plugin/node_modules/schema-utils": { | |
3308 | + "version": "3.3.0", | |
3309 | + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", | |
3310 | + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", | |
3311 | + "license": "MIT", | |
3312 | + "dependencies": { | |
3313 | + "@types/json-schema": "^7.0.8", | |
3314 | + "ajv": "^6.12.5", | |
3315 | + "ajv-keywords": "^3.5.2" | |
3316 | + }, | |
3317 | + "engines": { | |
3318 | + "node": ">= 10.13.0" | |
3319 | + }, | |
3320 | + "funding": { | |
3321 | + "type": "opencollective", | |
3322 | + "url": "https://opencollective.com/webpack" | |
3323 | + } | |
3324 | + }, | |
3325 | + "node_modules/terser/node_modules/commander": { | |
3326 | + "version": "2.20.3", | |
3327 | + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", | |
3328 | + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", | |
3329 | + "license": "MIT" | |
3330 | + }, | |
3331 | + "node_modules/to-fast-properties": { | |
3332 | + "version": "2.0.0", | |
3333 | + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", | |
3334 | + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", | |
3335 | + "license": "MIT", | |
3336 | + "engines": { | |
3337 | + "node": ">=4" | |
3338 | + } | |
3339 | + }, | |
3340 | + "node_modules/to-regex-range": { | |
3341 | + "version": "5.0.1", | |
3342 | + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", | |
3343 | + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", | |
3344 | + "license": "MIT", | |
3345 | + "optional": true, | |
3346 | + "dependencies": { | |
3347 | + "is-number": "^7.0.0" | |
3348 | + }, | |
3349 | + "engines": { | |
3350 | + "node": ">=8.0" | |
3351 | + } | |
3352 | + }, | |
3353 | + "node_modules/toidentifier": { | |
3354 | + "version": "1.0.1", | |
3355 | + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", | |
3356 | + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", | |
3357 | + "license": "MIT", | |
3358 | + "engines": { | |
3359 | + "node": ">=0.6" | |
3360 | + } | |
3361 | + }, | |
3362 | + "node_modules/type-is": { | |
3363 | + "version": "1.6.18", | |
3364 | + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", | |
3365 | + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", | |
3366 | + "license": "MIT", | |
3367 | + "dependencies": { | |
3368 | + "media-typer": "0.3.0", | |
3369 | + "mime-types": "~2.1.24" | |
3370 | + }, | |
3371 | + "engines": { | |
3372 | + "node": ">= 0.6" | |
3373 | + } | |
3374 | + }, | |
3375 | + "node_modules/undici-types": { | |
3376 | + "version": "6.11.1", | |
3377 | + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.11.1.tgz", | |
3378 | + "integrity": "sha512-mIDEX2ek50x0OlRgxryxsenE5XaQD4on5U2inY7RApK3SOJpofyw7uW2AyfMKkhAxXIceo2DeWGVGwyvng1GNQ==", | |
3379 | + "license": "MIT" | |
3380 | + }, | |
3381 | + "node_modules/unpipe": { | |
3382 | + "version": "1.0.0", | |
3383 | + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", | |
3384 | + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", | |
3385 | + "license": "MIT", | |
3386 | + "engines": { | |
3387 | + "node": ">= 0.8" | |
3388 | + } | |
3389 | + }, | |
3390 | + "node_modules/update-browserslist-db": { | |
3391 | + "version": "1.1.0", | |
3392 | + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", | |
3393 | + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", | |
3394 | + "funding": [ | |
3395 | + { | |
3396 | + "type": "opencollective", | |
3397 | + "url": "https://opencollective.com/browserslist" | |
3398 | + }, | |
3399 | + { | |
3400 | + "type": "tidelift", | |
3401 | + "url": "https://tidelift.com/funding/github/npm/browserslist" | |
3402 | + }, | |
3403 | + { | |
3404 | + "type": "github", | |
3405 | + "url": "https://github.com/sponsors/ai" | |
3406 | + } | |
3407 | + ], | |
3408 | + "license": "MIT", | |
3409 | + "dependencies": { | |
3410 | + "escalade": "^3.1.2", | |
3411 | + "picocolors": "^1.0.1" | |
3412 | + }, | |
3413 | + "bin": { | |
3414 | + "update-browserslist-db": "cli.js" | |
3415 | + }, | |
3416 | + "peerDependencies": { | |
3417 | + "browserslist": ">= 4.21.0" | |
3418 | + } | |
3419 | + }, | |
3420 | + "node_modules/uri-js": { | |
3421 | + "version": "4.4.1", | |
3422 | + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", | |
3423 | + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", | |
3424 | + "license": "BSD-2-Clause", | |
3425 | + "dependencies": { | |
3426 | + "punycode": "^2.1.0" | |
3427 | + } | |
3428 | + }, | |
3429 | + "node_modules/url-loader": { | |
3430 | + "version": "4.1.1", | |
3431 | + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz", | |
3432 | + "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==", | |
3433 | + "license": "MIT", | |
3434 | + "dependencies": { | |
3435 | + "loader-utils": "^2.0.0", | |
3436 | + "mime-types": "^2.1.27", | |
3437 | + "schema-utils": "^3.0.0" | |
3438 | + }, | |
3439 | + "engines": { | |
3440 | + "node": ">= 10.13.0" | |
3441 | + }, | |
3442 | + "funding": { | |
3443 | + "type": "opencollective", | |
3444 | + "url": "https://opencollective.com/webpack" | |
3445 | + }, | |
3446 | + "peerDependencies": { | |
3447 | + "file-loader": "*", | |
3448 | + "webpack": "^4.0.0 || ^5.0.0" | |
3449 | + }, | |
3450 | + "peerDependenciesMeta": { | |
3451 | + "file-loader": { | |
3452 | + "optional": true | |
3453 | + } | |
3454 | + } | |
3455 | + }, | |
3456 | + "node_modules/url-loader/node_modules/schema-utils": { | |
3457 | + "version": "3.3.0", | |
3458 | + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", | |
3459 | + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", | |
3460 | + "license": "MIT", | |
3461 | + "dependencies": { | |
3462 | + "@types/json-schema": "^7.0.8", | |
3463 | + "ajv": "^6.12.5", | |
3464 | + "ajv-keywords": "^3.5.2" | |
3465 | + }, | |
3466 | + "engines": { | |
3467 | + "node": ">= 10.13.0" | |
3468 | + }, | |
3469 | + "funding": { | |
3470 | + "type": "opencollective", | |
3471 | + "url": "https://opencollective.com/webpack" | |
3472 | + } | |
3473 | + }, | |
3474 | + "node_modules/util-deprecate": { | |
3475 | + "version": "1.0.2", | |
3476 | + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", | |
3477 | + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", | |
3478 | + "license": "MIT" | |
3479 | + }, | |
3480 | + "node_modules/utils-merge": { | |
3481 | + "version": "1.0.1", | |
3482 | + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", | |
3483 | + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", | |
3484 | + "license": "MIT", | |
3485 | + "engines": { | |
3486 | + "node": ">= 0.4.0" | |
3487 | + } | |
3488 | + }, | |
3489 | + "node_modules/vary": { | |
3490 | + "version": "1.1.2", | |
3491 | + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", | |
3492 | + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", | |
3493 | + "license": "MIT", | |
3494 | + "engines": { | |
3495 | + "node": ">= 0.8" | |
3496 | + } | |
3497 | + }, | |
3498 | + "node_modules/vue": { | |
3499 | + "version": "3.2.40", | |
3500 | + "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.40.tgz", | |
3501 | + "integrity": "sha512-1mGHulzUbl2Nk3pfvI5aXYYyJUs1nm4kyvuz38u4xlQkLUn1i2R7nDbI4TufECmY8v1qNBHYy62bCaM+3cHP2A==", | |
3502 | + "license": "MIT", | |
3503 | + "dependencies": { | |
3504 | + "@vue/compiler-dom": "3.2.40", | |
3505 | + "@vue/compiler-sfc": "3.2.40", | |
3506 | + "@vue/runtime-dom": "3.2.40", | |
3507 | + "@vue/server-renderer": "3.2.40", | |
3508 | + "@vue/shared": "3.2.40" | |
3509 | + } | |
3510 | + }, | |
3511 | + "node_modules/vue-loader": { | |
3512 | + "version": "17.4.2", | |
3513 | + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-17.4.2.tgz", | |
3514 | + "integrity": "sha512-yTKOA4R/VN4jqjw4y5HrynFL8AK0Z3/Jt7eOJXEitsm0GMRHDBjCfCiuTiLP7OESvsZYo2pATCWhDqxC5ZrM6w==", | |
3515 | + "license": "MIT", | |
3516 | + "dependencies": { | |
3517 | + "chalk": "^4.1.0", | |
3518 | + "hash-sum": "^2.0.0", | |
3519 | + "watchpack": "^2.4.0" | |
3520 | + }, | |
3521 | + "peerDependencies": { | |
3522 | + "webpack": "^4.1.0 || ^5.0.0-0" | |
3523 | + }, | |
3524 | + "peerDependenciesMeta": { | |
3525 | + "@vue/compiler-sfc": { | |
3526 | + "optional": true | |
3527 | + }, | |
3528 | + "vue": { | |
3529 | + "optional": true | |
3530 | + } | |
3531 | + } | |
3532 | + }, | |
3533 | + "node_modules/vue-loader/node_modules/ansi-styles": { | |
3534 | + "version": "4.3.0", | |
3535 | + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", | |
3536 | + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", | |
3537 | + "license": "MIT", | |
3538 | + "dependencies": { | |
3539 | + "color-convert": "^2.0.1" | |
3540 | + }, | |
3541 | + "engines": { | |
3542 | + "node": ">=8" | |
3543 | + }, | |
3544 | + "funding": { | |
3545 | + "url": "https://github.com/chalk/ansi-styles?sponsor=1" | |
3546 | + } | |
3547 | + }, | |
3548 | + "node_modules/vue-loader/node_modules/chalk": { | |
3549 | + "version": "4.1.2", | |
3550 | + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", | |
3551 | + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", | |
3552 | + "license": "MIT", | |
3553 | + "dependencies": { | |
3554 | + "ansi-styles": "^4.1.0", | |
3555 | + "supports-color": "^7.1.0" | |
3556 | + }, | |
3557 | + "engines": { | |
3558 | + "node": ">=10" | |
3559 | + }, | |
3560 | + "funding": { | |
3561 | + "url": "https://github.com/chalk/chalk?sponsor=1" | |
3562 | + } | |
3563 | + }, | |
3564 | + "node_modules/vue-loader/node_modules/color-convert": { | |
3565 | + "version": "2.0.1", | |
3566 | + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", | |
3567 | + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", | |
3568 | + "license": "MIT", | |
3569 | + "dependencies": { | |
3570 | + "color-name": "~1.1.4" | |
3571 | + }, | |
3572 | + "engines": { | |
3573 | + "node": ">=7.0.0" | |
3574 | + } | |
3575 | + }, | |
3576 | + "node_modules/vue-loader/node_modules/color-name": { | |
3577 | + "version": "1.1.4", | |
3578 | + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", | |
3579 | + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", | |
3580 | + "license": "MIT" | |
3581 | + }, | |
3582 | + "node_modules/vue-loader/node_modules/has-flag": { | |
3583 | + "version": "4.0.0", | |
3584 | + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", | |
3585 | + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", | |
3586 | + "license": "MIT", | |
3587 | + "engines": { | |
3588 | + "node": ">=8" | |
3589 | + } | |
3590 | + }, | |
3591 | + "node_modules/vue-loader/node_modules/supports-color": { | |
3592 | + "version": "7.2.0", | |
3593 | + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", | |
3594 | + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", | |
3595 | + "license": "MIT", | |
3596 | + "dependencies": { | |
3597 | + "has-flag": "^4.0.0" | |
3598 | + }, | |
3599 | + "engines": { | |
3600 | + "node": ">=8" | |
3601 | + } | |
3602 | + }, | |
3603 | + "node_modules/vue-router": { | |
3604 | + "version": "4.1.5", | |
3605 | + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.1.5.tgz", | |
3606 | + "integrity": "sha512-IsvoF5D2GQ/EGTs/Th4NQms9gd2NSqV+yylxIyp/OYp8xOwxmU8Kj/74E9DTSYAyH5LX7idVUngN3JSj1X4xcQ==", | |
3607 | + "license": "MIT", | |
3608 | + "dependencies": { | |
3609 | + "@vue/devtools-api": "^6.1.4" | |
3610 | + }, | |
3611 | + "funding": { | |
3612 | + "url": "https://github.com/sponsors/posva" | |
3613 | + }, | |
3614 | + "peerDependencies": { | |
3615 | + "vue": "^3.2.0" | |
3616 | + } | |
3617 | + }, | |
3618 | + "node_modules/vue-style-loader": { | |
3619 | + "version": "4.1.3", | |
3620 | + "resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.3.tgz", | |
3621 | + "integrity": "sha512-sFuh0xfbtpRlKfm39ss/ikqs9AbKCoXZBpHeVZ8Tx650o0k0q/YCM7FRvigtxpACezfq6af+a7JeqVTWvncqDg==", | |
3622 | + "license": "MIT", | |
3623 | + "dependencies": { | |
3624 | + "hash-sum": "^1.0.2", | |
3625 | + "loader-utils": "^1.0.2" | |
3626 | + } | |
3627 | + }, | |
3628 | + "node_modules/vue-style-loader/node_modules/hash-sum": { | |
3629 | + "version": "1.0.2", | |
3630 | + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", | |
3631 | + "integrity": "sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==", | |
3632 | + "license": "MIT" | |
3633 | + }, | |
3634 | + "node_modules/vue-style-loader/node_modules/json5": { | |
3635 | + "version": "1.0.2", | |
3636 | + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", | |
3637 | + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", | |
3638 | + "license": "MIT", | |
3639 | + "dependencies": { | |
3640 | + "minimist": "^1.2.0" | |
3641 | + }, | |
3642 | + "bin": { | |
3643 | + "json5": "lib/cli.js" | |
3644 | + } | |
3645 | + }, | |
3646 | + "node_modules/vue-style-loader/node_modules/loader-utils": { | |
3647 | + "version": "1.4.2", | |
3648 | + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", | |
3649 | + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", | |
3650 | + "license": "MIT", | |
3651 | + "dependencies": { | |
3652 | + "big.js": "^5.2.2", | |
3653 | + "emojis-list": "^3.0.0", | |
3654 | + "json5": "^1.0.1" | |
3655 | + }, | |
3656 | + "engines": { | |
3657 | + "node": ">=4.0.0" | |
3658 | + } | |
3659 | + }, | |
3660 | + "node_modules/vue3-sfc-loader": { | |
3661 | + "version": "0.8.4", | |
3662 | + "resolved": "https://registry.npmjs.org/vue3-sfc-loader/-/vue3-sfc-loader-0.8.4.tgz", | |
3663 | + "integrity": "sha512-eziaIrk/N9f9OCpyFEkR6vMsZUHcF5mQslXjffwcb5Iq6EuU74QrlpBeJqA04MvAGT7f5O8la2v9k3NtQnJb3Q==", | |
3664 | + "license": "MIT" | |
3665 | + }, | |
3666 | + "node_modules/watchpack": { | |
3667 | + "version": "2.4.1", | |
3668 | + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz", | |
3669 | + "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==", | |
3670 | + "license": "MIT", | |
3671 | + "dependencies": { | |
3672 | + "glob-to-regexp": "^0.4.1", | |
3673 | + "graceful-fs": "^4.1.2" | |
3674 | + }, | |
3675 | + "engines": { | |
3676 | + "node": ">=10.13.0" | |
3677 | + } | |
3678 | + }, | |
3679 | + "node_modules/webpack": { | |
3680 | + "version": "5.74.0", | |
3681 | + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.74.0.tgz", | |
3682 | + "integrity": "sha512-A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA==", | |
3683 | + "license": "MIT", | |
3684 | + "dependencies": { | |
3685 | + "@types/eslint-scope": "^3.7.3", | |
3686 | + "@types/estree": "^0.0.51", | |
3687 | + "@webassemblyjs/ast": "1.11.1", | |
3688 | + "@webassemblyjs/wasm-edit": "1.11.1", | |
3689 | + "@webassemblyjs/wasm-parser": "1.11.1", | |
3690 | + "acorn": "^8.7.1", | |
3691 | + "acorn-import-assertions": "^1.7.6", | |
3692 | + "browserslist": "^4.14.5", | |
3693 | + "chrome-trace-event": "^1.0.2", | |
3694 | + "enhanced-resolve": "^5.10.0", | |
3695 | + "es-module-lexer": "^0.9.0", | |
3696 | + "eslint-scope": "5.1.1", | |
3697 | + "events": "^3.2.0", | |
3698 | + "glob-to-regexp": "^0.4.1", | |
3699 | + "graceful-fs": "^4.2.9", | |
3700 | + "json-parse-even-better-errors": "^2.3.1", | |
3701 | + "loader-runner": "^4.2.0", | |
3702 | + "mime-types": "^2.1.27", | |
3703 | + "neo-async": "^2.6.2", | |
3704 | + "schema-utils": "^3.1.0", | |
3705 | + "tapable": "^2.1.1", | |
3706 | + "terser-webpack-plugin": "^5.1.3", | |
3707 | + "watchpack": "^2.4.0", | |
3708 | + "webpack-sources": "^3.2.3" | |
3709 | + }, | |
3710 | + "bin": { | |
3711 | + "webpack": "bin/webpack.js" | |
3712 | + }, | |
3713 | + "engines": { | |
3714 | + "node": ">=10.13.0" | |
3715 | + }, | |
3716 | + "funding": { | |
3717 | + "type": "opencollective", | |
3718 | + "url": "https://opencollective.com/webpack" | |
3719 | + }, | |
3720 | + "peerDependenciesMeta": { | |
3721 | + "webpack-cli": { | |
3722 | + "optional": true | |
3723 | + } | |
3724 | + } | |
3725 | + }, | |
3726 | + "node_modules/webpack-cli": { | |
3727 | + "version": "4.10.0", | |
3728 | + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.10.0.tgz", | |
3729 | + "integrity": "sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w==", | |
3730 | + "license": "MIT", | |
3731 | + "dependencies": { | |
3732 | + "@discoveryjs/json-ext": "^0.5.0", | |
3733 | + "@webpack-cli/configtest": "^1.2.0", | |
3734 | + "@webpack-cli/info": "^1.5.0", | |
3735 | + "@webpack-cli/serve": "^1.7.0", | |
3736 | + "colorette": "^2.0.14", | |
3737 | + "commander": "^7.0.0", | |
3738 | + "cross-spawn": "^7.0.3", | |
3739 | + "fastest-levenshtein": "^1.0.12", | |
3740 | + "import-local": "^3.0.2", | |
3741 | + "interpret": "^2.2.0", | |
3742 | + "rechoir": "^0.7.0", | |
3743 | + "webpack-merge": "^5.7.3" | |
3744 | + }, | |
3745 | + "bin": { | |
3746 | + "webpack-cli": "bin/cli.js" | |
3747 | + }, | |
3748 | + "engines": { | |
3749 | + "node": ">=10.13.0" | |
3750 | + }, | |
3751 | + "funding": { | |
3752 | + "type": "opencollective", | |
3753 | + "url": "https://opencollective.com/webpack" | |
3754 | + }, | |
3755 | + "peerDependencies": { | |
3756 | + "webpack": "4.x.x || 5.x.x" | |
3757 | + }, | |
3758 | + "peerDependenciesMeta": { | |
3759 | + "@webpack-cli/generators": { | |
3760 | + "optional": true | |
3761 | + }, | |
3762 | + "@webpack-cli/migrate": { | |
3763 | + "optional": true | |
3764 | + }, | |
3765 | + "webpack-bundle-analyzer": { | |
3766 | + "optional": true | |
3767 | + }, | |
3768 | + "webpack-dev-server": { | |
3769 | + "optional": true | |
3770 | + } | |
3771 | + } | |
3772 | + }, | |
3773 | + "node_modules/webpack-cli/node_modules/commander": { | |
3774 | + "version": "7.2.0", | |
3775 | + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", | |
3776 | + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", | |
3777 | + "license": "MIT", | |
3778 | + "engines": { | |
3779 | + "node": ">= 10" | |
3780 | + } | |
3781 | + }, | |
3782 | + "node_modules/webpack-merge": { | |
3783 | + "version": "5.10.0", | |
3784 | + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", | |
3785 | + "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", | |
3786 | + "license": "MIT", | |
3787 | + "dependencies": { | |
3788 | + "clone-deep": "^4.0.1", | |
3789 | + "flat": "^5.0.2", | |
3790 | + "wildcard": "^2.0.0" | |
3791 | + }, | |
3792 | + "engines": { | |
3793 | + "node": ">=10.0.0" | |
3794 | + } | |
3795 | + }, | |
3796 | + "node_modules/webpack-sources": { | |
3797 | + "version": "3.2.3", | |
3798 | + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", | |
3799 | + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", | |
3800 | + "license": "MIT", | |
3801 | + "engines": { | |
3802 | + "node": ">=10.13.0" | |
3803 | + } | |
3804 | + }, | |
3805 | + "node_modules/webpack/node_modules/schema-utils": { | |
3806 | + "version": "3.3.0", | |
3807 | + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", | |
3808 | + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", | |
3809 | + "license": "MIT", | |
3810 | + "dependencies": { | |
3811 | + "@types/json-schema": "^7.0.8", | |
3812 | + "ajv": "^6.12.5", | |
3813 | + "ajv-keywords": "^3.5.2" | |
3814 | + }, | |
3815 | + "engines": { | |
3816 | + "node": ">= 10.13.0" | |
3817 | + }, | |
3818 | + "funding": { | |
3819 | + "type": "opencollective", | |
3820 | + "url": "https://opencollective.com/webpack" | |
3821 | + } | |
3822 | + }, | |
3823 | + "node_modules/which": { | |
3824 | + "version": "2.0.2", | |
3825 | + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", | |
3826 | + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", | |
3827 | + "license": "ISC", | |
3828 | + "dependencies": { | |
3829 | + "isexe": "^2.0.0" | |
3830 | + }, | |
3831 | + "bin": { | |
3832 | + "node-which": "bin/node-which" | |
3833 | + }, | |
3834 | + "engines": { | |
3835 | + "node": ">= 8" | |
3836 | + } | |
3837 | + }, | |
3838 | + "node_modules/wildcard": { | |
3839 | + "version": "2.0.1", | |
3840 | + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", | |
3841 | + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", | |
3842 | + "license": "MIT" | |
3843 | + }, | |
3844 | + "node_modules/wrappy": { | |
3845 | + "version": "1.0.2", | |
3846 | + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", | |
3847 | + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", | |
3848 | + "license": "ISC" | |
3849 | + }, | |
3850 | + "node_modules/xtend": { | |
3851 | + "version": "4.0.2", | |
3852 | + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", | |
3853 | + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", | |
3854 | + "license": "MIT", | |
3855 | + "engines": { | |
3856 | + "node": ">=0.4" | |
3857 | + } | |
3858 | + }, | |
3859 | + "node_modules/yallist": { | |
3860 | + "version": "3.1.1", | |
3861 | + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", | |
3862 | + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", | |
3863 | + "license": "ISC" | |
3864 | + } | |
3865 | + } | |
3866 | +} |
+++ package.json
... | ... | @@ -0,0 +1,32 @@ |
1 | +{ | |
2 | + "dependencies": { | |
3 | + "@babel/cli": "7.19.3", | |
4 | + "@babel/core": "7.19.3", | |
5 | + "babel-loader": "8.2.5", | |
6 | + "css-loader": "6.7.1", | |
7 | + "express": "^4.18.1", | |
8 | + "express-http-proxy": "^2.0.0", | |
9 | + "file-loader": "6.2.0", | |
10 | + "fs": "0.0.1-security", | |
11 | + "new-line": "^1.1.1", | |
12 | + "pg": "8.8.0", | |
13 | + "url-loader": "4.1.1", | |
14 | + "vue": "3.2.40", | |
15 | + "vue-loader": "^17.0.0", | |
16 | + "vue-router": "4.1.5", | |
17 | + "vue-style-loader": "4.1.3", | |
18 | + "vue3-sfc-loader": "^0.8.4", | |
19 | + "webpack": "5.74.0", | |
20 | + "webpack-cli": "4.10.0" | |
21 | + }, | |
22 | + "scripts": { | |
23 | + "prod": "set NODE_ENV=production&&node ./server/modules/web/server.js", | |
24 | + "dev": "set NODE_ENV=development&&node ./server/modules/web/server.js", | |
25 | + "windows-prod": "set NODE_ENV=production&&node ./server/modules/web/server.js", | |
26 | + "windows-dev": "set NODE_ENV=development&&node ./server/modules/web/server.js", | |
27 | + "linux-prod": "export NODE_ENV=production&&node ./server/modules/web/server.js", | |
28 | + "linux-dev": "export NODE_ENV=development&&node ./server/modules/web/server.js", | |
29 | + "webpack-build": "webpack", | |
30 | + "webpack-build-watch": "webpack --watch" | |
31 | + } | |
32 | +} |
+++ server/modules/db/mysql/MysqlConnection.js
... | ... | @@ -0,0 +1,62 @@ |
1 | +/** | |
2 | + * @author : 최정우 | |
3 | + * @since : 2022.10.21 | |
4 | + * @dscription : Mysql DB Connection Pool 생성 관리 모듈 입니다. (private와 public object 환경 구성) | |
5 | + */ | |
6 | + const MysqlConnection = (function () { | |
7 | + | |
8 | + //Mysql DB Connection 라이브러리 모듈 | |
9 | + const mysql = require('mysql'); | |
10 | + | |
11 | + //Connection Pool 객체 - private object(변수) | |
12 | + const connectionPool = mysql.createPool({ | |
13 | + host: 'localhost', | |
14 | + user: 'root', | |
15 | + password: '1234', | |
16 | + database: 'test', | |
17 | + ssl: false, | |
18 | + port: 3306, | |
19 | + max: 10, | |
20 | + }); | |
21 | + | |
22 | + return { | |
23 | + getConnectionPool: function () { | |
24 | + return connectionPool; | |
25 | + }, | |
26 | + queryExcute: function (sql, params) { | |
27 | + const result = new Promise((resolve, reject) => { | |
28 | + connectionPool.getConnection(function (connectionError, connection) { | |
29 | + if (!connectionError) { | |
30 | + try { | |
31 | + connection.query(sql, params, function (queryError, rows, columns) { | |
32 | + if (!queryError) { | |
33 | + resolve({'rows': rows, 'columns': columns}); | |
34 | + } else { | |
35 | + reject(queryError); | |
36 | + } | |
37 | + }) | |
38 | + } catch (proccessError) { | |
39 | + reject(proccessError); | |
40 | + } finally { | |
41 | + connection.release(); | |
42 | + } | |
43 | + } else { | |
44 | + reject(connectionError); | |
45 | + } | |
46 | + }) | |
47 | + | |
48 | + /* connectionPool.getConnection().then(async (connection) => { | |
49 | + let queryResult = await connection.query(sql); | |
50 | + resolve(queryResult); | |
51 | + connection.release(); | |
52 | + }).catch((error) => { | |
53 | + reject(error); | |
54 | + }); */ | |
55 | + }) | |
56 | + return result; | |
57 | + }, | |
58 | + } | |
59 | + | |
60 | +})(); | |
61 | + | |
62 | +module.exports = MysqlConnection;(파일 끝에 줄바꿈 문자 없음) |
+++ server/modules/db/oracle/OracleConnection.js
... | ... | @@ -0,0 +1,62 @@ |
1 | +/** | |
2 | + * @author : 방선주 | |
3 | + * @since : 2022.09.22 | |
4 | + * @dscription : Oracle DB Connection Pool 생성 관리 모듈 입니다. | |
5 | + * | |
6 | + * @modifier : 최정우 | |
7 | + * @modified : 2022.10.30 | |
8 | + */ | |
9 | + const { BASE_DIR } = require('../../../../Global'); | |
10 | + | |
11 | + const OracleConnection = function () { | |
12 | + //오라클 라이브러리 import | |
13 | + const oracledb = require('oracledb'); | |
14 | + //라이브러리 초기화(oracle client setting) | |
15 | + oracledb.initOracleClient({ libDir: `${BASE_DIR}/server/modules/db/oracle/client/client_19.16` }); | |
16 | + | |
17 | + //DB Connection Pool | |
18 | + let connectionPool = null; | |
19 | + | |
20 | + //DB Connection Pool 생성 | |
21 | + oracledb.createPool({ | |
22 | + user: 'ajin_data', | |
23 | + password: 'ajinvldosvl1121', // myhrpw contains the hr schema password | |
24 | + connectString: '(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 211.216.206.147)(PORT = 1521)))(CONNECT_DATA = (SID = XE)))', | |
25 | + poolMin: 0, | |
26 | + poolMax: 20, | |
27 | + //poolAlias: 'ajin_odbcp'//poolAlias가 정의되지 않으면, default pool로 정의됨 | |
28 | + }).then((result) => { | |
29 | + connectionPool = result; | |
30 | + console.log("Successfully connected to Oracle Database"); | |
31 | + }).catch((error) => { | |
32 | + console.error(error); | |
33 | + }); | |
34 | + | |
35 | + return { | |
36 | + getConnectionPool: function () { | |
37 | + return connectionPool; | |
38 | + }, | |
39 | + getConnection: function () { | |
40 | + return oracledb.getConnection(); | |
41 | + }, | |
42 | + queryExcute: function (sql, params) { | |
43 | + const result = new Promise((resolve, reject) => { | |
44 | + oracledb.getConnection().then(async (connection) => { | |
45 | + let queryResult = null; | |
46 | + if (!params) { | |
47 | + queryResult = await connection.execute(sql); | |
48 | + } else { | |
49 | + queryResult = await connection.execute(sql, params); | |
50 | + } | |
51 | + resolve(queryResult); | |
52 | + connection.close(); | |
53 | + }).catch((error) => { | |
54 | + reject(error); | |
55 | + }); | |
56 | + }) | |
57 | + return result; | |
58 | + }, | |
59 | + } | |
60 | + }(); | |
61 | + | |
62 | + module.exports = OracleConnection;(파일 끝에 줄바꿈 문자 없음) |
+++ server/modules/db/oracle/client/client_19.16/BASIC_LICENSE
... | ... | @@ -0,0 +1,123 @@ |
1 | +Oracle Free Use Terms and Conditions | |
2 | + | |
3 | +Definitions | |
4 | + | |
5 | +"Oracle" refers to Oracle America, Inc. "You" and "Your" refers to (a) | |
6 | +a company or organization (each an "Entity") accessing the Programs, | |
7 | +if use of the Programs will be on behalf of such Entity; or (b) an | |
8 | +individual accessing the Programs, if use of the Programs will not be | |
9 | +on behalf of an Entity. "Program(s)" refers to Oracle software | |
10 | +provided by Oracle pursuant to the following terms and any updates, | |
11 | +error corrections, and/or Program Documentation provided by | |
12 | +Oracle. "Program Documentation" refers to Program user manuals and | |
13 | +Program installation manuals, if any. If available, Program | |
14 | +Documentation may be delivered with the Programs and/or may be | |
15 | +accessed from www.oracle.com/documentation. "Separate Terms" refers to | |
16 | +separate license terms that are specified in the Program | |
17 | +Documentation, readmes or notice files and that apply to Separately | |
18 | +Licensed Technology. "Separately Licensed Technology" refers to Oracle | |
19 | +or third party technology that is licensed under Separate Terms and | |
20 | +not under the terms of this license. | |
21 | + | |
22 | +Separately Licensed Technology | |
23 | + | |
24 | +Oracle may provide certain notices to You in Program Documentation, | |
25 | +readmes or notice files in connection with Oracle or third party | |
26 | +technology provided as or with the Programs. If specified in the | |
27 | +Program Documentation, readmes or notice files, such technology will | |
28 | +be licensed to You under Separate Terms. Your rights to use Separately | |
29 | +Licensed Technology under Separate Terms are not restricted in any way | |
30 | +by the terms herein. For clarity, notwithstanding the existence of a | |
31 | +notice, third party technology that is not Separately Licensed | |
32 | +Technology shall be deemed part of the Programs licensed to You under | |
33 | +the terms of this license. | |
34 | + | |
35 | +Source Code for Open Source Software | |
36 | + | |
37 | +For software that You receive from Oracle in binary form that is | |
38 | +licensed under an open source license that gives You the right to | |
39 | +receive the source code for that binary, You can obtain a copy of the | |
40 | +applicable source code from https://oss.oracle.com/sources/ or | |
41 | +http://www.oracle.com/goto/opensourcecode. If the source code for such | |
42 | +software was not provided to You with the binary, You can also receive | |
43 | +a copy of the source code on physical media by submitting a written | |
44 | +request pursuant to the instructions in the "Written Offer for Source | |
45 | +Code" section of the latter website. | |
46 | + | |
47 | +------------------------------------------------------------------------------- | |
48 | + | |
49 | +The following license terms apply to those Programs that are not | |
50 | +provided to You under Separate Terms. | |
51 | + | |
52 | +License Rights and Restrictions | |
53 | + | |
54 | +Oracle grants to You, as a recipient of this Program, a nonexclusive, | |
55 | +nontransferable, limited license to, subject to the conditions stated | |
56 | +herein, (a) internally use the unmodified Programs for the purposes of | |
57 | +developing, testing, prototyping and demonstrating your applications, | |
58 | +and running the Programs for your own internal business operations; | |
59 | +and (b) redistribute unmodified Programs and Programs Documentation, | |
60 | +under the terms of this License, provided that You do not charge Your | |
61 | +end users any additional fees for the use of the Programs. You may | |
62 | +make copies of the Programs to the extent reasonably necessary for | |
63 | +exercising the license rights granted herein and for backup | |
64 | +purposes. You are granted the right to use the Programs to provide | |
65 | +third party training in the use of the Programs and associated | |
66 | +Separately Licensed Technology only if there is express authorization | |
67 | +of such use by Oracle on the Program's download page or in the Program | |
68 | +Documentation. | |
69 | + | |
70 | +Your license is contingent on Your compliance with the following conditions: | |
71 | + | |
72 | + - You include a copy of this license with any distribution by You | |
73 | + of the Programs; | |
74 | + | |
75 | + - You do not remove markings or notices of either Oracle's or a | |
76 | + licensor's proprietary rights from the Programs or Program | |
77 | + Documentation; | |
78 | + | |
79 | + - You comply with all U.S. and applicable export control and | |
80 | + economic sanctions laws and regulations that govern Your use of | |
81 | + the Programs (including technical data); | |
82 | + | |
83 | + - You do not cause or permit reverse engineering, disassembly or | |
84 | + decompilation of the Programs (except as allowed by law) by You | |
85 | + nor allow an associated party to do so. | |
86 | + | |
87 | +For clarity, any source code that may be included in the distribution | |
88 | +with the Programs is provided solely for reference purposes and may | |
89 | +not be modified, unless such source code is under Separate Terms | |
90 | +permitting modification. | |
91 | + | |
92 | +Ownership | |
93 | + | |
94 | +Oracle or its licensors retain all ownership and intellectual property | |
95 | +rights to the Programs. | |
96 | + | |
97 | +Information Collection | |
98 | + | |
99 | +The Programs' installation and/or auto-update processes, if any, may | |
100 | +transmit a limited amount of data to Oracle or its service provider | |
101 | +about those processes to help Oracle understand and optimize | |
102 | +them. Oracle does not associate the data with personally identifiable | |
103 | +information. Refer to Oracle's Privacy Policy at | |
104 | +www.oracle.com/privacy. | |
105 | + | |
106 | +Disclaimer of Warranties; Limitation of Liability | |
107 | + | |
108 | +THE PROGRAMS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. ORACLE | |
109 | +FURTHER DISCLAIMS ALL WARRANTIES, EXPRESS AND IMPLIED, INCLUDING | |
110 | +WITHOUT LIMITATION, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS | |
111 | +FOR A PARTICULAR PURPOSE, OR NONINFRINGEMENT. | |
112 | + | |
113 | +IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW WILL ORACLE BE LIABLE TO | |
114 | +YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR | |
115 | +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE | |
116 | +PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING | |
117 | +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A | |
118 | +FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF | |
119 | +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH | |
120 | +DAMAGES. | |
121 | + | |
122 | +Last updated: 8 October 2018 | |
123 | + |
+++ server/modules/db/oracle/client/client_19.16/BASIC_README
... | ... | @@ -0,0 +1,30 @@ |
1 | +Basic Package Information | |
2 | +========================= | |
3 | +Sun Jul 17 14:46:23 MDT 2022 | |
4 | +Client Shared Library 64-bit - 19.16.0.0.0 | |
5 | + | |
6 | +Windows NT Version V6.2 | |
7 | +CPU : 4 - type 86644 physical cores | |
8 | +Process Affinity : 0x0000000000000000 | |
9 | +Memory (Avail/Total): Ph:10181M/16381M, Ph+PgF:12546M/18813M | |
10 | + | |
11 | + | |
12 | +TIMEZONE INFORMATION | |
13 | +-------------------- | |
14 | +Operating in ORACLE_HOME environment. | |
15 | + | |
16 | +Small timezone file = timezone_32.dat | |
17 | +Large timezone file = timezlrg_32.dat | |
18 | + | |
19 | +LICENSE AGREEMENT | |
20 | +----------------------------- | |
21 | +Your use of this copy of Oracle Instant Client software product is subject to, and may not exceed the conditions of use for which you are authorized under one of the following: | |
22 | + | |
23 | +(i) the license or cloud services terms that you accepted when you obtained the right to use Oracle Instant Client software; or | |
24 | +(ii) the license terms that you agreed to when you placed your order with Oracle for an Oracle product containing Oracle Instant Client software; or | |
25 | +(iii) the Oracle Instant Client software license terms, if any, included with the hardware that you acquired from Oracle; or | |
26 | +(iv) the Oracle Technology Network License Agreement (which you acknowledge you have read and agree to) available at http://www.oracle.com/technetwork/licenses/distribution-license-152002.html; or, if (i), (ii), (iii), and or (iv) are not applicable, then, | |
27 | +(v) the Oracle Free Use Terms and Conditions available at BASIC_LICENSE. | |
28 | + | |
29 | +Oracle's obligations with respect to your use of the Oracle Instant Client, including, without limitation, obligations to indemnify you, if any, shall only be as set forth in the specific license under which you are authorized and choose to use Oracle Instant Client. | |
30 | + |
+++ server/modules/db/oracle/client/client_19.16/adrci.exe
Binary file is not shown |
+++ server/modules/db/oracle/client/client_19.16/adrci.sym
Binary file is not shown |
+++ server/modules/db/oracle/client/client_19.16/genezi.exe
Binary file is not shown |
+++ server/modules/db/oracle/client/client_19.16/genezi.sym
Binary file is not shown |
+++ server/modules/db/oracle/client/client_19.16/oci.dll
Binary file is not shown |
+++ server/modules/db/oracle/client/client_19.16/oci.sym
Binary file is not shown |
+++ server/modules/db/oracle/client/client_19.16/ocijdbc19.dll
Binary file is not shown |
+++ server/modules/db/oracle/client/client_19.16/ocijdbc19.sym
Binary file is not shown |
+++ server/modules/db/oracle/client/client_19.16/ociw32.dll
Binary file is not shown |
+++ server/modules/db/oracle/client/client_19.16/ociw32.sym
Binary file is not shown |
+++ server/modules/db/oracle/client/client_19.16/ojdbc8.jar
Binary file is not shown |
+++ server/modules/db/oracle/client/client_19.16/oramysql19.dll
Binary file is not shown |
+++ server/modules/db/oracle/client/client_19.16/oramysql19.sym
Binary file is not shown |
+++ server/modules/db/oracle/client/client_19.16/orannzsbb19.dll
Binary file is not shown |
+++ server/modules/db/oracle/client/client_19.16/orannzsbb19.sym
Binary file is not shown |
+++ server/modules/db/oracle/client/client_19.16/oraocci19.dll
Binary file is not shown |
+++ server/modules/db/oracle/client/client_19.16/oraocci19.sym
Binary file is not shown |
+++ server/modules/db/oracle/client/client_19.16/oraocci19d.dll
Binary file is not shown |
+++ server/modules/db/oracle/client/client_19.16/oraocci19d.sym
Binary file is not shown |
+++ server/modules/db/oracle/client/client_19.16/oraociei19.dll
This file is too big to display. |
+++ server/modules/db/oracle/client/client_19.16/oraociei19.sym
Binary file is not shown |
+++ server/modules/db/oracle/client/client_19.16/oraons.dll
Binary file is not shown |
+++ server/modules/db/oracle/client/client_19.16/orasql19.dll
Binary file is not shown |
+++ server/modules/db/oracle/client/client_19.16/orasql19.sym
Binary file is not shown |
+++ server/modules/db/oracle/client/client_19.16/ucp.jar
Binary file is not shown |
+++ server/modules/db/oracle/client/client_19.16/uidrvci.exe
Binary file is not shown |
+++ server/modules/db/oracle/client/client_19.16/uidrvci.sym
Binary file is not shown |
+++ server/modules/db/oracle/client/client_19.16/vc14/oraocci19.dll
Binary file is not shown |
+++ server/modules/db/oracle/client/client_19.16/vc14/oraocci19.sym
Binary file is not shown |
+++ server/modules/db/oracle/client/client_19.16/vc14/oraocci19d.dll
Binary file is not shown |
+++ server/modules/db/oracle/client/client_19.16/vc14/oraocci19d.sym
Binary file is not shown |
+++ server/modules/db/oracle/client/client_19.16/xstreams.jar
Binary file is not shown |
+++ server/modules/db/oracle/client/client_21.6/BASIC_LICENSE
... | ... | @@ -0,0 +1,123 @@ |
1 | +Oracle Free Use Terms and Conditions | |
2 | + | |
3 | +Definitions | |
4 | + | |
5 | +"Oracle" refers to Oracle America, Inc. "You" and "Your" refers to (a) | |
6 | +a company or organization (each an "Entity") accessing the Programs, | |
7 | +if use of the Programs will be on behalf of such Entity; or (b) an | |
8 | +individual accessing the Programs, if use of the Programs will not be | |
9 | +on behalf of an Entity. "Program(s)" refers to Oracle software | |
10 | +provided by Oracle pursuant to the following terms and any updates, | |
11 | +error corrections, and/or Program Documentation provided by | |
12 | +Oracle. "Program Documentation" refers to Program user manuals and | |
13 | +Program installation manuals, if any. If available, Program | |
14 | +Documentation may be delivered with the Programs and/or may be | |
15 | +accessed from www.oracle.com/documentation. "Separate Terms" refers to | |
16 | +separate license terms that are specified in the Program | |
17 | +Documentation, readmes or notice files and that apply to Separately | |
18 | +Licensed Technology. "Separately Licensed Technology" refers to Oracle | |
19 | +or third party technology that is licensed under Separate Terms and | |
20 | +not under the terms of this license. | |
21 | + | |
22 | +Separately Licensed Technology | |
23 | + | |
24 | +Oracle may provide certain notices to You in Program Documentation, | |
25 | +readmes or notice files in connection with Oracle or third party | |
26 | +technology provided as or with the Programs. If specified in the | |
27 | +Program Documentation, readmes or notice files, such technology will | |
28 | +be licensed to You under Separate Terms. Your rights to use Separately | |
29 | +Licensed Technology under Separate Terms are not restricted in any way | |
30 | +by the terms herein. For clarity, notwithstanding the existence of a | |
31 | +notice, third party technology that is not Separately Licensed | |
32 | +Technology shall be deemed part of the Programs licensed to You under | |
33 | +the terms of this license. | |
34 | + | |
35 | +Source Code for Open Source Software | |
36 | + | |
37 | +For software that You receive from Oracle in binary form that is | |
38 | +licensed under an open source license that gives You the right to | |
39 | +receive the source code for that binary, You can obtain a copy of the | |
40 | +applicable source code from https://oss.oracle.com/sources/ or | |
41 | +http://www.oracle.com/goto/opensourcecode. If the source code for such | |
42 | +software was not provided to You with the binary, You can also receive | |
43 | +a copy of the source code on physical media by submitting a written | |
44 | +request pursuant to the instructions in the "Written Offer for Source | |
45 | +Code" section of the latter website. | |
46 | + | |
47 | +------------------------------------------------------------------------------- | |
48 | + | |
49 | +The following license terms apply to those Programs that are not | |
50 | +provided to You under Separate Terms. | |
51 | + | |
52 | +License Rights and Restrictions | |
53 | + | |
54 | +Oracle grants to You, as a recipient of this Program, a nonexclusive, | |
55 | +nontransferable, limited license to, subject to the conditions stated | |
56 | +herein, (a) internally use the unmodified Programs for the purposes of | |
57 | +developing, testing, prototyping and demonstrating your applications, | |
58 | +and running the Programs for your own internal business operations; | |
59 | +and (b) redistribute unmodified Programs and Programs Documentation, | |
60 | +under the terms of this License, provided that You do not charge Your | |
61 | +end users any additional fees for the use of the Programs. You may | |
62 | +make copies of the Programs to the extent reasonably necessary for | |
63 | +exercising the license rights granted herein and for backup | |
64 | +purposes. You are granted the right to use the Programs to provide | |
65 | +third party training in the use of the Programs and associated | |
66 | +Separately Licensed Technology only if there is express authorization | |
67 | +of such use by Oracle on the Program's download page or in the Program | |
68 | +Documentation. | |
69 | + | |
70 | +Your license is contingent on Your compliance with the following conditions: | |
71 | + | |
72 | + - You include a copy of this license with any distribution by You | |
73 | + of the Programs; | |
74 | + | |
75 | + - You do not remove markings or notices of either Oracle's or a | |
76 | + licensor's proprietary rights from the Programs or Program | |
77 | + Documentation; | |
78 | + | |
79 | + - You comply with all U.S. and applicable export control and | |
80 | + economic sanctions laws and regulations that govern Your use of | |
81 | + the Programs (including technical data); | |
82 | + | |
83 | + - You do not cause or permit reverse engineering, disassembly or | |
84 | + decompilation of the Programs (except as allowed by law) by You | |
85 | + nor allow an associated party to do so. | |
86 | + | |
87 | +For clarity, any source code that may be included in the distribution | |
88 | +with the Programs is provided solely for reference purposes and may | |
89 | +not be modified, unless such source code is under Separate Terms | |
90 | +permitting modification. | |
91 | + | |
92 | +Ownership | |
93 | + | |
94 | +Oracle or its licensors retain all ownership and intellectual property | |
95 | +rights to the Programs. | |
96 | + | |
97 | +Information Collection | |
98 | + | |
99 | +The Programs' installation and/or auto-update processes, if any, may | |
100 | +transmit a limited amount of data to Oracle or its service provider | |
101 | +about those processes to help Oracle understand and optimize | |
102 | +them. Oracle does not associate the data with personally identifiable | |
103 | +information. Refer to Oracle's Privacy Policy at | |
104 | +www.oracle.com/privacy. | |
105 | + | |
106 | +Disclaimer of Warranties; Limitation of Liability | |
107 | + | |
108 | +THE PROGRAMS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. ORACLE | |
109 | +FURTHER DISCLAIMS ALL WARRANTIES, EXPRESS AND IMPLIED, INCLUDING | |
110 | +WITHOUT LIMITATION, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS | |
111 | +FOR A PARTICULAR PURPOSE, OR NONINFRINGEMENT. | |
112 | + | |
113 | +IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW WILL ORACLE BE LIABLE TO | |
114 | +YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR | |
115 | +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE | |
116 | +PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING | |
117 | +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A | |
118 | +FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF | |
119 | +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH | |
120 | +DAMAGES. | |
121 | + | |
122 | +Last updated: 8 October 2018 | |
123 | + |
+++ server/modules/db/oracle/client/client_21.6/BASIC_README
... | ... | @@ -0,0 +1,30 @@ |
1 | +Basic Package Information | |
2 | +========================= | |
3 | +Fri May 27 02:14:20 MDT 2022 | |
4 | +Client Shared Library 64-bit - 21.6.0.0.0 | |
5 | + | |
6 | +Windows NT Version V6.3 OS Build 9600 | |
7 | +CPU : 4 - type 86644 physical cores | |
8 | +Process Affinity : 0x0000000000000000 | |
9 | +Memory (Avail/Total): Ph:10006M/16381M, Ph+PgF:12115M/18813M | |
10 | + | |
11 | + | |
12 | +TIMEZONE INFORMATION | |
13 | +-------------------- | |
14 | +Operating in ORACLE_HOME environment. | |
15 | + | |
16 | +Small timezone file = timezone_35.dat | |
17 | +Large timezone file = timezlrg_35.dat | |
18 | + | |
19 | +LICENSE AGREEMENT | |
20 | +----------------------------- | |
21 | +Your use of this copy of Oracle Instant Client software product is subject to, and may not exceed the conditions of use for which you are authorized under one of the following: | |
22 | + | |
23 | +(i) the license or cloud services terms that you accepted when you obtained the right to use Oracle Instant Client software; or | |
24 | +(ii) the license terms that you agreed to when you placed your order with Oracle for an Oracle product containing Oracle Instant Client software; or | |
25 | +(iii) the Oracle Instant Client software license terms, if any, included with the hardware that you acquired from Oracle; or | |
26 | +(iv) the Oracle Technology Network License Agreement (which you acknowledge you have read and agree to) available at http://www.oracle.com/technetwork/licenses/distribution-license-152002.html; or, if (i), (ii), (iii), and or (iv) are not applicable, then, | |
27 | +(v) the Oracle Free Use Terms and Conditions available at BASIC_LICENSE. | |
28 | + | |
29 | +Oracle's obligations with respect to your use of the Oracle Instant Client, including, without limitation, obligations to indemnify you, if any, shall only be as set forth in the specific license under which you are authorized and choose to use Oracle Instant Client. | |
30 | + |
+++ server/modules/db/oracle/client/client_21.6/adrci.exe
Binary file is not shown |
+++ server/modules/db/oracle/client/client_21.6/adrci.sym
Binary file is not shown |
+++ server/modules/db/oracle/client/client_21.6/genezi.exe
Binary file is not shown |
+++ server/modules/db/oracle/client/client_21.6/genezi.sym
Binary file is not shown |
+++ server/modules/db/oracle/client/client_21.6/network/admin/README
... | ... | @@ -0,0 +1,9 @@ |
1 | +============================================================================= | |
2 | +This is the default directory for Oracle Network and Oracle Client | |
3 | +configuration files. You can place files such as tnsnames.ora, sqlnet.ora | |
4 | +and oraaccess.xml in this directory. | |
5 | +NOTE: | |
6 | +If you set an environment variable TNS_ADMIN to another directory containing | |
7 | +configuration files, they will be used instead of the files in this default | |
8 | +directory. | |
9 | +============================================================================= |
+++ server/modules/db/oracle/client/client_21.6/oci.dll
Binary file is not shown |
+++ server/modules/db/oracle/client/client_21.6/oci.sym
Binary file is not shown |
+++ server/modules/db/oracle/client/client_21.6/ocijdbc21.dll
Binary file is not shown |
+++ server/modules/db/oracle/client/client_21.6/ocijdbc21.sym
Binary file is not shown |
+++ server/modules/db/oracle/client/client_21.6/ociw32.dll
Binary file is not shown |
+++ server/modules/db/oracle/client/client_21.6/ociw32.sym
Binary file is not shown |
+++ server/modules/db/oracle/client/client_21.6/ojdbc8.jar
Binary file is not shown |
+++ server/modules/db/oracle/client/client_21.6/oramysql.dll
Binary file is not shown |
+++ server/modules/db/oracle/client/client_21.6/oramysql.sym
Binary file is not shown |
+++ server/modules/db/oracle/client/client_21.6/orannzsbb.dll
Binary file is not shown |
+++ server/modules/db/oracle/client/client_21.6/orannzsbb.sym
Binary file is not shown |
+++ server/modules/db/oracle/client/client_21.6/oraocci21.dll
Binary file is not shown |
+++ server/modules/db/oracle/client/client_21.6/oraocci21.sym
Binary file is not shown |
+++ server/modules/db/oracle/client/client_21.6/oraocci21d.dll
Binary file is not shown |
+++ server/modules/db/oracle/client/client_21.6/oraocci21d.sym
Binary file is not shown |
+++ server/modules/db/oracle/client/client_21.6/oraociei.dll
This file is too big to display. |
+++ server/modules/db/oracle/client/client_21.6/oraociei.sym
Binary file is not shown |
+++ server/modules/db/oracle/client/client_21.6/orasql.dll
Binary file is not shown |
+++ server/modules/db/oracle/client/client_21.6/orasql.sym
Binary file is not shown |
+++ server/modules/db/oracle/client/client_21.6/ucp.jar
Binary file is not shown |
+++ server/modules/db/oracle/client/client_21.6/uidrvci.exe
Binary file is not shown |
+++ server/modules/db/oracle/client/client_21.6/uidrvci.sym
Binary file is not shown |
+++ server/modules/db/oracle/client/client_21.6/xstreams.jar
Binary file is not shown |
+++ server/modules/db/postgresql/PostgresqlConnection.js
... | ... | @@ -0,0 +1,41 @@ |
1 | +/** | |
2 | + * @author : 최정우 | |
3 | + * @since : 2022.09.20 | |
4 | + * @dscription : PostgreSQL DB Connection Pool 생성 관리 모듈 입니다. (private와 public object 환경 구성) | |
5 | + */ | |
6 | +const PostgresqlConnection = (function () { | |
7 | + | |
8 | + //PostgreSQL DB Connection 라이브러리 모듈 | |
9 | + const pg = require('pg'); | |
10 | + | |
11 | + //Connection Pool 객체 - private object(변수) | |
12 | + const connectionPool = new pg.Pool({ | |
13 | + //host: 'localhost', | |
14 | + host: '192.168.0.250', | |
15 | + user: 'test_user', | |
16 | + password: '1234', | |
17 | + database: 'test_db', | |
18 | + ssl: false, | |
19 | + port: 5432, | |
20 | + max: 10, | |
21 | + }); | |
22 | + | |
23 | + //public object | |
24 | + return { | |
25 | + getConnectionPool: function () { | |
26 | + return connectionPool; | |
27 | + }, | |
28 | + getConnectionPoolClient: function () { | |
29 | + return connectionPool.connect(); | |
30 | + }, | |
31 | + queryExcute: function (sql, params) { | |
32 | + return connectionPool.query(sql, params); | |
33 | + }, | |
34 | + } | |
35 | + | |
36 | +})(); | |
37 | + | |
38 | +//Module Export | |
39 | +module.exports = PostgresqlConnection; | |
40 | + | |
41 | + |
+++ server/modules/log/Logger.js
... | ... | @@ -0,0 +1,131 @@ |
1 | +const { LOG_BASE_DIR, SERVICE_STATUS } = require('../../../Global'); | |
2 | +const fs = require('fs'); | |
3 | +const Queue = require('../util/Queue'); | |
4 | + | |
5 | +/** | |
6 | + * @author : 최정우 | |
7 | + * @since : 2022.09.21 | |
8 | + * @dscription : Log 생성기 모듈 입니다. | |
9 | + */ | |
10 | +const Logger = (function () { | |
11 | + | |
12 | + /* let testInterval = setInterval(() => { | |
13 | + const date = new Date(); | |
14 | + var now = `${date.getFullYear()}.${(date.getMonth()+1)}.${date.getDate()} ${date.getHours()}:${date.getMinutes()}:${date.getSeconds()}.${date.getMilliseconds()}`; | |
15 | + console.log('now :', now); | |
16 | + }, 1000) */ | |
17 | + | |
18 | + //로그 쓰기 전, 대기 저장소 | |
19 | + const eventQueue = new Queue(); | |
20 | + //로그 쓰는 중인지 아닌지 상태값 | |
21 | + let isLogging = false; | |
22 | + | |
23 | + /** | |
24 | + * @author : 최정우 | |
25 | + * @since : 2022.09.21 | |
26 | + * @dscription : Log 처리 | |
27 | + */ | |
28 | + const logging = (message) => { | |
29 | + const date = new Date(); | |
30 | + let year = date.getFullYear(); | |
31 | + let month = prefixZero((date.getMonth() + 1), 2); | |
32 | + let day = prefixZero(date.getDate(), 2); | |
33 | + let hour = prefixZero(date.getHours(), 2); | |
34 | + let minute = prefixZero(date.getMinutes(), 2); | |
35 | + let second = prefixZero(date.getSeconds(), 2); | |
36 | + let millisecond = prefixZero(date.getMilliseconds(), 3); | |
37 | + | |
38 | + //로그에 쓰일 정보 | |
39 | + const logMessage = { | |
40 | + message: message, | |
41 | + datetime: `${year}.${month}.${day} ${hour}:${minute}:${second}.${millisecond}`, | |
42 | + logFolderDir: `${LOG_BASE_DIR}/${year}${month}`,//log 폴더 경로 | |
43 | + logFileName: `log-${year}${month}${day}.log`//log 파일명 | |
44 | + } | |
45 | + | |
46 | + //로그 쓰는 중이면, 대기 저장소에 등록 | |
47 | + if (isLogging == true) { | |
48 | + eventQueue.push(logMessage); | |
49 | + } else {//로그 쓰는 중이 아니면, 로그 쓰는 중인 상태로 변경 후, 로그 쓰기 | |
50 | + isLogging = true; | |
51 | + | |
52 | + try { | |
53 | + //log 폴더 생성 | |
54 | + if (!fs.existsSync(logMessage.logFolderDir)) { | |
55 | + fs.mkdirSync(logMessage.logFolderDir, { recursive: true/*재귀적 폴더 생성*/ }); | |
56 | + } | |
57 | + | |
58 | + //log 파일 Full Path | |
59 | + let logFileFullPath = `${logMessage.logFolderDir}/${logMessage.logFileName}`; | |
60 | + //log 내용 | |
61 | + let logContent = `[${logMessage.datetime}] ${logMessage.message}`; | |
62 | + | |
63 | + //log 내용 쓰기 | |
64 | + writeLogFile(logFileFullPath, logContent); | |
65 | + } catch (error) { | |
66 | + console.log('logging error : ', error); | |
67 | + } finally { | |
68 | + isLogging = false; | |
69 | + } | |
70 | + } | |
71 | + } | |
72 | + | |
73 | + /** | |
74 | + * @author : 최정우 | |
75 | + * @since : 2022.09.21 | |
76 | + * @dscription : Log 내용 쓰기 | |
77 | + */ | |
78 | + const writeLogFile = (path, content) => { | |
79 | + if (SERVICE_STATUS == 'development') { | |
80 | + console.log(content); | |
81 | + } | |
82 | + | |
83 | + //파일 쓰기 | |
84 | + fs.appendFileSync(path, `${content}\n`, 'utf8'); | |
85 | + | |
86 | + //로그 쓰기 저장소에서 로그 메세지 꺼내기 | |
87 | + let logMessage = eventQueue.pop(); | |
88 | + //메세지가 존재하면 => Log 내용 쓰기 (재귀 호출) | |
89 | + if (logMessage != undefined) { | |
90 | + //log 파일 Full Path | |
91 | + let logFileFullPath = `${logMessage.logFolderDir}/${logMessage.logFileName}`; | |
92 | + //log 내용 | |
93 | + let logContent = `[${logMessage.datetime}] ${logMessage.message}`; | |
94 | + //Log 내용 쓰기 (재귀 호출) | |
95 | + writeLogFile(logFileFullPath, logContent); | |
96 | + } else { | |
97 | + return; | |
98 | + } | |
99 | + } | |
100 | + | |
101 | + /** | |
102 | + * @author : 최정우 | |
103 | + * @since : 2022.09.21 | |
104 | + * @dscription : 특정 길이만큼 앞에 '0' 붙이기 | |
105 | + */ | |
106 | + const prefixZero = (target, length) => { | |
107 | + let zero = ''; | |
108 | + let suffix = target; | |
109 | + let result = ''; | |
110 | + | |
111 | + if ((typeof target) === "number") { | |
112 | + suffix = target.toString(); | |
113 | + } | |
114 | + if (suffix.length < length) { | |
115 | + for (i = 0; i < length - suffix.length; i++) { | |
116 | + zero += '0'; | |
117 | + } | |
118 | + } | |
119 | + result = zero + suffix; | |
120 | + return result; | |
121 | + } | |
122 | + | |
123 | + | |
124 | + return { | |
125 | + logging: logging | |
126 | + } | |
127 | + | |
128 | +})(); | |
129 | + | |
130 | +//Module Export | |
131 | +module.exports = Logger;(파일 끝에 줄바꿈 문자 없음) |
+++ server/modules/util/Queue.js
... | ... | @@ -0,0 +1,32 @@ |
1 | +/** | |
2 | + * @author : 최정우 | |
3 | + * @since : 2022.09.21 | |
4 | + * @dscription : Queue(선입선출) 자료형 객체 입니다. | |
5 | + */ | |
6 | +class Queue { | |
7 | + constructor() { | |
8 | + this._arr = []; | |
9 | + } | |
10 | + | |
11 | + //입력 | |
12 | + push (item) { | |
13 | + this._arr.push(item); | |
14 | + } | |
15 | + | |
16 | + //출력 후, 제거 | |
17 | + pop () { | |
18 | + return this._arr.shift(); | |
19 | + } | |
20 | + | |
21 | + //출력 대기 중인 item return | |
22 | + peek () { | |
23 | + return this._arr[0]; | |
24 | + } | |
25 | + | |
26 | + //확인 | |
27 | + showQueue () { | |
28 | + console.log('Queue : ', this._arr); | |
29 | + } | |
30 | +} | |
31 | + | |
32 | +module.exports = Queue;(파일 끝에 줄바꿈 문자 없음) |
+++ server/modules/web/Server.js
... | ... | @@ -0,0 +1,105 @@ |
1 | +/** | |
2 | + * @author : 하석형 | |
3 | + * @since : 2023.08.24 | |
4 | + * @dscription : Express 라이브러리 활용 HTTP Web Server 모듈입니다. | |
5 | + */ | |
6 | +const { BASE_DIR, PORT, API_SERVER_HOST } = require('../../../Global'); | |
7 | +const Logger = require('../log/Logger');//Logger(필수) | |
8 | + | |
9 | +const express = require('express'); | |
10 | +const webServer = express(); | |
11 | +const expressProxy = require('express-http-proxy'); | |
12 | + | |
13 | +//파일 시스템 관련 라이브러리 | |
14 | +const FS = require('fs'); | |
15 | +//stream: 특정 자원을 Streaming 하기 위한 라이브러리 => Transform: Streaming 중인 자원의 Data에 Data 수정 및 추가를 지원해주는 객체 | |
16 | +const Transform = require('stream').Transform; | |
17 | +//Streaming 중인 자원에 새로운 데이터를 stream 공간에 추가하기 위한 라이브러리 | |
18 | +const newLineStream = require('new-line'); | |
19 | + | |
20 | +/** | |
21 | + * @author : 하석형 | |
22 | + * @since : 2023.08.24 | |
23 | + * @dscription : HTTP Server start | |
24 | + */ | |
25 | +webServer.listen(PORT, function () { | |
26 | + Logger.logging(`★★★ Node.js를 활용한 Web Server 구동(Port:${PORT}) ★★★`); | |
27 | +}) | |
28 | + | |
29 | +/** | |
30 | + * @author : 하석형 | |
31 | + * @since : 2023.08.24 | |
32 | + * @dscription : Intercepter 역할을 하는 미들웨어 기능 | |
33 | + */ | |
34 | +webServer.use(function (request, response, next) { | |
35 | + let ip = request.headers['x-forwarded-for'] || request.socket.remoteAddress; | |
36 | + Logger.logging(`[HTTP] ${request.url} (Method: ${request.method}, IP: ${ip})`); | |
37 | + next(); | |
38 | +}); | |
39 | + | |
40 | + | |
41 | + | |
42 | +/** | |
43 | + * @author : 하석형 | |
44 | + * @since : 2023.08.24 | |
45 | + * @dscription : ROOT URL -> index.html | |
46 | + */ | |
47 | +webServer.get('/', function (request, response) { | |
48 | + //response.sendFile을 통한 HTTP html reponse (html내용 Streaming) | |
49 | + response.sendFile(`${BASE_DIR}/client/views/index.html`); | |
50 | +}) | |
51 | + | |
52 | +/** | |
53 | + * @author : 하석형 | |
54 | + * @since : 2023.08.24 | |
55 | + * @dscription : 화면요청 URL 처리 | |
56 | + */ | |
57 | +webServer.get('*.page', function (request, response, next) { | |
58 | + //index.html 내용을 직접 Streaming하여 Response, Streaming 중간에 내용 수정 | |
59 | + //수정 내용 : URL 요청이 아닌, 브라우저에 표시된 URL만 변경하여, 해당하는 URL PATH의 Vue Component를 routing하기 위함 | |
60 | + const StreamTransform = new Transform(); | |
61 | + StreamTransform._transform = function (data, encoding, done) { | |
62 | + let fileContent = data.toString(); | |
63 | + let replaceBeforeContent = `<script id="app-start-vue-page">const APP_USER_HTTP_REQUEST_URL = '/';</script>`; | |
64 | + let replaceAfterContent = `<script id="app-start-vue-page">const APP_USER_HTTP_REQUEST_URL = '${request.params['0']}.page';</script>`; | |
65 | + fileContent.replace(replaceBeforeContent, replaceAfterContent); | |
66 | + this.push(fileContent); | |
67 | + done(); | |
68 | + } | |
69 | + //Streaming 진행 | |
70 | + FS.createReadStream(`${BASE_DIR}/client/views/index.html`).pipe(newLineStream()).pipe(StreamTransform).pipe(response); | |
71 | +}) | |
72 | + | |
73 | +/** | |
74 | + * @author : 하석형 | |
75 | + * @since : 2023.08.24 | |
76 | + * @dscription : REST API 서버에 데이터 요청 보내기(Proxy) | |
77 | + */ | |
78 | +webServer.use('*.json', expressProxy(API_SERVER_HOST, { | |
79 | + proxyReqPathResolver: function (request) { | |
80 | + //console.log('request : ', request.url, request.params[0]); | |
81 | + return `${request.params['0']}.json`; | |
82 | + } | |
83 | +})); | |
84 | + | |
85 | +/** | |
86 | + * @author : 하석형 | |
87 | + * @since : 2023.08.24 | |
88 | + * @dscription : ROOT URL, Router's, 화면요청 URL 등.. 이 외 나머지 정적 자원에 대한 처리 기능 | |
89 | + */ | |
90 | +webServer.get('*.*', function (request, response, next) { | |
91 | + response.sendFile(`${BASE_DIR}${request.params['0']}.${request.params['1']}`); | |
92 | +}) | |
93 | + | |
94 | +/** | |
95 | + * @author : 하석형 | |
96 | + * @since : 2023.08.24 | |
97 | + * @dscription : Global Error Handler (*맨 마지막에 적용해야됨) | |
98 | + */ | |
99 | +webServer.use(function (error, request, response, next) { | |
100 | + const errorCode = !error.statusCode ? 500 : error.statusCode; | |
101 | + response.status(errorCode).send('에러가 발생하였습니다. 관리자에게 문의바랍니다.'); | |
102 | + let message = `[Error:${errorCode}] ${request.url}/n ${error.stack}/n`; | |
103 | + Logger.logging(message); | |
104 | + //next(); | |
105 | +})(파일 끝에 줄바꿈 문자 없음) |
+++ server/service/test/model/TestDAO.js
... | ... | @@ -0,0 +1,190 @@ |
1 | +/** | |
2 | + * @author : 최정우 | |
3 | + * @since : 2022.09.20 | |
4 | + * @dscription : 테스트용 DB 접근을 담당하는 모듈 입니다. | |
5 | + */ | |
6 | + const TestDAO = (function () { | |
7 | + | |
8 | + //PostgreSQL DB Connection 객체 - private object(변수) | |
9 | + const PostgresqlConnection = require('../../../modules/db/postgresql/PostgresqlConnection'); | |
10 | + //console.log('PostgresqlConnection : ', PostgresqlConnection); | |
11 | + const connectionPool = PostgresqlConnection.getConnectionPool(); | |
12 | + | |
13 | + //public object | |
14 | + return { | |
15 | + | |
16 | + /** | |
17 | + * @author : 최정우 | |
18 | + * @since : 2022.09.20 | |
19 | + * @dscription : 테스트 데이터 목록 조회 | |
20 | + */ | |
21 | + testSelectList: function (param) { | |
22 | + return connectionPool.query('SELECT * FROM test_schema.test_table'); | |
23 | + }, | |
24 | + | |
25 | + /** | |
26 | + * @author : 최정우 | |
27 | + * @since : 2022.09.20 | |
28 | + * @dscription : 테스트 데이터 상세 조회 | |
29 | + */ | |
30 | + testSelectOne: function (param) { | |
31 | + return connectionPool.query('SELECT * FROM test_schema.test_table WHERE test_seq = $1', param); | |
32 | + }, | |
33 | + | |
34 | + /** | |
35 | + * @author : 최정우 | |
36 | + * @since : 2022.09.20 | |
37 | + * @dscription : 테스트 데이터 등록 | |
38 | + */ | |
39 | + testInsertOne: function (param) { | |
40 | + return connectionPool.query( | |
41 | + //RETURNING <*||COLUMN NAME1,COLUMN NAME2,...> : 등록한 Data return 받는 기능 | |
42 | + //ex1) RETURNING * : 모든 컬럼 다 return 함 | |
43 | + //ex2) RETURNING name : 컬럼명이 'name'인 데이터만 return 함 | |
44 | + `INSERT INTO test_schema.test_table ( | |
45 | + test_seq | |
46 | + , test_title | |
47 | + , test_content | |
48 | + , test_create_datetime | |
49 | + , test_create_user | |
50 | + ) VALUES ( | |
51 | + (SELECT COALESCE(MAX(test_seq), 0) + 1 FROM test_schema.test_table) | |
52 | + , $1 | |
53 | + , $2 | |
54 | + , current_timestamp | |
55 | + , 1 | |
56 | + ) RETURNING test_seq`, | |
57 | + param | |
58 | + ); | |
59 | + }, | |
60 | + | |
61 | + /** | |
62 | + * @author : 최정우 | |
63 | + * @since : 2022.09.20 | |
64 | + * @dscription : 테스트 데이터 수정 | |
65 | + */ | |
66 | + testUpdateOne: function (param) { | |
67 | + return connectionPool.query( | |
68 | + `UPDATE | |
69 | + test_schema.test_table | |
70 | + SET | |
71 | + test_title = $2 | |
72 | + , test_content = $3 | |
73 | + , test_update_datetime = current_timestamp | |
74 | + , test_update_user = 1 | |
75 | + WHERE | |
76 | + test_seq = $1`, | |
77 | + param | |
78 | + ); | |
79 | + }, | |
80 | + | |
81 | + /** | |
82 | + * @author : 최정우 | |
83 | + * @since : 2022.09.20 | |
84 | + * @dscription : 테스트 데이터 삭제 | |
85 | + */ | |
86 | + testDeleteOne: function (param) { | |
87 | + return connectionPool.query( | |
88 | + `DELETE | |
89 | + FROM | |
90 | + test_schema.test_table | |
91 | + WHERE | |
92 | + test_seq = $1`, | |
93 | + param | |
94 | + ); | |
95 | + }, | |
96 | + | |
97 | + | |
98 | + /** | |
99 | + * @author : 최정우 | |
100 | + * @since : 2022.09.20 | |
101 | + * @dscription : 테스트 트랜젝션 처리 | |
102 | + * | |
103 | + * 트랜잭션 작업 진행 시나리오 | |
104 | + * 1. connection pool 한 개 받아오기 | |
105 | + * 2. BEGIN(트랜잭션 시작 처리) | |
106 | + * 3. [※작업내용1] 데이터 등록 | |
107 | + * 4. [※작업내용2] 등록한 데이터 수정 | |
108 | + * 5. *작업 완료시, 실행(dispatch)한 모든 쿼리를 COMMIT(커밋) | |
109 | + * *에러 발생시, 실행(dispatch)한 모든 쿼리를 ROLLBACK(롤백) | |
110 | + * 6. 받아온 connection pool 반납(해제) - 필수(반납하지 않으면 해당 pool을 사용하는 query는 트랜잭션에 계속 매달려있음) | |
111 | + */ | |
112 | + testTransaction: function (param) { | |
113 | + return new Promise((resolve, reject) => { | |
114 | + //1. connection pool 한 개 받아오기 | |
115 | + const poolClient = PostgresqlConnection.getConnectionPoolClient(); | |
116 | + poolClient.then(async(client) => {//async 처리 | |
117 | + try { | |
118 | + //2. BEGIN(트랜잭션 시작 처리) | |
119 | + await client.query('BEGIN'); | |
120 | + | |
121 | + //처리 3초 지연 | |
122 | + //await client.query('SELECT pg_sleep(3);'); | |
123 | + | |
124 | + //3. [※작업내용1] 데이터 등록 | |
125 | + let insertResultData = await client.query( | |
126 | + `INSERT INTO test_schema.test_table ( | |
127 | + test_seq | |
128 | + , test_title | |
129 | + , test_content | |
130 | + , test_create_datetime | |
131 | + , test_create_user | |
132 | + ) VALUES ( | |
133 | + (SELECT COALESCE(MAX(test_seq), 0) + 1 FROM test_schema.test_table) | |
134 | + , $1 | |
135 | + , $2 | |
136 | + , current_timestamp | |
137 | + , 1 | |
138 | + ) RETURNING test_seq`, | |
139 | + param | |
140 | + ); | |
141 | + //console.log('등록 결과 정보 insertResultData : ', insertResultData); | |
142 | + | |
143 | + //throw '트랜잭션 처리중 Error 강제로 발생시킴'; | |
144 | + | |
145 | + //4. [※작업내용2] 등록한 데이터 수정 | |
146 | + let updateResultData = await client.query( | |
147 | + `UPDATE | |
148 | + test_schema.test_table | |
149 | + SET | |
150 | + test_title = 'title transaction update' | |
151 | + , test_content = 'content transaction update' | |
152 | + , test_update_datetime = current_timestamp 1231ㄱㄹㅇㄴ | |
153 | + , test_update_user = 1 | |
154 | + WHERE | |
155 | + test_seq = ${insertResultData.rows[0].test_seq}` | |
156 | + ); | |
157 | + //console.log('수정 결과 정보 updateResultData : ', updateResultData); | |
158 | + | |
159 | + throw '트랜잭션 처리중 Error 강제로 발생시킴'; | |
160 | + | |
161 | + //5. *작업 완료시, 실행(dispatch)한 모든 쿼리를 COMMIT(커밋) | |
162 | + let commitResultData = await client.query('COMMIT'); | |
163 | + //console.log('커밋 결과 정보 commitResultData : ', commitResultData); | |
164 | + | |
165 | + //Promise resolve 처리 | |
166 | + resolve(commitResultData); | |
167 | + } catch (error) { | |
168 | + //5. *에러 완료시, 실행(dispatch)한 모든 쿼리를 COMMIT(커밋) | |
169 | + let rollbackResultData = await client.query('ROLLBACK'); | |
170 | + console.log('롤백 결과 정보 rollbackResultData : ', rollbackResultData); | |
171 | + | |
172 | + //Promise reject 처리 | |
173 | + reject(error); | |
174 | + } finally { | |
175 | + //6. 받아온 connection pool 반납(해제) - 필수(반납하지 않으면 해당 pool을 사용하는 query는 트랜잭션에 계속 매달려있음) | |
176 | + client.release(); | |
177 | + } | |
178 | + }).catch((error) => { | |
179 | + //Promise reject 처리 | |
180 | + reject(error); | |
181 | + }) | |
182 | + }); | |
183 | + },//testTransaction() end | |
184 | + | |
185 | + }//return end | |
186 | + | |
187 | + })(); | |
188 | + | |
189 | + //Module Export | |
190 | + module.exports = TestDAO;(파일 끝에 줄바꿈 문자 없음) |
+++ server/service/test/model/TestService.js
... | ... | @@ -0,0 +1,138 @@ |
1 | +/** | |
2 | + * @author : 최정우 | |
3 | + * @since : 2022.09.20 | |
4 | + * @dscription : 테스트용 서비스 로직을 담당하는 모듈 입니다. | |
5 | + */ | |
6 | + const TestService = (function () { | |
7 | + | |
8 | + //DAO | |
9 | + const TestDAO = require('./TestDAO'); | |
10 | + | |
11 | + //public object | |
12 | + return { | |
13 | + | |
14 | + /** | |
15 | + * @author : 최정우 | |
16 | + * @since : 2022.09.20 | |
17 | + * @dscription : 테스트 데이터 목록 조회 | |
18 | + * @callback : parameter -> {data: Object, error: Object} | |
19 | + */ | |
20 | + testSelectList: function (callback, param) { | |
21 | + //Data Access 접근 | |
22 | + let dataAccessResult = TestDAO.testSelectList(param); | |
23 | + //Data Access 결과 | |
24 | + dataAccessResult.then((data) => { | |
25 | + console.log('TestService testSelectList connect dataAccessResult : ', data); | |
26 | + callback({data: data, error: null});//Router에 결과 전달 | |
27 | + }).catch((error) => { | |
28 | + callback({data: null, error: error});//Router에 Error 전달 | |
29 | + }) | |
30 | + }, | |
31 | + | |
32 | + /** | |
33 | + * @author : 최정우 | |
34 | + * @since : 2022.09.20 | |
35 | + * @dscription : 테스트 데이터 상세 조회 | |
36 | + */ | |
37 | + testSelectOne: function (callback, param) { | |
38 | + param = [1]; | |
39 | + //Data Access 접근 | |
40 | + let dataAccessResult = TestDAO.testSelectOne(param); | |
41 | + //Data Access 결과 | |
42 | + dataAccessResult.then((data) => { | |
43 | + console.log('TestService testSelectOne connect dataAccessResult : ', data); | |
44 | + callback({data: data, error: null});//Router에 결과 전달 | |
45 | + }).catch((error) => { | |
46 | + callback({data: null, error: error});//Router에 Error 전달 | |
47 | + }) | |
48 | + }, | |
49 | + | |
50 | + /** | |
51 | + * @author : 최정우 | |
52 | + * @since : 2022.09.20 | |
53 | + * @dscription : 테스트 데이터 등록 | |
54 | + */ | |
55 | + testInsertOne: function (callback, param) { | |
56 | + param = ['test title', 'test content']; | |
57 | + //Data Access 접근 | |
58 | + let dataAccessResult = TestDAO.testInsertOne(param); | |
59 | + //Data Access 결과 | |
60 | + dataAccessResult.then((data) => { | |
61 | + console.log('TestService testInsertOne connect dataAccessResult : ', data.rows[0]['test_seq']); | |
62 | + callback({data: data, error: null});//Router에 결과 전달 | |
63 | + }).catch((error) => { | |
64 | + callback({data: null, error: error});//Router에 Error 전달 | |
65 | + }) | |
66 | + }, | |
67 | + | |
68 | + /** | |
69 | + * @author : 최정우 | |
70 | + * @since : 2022.09.20 | |
71 | + * @dscription : 테스트 데이터 수정 | |
72 | + */ | |
73 | + testUpdateOne: function (callback, param) { | |
74 | + param = [1, 'test title update', 'test content update']; | |
75 | + //Data Access 접근 | |
76 | + let dataAccessResult = TestDAO.testUpdateOne(param); | |
77 | + //Data Access 결과 | |
78 | + dataAccessResult.then((data) => { | |
79 | + console.log('TestService testUpdateOne connect dataAccessResult : ', data); | |
80 | + callback({data: data, error: null});//Router에 결과 전달 | |
81 | + }).catch((error) => { | |
82 | + callback({data: null, error: error});//Router에 Error 전달 | |
83 | + }) | |
84 | + }, | |
85 | + | |
86 | + /** | |
87 | + * @author : 최정우 | |
88 | + * @since : 2022.09.20 | |
89 | + * @dscription : 테스트 데이터 삭제 | |
90 | + */ | |
91 | + testDeleteOne: function (callback, param) { | |
92 | + param = [10]; | |
93 | + //Data Access 접근 | |
94 | + let dataAccessResult = TestDAO.testDeleteOne(param); | |
95 | + //Data Access 결과 | |
96 | + dataAccessResult.then((data) => { | |
97 | + console.log('TestService testDeleteOne connect dataAccessResult : ', data); | |
98 | + callback({data: data, error: null});//Router에 결과 전달 | |
99 | + }).catch((error) => { | |
100 | + callback({data: null, error: error});//Router에 Error 전달 | |
101 | + }) | |
102 | + }, | |
103 | + | |
104 | + /** | |
105 | + * @author : 최정우 | |
106 | + * @since : 2022.09.20 | |
107 | + * @dscription : 테스트 트랜젝션 처리 | |
108 | + * | |
109 | + * 트랜잭션 작업 진행 시나리오 | |
110 | + * 1. connection pool 한 개 받아오기 | |
111 | + * 2. BEGIN(트랜잭션 시작 처리) | |
112 | + * 3. [※작업내용1] 데이터 등록 | |
113 | + * 4. [※작업내용2] 등록한 데이터 수정 | |
114 | + * 5. *작업 완료시, 실행(dispatch)한 모든 쿼리를 COMMIT(커밋) | |
115 | + * *에러 발생시, 실행(dispatch)한 모든 쿼리를 ROLLBACK(롤백) | |
116 | + * 6. 받아온 connection pool 반납(해제) - 필수(반납하지 않으면 해당 pool을 사용하는 query는 트랜잭션에 계속 매달려있음) | |
117 | + */ | |
118 | + testTransaction: function (callback, param) { | |
119 | + param = ['test title', 'test content']; | |
120 | + //Data Access 접근 | |
121 | + let dataAccessResult = TestDAO.testTransaction(param); | |
122 | + //Data Access 결과 | |
123 | + dataAccessResult.then((data) => { | |
124 | + console.log('TestService testTransaction connect dataAccessResult : ', data); | |
125 | + callback({data: data, error: null});//Router에 결과 전달 | |
126 | + }).catch((error) => { | |
127 | + callback({data: null, error: error});//Router에 Error 전달 | |
128 | + }) | |
129 | + }, | |
130 | + | |
131 | + | |
132 | + } | |
133 | + | |
134 | + })(); | |
135 | + | |
136 | + //Module Export | |
137 | + module.exports = TestService; | |
138 | + (파일 끝에 줄바꿈 문자 없음) |
+++ server/service/test/router/TestRouter.js
... | ... | @@ -0,0 +1,119 @@ |
1 | +/** | |
2 | + * @author : 최정우 | |
3 | + * @since : 2022.09.20 | |
4 | + * @dscription : 테스트용 Router(Controller) 모듈 입니다. | |
5 | + */ | |
6 | +const express = require('express'); | |
7 | +const router = express.Router(); | |
8 | + | |
9 | +//Service | |
10 | +const TestService = require('../model/TestService'); | |
11 | + | |
12 | + | |
13 | +/** | |
14 | + * @author : 최정우 | |
15 | + * @since : 2022.09.20 | |
16 | + * @dscription : 테스트 데이터 목록 조회(POST) | |
17 | + */ | |
18 | +router.get('/testSelectList.json', function (request, response, next) { | |
19 | + //Callback 함수 Parameter result = {data: Object, error: Object} | |
20 | + TestService.testSelectList((result) => { | |
21 | + if (!result.error) { | |
22 | + response.send(result.data); | |
23 | + } else { | |
24 | + next(result.error);//Global Error Handler에게 예외상황 맡기기 | |
25 | + } | |
26 | + }); | |
27 | +}) | |
28 | + | |
29 | +/** | |
30 | + * @author : 최정우 | |
31 | + * @since : 2022.09.20 | |
32 | + * @dscription : 테스트 데이터 상세 조회(POST) | |
33 | + */ | |
34 | +router.get('/testSelectOne.json', function (request, response, next) { | |
35 | + //Callback 함수 Parameter -> result = {data: Object, error: Object} | |
36 | + TestService.testSelectOne((result) => { | |
37 | + if (!result.error) { | |
38 | + response.send(result.data); | |
39 | + } else { | |
40 | + next(result.error);//Global Error Handler에게 예외상황 맡기기 | |
41 | + } | |
42 | + }); | |
43 | +}) | |
44 | + | |
45 | +/** | |
46 | + * @author : 최정우 | |
47 | + * @since : 2022.09.20 | |
48 | + * @dscription : 테스트 데이터 등록 (POST) | |
49 | + */ | |
50 | +router.get('/testInsertOne.json', function (request, response, next) { | |
51 | + //Callback 함수 Parameter -> result = {data: Object, error: Object} | |
52 | + TestService.testInsertOne((result) => { | |
53 | + if (!result.error) { | |
54 | + response.send(result.data); | |
55 | + } else { | |
56 | + next(result.error);//Global Error Handler에게 예외상황 맡기기 | |
57 | + } | |
58 | + }) | |
59 | +}) | |
60 | + | |
61 | +/** | |
62 | + * @author : 최정우 | |
63 | + * @since : 2022.09.20 | |
64 | + * @dscription : 테스트 데이터 수정 (POST) | |
65 | + */ | |
66 | +router.get('/testUpdateOne.json', function (request, response, next) { | |
67 | + //Callback 함수 Parameter -> result = {data: Object, error: Object} | |
68 | + TestService.testUpdateOne((result) => { | |
69 | + if (!result.error) { | |
70 | + response.send(result.data); | |
71 | + } else { | |
72 | + next(result.error);//Global Error Handler에게 예외상황 맡기기 | |
73 | + } | |
74 | + }) | |
75 | +}) | |
76 | + | |
77 | +/** | |
78 | + * @author : 최정우 | |
79 | + * @since : 2022.09.20 | |
80 | + * @dscription : 테스트 데이터 삭제 (POST) | |
81 | + */ | |
82 | +router.get('/testDeleteOne.json', function (request, response, next) { | |
83 | + //Callback 함수 Parameter -> result = {data: Object, error: Object} | |
84 | + TestService.testDeleteOne((result) => { | |
85 | + if (!result.error) { | |
86 | + response.send(result.data); | |
87 | + } else { | |
88 | + next(result.error);//Global Error Handler에게 예외상황 맡기기 | |
89 | + } | |
90 | + }) | |
91 | +}) | |
92 | + | |
93 | +/** | |
94 | + * @author : 최정우 | |
95 | + * @since : 2022.09.20 | |
96 | + * @dscription : 테스트 트랜젝션 처리 | |
97 | + * | |
98 | + * 트랜잭션 작업 진행 시나리오 | |
99 | + * 1. connection pool 한 개 받아오기 | |
100 | + * 2. BEGIN(트랜잭션 시작 처리) | |
101 | + * 3. [※작업내용1] 데이터 등록 | |
102 | + * 4. [※작업내용2] 등록한 데이터 수정 | |
103 | + * 5. *작업 완료시, 실행(dispatch)한 모든 쿼리를 COMMIT(커밋) | |
104 | + * *에러 발생시, 실행(dispatch)한 모든 쿼리를 ROLLBACK(롤백) | |
105 | + * 6. 받아온 connection pool 반납(해제) - 필수(반납하지 않으면 해당 pool을 사용하는 query는 트랜잭션에 계속 매달려있음) | |
106 | + */ | |
107 | +router.get('/testTransaction.json', function (request, response, next) { | |
108 | + //Callback 함수 Parameter -> result = {data: Object, error: Object} | |
109 | + TestService.testTransaction((result) => { | |
110 | + if (!result.error) { | |
111 | + response.send(result.data); | |
112 | + } else { | |
113 | + next(result.error);//Global Error Handler에게 예외상황 맡기기 | |
114 | + } | |
115 | + }) | |
116 | +}) | |
117 | + | |
118 | +//Module Export | |
119 | +module.exports = router;(파일 끝에 줄바꿈 문자 없음) |
+++ webpack.config.js
... | ... | @@ -0,0 +1,42 @@ |
1 | +const { VueLoaderPlugin } = require("vue-loader"); | |
2 | + | |
3 | +const {PROJECT_NAME, BASE_DIR, SERVICE_STATUS} = require('./Global'); | |
4 | + | |
5 | +module.exports = { | |
6 | + name: PROJECT_NAME, | |
7 | + mode: SERVICE_STATUS, | |
8 | + devtool: 'eval', | |
9 | + | |
10 | + entry: { | |
11 | + app: [`${BASE_DIR}/client/views/index.js`] | |
12 | + }, | |
13 | + | |
14 | + module: { | |
15 | + rules: [{ | |
16 | + test: /\.vue?$/, | |
17 | + loader: 'vue-loader', | |
18 | + }, { | |
19 | + test: /\.(js|jsx)?$/, | |
20 | + loader: 'babel-loader', | |
21 | + }, { | |
22 | + test: /\.css$/, | |
23 | + use: ['vue-style-loader', 'css-loader'] | |
24 | + }, { | |
25 | + test: /\.(jpe?g|png|gif|svg|ttf|eot|woff|woff2)$/i, | |
26 | + use: [{ | |
27 | + loader:'url-loader', | |
28 | + options:{ | |
29 | + limit:8192, | |
30 | + fallback:require.resolve('file-loader') | |
31 | + } | |
32 | + }] | |
33 | + }], | |
34 | + }, | |
35 | + | |
36 | + plugins: [new VueLoaderPlugin()], | |
37 | + | |
38 | + output: { | |
39 | + path: `${BASE_DIR}/client/build`, // __dirname: webpack.config.js 파일이 위치한 경로 | |
40 | + filename: 'bundle.js' | |
41 | + }, | |
42 | +}(파일 끝에 줄바꿈 문자 없음) |
Add a comment
Delete comment
Once you delete this comment, you won't be able to recover it. Are you sure you want to delete this comment?