Update dependencies

This commit is contained in:
mmorrison 2019-10-15 15:03:11 -05:00
parent 9cec162b94
commit 899627a92f
3 changed files with 166 additions and 123 deletions

240
package-lock.json generated
View file

@ -1,19 +1,22 @@
{ {
"name": "gamedig", "name": "gamedig",
"version": "2.0.13", "version": "2.0.14",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {
"@types/cheerio": { "@types/cheerio": {
"version": "0.22.10", "version": "0.22.13",
"resolved": "https://registry.npmjs.org/@types/cheerio/-/cheerio-0.22.10.tgz", "resolved": "https://registry.npmjs.org/@types/cheerio/-/cheerio-0.22.13.tgz",
"integrity": "sha512-fOM/Jhv51iyugY7KOBZz2ThfT1gwvsGCfWxpLpZDgkGjpEO4Le9cld07OdskikLjDUQJ43dzDaVRSFwQlpdqVg==", "integrity": "sha512-OZd7dCUOUkiTorf97vJKwZnSja/DmHfuBAroe1kREZZTCf/tlFecwHhsOos3uVHxeKGZDwzolIrCUApClkdLuA==",
"dev": true "dev": true,
"requires": {
"@types/node": "*"
}
}, },
"@types/node": { "@types/node": {
"version": "8.0.0", "version": "8.10.54",
"resolved": "https://registry.npmjs.org/@types/node/-/node-8.0.0.tgz", "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.54.tgz",
"integrity": "sha512-j2tekvJCO7j22cs+LO6i0kRPhmQ9MXaPZ55TzOc1lzkN5b6BWqq4AFjl04s1oRRQ1v5rSe+KEvnLUSTonuls/A==" "integrity": "sha512-kaYyLYf6ICn6/isAyD4K1MyWWd5Q3JgH6bnMN089LUx88+s4W8GvK9Q6JMBVu5vsFFp7pMdSxdKmlBXwH/VFRg=="
}, },
"ajv": { "ajv": {
"version": "6.6.2", "version": "6.6.2",
@ -31,6 +34,11 @@
"resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
"integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=" "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU="
}, },
"any-promise": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
"integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8="
},
"asn1": { "asn1": {
"version": "0.2.4", "version": "0.2.4",
"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
@ -76,9 +84,9 @@
} }
}, },
"bluebird": { "bluebird": {
"version": "3.5.3", "version": "3.7.1",
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.3.tgz", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.1.tgz",
"integrity": "sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw==" "integrity": "sha512-DdmyoGCleJnkbp3nkbxTLJ18rjDsE4yCggEwKNXkeV123sPNfOCYeDoeuOY+F2FrSjO1YXcTU+dsy96KMy+gcg=="
}, },
"boolbase": { "boolbase": {
"version": "1.0.0", "version": "1.0.0",
@ -91,12 +99,12 @@
"integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
}, },
"cheerio": { "cheerio": {
"version": "1.0.0-rc.2", "version": "1.0.0-rc.3",
"resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.2.tgz", "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.3.tgz",
"integrity": "sha1-S59TqBsn5NXawxwP/Qz6A8xoMNs=", "integrity": "sha512-0td5ijfUPuubwLUu0OBoe98gZj8C/AA+RW3v67GPlGOrvxWjZmBXiBCRU+I8VEiNyJzjth40POfHiz2RB3gImA==",
"requires": { "requires": {
"css-select": "~1.2.0", "css-select": "~1.2.0",
"dom-serializer": "~0.1.0", "dom-serializer": "~0.1.1",
"entities": "~1.1.1", "entities": "~1.1.1",
"htmlparser2": "^3.9.1", "htmlparser2": "^3.9.1",
"lodash": "^4.15.0", "lodash": "^4.15.0",
@ -145,9 +153,9 @@
} }
}, },
"css-what": { "css-what": {
"version": "2.1.2", "version": "2.1.3",
"resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.2.tgz", "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz",
"integrity": "sha512-wan8dMWQ0GUeF7DGEPVjhHemVW/vy6xUYmFzRY8RYqgA0JtXC9rJmbScBjqSu6dg9q0lwPQy6ZAmJVr3PPTvqQ==" "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg=="
}, },
"dashdash": { "dashdash": {
"version": "1.14.1", "version": "1.14.1",
@ -163,19 +171,12 @@
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
}, },
"dom-serializer": { "dom-serializer": {
"version": "0.1.0", "version": "0.1.1",
"resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz",
"integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==",
"requires": { "requires": {
"domelementtype": "~1.1.1", "domelementtype": "^1.3.0",
"entities": "~1.1.1" "entities": "^1.1.1"
},
"dependencies": {
"domelementtype": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz",
"integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs="
}
} }
}, },
"domelementtype": { "domelementtype": {
@ -214,6 +215,11 @@
"resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
"integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w=="
}, },
"event-to-promise": {
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/event-to-promise/-/event-to-promise-0.7.0.tgz",
"integrity": "sha1-ywffzUGNoiIdkPd+q3E7wjXiCQ8="
},
"extend": { "extend": {
"version": "3.0.2", "version": "3.0.2",
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
@ -250,13 +256,15 @@
} }
}, },
"gbxremote": { "gbxremote": {
"version": "0.1.4", "version": "0.2.1",
"resolved": "https://registry.npmjs.org/gbxremote/-/gbxremote-0.1.4.tgz", "resolved": "https://registry.npmjs.org/gbxremote/-/gbxremote-0.2.1.tgz",
"integrity": "sha1-x+0iWC5WBRtOF2AbPdWjAE7u/UM=", "integrity": "sha1-hN9PvXgXgNxdaS0krASi1/Bd23w=",
"requires": { "requires": {
"any-promise": "^1.1.0",
"barse": "~0.4.2", "barse": "~0.4.2",
"sax": "0.4.x", "event-to-promise": "^0.7.0",
"xmlbuilder": "0.3.1" "string-to-stream": "^1.0.1",
"xmlrpc": "^1.3.1"
} }
}, },
"getpass": { "getpass": {
@ -287,34 +295,39 @@
} }
}, },
"htmlparser2": { "htmlparser2": {
"version": "3.10.0", "version": "3.10.1",
"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.0.tgz", "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz",
"integrity": "sha512-J1nEUGv+MkXS0weHNWVKJJ+UrLfePxRWpN3C9bEi9fLxL2+ggW94DQvgYVXsaT30PGwYRIZKNZXuyMhp3Di4bQ==", "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==",
"requires": { "requires": {
"domelementtype": "^1.3.0", "domelementtype": "^1.3.1",
"domhandler": "^2.3.0", "domhandler": "^2.3.0",
"domutils": "^1.5.1", "domutils": "^1.5.1",
"entities": "^1.1.1", "entities": "^1.1.1",
"inherits": "^2.0.1", "inherits": "^2.0.1",
"readable-stream": "^3.0.6" "readable-stream": "^3.1.1"
}, },
"dependencies": { "dependencies": {
"readable-stream": { "readable-stream": {
"version": "3.1.1", "version": "3.4.0",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.1.1.tgz", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz",
"integrity": "sha512-DkN66hPyqDhnIQ6Jcsvx9bFjhw214O4poMBcIMgPVpQvNy9a0e0Uhg5SqySyDKAmUlwt8LonTBz1ezOnM8pUdA==", "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==",
"requires": { "requires": {
"inherits": "^2.0.3", "inherits": "^2.0.3",
"string_decoder": "^1.1.1", "string_decoder": "^1.1.1",
"util-deprecate": "^1.0.1" "util-deprecate": "^1.0.1"
} }
}, },
"safe-buffer": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz",
"integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg=="
},
"string_decoder": { "string_decoder": {
"version": "1.2.0", "version": "1.3.0",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.2.0.tgz", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
"integrity": "sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w==", "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
"requires": { "requires": {
"safe-buffer": "~5.1.0" "safe-buffer": "~5.2.0"
} }
} }
} }
@ -330,9 +343,9 @@
} }
}, },
"iconv-lite": { "iconv-lite": {
"version": "0.4.24", "version": "0.5.0",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.5.0.tgz",
"integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "integrity": "sha512-NnEhI9hIEKHOzJ4f697DMz9IQEXr/MMJ5w64vN2/4Ai+wRnvV7SBrL0KLoRlwaKVghOc7LQ5YkPLuX146b6Ydw==",
"requires": { "requires": {
"safer-buffer": ">= 2.1.2 < 3" "safer-buffer": ">= 2.1.2 < 3"
} }
@ -342,11 +355,6 @@
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
}, },
"ip-regex": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-3.0.0.tgz",
"integrity": "sha512-T8wDtjy+Qf2TAPDQmBp0eGKJ8GavlWlUnamr3wRn6vvdZlKVuJXXMlSncYFRYgVHOM3If5NR1H4+OvVQU9Idvg=="
},
"is-typedarray": { "is-typedarray": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
@ -394,14 +402,14 @@
} }
}, },
"lodash": { "lodash": {
"version": "4.17.11", "version": "4.17.15",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
"integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A=="
}, },
"long": { "long": {
"version": "2.4.0", "version": "4.0.0",
"resolved": "https://registry.npmjs.org/long/-/long-2.4.0.tgz", "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz",
"integrity": "sha1-n6GAux2VAM3CnEFWdmoZleH0Uk8=" "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA=="
}, },
"mime-db": { "mime-db": {
"version": "1.37.0", "version": "1.37.0",
@ -422,9 +430,9 @@
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
}, },
"moment": { "moment": {
"version": "2.21.0", "version": "2.24.0",
"resolved": "https://registry.npmjs.org/moment/-/moment-2.21.0.tgz", "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz",
"integrity": "sha512-TCZ36BjURTeFTM/CwRcViQlfkMvL1/vFISuNLO5GkcVm1+QHfbSiNqZuWeMFjj1/3+uAjXswgRk30j1kkLYJBQ==" "integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg=="
}, },
"nth-check": { "nth-check": {
"version": "1.0.2", "version": "1.0.2",
@ -452,6 +460,11 @@
"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
"integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
}, },
"process-nextick-args": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
"integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
},
"psl": { "psl": {
"version": "1.1.31", "version": "1.1.31",
"resolved": "https://registry.npmjs.org/psl/-/psl-1.1.31.tgz", "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.31.tgz",
@ -524,22 +537,22 @@
} }
}, },
"request-promise": { "request-promise": {
"version": "4.2.2", "version": "4.2.4",
"resolved": "https://registry.npmjs.org/request-promise/-/request-promise-4.2.2.tgz", "resolved": "https://registry.npmjs.org/request-promise/-/request-promise-4.2.4.tgz",
"integrity": "sha1-0epG1lSm7k+O5qT+oQGMIpEZBLQ=", "integrity": "sha512-8wgMrvE546PzbR5WbYxUQogUnUDfM0S7QIFZMID+J73vdFARkFy+HElj4T+MWYhpXwlLp0EQ8Zoj8xUA0he4Vg==",
"requires": { "requires": {
"bluebird": "^3.5.0", "bluebird": "^3.5.0",
"request-promise-core": "1.1.1", "request-promise-core": "1.1.2",
"stealthy-require": "^1.1.0", "stealthy-require": "^1.1.1",
"tough-cookie": ">=2.3.3" "tough-cookie": "^2.3.3"
} }
}, },
"request-promise-core": { "request-promise-core": {
"version": "1.1.1", "version": "1.1.2",
"resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.1.tgz", "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.2.tgz",
"integrity": "sha1-Pu4AssWqgyOc+wTFcA2jb4HNCLY=", "integrity": "sha512-UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag==",
"requires": { "requires": {
"lodash": "^4.13.1" "lodash": "^4.17.11"
} }
}, },
"safe-buffer": { "safe-buffer": {
@ -553,9 +566,9 @@
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
}, },
"sax": { "sax": {
"version": "0.4.3", "version": "1.2.4",
"resolved": "https://registry.npmjs.org/sax/-/sax-0.4.3.tgz", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
"integrity": "sha1-cA46NOsueSzjgHkccSgPNzGWXdw=" "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
}, },
"sshpk": { "sshpk": {
"version": "1.16.0", "version": "1.16.0",
@ -578,26 +591,56 @@
"resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz",
"integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=" "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks="
}, },
"string-to-stream": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/string-to-stream/-/string-to-stream-1.1.1.tgz",
"integrity": "sha512-QySF2+3Rwq0SdO3s7BAp4x+c3qsClpPQ6abAmb0DGViiSBAkT5kL6JT2iyzEVP+T1SmzHrQD1TwlP9QAHCc+Sw==",
"requires": {
"inherits": "^2.0.1",
"readable-stream": "^2.1.0"
},
"dependencies": {
"isarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
},
"readable-stream": {
"version": "2.3.6",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
"isarray": "~1.0.0",
"process-nextick-args": "~2.0.0",
"safe-buffer": "~5.1.1",
"string_decoder": "~1.1.1",
"util-deprecate": "~1.0.1"
}
},
"string_decoder": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
"requires": {
"safe-buffer": "~5.1.0"
}
}
}
},
"string_decoder": { "string_decoder": {
"version": "0.10.31", "version": "0.10.31",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
}, },
"tough-cookie": { "tough-cookie": {
"version": "3.0.0", "version": "2.5.0",
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.0.tgz", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
"integrity": "sha512-LHMvg+RBP/mAVNqVbOX8t+iJ+tqhBA/t49DuI7+IDAWHrASnesqSu1vWbKB7UrE2yk+HMFUBMadRGMkB4VCfog==", "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
"requires": { "requires": {
"ip-regex": "^3.0.0",
"psl": "^1.1.28", "psl": "^1.1.28",
"punycode": "^2.1.1" "punycode": "^2.1.1"
},
"dependencies": {
"punycode": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
"integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
}
} }
}, },
"tunnel-agent": { "tunnel-agent": {
@ -639,9 +682,9 @@
"integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA=="
}, },
"varint": { "varint": {
"version": "4.0.1", "version": "5.0.0",
"resolved": "https://registry.npmjs.org/varint/-/varint-4.0.1.tgz", "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.0.tgz",
"integrity": "sha1-SQgpuULSSEY7KzUJeZXDv3NxmOk=" "integrity": "sha1-2Ca4n3SQcy+rwMDtaT7Uddyynr8="
}, },
"verror": { "verror": {
"version": "1.10.0", "version": "1.10.0",
@ -654,9 +697,18 @@
} }
}, },
"xmlbuilder": { "xmlbuilder": {
"version": "0.3.1", "version": "8.2.2",
"resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-0.3.1.tgz", "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-8.2.2.tgz",
"integrity": "sha1-XtTCK0YiwkN/r4Pk8jbyPWu/JkE=" "integrity": "sha1-aSSGc0ELS6QuGmE2VR0pIjNap3M="
},
"xmlrpc": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/xmlrpc/-/xmlrpc-1.3.2.tgz",
"integrity": "sha1-JrLqNHhI0Ciqx+dRS1NRl23j6D0=",
"requires": {
"sax": "1.2.x",
"xmlbuilder": "8.2.x"
}
} }
} }
} }

