김대연

Update channel list API

1 - 1 +FRONT_URI =
2 +FRONT_PORT =
2 HOST_URI = [twitch end point url] 3 HOST_URI = [twitch end point url]
3 SOCKET_PORT= [backend socket server port] 4 SOCKET_PORT= [backend socket server port]
4 TWITCH_CLIENT= [twitch dev client id] 5 TWITCH_CLIENT= [twitch dev client id]
......
...@@ -89,6 +89,14 @@ ...@@ -89,6 +89,14 @@
89 "@types/node": "*" 89 "@types/node": "*"
90 } 90 }
91 }, 91 },
92 + "abs": {
93 + "version": "1.3.14",
94 + "resolved": "https://registry.npmjs.org/abs/-/abs-1.3.14.tgz",
95 + "integrity": "sha512-PrS26IzwKLWwuURpiKl8wRmJ2KdR/azaVrLEBWG/TALwT20Y7qjtYp1qcMLHA4206hBHY5phv3w4pjf9NPv4Vw==",
96 + "requires": {
97 + "ul": "^5.0.0"
98 + }
99 + },
92 "accepts": { 100 "accepts": {
93 "version": "1.3.7", 101 "version": "1.3.7",
94 "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", 102 "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
...@@ -217,6 +225,11 @@ ...@@ -217,6 +225,11 @@
217 "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", 225 "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
218 "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" 226 "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg=="
219 }, 227 },
228 + "capture-stack-trace": {
229 + "version": "1.0.1",
230 + "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz",
231 + "integrity": "sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw=="
232 + },
220 "caseless": { 233 "caseless": {
221 "version": "0.12.0", 234 "version": "0.12.0",
222 "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", 235 "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
...@@ -300,6 +313,14 @@ ...@@ -300,6 +313,14 @@
300 "vary": "^1" 313 "vary": "^1"
301 } 314 }
302 }, 315 },
316 + "create-error-class": {
317 + "version": "3.0.2",
318 + "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz",
319 + "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=",
320 + "requires": {
321 + "capture-stack-trace": "^1.0.0"
322 + }
323 + },
303 "dashdash": { 324 "dashdash": {
304 "version": "1.14.1", 325 "version": "1.14.1",
305 "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", 326 "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
...@@ -316,6 +337,19 @@ ...@@ -316,6 +337,19 @@
316 "ms": "2.0.0" 337 "ms": "2.0.0"
317 } 338 }
318 }, 339 },
340 + "deep-extend": {
341 + "version": "0.6.0",
342 + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
343 + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA=="
344 + },
345 + "deffy": {
346 + "version": "2.2.4",
347 + "resolved": "https://registry.npmjs.org/deffy/-/deffy-2.2.4.tgz",
348 + "integrity": "sha512-pLc9lsbsWjr6RxmJ2OLyvm+9l4j1yK69h+TML/gUit/t3vTijpkNGh8LioaJYTGO7F25m6HZndADcUOo2PsiUg==",
349 + "requires": {
350 + "typpy": "^2.0.0"
351 + }
352 + },
319 "delayed-stream": { 353 "delayed-stream": {
320 "version": "1.0.0", 354 "version": "1.0.0",
321 "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 355 "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
...@@ -336,6 +370,14 @@ ...@@ -336,6 +370,14 @@
336 "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz", 370 "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz",
337 "integrity": "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==" 371 "integrity": "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw=="
338 }, 372 },
373 + "duplexer2": {
374 + "version": "0.1.4",
375 + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
376 + "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=",
377 + "requires": {
378 + "readable-stream": "^2.0.2"
379 + }
380 + },
339 "ecc-jsbn": { 381 "ecc-jsbn": {
340 "version": "0.1.2", 382 "version": "0.1.2",
341 "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", 383 "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
...@@ -402,6 +444,22 @@ ...@@ -402,6 +444,22 @@
402 "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-4.0.1.tgz", 444 "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-4.0.1.tgz",
403 "integrity": "sha512-v5aZK1hlckcJDGmHz3W8xvI3NUHYc9t8QtTbqdR5OaH3S9iJZilPubauOm+vLWOMMWzpE3hiq92l9lTAHamRCg==" 445 "integrity": "sha512-v5aZK1hlckcJDGmHz3W8xvI3NUHYc9t8QtTbqdR5OaH3S9iJZilPubauOm+vLWOMMWzpE3hiq92l9lTAHamRCg=="
404 }, 446 },
447 + "err": {
448 + "version": "1.1.1",
449 + "resolved": "https://registry.npmjs.org/err/-/err-1.1.1.tgz",
450 + "integrity": "sha1-65KOLhGjFmSPeCgz0PlyWLpDwvg=",
451 + "requires": {
452 + "typpy": "^2.2.0"
453 + }
454 + },
455 + "error-ex": {
456 + "version": "1.3.2",
457 + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
458 + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
459 + "requires": {
460 + "is-arrayish": "^0.2.1"
461 + }
462 + },
405 "escape-html": { 463 "escape-html": {
406 "version": "1.0.3", 464 "version": "1.0.3",
407 "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", 465 "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
...@@ -417,6 +475,15 @@ ...@@ -417,6 +475,15 @@
417 "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", 475 "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
418 "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" 476 "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
419 }, 477 },
478 + "exec-limiter": {
479 + "version": "3.2.13",
480 + "resolved": "https://registry.npmjs.org/exec-limiter/-/exec-limiter-3.2.13.tgz",
481 + "integrity": "sha512-86Ri699bwiHZVBzTzNj8gspqAhCPchg70zPVWIh3qzUOA1pUMcb272Em3LPk8AE0mS95B9yMJhtqF8vFJAn0dA==",
482 + "requires": {
483 + "limit-it": "^3.0.0",
484 + "typpy": "^2.1.0"
485 + }
486 + },
420 "express": { 487 "express": {
421 "version": "4.17.1", 488 "version": "4.17.1",
422 "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", 489 "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
...@@ -526,6 +593,19 @@ ...@@ -526,6 +593,19 @@
526 "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", 593 "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
527 "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" 594 "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
528 }, 595 },
596 + "function-bind": {
597 + "version": "1.1.1",
598 + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
599 + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
600 + },
601 + "function.name": {
602 + "version": "1.0.13",
603 + "resolved": "https://registry.npmjs.org/function.name/-/function.name-1.0.13.tgz",
604 + "integrity": "sha512-mVrqdoy5npWZyoXl4DxCeuVF6delDcQjVS9aPdvLYlBxtMTZDR2B5GVEQEoM1jJyspCqg3C0v4ABkLE7tp9xFA==",
605 + "requires": {
606 + "noop6": "^1.0.1"
607 + }
608 + },
529 "getpass": { 609 "getpass": {
530 "version": "0.1.7", 610 "version": "0.1.7",
531 "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", 611 "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
...@@ -534,6 +614,80 @@ ...@@ -534,6 +614,80 @@
534 "assert-plus": "^1.0.0" 614 "assert-plus": "^1.0.0"
535 } 615 }
536 }, 616 },
617 + "git-package-json": {
618 + "version": "1.4.10",
619 + "resolved": "https://registry.npmjs.org/git-package-json/-/git-package-json-1.4.10.tgz",
620 + "integrity": "sha512-DRAcvbzd2SxGK7w8OgYfvKqhFliT5keX0lmSmVdgScgf1kkl5tbbo7Pam6uYoCa1liOiipKxQZG8quCtGWl/fA==",
621 + "requires": {
622 + "deffy": "^2.2.1",
623 + "err": "^1.1.1",
624 + "gry": "^5.0.0",
625 + "normalize-package-data": "^2.3.5",
626 + "oargv": "^3.4.1",
627 + "one-by-one": "^3.1.0",
628 + "r-json": "^1.2.1",
629 + "r-package-json": "^1.0.0",
630 + "tmp": "0.0.28"
631 + }
632 + },
633 + "git-source": {
634 + "version": "1.1.10",
635 + "resolved": "https://registry.npmjs.org/git-source/-/git-source-1.1.10.tgz",
636 + "integrity": "sha512-XZZ7ZgnLL35oLgM/xjnLYgtlKlxJG0FohC1kWDvGkU7s1VKGXK0pFF/g1itQEwQ3D+uTQzBnzPi8XbqOv7Wc1Q==",
637 + "requires": {
638 + "git-url-parse": "^5.0.1"
639 + }
640 + },
641 + "git-up": {
642 + "version": "1.2.1",
643 + "resolved": "https://registry.npmjs.org/git-up/-/git-up-1.2.1.tgz",
644 + "integrity": "sha1-JkSAoAax2EJhrB/gmjpRacV+oZ0=",
645 + "requires": {
646 + "is-ssh": "^1.0.0",
647 + "parse-url": "^1.0.0"
648 + }
649 + },
650 + "git-url-parse": {
651 + "version": "5.0.1",
652 + "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-5.0.1.tgz",
653 + "integrity": "sha1-/j15xnRq4FBIz6UIyB553du6OEM=",
654 + "requires": {
655 + "git-up": "^1.0.0"
656 + }
657 + },
658 + "got": {
659 + "version": "5.7.1",
660 + "resolved": "https://registry.npmjs.org/got/-/got-5.7.1.tgz",
661 + "integrity": "sha1-X4FjWmHkplifGAVp6k44FoClHzU=",
662 + "requires": {
663 + "create-error-class": "^3.0.1",
664 + "duplexer2": "^0.1.4",
665 + "is-redirect": "^1.0.0",
666 + "is-retry-allowed": "^1.0.0",
667 + "is-stream": "^1.0.0",
668 + "lowercase-keys": "^1.0.0",
669 + "node-status-codes": "^1.0.0",
670 + "object-assign": "^4.0.1",
671 + "parse-json": "^2.1.0",
672 + "pinkie-promise": "^2.0.0",
673 + "read-all-stream": "^3.0.0",
674 + "readable-stream": "^2.0.5",
675 + "timed-out": "^3.0.0",
676 + "unzip-response": "^1.0.2",
677 + "url-parse-lax": "^1.0.0"
678 + }
679 + },
680 + "gry": {
681 + "version": "5.0.8",
682 + "resolved": "https://registry.npmjs.org/gry/-/gry-5.0.8.tgz",
683 + "integrity": "sha512-meq9ZjYVpLzZh3ojhTg7IMad9grGsx6rUUKHLqPnhLXzJkRQvEL2U3tQpS5/WentYTtHtxkT3Ew/mb10D6F6/g==",
684 + "requires": {
685 + "abs": "^1.2.1",
686 + "exec-limiter": "^3.0.0",
687 + "one-by-one": "^3.0.0",
688 + "ul": "^5.0.0"
689 + }
690 + },
537 "har-schema": { 691 "har-schema": {
538 "version": "2.0.0", 692 "version": "2.0.0",
539 "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", 693 "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
...@@ -548,11 +702,24 @@ ...@@ -548,11 +702,24 @@
548 "har-schema": "^2.0.0" 702 "har-schema": "^2.0.0"
549 } 703 }
550 }, 704 },
705 + "has": {
706 + "version": "1.0.3",
707 + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
708 + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
709 + "requires": {
710 + "function-bind": "^1.1.1"
711 + }
712 + },
551 "has-flag": { 713 "has-flag": {
552 "version": "3.0.0", 714 "version": "3.0.0",
553 "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 715 "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
554 "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" 716 "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
555 }, 717 },
718 + "hosted-git-info": {
719 + "version": "2.8.8",
720 + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz",
721 + "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg=="
722 + },
556 "http-errors": { 723 "http-errors": {
557 "version": "1.7.2", 724 "version": "1.7.2",
558 "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", 725 "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
...@@ -588,21 +755,72 @@ ...@@ -588,21 +755,72 @@
588 "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", 755 "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
589 "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" 756 "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
590 }, 757 },
758 + "ini": {
759 + "version": "1.3.5",
760 + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
761 + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw=="
762 + },
591 "ipaddr.js": { 763 "ipaddr.js": {
592 "version": "1.9.1", 764 "version": "1.9.1",
593 "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", 765 "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
594 "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" 766 "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g=="
595 }, 767 },
768 + "is-arrayish": {
769 + "version": "0.2.1",
770 + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
771 + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0="
772 + },
773 + "is-core-module": {
774 + "version": "2.2.0",
775 + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz",
776 + "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==",
777 + "requires": {
778 + "has": "^1.0.3"
779 + }
780 + },
781 + "is-redirect": {
782 + "version": "1.0.0",
783 + "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz",
784 + "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ="
785 + },
786 + "is-retry-allowed": {
787 + "version": "1.2.0",
788 + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz",
789 + "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg=="
790 + },
791 + "is-ssh": {
792 + "version": "1.3.2",
793 + "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.3.2.tgz",
794 + "integrity": "sha512-elEw0/0c2UscLrNG+OAorbP539E3rhliKPg+hDMWN9VwrDXfYK+4PBEykDPfxlYYtQvl84TascnQyobfQLHEhQ==",
795 + "requires": {
796 + "protocols": "^1.1.0"
797 + }
798 + },
799 + "is-stream": {
800 + "version": "1.1.0",
801 + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
802 + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ="
803 + },
596 "is-typedarray": { 804 "is-typedarray": {
597 "version": "1.0.0", 805 "version": "1.0.0",
598 "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", 806 "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
599 "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" 807 "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
600 }, 808 },
809 + "isarray": {
810 + "version": "1.0.0",
811 + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
812 + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
813 + },
601 "isstream": { 814 "isstream": {
602 "version": "0.1.2", 815 "version": "0.1.2",
603 "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", 816 "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
604 "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" 817 "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
605 }, 818 },
819 + "iterate-object": {
820 + "version": "1.3.4",
821 + "resolved": "https://registry.npmjs.org/iterate-object/-/iterate-object-1.3.4.tgz",
822 + "integrity": "sha512-4dG1D1x/7g8PwHS9aK6QV5V94+ZvyP4+d19qDv43EzImmrndysIl4prmJ1hWWIGCqrZHyaHBm6BSEWHOLnpoNw=="
823 + },
606 "jake": { 824 "jake": {
607 "version": "10.8.2", 825 "version": "10.8.2",
608 "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.2.tgz", 826 "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.2.tgz",
...@@ -645,6 +863,19 @@ ...@@ -645,6 +863,19 @@
645 "verror": "1.10.0" 863 "verror": "1.10.0"
646 } 864 }
647 }, 865 },
866 + "limit-it": {
867 + "version": "3.2.10",
868 + "resolved": "https://registry.npmjs.org/limit-it/-/limit-it-3.2.10.tgz",
869 + "integrity": "sha512-T0NK99pHnkimldr1WUqvbGV1oWDku/xC9J/OqzJFsV1jeOS6Bwl8W7vkeQIBqwiON9dTALws+rX/XPMQqWerDQ==",
870 + "requires": {
871 + "typpy": "^2.0.0"
872 + }
873 + },
874 + "lowercase-keys": {
875 + "version": "1.0.1",
876 + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
877 + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA=="
878 + },
648 "media-typer": { 879 "media-typer": {
649 "version": "0.3.0", 880 "version": "0.3.0",
650 "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", 881 "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
...@@ -686,6 +917,11 @@ ...@@ -686,6 +917,11 @@
686 "brace-expansion": "^1.1.7" 917 "brace-expansion": "^1.1.7"
687 } 918 }
688 }, 919 },
920 + "minimist": {
921 + "version": "1.2.5",
922 + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
923 + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
924 + },
689 "ms": { 925 "ms": {
690 "version": "2.0.0", 926 "version": "2.0.0",
691 "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 927 "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
...@@ -696,11 +932,49 @@ ...@@ -696,11 +932,49 @@
696 "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", 932 "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
697 "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" 933 "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw=="
698 }, 934 },
935 + "node-status-codes": {
936 + "version": "1.0.0",
937 + "resolved": "https://registry.npmjs.org/node-status-codes/-/node-status-codes-1.0.0.tgz",
938 + "integrity": "sha1-WuVUHQJGRdMqWPzdyc7s6nrjrC8="
939 + },
940 + "noop6": {
941 + "version": "1.0.9",
942 + "resolved": "https://registry.npmjs.org/noop6/-/noop6-1.0.9.tgz",
943 + "integrity": "sha512-DB3Hwyd89dPr5HqEPg3YHjzvwh/mCqizC1zZ8vyofqc+TQRyPDnT4wgXXbLGF4z9YAzwwTLi8pNLhGqcbSjgkA=="
944 + },
945 + "normalize-package-data": {
946 + "version": "2.5.0",
947 + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
948 + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
949 + "requires": {
950 + "hosted-git-info": "^2.1.4",
951 + "resolve": "^1.10.0",
952 + "semver": "2 || 3 || 4 || 5",
953 + "validate-npm-package-license": "^3.0.1"
954 + }
955 + },
956 + "oargv": {
957 + "version": "3.4.10",
958 + "resolved": "https://registry.npmjs.org/oargv/-/oargv-3.4.10.tgz",
959 + "integrity": "sha512-SXaMANv9sr7S/dP0vj0+Ybipa47UE1ntTWQ2rpPRhC6Bsvfl+Jg03Xif7jfL0sWKOYWK8oPjcZ5eJ82t8AP/8g==",
960 + "requires": {
961 + "iterate-object": "^1.1.0",
962 + "ul": "^5.0.0"
963 + }
964 + },
699 "oauth-sign": { 965 "oauth-sign": {
700 "version": "0.9.0", 966 "version": "0.9.0",
701 "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", 967 "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
702 "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" 968 "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="
703 }, 969 },
970 + "obj-def": {
971 + "version": "1.0.8",
972 + "resolved": "https://registry.npmjs.org/obj-def/-/obj-def-1.0.8.tgz",
973 + "integrity": "sha512-tU8EVxli5fm0BhPjoHoiyKieZBfUYbkxHQatVEyoYkd1oFQdwDx8qMRG2bTcFq1bJi4laE+xJvk6uTKnrxNK3g==",
974 + "requires": {
975 + "deffy": "^2.2.2"
976 + }
977 + },
704 "object-assign": { 978 "object-assign": {
705 "version": "4.1.1", 979 "version": "4.1.1",
706 "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 980 "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
...@@ -714,11 +988,66 @@ ...@@ -714,11 +988,66 @@
714 "ee-first": "1.1.1" 988 "ee-first": "1.1.1"
715 } 989 }
716 }, 990 },
991 + "one-by-one": {
992 + "version": "3.2.8",
993 + "resolved": "https://registry.npmjs.org/one-by-one/-/one-by-one-3.2.8.tgz",
994 + "integrity": "sha512-HR/pSzZdm46Xqj58K+Bu64kMbSTw8/u77AwWvV+rprO/OsuR++pPlkUJn+SmwqBGRgHKwSKQ974V3uls7crIeQ==",
995 + "requires": {
996 + "obj-def": "^1.0.0",
997 + "sliced": "^1.0.1"
998 + }
999 + },
1000 + "os-tmpdir": {
1001 + "version": "1.0.2",
1002 + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
1003 + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ="
1004 + },
1005 + "package-json": {
1006 + "version": "2.4.0",
1007 + "resolved": "https://registry.npmjs.org/package-json/-/package-json-2.4.0.tgz",
1008 + "integrity": "sha1-DRW9Z9HLvduyyiIv8u24a8sxqLs=",
1009 + "requires": {
1010 + "got": "^5.0.0",
1011 + "registry-auth-token": "^3.0.1",
1012 + "registry-url": "^3.0.3",
1013 + "semver": "^5.1.0"
1014 + }
1015 + },
1016 + "package-json-path": {
1017 + "version": "1.0.9",
1018 + "resolved": "https://registry.npmjs.org/package-json-path/-/package-json-path-1.0.9.tgz",
1019 + "integrity": "sha512-uNu7f6Ef7tQHZRnkyVnCtzdSYVN9uBtge/sG7wzcUaawFWkPYUq67iXxRGrQSg/q0tzxIB8jSyIYUKjG2Jn//A==",
1020 + "requires": {
1021 + "abs": "^1.2.1"
1022 + }
1023 + },
1024 + "parse-json": {
1025 + "version": "2.2.0",
1026 + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
1027 + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
1028 + "requires": {
1029 + "error-ex": "^1.2.0"
1030 + }
1031 + },
1032 + "parse-url": {
1033 + "version": "1.3.11",
1034 + "resolved": "https://registry.npmjs.org/parse-url/-/parse-url-1.3.11.tgz",
1035 + "integrity": "sha1-V8FUKKuKiSsfQ4aWRccR0OFEtVQ=",
1036 + "requires": {
1037 + "is-ssh": "^1.3.0",
1038 + "protocols": "^1.4.0"
1039 + }
1040 + },
717 "parseurl": { 1041 "parseurl": {
718 "version": "1.3.3", 1042 "version": "1.3.3",
719 "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", 1043 "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
720 "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" 1044 "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="
721 }, 1045 },
1046 + "path-parse": {
1047 + "version": "1.0.6",
1048 + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
1049 + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw=="
1050 + },
722 "path-to-regexp": { 1051 "path-to-regexp": {
723 "version": "0.1.7", 1052 "version": "0.1.7",
724 "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", 1053 "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
...@@ -729,6 +1058,44 @@ ...@@ -729,6 +1058,44 @@
729 "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", 1058 "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
730 "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" 1059 "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
731 }, 1060 },
1061 + "pinkie": {
1062 + "version": "2.0.4",
1063 + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
1064 + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA="
1065 + },
1066 + "pinkie-promise": {
1067 + "version": "2.0.1",
1068 + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
1069 + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
1070 + "requires": {
1071 + "pinkie": "^2.0.0"
1072 + }
1073 + },
1074 + "pkg.json": {
1075 + "version": "2.0.8",
1076 + "resolved": "https://registry.npmjs.org/pkg.json/-/pkg.json-2.0.8.tgz",
1077 + "integrity": "sha512-iIBceNPwO452wLbF73GCV5z/TY9UydLWEV+wBjegAObPF/PihDL9ZUr2g2EFI7XqPFMTLEX/QtL63Z+zzFZ7yA==",
1078 + "requires": {
1079 + "git-package-json": "^1.4.0",
1080 + "git-source": "^1.1.0",
1081 + "package-json": "^2.3.1"
1082 + }
1083 + },
1084 + "prepend-http": {
1085 + "version": "1.0.4",
1086 + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz",
1087 + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw="
1088 + },
1089 + "process-nextick-args": {
1090 + "version": "2.0.1",
1091 + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
1092 + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
1093 + },
1094 + "protocols": {
1095 + "version": "1.4.8",
1096 + "resolved": "https://registry.npmjs.org/protocols/-/protocols-1.4.8.tgz",
1097 + "integrity": "sha512-IgjKyaUSjsROSO8/D49Ab7hP8mJgTYcqApOqdPhLoPxAplXmkp+zRvsrSQjFn5by0rhm4VH0GAUELIPpx7B1yg=="
1098 + },
732 "proxy-addr": { 1099 "proxy-addr": {
733 "version": "2.0.6", 1100 "version": "2.0.6",
734 "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", 1101 "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz",
...@@ -753,6 +1120,20 @@ ...@@ -753,6 +1120,20 @@
753 "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", 1120 "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
754 "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" 1121 "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ=="
755 }, 1122 },
1123 + "r-json": {
1124 + "version": "1.2.10",
1125 + "resolved": "https://registry.npmjs.org/r-json/-/r-json-1.2.10.tgz",
1126 + "integrity": "sha512-hu9vyLjSlHXT62NAS7DjI9WazDlvjN0lgp3n431dCVnirVcLkZIpzSwA3orhZEKzdDD2jqNYI+w0yG0aFf4kpA=="
1127 + },
1128 + "r-package-json": {
1129 + "version": "1.0.9",
1130 + "resolved": "https://registry.npmjs.org/r-package-json/-/r-package-json-1.0.9.tgz",
1131 + "integrity": "sha512-G4Vpf1KImWmmPFGdtWQTU0L9zk0SjqEC4qs/jE7AQ+Ylmr5kizMzGeC4wnHp5+ijPqNN+2ZPpvyjVNdN1CDVcg==",
1132 + "requires": {
1133 + "package-json-path": "^1.0.0",
1134 + "r-json": "^1.2.1"
1135 + }
1136 + },
756 "range-parser": { 1137 "range-parser": {
757 "version": "1.2.1", 1138 "version": "1.2.1",
758 "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", 1139 "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
...@@ -769,6 +1150,57 @@ ...@@ -769,6 +1150,57 @@
769 "unpipe": "1.0.0" 1150 "unpipe": "1.0.0"
770 } 1151 }
771 }, 1152 },
1153 + "rc": {
1154 + "version": "1.2.8",
1155 + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
1156 + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
1157 + "requires": {
1158 + "deep-extend": "^0.6.0",
1159 + "ini": "~1.3.0",
1160 + "minimist": "^1.2.0",
1161 + "strip-json-comments": "~2.0.1"
1162 + }
1163 + },
1164 + "read-all-stream": {
1165 + "version": "3.1.0",
1166 + "resolved": "https://registry.npmjs.org/read-all-stream/-/read-all-stream-3.1.0.tgz",
1167 + "integrity": "sha1-NcPhd/IHjveJ7kv6+kNzB06u9Po=",
1168 + "requires": {
1169 + "pinkie-promise": "^2.0.0",
1170 + "readable-stream": "^2.0.0"
1171 + }
1172 + },
1173 + "readable-stream": {
1174 + "version": "2.3.7",
1175 + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
1176 + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
1177 + "requires": {
1178 + "core-util-is": "~1.0.0",
1179 + "inherits": "~2.0.3",
1180 + "isarray": "~1.0.0",
1181 + "process-nextick-args": "~2.0.0",
1182 + "safe-buffer": "~5.1.1",
1183 + "string_decoder": "~1.1.1",
1184 + "util-deprecate": "~1.0.1"
1185 + }
1186 + },
1187 + "registry-auth-token": {
1188 + "version": "3.4.0",
1189 + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.4.0.tgz",
1190 + "integrity": "sha512-4LM6Fw8eBQdwMYcES4yTnn2TqIasbXuwDx3um+QRs7S55aMKCBKBxvPXl2RiUjHwuJLTyYfxSpmfSAjQpcuP+A==",
1191 + "requires": {
1192 + "rc": "^1.1.6",
1193 + "safe-buffer": "^5.0.1"
1194 + }
1195 + },
1196 + "registry-url": {
1197 + "version": "3.1.0",
1198 + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz",
1199 + "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=",
1200 + "requires": {
1201 + "rc": "^1.0.1"
1202 + }
1203 + },
772 "request": { 1204 "request": {
773 "version": "2.88.2", 1205 "version": "2.88.2",
774 "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", 1206 "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
...@@ -803,6 +1235,15 @@ ...@@ -803,6 +1235,15 @@
803 } 1235 }
804 } 1236 }
805 }, 1237 },
1238 + "resolve": {
1239 + "version": "1.19.0",
1240 + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz",
1241 + "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==",
1242 + "requires": {
1243 + "is-core-module": "^2.1.0",
1244 + "path-parse": "^1.0.6"
1245 + }
1246 + },
806 "safe-buffer": { 1247 "safe-buffer": {
807 "version": "5.1.2", 1248 "version": "5.1.2",
808 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 1249 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
...@@ -813,6 +1254,11 @@ ...@@ -813,6 +1254,11 @@
813 "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 1254 "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
814 "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" 1255 "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
815 }, 1256 },
1257 + "semver": {
1258 + "version": "5.7.1",
1259 + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
1260 + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
1261 + },
816 "send": { 1262 "send": {
817 "version": "0.17.1", 1263 "version": "0.17.1",
818 "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", 1264 "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
...@@ -856,6 +1302,11 @@ ...@@ -856,6 +1302,11 @@
856 "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", 1302 "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
857 "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" 1303 "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw=="
858 }, 1304 },
1305 + "sliced": {
1306 + "version": "1.0.1",
1307 + "resolved": "https://registry.npmjs.org/sliced/-/sliced-1.0.1.tgz",
1308 + "integrity": "sha1-CzpmK10Ewxd7GSa+qCsD+Dei70E="
1309 + },
859 "socket.io": { 1310 "socket.io": {
860 "version": "3.0.3", 1311 "version": "3.0.3",
861 "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-3.0.3.tgz", 1312 "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-3.0.3.tgz",
...@@ -917,6 +1368,34 @@ ...@@ -917,6 +1368,34 @@
917 } 1368 }
918 } 1369 }
919 }, 1370 },
1371 + "spdx-correct": {
1372 + "version": "3.1.1",
1373 + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
1374 + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==",
1375 + "requires": {
1376 + "spdx-expression-parse": "^3.0.0",
1377 + "spdx-license-ids": "^3.0.0"
1378 + }
1379 + },
1380 + "spdx-exceptions": {
1381 + "version": "2.3.0",
1382 + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
1383 + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A=="
1384 + },
1385 + "spdx-expression-parse": {
1386 + "version": "3.0.1",
1387 + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
1388 + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
1389 + "requires": {
1390 + "spdx-exceptions": "^2.1.0",
1391 + "spdx-license-ids": "^3.0.0"
1392 + }
1393 + },
1394 + "spdx-license-ids": {
1395 + "version": "3.0.7",
1396 + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz",
1397 + "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ=="
1398 + },
920 "sshpk": { 1399 "sshpk": {
921 "version": "1.16.1", 1400 "version": "1.16.1",
922 "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", 1401 "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
...@@ -938,6 +1417,19 @@ ...@@ -938,6 +1417,19 @@
938 "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", 1417 "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
939 "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" 1418 "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
940 }, 1419 },
1420 + "string_decoder": {
1421 + "version": "1.1.1",
1422 + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
1423 + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
1424 + "requires": {
1425 + "safe-buffer": "~5.1.0"
1426 + }
1427 + },
1428 + "strip-json-comments": {
1429 + "version": "2.0.1",
1430 + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
1431 + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo="
1432 + },
941 "supports-color": { 1433 "supports-color": {
942 "version": "5.5.0", 1434 "version": "5.5.0",
943 "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 1435 "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
...@@ -946,6 +1438,11 @@ ...@@ -946,6 +1438,11 @@
946 "has-flag": "^3.0.0" 1438 "has-flag": "^3.0.0"
947 } 1439 }
948 }, 1440 },
1441 + "timed-out": {
1442 + "version": "3.1.3",
1443 + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-3.1.3.tgz",
1444 + "integrity": "sha1-lYYL/MXHbCd/j4Mm/Q9bLiDrohc="
1445 + },
949 "tmi.js": { 1446 "tmi.js": {
950 "version": "1.5.0", 1447 "version": "1.5.0",
951 "resolved": "https://registry.npmjs.org/tmi.js/-/tmi.js-1.5.0.tgz", 1448 "resolved": "https://registry.npmjs.org/tmi.js/-/tmi.js-1.5.0.tgz",
...@@ -1011,6 +1508,14 @@ ...@@ -1011,6 +1508,14 @@
1011 } 1508 }
1012 } 1509 }
1013 }, 1510 },
1511 + "tmp": {
1512 + "version": "0.0.28",
1513 + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.28.tgz",
1514 + "integrity": "sha1-Fyc1t/YU6nrzlmT6hM8N5OUV0SA=",
1515 + "requires": {
1516 + "os-tmpdir": "~1.0.1"
1517 + }
1518 + },
1014 "toidentifier": { 1519 "toidentifier": {
1015 "version": "1.0.0", 1520 "version": "1.0.0",
1016 "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", 1521 "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
...@@ -1047,11 +1552,33 @@ ...@@ -1047,11 +1552,33 @@
1047 "mime-types": "~2.1.24" 1552 "mime-types": "~2.1.24"
1048 } 1553 }
1049 }, 1554 },
1555 + "typpy": {
1556 + "version": "2.3.12",
1557 + "resolved": "https://registry.npmjs.org/typpy/-/typpy-2.3.12.tgz",
1558 + "integrity": "sha512-VginyZYxadNyFnB763lvFGNUqsIRtJt2V33pLfdnjRreObbKaxexUC+39EVb3MavWU9ggekvT1ojEU0kvtumfA==",
1559 + "requires": {
1560 + "function.name": "^1.0.3"
1561 + }
1562 + },
1563 + "ul": {
1564 + "version": "5.2.15",
1565 + "resolved": "https://registry.npmjs.org/ul/-/ul-5.2.15.tgz",
1566 + "integrity": "sha512-svLEUy8xSCip5IWnsRa0UOg+2zP0Wsj4qlbjTmX6GJSmvKMHADBuHOm1dpNkWqWPIGuVSqzUkV3Cris5JrlTRQ==",
1567 + "requires": {
1568 + "deffy": "^2.2.2",
1569 + "typpy": "^2.3.4"
1570 + }
1571 + },
1050 "unpipe": { 1572 "unpipe": {
1051 "version": "1.0.0", 1573 "version": "1.0.0",
1052 "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", 1574 "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
1053 "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" 1575 "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
1054 }, 1576 },
1577 + "unzip-response": {
1578 + "version": "1.0.2",
1579 + "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-1.0.2.tgz",
1580 + "integrity": "sha1-uYTwh3/AqJwsdzzB73tbIytbBv4="
1581 + },
1055 "uri-js": { 1582 "uri-js": {
1056 "version": "4.4.0", 1583 "version": "4.4.0",
1057 "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", 1584 "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz",
...@@ -1060,6 +1587,19 @@ ...@@ -1060,6 +1587,19 @@
1060 "punycode": "^2.1.0" 1587 "punycode": "^2.1.0"
1061 } 1588 }
1062 }, 1589 },
1590 + "url-parse-lax": {
1591 + "version": "1.0.0",
1592 + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz",
1593 + "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=",
1594 + "requires": {
1595 + "prepend-http": "^1.0.1"
1596 + }
1597 + },
1598 + "util-deprecate": {
1599 + "version": "1.0.2",
1600 + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
1601 + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
1602 + },
1063 "utils-merge": { 1603 "utils-merge": {
1064 "version": "1.0.1", 1604 "version": "1.0.1",
1065 "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", 1605 "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
...@@ -1070,6 +1610,15 @@ ...@@ -1070,6 +1610,15 @@
1070 "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", 1610 "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
1071 "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" 1611 "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A=="
1072 }, 1612 },
1613 + "validate-npm-package-license": {
1614 + "version": "3.0.4",
1615 + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
1616 + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
1617 + "requires": {
1618 + "spdx-correct": "^3.0.0",
1619 + "spdx-expression-parse": "^3.0.0"
1620 + }
1621 + },
1073 "vary": { 1622 "vary": {
1074 "version": "1.1.2", 1623 "version": "1.1.2",
1075 "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", 1624 "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
......
...@@ -10,11 +10,12 @@ ...@@ -10,11 +10,12 @@
10 "author": "Daeyeonkim97", 10 "author": "Daeyeonkim97",
11 "license": "ISC", 11 "license": "ISC",
12 "dependencies": { 12 "dependencies": {
13 - "cors": "^2.8.5",
14 "axios": "^0.21.0", 13 "axios": "^0.21.0",
14 + "cors": "^2.8.5",
15 "dotenv": "^8.2.0", 15 "dotenv": "^8.2.0",
16 "ejs": "^3.1.5", 16 "ejs": "^3.1.5",
17 "express": "^4.17.1", 17 "express": "^4.17.1",
18 + "pkg.json": "^2.0.8",
18 "request": "^2.88.2", 19 "request": "^2.88.2",
19 "socket.io": "^3.0.3", 20 "socket.io": "^3.0.3",
20 "tmi.js": "^1.5.0" 21 "tmi.js": "^1.5.0"
......
...@@ -19,7 +19,7 @@ var opts = { ...@@ -19,7 +19,7 @@ var opts = {
19 username: process.env.BOT_USERNAME, 19 username: process.env.BOT_USERNAME,
20 password: process.env.OAUTH_TOKEN 20 password: process.env.OAUTH_TOKEN
21 }, 21 },
22 - channels: ["tmwardo"] 22 + channels: []
23 }; 23 };
24 // Create a client with our options 24 // Create a client with our options
25 var client = new tmi.client(opts); //twitch chatbot client 25 var client = new tmi.client(opts); //twitch chatbot client
...@@ -31,20 +31,15 @@ app.use(bodyParser.json()); ...@@ -31,20 +31,15 @@ app.use(bodyParser.json());
31 app.set('view engine', 'ejs'); 31 app.set('view engine', 'ejs');
32 app.set('views', './testviews'); 32 app.set('views', './testviews');
33 33
34 -// client.opts.channels;
35 -let a = 0;
36 34
37 35
38 app.get('/', (req, res) => { 36 app.get('/', (req, res) => {
39 res.render('chat'); 37 res.render('chat');
40 }); 38 });
41 39
42 -app.get('/list',(req,res) => { 40 +app.get('/channels',(req,res) => {
43 - var result = [] 41 + //console.log(channels)
44 - for (var i = 0; i<client.channels.length; i++){ 42 + res.send(channels)
45 - result.push(client.channels[i].slice(1))
46 - }
47 - res.send(result)
48 }); 43 });
49 44
50 app.post('/jointest',async (req,res)=>{ 45 app.post('/jointest',async (req,res)=>{
...@@ -52,8 +47,10 @@ app.post('/jointest',async (req,res)=>{ ...@@ -52,8 +47,10 @@ app.post('/jointest',async (req,res)=>{
52 JoinChannel(req.body.streamer); 47 JoinChannel(req.body.streamer);
53 res.send(req.body.streamer) 48 res.send(req.body.streamer)
54 }); 49 });
55 -console.log(`https://id.twitch.tv/oauth2/authorize?response_type=code&approval_prompt=auto&redirect_uri=${process.env.HOST_URI+':'+process.env.SOCKET_PORT}/join&client_id=${process.env.TWITCH_CLIENT}`)
56 ////////////////////////oauth//////////////////////// 50 ////////////////////////oauth////////////////////////
51 +
52 +var channels = []
53 +
57 const axios = require('axios') 54 const axios = require('axios')
58 app.get('/oauth',(req,res)=>{ 55 app.get('/oauth',(req,res)=>{
59 let codeAddr = `https://id.twitch.tv/oauth2/authorize?response_type=code&approval_prompt=auto&redirect_uri=${process.env.HOST_URI+':'+process.env.SOCKET_PORT}/join&client_id=${process.env.TWITCH_CLIENT}` 56 let codeAddr = `https://id.twitch.tv/oauth2/authorize?response_type=code&approval_prompt=auto&redirect_uri=${process.env.HOST_URI+':'+process.env.SOCKET_PORT}/join&client_id=${process.env.TWITCH_CLIENT}`
...@@ -72,7 +69,17 @@ app.get('/join', async (req,res)=>{ ...@@ -72,7 +69,17 @@ app.get('/join', async (req,res)=>{
72 } 69 }
73 ).then(resp2=>{ 70 ).then(resp2=>{
74 JoinChannel(resp2.data.login) 71 JoinChannel(resp2.data.login)
75 - res.redirect("http://localhost:8000?authenticated=true") // 이거 프론트 유알엘임 72 + axios.get(`https://api.twitch.tv/kraken/channels/${resp2.data.user_id}`,
73 + {
74 + headers:{
75 + 'Accept' : 'application/vnd.twitchtv.v5+json',
76 + 'Client-ID' : process.env.TWITCH_CLIENT
77 + }
78 + }
79 + ).then(resp3=>{
80 + channels.push(resp3.data);
81 + })
82 + res.redirect(`${process.env.FRONT_URI}:${process.env.FRONT_PORT}/?authenticated=true`) // 이거 프론트 유알엘임
76 }) 83 })
77 }) 84 })
78 85
......