View file

@ -24,17 +24,17 @@
"node": ">=8.0.0" "node": ">=8.0.0"
}, },
"dependencies": { "dependencies": {
"cheerio": "^1.0.0-rc.2", "cheerio": "^1.0.0-rc.3",
"compressjs": "^1.0.2", "compressjs": "^1.0.2",
"gbxremote": "^0.1.4", "gbxremote": "^0.2.1",
"iconv-lite": "^0.4.24", "iconv-lite": "^0.5.0",
"long": "^2.4.0", "long": "^4.0.0",
"minimist": "^1.2.0", "minimist": "^1.2.0",
"moment": "^2.21.0", "moment": "^2.24.0",
"punycode": "^2.1.1", "punycode": "^2.1.1",
"request": "^2.88.0", "request": "^2.88.0",
"request-promise": "^4.2.2", "request-promise": "^4.2.4",
"varint": "^4.0.1" "varint": "^5.0.0"
}, },
"bin": { "bin": {
"gamedig": "bin/gamedig.js" "gamedig": "bin/gamedig.js"
@ -48,7 +48,7 @@
"README.md" "README.md"
], ],
"devDependencies": { "devDependencies": {
"@types/cheerio": "^0.22.10", "@types/cheerio": "^0.22.13",
"@types/node": "^8.0.0" "@types/node": "^8.10.54"
} }
} }

View file

@ -6,13 +6,13 @@ class Nadeo extends Core {
async run(state) { async run(state) {
await this.withClient(async client => { await this.withClient(async client => {
const start = Date.now(); const start = Date.now();
await this.methodCall(client, 'Authenticate', this.options.login, this.options.password); await this.query(client, 'Authenticate', this.options.login, this.options.password);
this.registerRtt(Date.now()-start); this.registerRtt(Date.now()-start);
//const data = this.methodCall(client, 'GetStatus'); //const data = this.methodCall(client, 'GetStatus');
{ {
const results = await this.methodCall(client, 'GetServerOptions'); const results = await this.query(client, 'GetServerOptions');
state.name = this.stripColors(results.Name); state.name = this.stripColors(results.Name);
state.password = (results.Password !== 'No password'); state.password = (results.Password !== 'No password');
state.maxplayers = results.CurrentMaxPlayers; state.maxplayers = results.CurrentMaxPlayers;
@ -20,13 +20,13 @@ class Nadeo extends Core {
} }
{ {
const results = await this.methodCall(client, 'GetCurrentMapInfo'); const results = await this.query(client, 'GetCurrentMapInfo');
state.map = this.stripColors(results.Name); state.map = this.stripColors(results.Name);
state.raw.mapUid = results.UId; state.raw.mapUid = results.UId;
} }
{ {
const results = await this.methodCall(client, 'GetCurrentGameInfo'); const results = await this.query(client, 'GetCurrentGameInfo');
let gamemode = ''; let gamemode = '';
const igm = results.GameMode; const igm = results.GameMode;
if(igm === 0) gamemode="Rounds"; if(igm === 0) gamemode="Rounds";
@ -40,7 +40,7 @@ class Nadeo extends Core {
} }
{ {
const results = await this.methodCall(client, 'GetNextMapInfo'); const results = await this.query(client, 'GetNextMapInfo');
state.raw.nextmapName = this.stripColors(results.Name); state.raw.nextmapName = this.stripColors(results.Name);
state.raw.nextmapUid = results.UId; state.raw.nextmapUid = results.UId;
} }
@ -49,7 +49,7 @@ class Nadeo extends Core {
state.gamePort = 2350; state.gamePort = 2350;
} }
state.raw.players = await this.methodCall(client, 'GetPlayerList', 10000, 0); state.raw.players = await this.query(client, 'GetPlayerList', 10000, 0);
for (const player of state.raw.players) { for (const player of state.raw.players) {
state.players.push({ state.players.push({
name:this.stripColors(player.Name || player.NickName) name:this.stripColors(player.Name || player.NickName)
@ -59,31 +59,22 @@ class Nadeo extends Core {
} }
async withClient(fn) { async withClient(fn) {
const socket = gbxremote.createClient(this.options.port, this.options.host); const socket = new gbxremote.Client(this.options.port, this.options.host);
try { try {
const connectPromise = new Promise((resolve,reject) => { const connectPromise = socket.connect();
socket.on('connect', resolve);
socket.on('error', e => reject(new Error('GBX Remote Connection Error: ' + e)));
socket.on('close', () => reject(new Error('GBX Remote Connection Refused')));
});
const timeoutPromise = Promises.createTimeout(this.options.socketTimeout, 'GBX Remote Opening'); const timeoutPromise = Promises.createTimeout(this.options.socketTimeout, 'GBX Remote Opening');
const socket = await Promise.race([connectPromise, timeoutPromise, this.abortedPromise]); await Promise.race([connectPromise, timeoutPromise, this.abortedPromise]);
return await fn(socket); return await fn(socket);
} finally { } finally {
socket.terminate(); socket.terminate();
} }
} }
async methodCall(client, ...cmdset) { async query(client, ...cmdset) {
const cmd = cmdset[0]; const cmd = cmdset[0];
const params = cmdset.slice(1); const params = cmdset.slice(1);
const sentPromise = new Promise(async (resolve,reject) => { const sentPromise = client.query(cmd, params);
client.methodCall(cmd, params, (err, value) => {
if (err) reject(new Error('XMLRPC error ' + JSON.stringify(err)));
resolve(value);
});
});
const timeoutPromise = Promises.createTimeout(this.options.socketTimeout, 'GBX Method Call'); const timeoutPromise = Promises.createTimeout(this.options.socketTimeout, 'GBX Method Call');
return await Promise.race([sentPromise, timeoutPromise, this.abortedPromise]); return await Promise.race([sentPromise, timeoutPromise, this.abortedPromise]);
} }