diff --git a/addon/lib/magnetHelper.js b/addon/lib/magnetHelper.js index efa3920..ee40dc2 100644 --- a/addon/lib/magnetHelper.js +++ b/addon/lib/magnetHelper.js @@ -1,4 +1,4 @@ -const needle = require('needle'); +const axios = require('axios'); const magnet = require('magnet-uri'); const { getRandomUserAgent } = require('../lib/requestHelper'); const { getTorrent } = require('../lib/repository'); @@ -48,8 +48,8 @@ async function initBestTrackers() { async function getBestTrackers(retry = 2) { const options = { timeout: 30000, headers: { 'User-Agent': getRandomUserAgent() } }; - return needle('get', TRACKERS_URL, options) - .then(response => response.body && response.body.trim()) + return axios.get(TRACKERS_URL, options) + .then(response => response.data && response.data.trim()) .then(body => body && body.split('\n\n') || []) .catch(error => { if (retry === 0) { diff --git a/addon/package-lock.json b/addon/package-lock.json index 58c854d..d9a09ae 100644 --- a/addon/package-lock.json +++ b/addon/package-lock.json @@ -10,7 +10,7 @@ "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", "dev": true, "requires": { - "@babel/highlight": "^7.8.3" + "@babel/highlight": "7.8.3" } }, "@babel/highlight": { @@ -19,9 +19,9 @@ "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", "dev": true, "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" + "chalk": "2.4.2", + "esutils": "2.0.3", + "js-tokens": "4.0.0" } }, "@putdotio/api-client": { @@ -29,22 +29,46 @@ "resolved": "https://registry.npmjs.org/@putdotio/api-client/-/api-client-8.16.0.tgz", "integrity": "sha512-9a00sd5aArb5s1R8MBsHULP3gcRsD9ivokRUCtS3oBf8M53u9XUAx/D79sehhiWbMR20DYxwUFfSoEvM/daq3Q==", "requires": { - "axios": "^0.19.2", - "event-emitter": "^0.3.5", - "form-data": "^3.0.0", - "js-base64": "^2.6.2", - "qs": "^6.9.4", - "urijs": "^1.19.5" + "axios": "0.19.2", + "event-emitter": "0.3.5", + "form-data": "3.0.1", + "js-base64": "2.6.4", + "qs": "6.10.1", + "urijs": "1.19.7" }, "dependencies": { + "axios": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz", + "integrity": "sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==", + "requires": { + "follow-redirects": "1.5.10" + } + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, + "follow-redirects": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", + "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", + "requires": { + "debug": "3.1.0" + } + }, "form-data": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" + "asynckit": "0.4.0", + "combined-stream": "1.0.8", + "mime-types": "2.1.26" } }, "qs": { @@ -52,7 +76,7 @@ "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz", "integrity": "sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==", "requires": { - "side-channel": "^1.0.4" + "side-channel": "1.0.4" } } } @@ -78,7 +102,7 @@ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", "requires": { - "mime-types": "~2.1.24", + "mime-types": "2.1.26", "negotiator": "0.6.2" } }, @@ -99,7 +123,7 @@ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.1.tgz", "integrity": "sha512-01q25QQDwLSsyfhrKbn8yuur+JNw0H+0Y4JiGIKd3z9aYk/w/2kxD/Upc+t2ZBBSUNff50VjPsSW2YxM8QYKVg==", "requires": { - "debug": "4" + "debug": "4.1.1" }, "dependencies": { "debug": { @@ -107,7 +131,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, "ms": { @@ -122,10 +146,10 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz", "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==", "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "fast-deep-equal": "3.1.1", + "fast-json-stable-stringify": "2.1.0", + "json-schema-traverse": "0.4.1", + "uri-js": "4.2.2" } }, "all-debrid-api": { @@ -133,7 +157,7 @@ "resolved": "https://registry.npmjs.org/all-debrid-api/-/all-debrid-api-1.1.0.tgz", "integrity": "sha512-p6Z8M9UBGkEZK2/qJ2YHBPDyDGW1CEZQ+GCp8IQb4UlC/9GIUgeRPjh2ohoAIBPn3gs6hPvZ8wIVS04lJ3SuHA==", "requires": { - "request": "^2.83.0" + "request": "2.88.2" } }, "ansi-escapes": { @@ -151,7 +175,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.3" } }, "argparse": { @@ -160,7 +184,7 @@ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "requires": { - "sprintf-js": "~1.0.2" + "sprintf-js": "1.0.3" } }, "array-flatten": { @@ -173,7 +197,7 @@ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", "requires": { - "safer-buffer": "~2.1.0" + "safer-buffer": "2.1.2" } }, "assert-plus": { @@ -208,11 +232,11 @@ "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==" }, "axios": { - "version": "0.19.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz", - "integrity": "sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", "requires": { - "follow-redirects": "1.5.10" + "follow-redirects": "1.14.4" } }, "balanced-match": { @@ -226,7 +250,7 @@ "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "requires": { - "tweetnacl": "^0.14.3" + "tweetnacl": "0.14.5" } }, "bep53-range": { @@ -239,8 +263,8 @@ "resolved": "https://registry.npmjs.org/bl/-/bl-2.2.1.tgz", "integrity": "sha512-6Pesp1w0DEX1N550i/uGV/TqucVL4AM/pgThFSN/Qq9si1/DF9aIHs1BxD8V/QU0HoeHO6cQRTAuYnLPKq1e4g==", "requires": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" + "readable-stream": "2.3.7", + "safe-buffer": "5.2.0" } }, "bluebird": { @@ -254,15 +278,15 @@ "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", "requires": { "bytes": "3.1.0", - "content-type": "~1.0.4", + "content-type": "1.0.4", "debug": "2.6.9", - "depd": "~1.1.2", + "depd": "1.1.2", "http-errors": "1.7.2", "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", + "on-finished": "2.3.0", "qs": "6.7.0", "raw-body": "2.4.0", - "type-is": "~1.6.17" + "type-is": "1.6.18" } }, "bottleneck": { @@ -276,7 +300,7 @@ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "requires": { - "balanced-match": "^1.0.0", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, @@ -301,7 +325,7 @@ "integrity": "sha512-oayy7ukJqNlRUYNUfQBwGOLilL0X5q7GpuaF19Yqwo6qdx49OoTZKRIF5qbbr+Ru8mlTvOpvnMvVq6vw72pOPg==", "requires": { "async": "3.2.0", - "lodash": "^4.17.21", + "lodash": "4.17.21", "lru-cache": "6.0.0" } }, @@ -310,10 +334,10 @@ "resolved": "https://registry.npmjs.org/cache-manager-mongodb/-/cache-manager-mongodb-0.3.0.tgz", "integrity": "sha512-r+piWvu8XD8ceBWflZBEQZKemksoaL1V5zSHWyviVTXiGBSVQAf18b4S1v5UwGZMJnrMk8YNFgpBlugF0nuhvg==", "requires": { - "bluebird": "^3.5.3", - "cache-manager": "^2.9.0", - "lodash": "^4.17.15", - "mongodb": "^3.6.3" + "bluebird": "3.7.2", + "cache-manager": "2.11.1", + "lodash": "4.17.21", + "mongodb": "3.6.10" }, "dependencies": { "async": { @@ -336,8 +360,8 @@ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.0.tgz", "integrity": "sha1-tcvwFVbBaWb+vlTO7A+03JDfbCg=", "requires": { - "pseudomap": "^1.0.1", - "yallist": "^2.0.0" + "pseudomap": "1.0.2", + "yallist": "2.1.2" } }, "yallist": { @@ -352,8 +376,8 @@ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "function-bind": "1.1.1", + "get-intrinsic": "1.1.1" } }, "callsites": { @@ -372,9 +396,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "chardet": { @@ -387,7 +411,7 @@ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", "requires": { - "restore-cursor": "^2.0.0" + "restore-cursor": "2.0.0" } }, "cli-width": { @@ -400,8 +424,8 @@ "resolved": "https://registry.npmjs.org/cls-bluebird/-/cls-bluebird-2.1.0.tgz", "integrity": "sha1-N+8eCAqP+1XC9BZPU28ZGeeWiu4=", "requires": { - "is-bluebird": "^1.0.2", - "shimmer": "^1.1.0" + "is-bluebird": "1.0.2", + "shimmer": "1.2.1" } }, "color-convert": { @@ -422,7 +446,7 @@ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "requires": { - "delayed-stream": "~1.0.0" + "delayed-stream": "1.0.0" } }, "concat-map": { @@ -471,8 +495,8 @@ "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", "requires": { - "object-assign": "^4", - "vary": "^1" + "object-assign": "4.1.1", + "vary": "1.1.2" } }, "cross-spawn": { @@ -481,11 +505,11 @@ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "dev": true, "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "nice-try": "1.0.5", + "path-key": "2.0.1", + "semver": "5.7.1", + "shebang-command": "1.2.0", + "which": "1.3.1" } }, "d": { @@ -493,8 +517,8 @@ "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", "requires": { - "es5-ext": "^0.10.50", - "type": "^1.0.1" + "es5-ext": "0.10.53", + "type": "1.2.0" } }, "dashdash": { @@ -502,7 +526,7 @@ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "requires": { - "assert-plus": "^1.0.0" + "assert-plus": "1.0.0" } }, "debrid-link-api": { @@ -510,7 +534,7 @@ "resolved": "https://registry.npmjs.org/debrid-link-api/-/debrid-link-api-1.0.0.tgz", "integrity": "sha512-FkewWunFaG8Ssqb8bUkE06ogkcBDbvUG6l0TRnvNQcDzDIKaxpef20yFcZR7jAjkeBGv6tkRCoaRYADBtmfbog==", "requires": { - "request": "^2.83.0" + "request": "2.88.2" } }, "debug": { @@ -563,7 +587,7 @@ "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, "requires": { - "esutils": "^2.0.2" + "esutils": "2.0.3" } }, "dot-json": { @@ -571,9 +595,9 @@ "resolved": "https://registry.npmjs.org/dot-json/-/dot-json-1.2.0.tgz", "integrity": "sha512-4bEM7KHFl/U9gAI5nIvU0/fwVzNnE713K339vcxAMtxd2D9mZP6o65UwlcXigJL4rfk90UM0J+D7IPIFYZMQ8Q==", "requires": { - "detect-indent": "~6.0.0", - "docopt": "~0.6.2", - "underscore-keypath": "~0.0.22" + "detect-indent": "6.0.0", + "docopt": "0.6.2", + "underscore-keypath": "0.0.22" } }, "dottie": { @@ -586,8 +610,8 @@ "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" + "jsbn": "0.1.1", + "safer-buffer": "2.1.2" } }, "ee-first": { @@ -611,9 +635,9 @@ "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", "requires": { - "es6-iterator": "~2.0.3", - "es6-symbol": "~3.1.3", - "next-tick": "~1.0.0" + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.3", + "next-tick": "1.0.0" } }, "es6-iterator": { @@ -621,9 +645,9 @@ "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", "requires": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" + "d": "1.0.1", + "es5-ext": "0.10.53", + "es6-symbol": "3.1.3" } }, "es6-symbol": { @@ -631,8 +655,8 @@ "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", "requires": { - "d": "^1.0.1", - "ext": "^1.1.2" + "d": "1.0.1", + "ext": "1.4.0" } }, "escape-html": { @@ -651,43 +675,43 @@ "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", "dev": true, "requires": { - "@babel/code-frame": "^7.0.0", - "ajv": "^6.10.0", - "chalk": "^2.1.0", - "cross-spawn": "^6.0.5", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^1.4.3", - "eslint-visitor-keys": "^1.1.0", - "espree": "^6.1.2", - "esquery": "^1.0.1", - "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "inquirer": "^7.0.0", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.14", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "optionator": "^0.8.3", - "progress": "^2.0.0", - "regexpp": "^2.0.1", - "semver": "^6.1.2", - "strip-ansi": "^5.2.0", - "strip-json-comments": "^3.0.1", - "table": "^5.2.3", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" + "@babel/code-frame": "7.8.3", + "ajv": "6.12.0", + "chalk": "2.4.2", + "cross-spawn": "6.0.5", + "debug": "4.1.1", + "doctrine": "3.0.0", + "eslint-scope": "5.0.0", + "eslint-utils": "1.4.3", + "eslint-visitor-keys": "1.1.0", + "espree": "6.2.0", + "esquery": "1.1.0", + "esutils": "2.0.3", + "file-entry-cache": "5.0.1", + "functional-red-black-tree": "1.0.1", + "glob-parent": "5.1.2", + "globals": "12.4.0", + "ignore": "4.0.6", + "import-fresh": "3.2.1", + "imurmurhash": "0.1.4", + "inquirer": "7.1.0", + "is-glob": "4.0.1", + "js-yaml": "3.13.1", + "json-stable-stringify-without-jsonify": "1.0.1", + "levn": "0.3.0", + "lodash": "4.17.21", + "minimatch": "3.0.4", + "mkdirp": "0.5.1", + "natural-compare": "1.4.0", + "optionator": "0.8.3", + "progress": "2.0.3", + "regexpp": "2.0.1", + "semver": "6.3.0", + "strip-ansi": "5.2.0", + "strip-json-comments": "3.0.1", + "table": "5.4.6", + "text-table": "0.2.0", + "v8-compile-cache": "2.1.0" }, "dependencies": { "ansi-escapes": { @@ -696,7 +720,7 @@ "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", "dev": true, "requires": { - "type-fest": "^0.11.0" + "type-fest": "0.11.0" } }, "ansi-regex": { @@ -711,8 +735,8 @@ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", "dev": true, "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" + "@types/color-name": "1.1.1", + "color-convert": "2.0.1" } }, "cli-cursor": { @@ -721,7 +745,7 @@ "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", "dev": true, "requires": { - "restore-cursor": "^3.1.0" + "restore-cursor": "3.1.0" } }, "color-convert": { @@ -730,7 +754,7 @@ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "requires": { - "color-name": "~1.1.4" + "color-name": "1.1.4" } }, "color-name": { @@ -745,7 +769,7 @@ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, "figures": { @@ -754,7 +778,7 @@ "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", "dev": true, "requires": { - "escape-string-regexp": "^1.0.5" + "escape-string-regexp": "1.0.5" } }, "has-flag": { @@ -769,19 +793,19 @@ "integrity": "sha512-5fJMWEmikSYu0nv/flMc475MhGbB7TSPd/2IpFV4I4rMklboCH2rQjYY5kKiYGHqUF9gvaambupcJFFG9dvReg==", "dev": true, "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^3.0.0", - "cli-cursor": "^3.1.0", - "cli-width": "^2.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.15", + "ansi-escapes": "4.3.1", + "chalk": "3.0.0", + "cli-cursor": "3.1.0", + "cli-width": "2.2.0", + "external-editor": "3.1.0", + "figures": "3.2.0", + "lodash": "4.17.21", "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.5.3", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" + "run-async": "2.4.0", + "rxjs": "6.5.4", + "string-width": "4.2.0", + "strip-ansi": "6.0.0", + "through": "2.3.8" }, "dependencies": { "chalk": { @@ -790,8 +814,8 @@ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "ansi-styles": "4.2.1", + "supports-color": "7.1.0" } }, "strip-ansi": { @@ -800,7 +824,7 @@ "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", "dev": true, "requires": { - "ansi-regex": "^5.0.0" + "ansi-regex": "5.0.0" } } } @@ -835,7 +859,7 @@ "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", "dev": true, "requires": { - "mimic-fn": "^2.1.0" + "mimic-fn": "2.1.0" } }, "restore-cursor": { @@ -844,8 +868,8 @@ "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", "dev": true, "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" + "onetime": "5.1.0", + "signal-exit": "3.0.2" } }, "semver": { @@ -860,9 +884,9 @@ "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", "dev": true, "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "emoji-regex": "8.0.0", + "is-fullwidth-code-point": "3.0.0", + "strip-ansi": "6.0.0" }, "dependencies": { "strip-ansi": { @@ -871,7 +895,7 @@ "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", "dev": true, "requires": { - "ansi-regex": "^5.0.0" + "ansi-regex": "5.0.0" } } } @@ -882,7 +906,7 @@ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", "dev": true, "requires": { - "has-flag": "^4.0.0" + "has-flag": "4.0.0" } }, "type-fest": { @@ -911,8 +935,8 @@ "integrity": "sha512-f6fceVtg27BR02EYnBhgWLFQfK6bN4Ll0nQFrBHOlCsAyxeZkn0NHns5O0YZOPrV1B3ramd6cgFwaoFLcSkwEQ==", "dev": true, "requires": { - "eslint-utils": "^1.4.2", - "regexpp": "^3.0.0" + "eslint-utils": "1.4.3", + "regexpp": "3.0.0" }, "dependencies": { "regexpp": { @@ -929,12 +953,12 @@ "integrity": "sha512-1CSyM/QCjs6PXaT18+zuAXsjXGIGo5Rw630rSKwokSs2jrYURQc4R5JZpoanNCqwNmepg+0eZ9L7YiRUJb8jiQ==", "dev": true, "requires": { - "eslint-plugin-es": "^2.0.0", - "eslint-utils": "^1.4.2", - "ignore": "^5.1.1", - "minimatch": "^3.0.4", - "resolve": "^1.10.1", - "semver": "^6.1.0" + "eslint-plugin-es": "2.0.0", + "eslint-utils": "1.4.3", + "ignore": "5.1.4", + "minimatch": "3.0.4", + "resolve": "1.15.1", + "semver": "6.3.0" }, "dependencies": { "ignore": { @@ -957,8 +981,8 @@ "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==", "dev": true, "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" + "esrecurse": "4.2.1", + "estraverse": "4.3.0" } }, "eslint-utils": { @@ -967,7 +991,7 @@ "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", "dev": true, "requires": { - "eslint-visitor-keys": "^1.1.0" + "eslint-visitor-keys": "1.1.0" } }, "eslint-visitor-keys": { @@ -982,9 +1006,9 @@ "integrity": "sha512-Xs8airJ7RQolnDIbLtRutmfvSsAe0xqMMAantCN/GMoqf81TFbeI1T7Jpd56qYu1uuh32dOG5W/X9uO+ghPXzA==", "dev": true, "requires": { - "acorn": "^7.1.0", - "acorn-jsx": "^5.2.0", - "eslint-visitor-keys": "^1.1.0" + "acorn": "7.1.1", + "acorn-jsx": "5.2.0", + "eslint-visitor-keys": "1.1.0" } }, "esprima": { @@ -999,7 +1023,7 @@ "integrity": "sha512-MxYW9xKmROWF672KqjO75sszsA8Mxhw06YFeS5VHlB98KDHbOSurm3ArsjO60Eaf3QmGMCP1yn+0JQkNLo/97Q==", "dev": true, "requires": { - "estraverse": "^4.0.0" + "estraverse": "4.3.0" } }, "esrecurse": { @@ -1008,7 +1032,7 @@ "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", "dev": true, "requires": { - "estraverse": "^4.1.0" + "estraverse": "4.3.0" } }, "estraverse": { @@ -1033,8 +1057,8 @@ "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", "requires": { - "d": "1", - "es5-ext": "~0.10.14" + "d": "1.0.1", + "es5-ext": "0.10.53" } }, "express": { @@ -1042,36 +1066,36 @@ "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", "requires": { - "accepts": "~1.3.7", + "accepts": "1.3.7", "array-flatten": "1.1.1", "body-parser": "1.19.0", "content-disposition": "0.5.3", - "content-type": "~1.0.4", + "content-type": "1.0.4", "cookie": "0.4.0", "cookie-signature": "1.0.6", "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.1.2", + "depd": "1.1.2", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "etag": "1.8.1", + "finalhandler": "1.1.2", "fresh": "0.5.2", "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", + "methods": "1.1.2", + "on-finished": "2.3.0", + "parseurl": "1.3.3", "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.5", + "proxy-addr": "2.0.6", "qs": "6.7.0", - "range-parser": "~1.2.1", + "range-parser": "1.2.1", "safe-buffer": "5.1.2", "send": "0.17.1", "serve-static": "1.14.1", "setprototypeof": "1.1.1", - "statuses": "~1.5.0", - "type-is": "~1.6.18", + "statuses": "1.5.0", + "type-is": "1.6.18", "utils-merge": "1.0.1", - "vary": "~1.1.2" + "vary": "1.1.2" }, "dependencies": { "safe-buffer": { @@ -1091,7 +1115,7 @@ "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz", "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==", "requires": { - "type": "^2.0.0" + "type": "2.5.0" }, "dependencies": { "type": { @@ -1111,9 +1135,9 @@ "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" + "chardet": "0.7.0", + "iconv-lite": "0.4.24", + "tmp": "0.0.33" } }, "extsprintf": { @@ -1142,7 +1166,7 @@ "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", "requires": { - "escape-string-regexp": "^1.0.5" + "escape-string-regexp": "1.0.5" } }, "file-entry-cache": { @@ -1151,7 +1175,7 @@ "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", "dev": true, "requires": { - "flat-cache": "^2.0.1" + "flat-cache": "2.0.1" } }, "finalhandler": { @@ -1160,12 +1184,12 @@ "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", "requires": { "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "on-finished": "2.3.0", + "parseurl": "1.3.3", + "statuses": "1.5.0", + "unpipe": "1.0.0" } }, "flat-cache": { @@ -1174,7 +1198,7 @@ "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", "dev": true, "requires": { - "flatted": "^2.0.0", + "flatted": "2.0.1", "rimraf": "2.6.3", "write": "1.0.3" } @@ -1186,22 +1210,9 @@ "dev": true }, "follow-redirects": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", - "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", - "requires": { - "debug": "=3.1.0" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "requires": { - "ms": "2.0.0" - } - } - } + "version": "1.14.4", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.4.tgz", + "integrity": "sha512-zwGkiSXC1MUJG/qmeIFH2HBJx9u0V46QGUe3YR1fXG8bXQxq7fLj0RjLZQ5nubr9qNJUZrH+xUcwXEoXNpfS+g==" }, "forever-agent": { "version": "0.6.1", @@ -1213,9 +1224,9 @@ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" + "asynckit": "0.4.0", + "combined-stream": "1.0.8", + "mime-types": "2.1.26" } }, "forwarded": { @@ -1255,9 +1266,9 @@ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" + "function-bind": "1.1.1", + "has": "1.0.3", + "has-symbols": "1.0.2" } }, "getpass": { @@ -1265,7 +1276,7 @@ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "requires": { - "assert-plus": "^1.0.0" + "assert-plus": "1.0.0" } }, "glob": { @@ -1274,12 +1285,12 @@ "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", "dev": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.4", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "glob-parent": { @@ -1288,7 +1299,7 @@ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, "requires": { - "is-glob": "^4.0.1" + "is-glob": "4.0.1" } }, "globals": { @@ -1297,7 +1308,7 @@ "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", "dev": true, "requires": { - "type-fest": "^0.8.1" + "type-fest": "0.8.1" } }, "har-schema": { @@ -1310,8 +1321,8 @@ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", "requires": { - "ajv": "^6.5.5", - "har-schema": "^2.0.0" + "ajv": "6.12.0", + "har-schema": "2.0.0" } }, "has": { @@ -1319,7 +1330,7 @@ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "requires": { - "function-bind": "^1.1.1" + "function-bind": "1.1.1" } }, "has-flag": { @@ -1337,10 +1348,10 @@ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", "requires": { - "depd": "~1.1.2", + "depd": "1.1.2", "inherits": "2.0.3", "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", + "statuses": "1.5.0", "toidentifier": "1.0.0" }, "dependencies": { @@ -1356,9 +1367,9 @@ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" + "assert-plus": "1.0.0", + "jsprim": "1.4.1", + "sshpk": "1.16.1" } }, "https-proxy-agent": { @@ -1366,8 +1377,8 @@ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", "requires": { - "agent-base": "6", - "debug": "4" + "agent-base": "6.0.1", + "debug": "4.1.1" }, "dependencies": { "debug": { @@ -1375,7 +1386,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, "ms": { @@ -1390,7 +1401,7 @@ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "safer-buffer": "2.1.2" } }, "ignore": { @@ -1405,8 +1416,8 @@ "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", "dev": true, "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" + "parent-module": "1.0.1", + "resolve-from": "4.0.0" }, "dependencies": { "resolve-from": { @@ -1434,8 +1445,8 @@ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.4.0", + "wrappy": "1.0.2" } }, "inherits": { @@ -1448,19 +1459,19 @@ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", "requires": { - "ansi-escapes": "^3.2.0", - "chalk": "^2.4.2", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^3.0.3", - "figures": "^2.0.0", - "lodash": "^4.17.12", + "ansi-escapes": "3.2.0", + "chalk": "2.4.2", + "cli-cursor": "2.1.0", + "cli-width": "2.2.0", + "external-editor": "3.1.0", + "figures": "2.0.0", + "lodash": "4.17.21", "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rxjs": "^6.4.0", - "string-width": "^2.1.0", - "strip-ansi": "^5.1.0", - "through": "^2.3.6" + "run-async": "2.4.0", + "rxjs": "6.5.4", + "string-width": "2.1.1", + "strip-ansi": "5.2.0", + "through": "2.3.8" } }, "ipaddr.js": { @@ -1490,7 +1501,7 @@ "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", "dev": true, "requires": { - "is-extglob": "^2.1.1" + "is-extglob": "2.1.1" } }, "is-promise": { @@ -1546,8 +1557,8 @@ "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", "dev": true, "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "argparse": "1.0.10", + "esprima": "4.0.1" } }, "jsbn": { @@ -1593,8 +1604,8 @@ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "dev": true, "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" + "prelude-ls": "1.1.2", + "type-check": "0.3.2" } }, "lodash": { @@ -1612,7 +1623,7 @@ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "requires": { - "yallist": "^4.0.0" + "yallist": "4.0.0" } }, "magnet-uri": { @@ -1620,8 +1631,8 @@ "resolved": "https://registry.npmjs.org/magnet-uri/-/magnet-uri-6.2.0.tgz", "integrity": "sha512-O9AgdDwT771fnUj0giPYu/rACpz8173y8UXCSOdLITjOVfBenZ9H9q3FqQmveK+ORUMuD+BkKNSZP8C3+IMAKQ==", "requires": { - "bep53-range": "^1.1.0", - "thirty-two": "^1.0.2" + "bep53-range": "1.1.1", + "thirty-two": "1.0.2" } }, "media-typer": { @@ -1674,7 +1685,7 @@ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.11" } }, "minimist": { @@ -1700,7 +1711,7 @@ "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.28.tgz", "integrity": "sha512-TDJkZvAyKIVWg5EtVqRzU97w0Rb0YVbfpqyjgu6GwXCAohVRqwZjf4fOzDE6p1Ch98Sro/8hQQi65WDXW5STPw==", "requires": { - "moment": ">= 2.9.0" + "moment": "2.24.0" } }, "mongodb": { @@ -1708,12 +1719,12 @@ "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.6.10.tgz", "integrity": "sha512-fvIBQBF7KwCJnDZUnFFy4WqEFP8ibdXeFANnylW19+vOwdjOAvqIzPdsNCEMT6VKTHnYu4K64AWRih0mkFms6Q==", "requires": { - "bl": "^2.2.1", - "bson": "^1.1.4", - "denque": "^1.4.1", - "optional-require": "^1.0.3", - "safe-buffer": "^5.1.2", - "saslprep": "^1.0.0" + "bl": "2.2.1", + "bson": "1.1.6", + "denque": "1.5.1", + "optional-require": "1.1.7", + "safe-buffer": "5.2.0", + "saslprep": "1.0.3" } }, "ms": { @@ -1737,31 +1748,6 @@ "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "dev": true }, - "needle": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/needle/-/needle-2.3.3.tgz", - "integrity": "sha512-EkY0GeSq87rWp1hoq/sH/wnTWgFVhYlnIkbJ0YJFfRgEFlz2RraCjBpFQ+vrEgEdp0ThfyHADmkChEhcb7PKyw==", - "requires": { - "debug": "^3.2.6", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, "negotiator": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", @@ -1812,7 +1798,7 @@ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "onetime": { @@ -1820,7 +1806,7 @@ "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", "requires": { - "mimic-fn": "^1.0.0" + "mimic-fn": "1.2.0" } }, "opn": { @@ -1828,7 +1814,7 @@ "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", "requires": { - "is-wsl": "^1.1.0" + "is-wsl": "1.1.0" } }, "optional-require": { @@ -1836,7 +1822,7 @@ "resolved": "https://registry.npmjs.org/optional-require/-/optional-require-1.1.7.tgz", "integrity": "sha512-cIeRZocXsZnZYn+SevbtSqNlLbeoS4mLzuNn4fvXRMDRNhTGg0sxuKXl0FnZCtnew85LorNxIbZp5OeliILhMw==", "requires": { - "require-at": "^1.0.6" + "require-at": "1.0.6" } }, "optionator": { @@ -1845,12 +1831,12 @@ "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", "dev": true, "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" + "deep-is": "0.1.3", + "fast-levenshtein": "2.0.6", + "levn": "0.3.0", + "prelude-ls": "1.1.2", + "type-check": "0.3.2", + "word-wrap": "1.2.3" } }, "os-tmpdir": { @@ -1869,14 +1855,13 @@ "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, "requires": { - "callsites": "^3.0.0" + "callsites": "3.1.0" } }, "parse-torrent-title": { "version": "git://github.com/TheBeastLT/parse-torrent-title.git#8fd87b3bfc7aa04143edcd4f0112868bb77dce0f", - "from": "git://github.com/TheBeastLT/parse-torrent-title.git#8fd87b3bfc7aa04143edcd4f0112868bb77dce0f", "requires": { - "moment": "^2.24.0" + "moment": "2.24.0" } }, "parseurl": { @@ -1919,11 +1904,11 @@ "requires": { "buffer-writer": "2.0.0", "packet-reader": "1.0.0", - "pg-connection-string": "^2.5.0", - "pg-pool": "^3.4.1", - "pg-protocol": "^1.5.0", - "pg-types": "^2.1.0", - "pgpass": "1.x" + "pg-connection-string": "2.5.0", + "pg-pool": "3.4.1", + "pg-protocol": "1.5.0", + "pg-types": "2.2.0", + "pgpass": "1.0.4" } }, "pg-connection-string": { @@ -1936,7 +1921,7 @@ "resolved": "https://registry.npmjs.org/pg-hstore/-/pg-hstore-2.3.4.tgz", "integrity": "sha512-N3SGs/Rf+xA1M2/n0JBiXFDVMzdekwLZLAO0g7mpDY9ouX+fDI7jS6kTq3JujmYbtNSJ53TJ0q4G98KVZSM4EA==", "requires": { - "underscore": "^1.13.1" + "underscore": "1.13.1" } }, "pg-int8": { @@ -1960,10 +1945,10 @@ "integrity": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==", "requires": { "pg-int8": "1.0.1", - "postgres-array": "~2.0.0", - "postgres-bytea": "~1.0.0", - "postgres-date": "~1.0.4", - "postgres-interval": "^1.1.0" + "postgres-array": "2.0.0", + "postgres-bytea": "1.0.0", + "postgres-date": "1.0.7", + "postgres-interval": "1.2.0" } }, "pgpass": { @@ -1971,7 +1956,7 @@ "resolved": "https://registry.npmjs.org/pgpass/-/pgpass-1.0.4.tgz", "integrity": "sha512-YmuA56alyBq7M59vxVBfPJrGSozru8QAdoNlWuW3cz8l+UX3cWge0vTvjKhsSHSJpo3Bom8/Mm6hf0TR5GY0+w==", "requires": { - "split2": "^3.1.1" + "split2": "3.2.2" } }, "postgres-array": { @@ -1994,7 +1979,7 @@ "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz", "integrity": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==", "requires": { - "xtend": "^4.0.0" + "xtend": "4.0.2" } }, "prelude-ls": { @@ -2008,7 +1993,7 @@ "resolved": "https://registry.npmjs.org/premiumize-api/-/premiumize-api-1.0.3.tgz", "integrity": "sha512-WwJhgmwrKrFFtfjU2EMAaYv602xbe52oaGEwVJXO3z0LZQZ8Cogk9MBADcT0hrFf8MuI7zn5cPMxcJRJPr9cMQ==", "requires": { - "request": "^2.83.0" + "request": "2.88.2" } }, "process-nextick-args": { @@ -2027,7 +2012,7 @@ "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", "requires": { - "forwarded": "~0.1.2", + "forwarded": "0.1.2", "ipaddr.js": "1.9.1" } }, @@ -2072,13 +2057,13 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "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" + "core-util-is": "1.0.2", + "inherits": "2.0.4", + "isarray": "1.0.0", + "process-nextick-args": "2.0.1", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" }, "dependencies": { "safe-buffer": { @@ -2090,9 +2075,8 @@ }, "real-debrid-api": { "version": "git://github.com/TheBeastLT/node-real-debrid.git#874f150f4c0b6ea5c67535c82b47f75ad96e50b8", - "from": "git://github.com/TheBeastLT/node-real-debrid.git#874f150f4c0b6ea5c67535c82b47f75ad96e50b8", "requires": { - "request": "^2.83.0" + "request": "2.88.2" } }, "regexpp": { @@ -2106,26 +2090,26 @@ "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" + "aws-sign2": "0.7.0", + "aws4": "1.9.1", + "caseless": "0.12.0", + "combined-stream": "1.0.8", + "extend": "3.0.2", + "forever-agent": "0.6.1", + "form-data": "2.3.3", + "har-validator": "5.1.3", + "http-signature": "1.2.0", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.26", + "oauth-sign": "0.9.0", + "performance-now": "2.1.0", + "qs": "6.5.2", + "safe-buffer": "5.2.0", + "tough-cookie": "2.5.0", + "tunnel-agent": "0.6.0", + "uuid": "3.4.0" }, "dependencies": { "qs": { @@ -2140,7 +2124,7 @@ "resolved": "https://registry.npmjs.org/request-ip/-/request-ip-2.1.3.tgz", "integrity": "sha512-J3qdE/IhVM3BXkwMIVO4yFrvhJlU3H7JH16+6yHucadT4fePnR8dyh+vEs6FIx0S2x5TCt2ptiPfHcn0sqhbYQ==", "requires": { - "is_js": "^0.9.0" + "is_js": "0.9.0" } }, "require-at": { @@ -2154,7 +2138,7 @@ "integrity": "sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w==", "dev": true, "requires": { - "path-parse": "^1.0.6" + "path-parse": "1.0.7" } }, "restore-cursor": { @@ -2162,8 +2146,8 @@ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" + "onetime": "2.0.1", + "signal-exit": "3.0.2" } }, "retry-as-promised": { @@ -2171,8 +2155,8 @@ "resolved": "https://registry.npmjs.org/retry-as-promised/-/retry-as-promised-2.3.2.tgz", "integrity": "sha1-zZdO5P2bX+A8vzGHHuSCIcB3N7c=", "requires": { - "bluebird": "^3.4.6", - "debug": "^2.6.9" + "bluebird": "3.7.2", + "debug": "2.6.9" } }, "rimraf": { @@ -2181,7 +2165,7 @@ "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", "dev": true, "requires": { - "glob": "^7.1.3" + "glob": "7.1.6" } }, "router": { @@ -2191,8 +2175,8 @@ "requires": { "array-flatten": "3.0.0", "debug": "2.6.9", - "methods": "~1.1.2", - "parseurl": "~1.3.3", + "methods": "1.1.2", + "parseurl": "1.3.3", "path-to-regexp": "0.1.7", "setprototypeof": "1.2.0", "utils-merge": "1.0.1" @@ -2215,7 +2199,7 @@ "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.0.tgz", "integrity": "sha512-xJTbh/d7Lm7SBhc1tNvTpeCHaEzoyxPrqNlvSdMfBTYwaY++UJFyXUOxAtsRUXjlqOfj8luNaR9vjCh4KeV+pg==", "requires": { - "is-promise": "^2.1.0" + "is-promise": "2.1.0" } }, "rxjs": { @@ -2223,7 +2207,7 @@ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", "requires": { - "tslib": "^1.9.0" + "tslib": "1.11.1" } }, "safe-buffer": { @@ -2242,14 +2226,9 @@ "integrity": "sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==", "optional": true, "requires": { - "sparse-bitfield": "^3.0.3" + "sparse-bitfield": "3.0.3" } }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" - }, "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", @@ -2261,18 +2240,18 @@ "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", "requires": { "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", + "depd": "1.1.2", + "destroy": "1.0.4", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "etag": "1.8.1", "fresh": "0.5.2", - "http-errors": "~1.7.2", + "http-errors": "1.7.2", "mime": "1.6.0", "ms": "2.1.1", - "on-finished": "~2.3.0", - "range-parser": "~1.2.1", - "statuses": "~1.5.0" + "on-finished": "2.3.0", + "range-parser": "1.2.1", + "statuses": "1.5.0" }, "dependencies": { "ms": { @@ -2287,23 +2266,23 @@ "resolved": "https://registry.npmjs.org/sequelize/-/sequelize-4.44.4.tgz", "integrity": "sha512-nkHmYkbwQK7uwpgW9VBalCBnQqQ8mslTdgcBthtJLORuPvAYRPlfkXZMVUU9TLLJt9CX+/y0MYg0DpcP6ywsEQ==", "requires": { - "bluebird": "^3.5.0", - "cls-bluebird": "^2.1.0", - "debug": "^3.1.0", - "depd": "^1.1.0", - "dottie": "^2.0.0", + "bluebird": "3.7.2", + "cls-bluebird": "2.1.0", + "debug": "3.2.6", + "depd": "1.1.2", + "dottie": "2.0.2", "generic-pool": "3.5.0", "inflection": "1.12.0", - "lodash": "^4.17.1", - "moment": "^2.20.0", - "moment-timezone": "^0.5.14", - "retry-as-promised": "^2.3.2", - "semver": "^5.5.0", - "terraformer-wkt-parser": "^1.1.2", - "toposort-class": "^1.0.1", - "uuid": "^3.2.1", - "validator": "^10.4.0", - "wkx": "^0.4.1" + "lodash": "4.17.21", + "moment": "2.24.0", + "moment-timezone": "0.5.28", + "retry-as-promised": "2.3.2", + "semver": "5.7.1", + "terraformer-wkt-parser": "1.2.1", + "toposort-class": "1.0.1", + "uuid": "3.4.0", + "validator": "10.11.0", + "wkx": "0.4.8" }, "dependencies": { "debug": { @@ -2311,7 +2290,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, "ms": { @@ -2326,9 +2305,9 @@ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "parseurl": "1.3.3", "send": "0.17.1" } }, @@ -2343,7 +2322,7 @@ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { - "shebang-regex": "^1.0.0" + "shebang-regex": "1.0.0" } }, "shebang-regex": { @@ -2362,9 +2341,9 @@ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" + "call-bind": "1.0.2", + "get-intrinsic": "1.1.1", + "object-inspect": "1.10.3" } }, "signal-exit": { @@ -2378,9 +2357,9 @@ "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" + "ansi-styles": "3.2.1", + "astral-regex": "1.0.0", + "is-fullwidth-code-point": "2.0.0" } }, "sparse-bitfield": { @@ -2389,7 +2368,7 @@ "integrity": "sha1-/0rm5oZWBWuks+eSqzM004JzyhE=", "optional": true, "requires": { - "memory-pager": "^1.0.2" + "memory-pager": "1.5.0" } }, "split2": { @@ -2397,7 +2376,7 @@ "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", "requires": { - "readable-stream": "^3.0.0" + "readable-stream": "3.6.0" }, "dependencies": { "readable-stream": { @@ -2405,9 +2384,9 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "inherits": "2.0.4", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" } } } @@ -2423,15 +2402,15 @@ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" + "asn1": "0.2.4", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.2", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.2", + "getpass": "0.1.7", + "jsbn": "0.1.1", + "safer-buffer": "2.1.2", + "tweetnacl": "0.14.5" } }, "statuses": { @@ -2444,7 +2423,7 @@ "resolved": "https://registry.npmjs.org/stremio-addon-linter/-/stremio-addon-linter-1.7.0.tgz", "integrity": "sha512-ck1L1Wp2qvAhvXLj+4Lq1XRn8K3r2gx1i/f+e1W6K0+Et/oIYYDmaIVoh3SvExiNbCBcbJjH9WWEeDYKoqaMqQ==", "requires": { - "semver": "^5.5.0" + "semver": "5.7.1" } }, "stremio-addon-sdk": { @@ -2452,15 +2431,15 @@ "resolved": "https://registry.npmjs.org/stremio-addon-sdk/-/stremio-addon-sdk-1.6.1.tgz", "integrity": "sha512-PGKrjDclgt/jaHxGbMKQNdLKn4PKCOcWRPz9I7G5eSin9hE1PNqho3PYMmI0Z6SigGdnfue4XUIuXWIfVjPH2g==", "requires": { - "chalk": "^2.4.2", - "cors": "^2.8.4", - "express": "^4.16.3", - "inquirer": "^6.2.2", - "mkdirp": "^0.5.1", - "node-fetch": "^2.3.0", - "opn": "^5.4.0", - "router": "^1.3.3", - "stremio-addon-linter": "^1.7.0" + "chalk": "2.4.2", + "cors": "2.8.5", + "express": "4.17.1", + "inquirer": "6.5.2", + "mkdirp": "0.5.1", + "node-fetch": "2.6.1", + "opn": "5.5.0", + "router": "1.3.4", + "stremio-addon-linter": "1.7.0" } }, "string-width": { @@ -2468,8 +2447,8 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" }, "dependencies": { "strip-ansi": { @@ -2477,7 +2456,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -2487,7 +2466,7 @@ "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" + "safe-buffer": "5.1.2" }, "dependencies": { "safe-buffer": { @@ -2502,7 +2481,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "requires": { - "ansi-regex": "^4.1.0" + "ansi-regex": "4.1.0" }, "dependencies": { "ansi-regex": { @@ -2523,7 +2502,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } }, "table": { @@ -2532,10 +2511,10 @@ "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", "dev": true, "requires": { - "ajv": "^6.10.2", - "lodash": "^4.17.14", - "slice-ansi": "^2.1.0", - "string-width": "^3.0.0" + "ajv": "6.12.0", + "lodash": "4.17.21", + "slice-ansi": "2.1.0", + "string-width": "3.1.0" }, "dependencies": { "emoji-regex": { @@ -2550,9 +2529,9 @@ "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "dev": true, "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" + "emoji-regex": "7.0.3", + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "5.2.0" } } } @@ -2562,7 +2541,7 @@ "resolved": "https://registry.npmjs.org/terraformer/-/terraformer-1.0.10.tgz", "integrity": "sha512-5c6cAfKTZHAeRdT8sIRRidhN1w+vsmf3RmQn+PKksFhTUnsBtjQdbJG2vaxM6T47IU2EeR1S8t8UjTYY9Q1yJA==", "requires": { - "@types/geojson": "^7946.0.0 || ^1.0.0" + "@types/geojson": "1.0.6" } }, "terraformer-wkt-parser": { @@ -2570,8 +2549,8 @@ "resolved": "https://registry.npmjs.org/terraformer-wkt-parser/-/terraformer-wkt-parser-1.2.1.tgz", "integrity": "sha512-+CJyNLWb3lJ9RsZMTM66BY0MT3yIo4l4l22Jd9CrZuwzk54fsu4Sc7zejuS9fCITTuTQy3p06d4MZMVI7v5wSg==", "requires": { - "@types/geojson": "^1.0.0", - "terraformer": "~1.0.5" + "@types/geojson": "1.0.6", + "terraformer": "1.0.10" } }, "text-table": { @@ -2595,7 +2574,7 @@ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "requires": { - "os-tmpdir": "~1.0.2" + "os-tmpdir": "1.0.2" } }, "toidentifier": { @@ -2613,8 +2592,8 @@ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" + "psl": "1.8.0", + "punycode": "2.1.1" } }, "tslib": { @@ -2627,7 +2606,7 @@ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "requires": { - "safe-buffer": "^5.0.1" + "safe-buffer": "5.2.0" } }, "tweetnacl": { @@ -2646,7 +2625,7 @@ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "dev": true, "requires": { - "prelude-ls": "~1.1.2" + "prelude-ls": "1.1.2" } }, "type-fest": { @@ -2661,7 +2640,7 @@ "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "requires": { "media-typer": "0.3.0", - "mime-types": "~2.1.24" + "mime-types": "2.1.26" } }, "underscore": { @@ -2674,7 +2653,7 @@ "resolved": "https://registry.npmjs.org/underscore-keypath/-/underscore-keypath-0.0.22.tgz", "integrity": "sha1-SKUoOSu278QkvhyqVtpLX6zPJk0=", "requires": { - "underscore": "*" + "underscore": "1.13.1" } }, "unpipe": { @@ -2687,7 +2666,7 @@ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", "requires": { - "punycode": "^2.1.0" + "punycode": "2.1.1" } }, "urijs": { @@ -2700,8 +2679,8 @@ "resolved": "https://registry.npmjs.org/user-agents/-/user-agents-1.0.559.tgz", "integrity": "sha512-HdAlNS3vDxOGMRwmv8or05xL96MV3CEwQhUSFTCRoOvTOEnWhTEBPAHRry/xZpVTTOtx77UHMal8YKcx6fs7Lg==", "requires": { - "dot-json": "^1.2.0", - "lodash.clonedeep": "^4.5.0" + "dot-json": "1.2.0", + "lodash.clonedeep": "4.5.0" } }, "util-deprecate": { @@ -2740,9 +2719,9 @@ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "requires": { - "assert-plus": "^1.0.0", + "assert-plus": "1.0.0", "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" + "extsprintf": "1.3.0" } }, "which": { @@ -2751,7 +2730,7 @@ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "requires": { - "isexe": "^2.0.0" + "isexe": "2.0.0" } }, "wkx": { @@ -2759,7 +2738,7 @@ "resolved": "https://registry.npmjs.org/wkx/-/wkx-0.4.8.tgz", "integrity": "sha512-ikPXMM9IR/gy/LwiOSqWlSL3X/J5uk9EO2hHNRXS41eTLXaUFEVw9fn/593jW/tE5tedNg8YjT5HkCa4FqQZyQ==", "requires": { - "@types/node": "*" + "@types/node": "13.9.0" } }, "word-wrap": { @@ -2780,7 +2759,7 @@ "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", "dev": true, "requires": { - "mkdirp": "^0.5.1" + "mkdirp": "0.5.1" } }, "xtend": { diff --git a/addon/package.json b/addon/package.json index 675c5d8..d569ca2 100644 --- a/addon/package.json +++ b/addon/package.json @@ -10,6 +10,7 @@ "dependencies": { "@putdotio/api-client": "^8.16.0", "all-debrid-api": "^1.1.0", + "axios": "^0.21.4", "bottleneck": "^2.19.5", "cache-manager": "^3.4.4", "cache-manager-mongodb": "^0.3.0", @@ -18,7 +19,6 @@ "https-proxy-agent": "^5.0.0", "magnet-uri": "^6.2.0", "named-queue": "^2.2.1", - "needle": "^2.2.4", "parse-torrent-title": "git://github.com/TheBeastLT/parse-torrent-title.git#8fd87b3bfc7aa04143edcd4f0112868bb77dce0f", "pg": "^8.7.1", "pg-hstore": "^2.3.4", diff --git a/package-lock.json b/package-lock.json index f927412..0c087fe 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", "requires": { - "mime-types": "~2.1.18", + "mime-types": "2.1.22", "negotiator": "0.6.1" } }, @@ -28,10 +28,10 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==", "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "fast-deep-equal": "2.0.1", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.4.1", + "uri-js": "4.2.2" } }, "ansi-regex": { @@ -44,7 +44,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "requires": { - "color-convert": "^2.0.1" + "color-convert": "2.0.1" } }, "any-promise": { @@ -67,7 +67,7 @@ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", "requires": { - "safer-buffer": "~2.1.0" + "safer-buffer": "2.1.2" } }, "assert-plus": { @@ -100,7 +100,7 @@ "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", "requires": { - "follow-redirects": "^1.14.0" + "follow-redirects": "1.14.4" } }, "balanced-match": { @@ -118,7 +118,7 @@ "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "requires": { - "tweetnacl": "^0.14.3" + "tweetnacl": "0.14.5" } }, "bencode": { @@ -141,13 +141,13 @@ "resolved": "https://registry.npmjs.org/bittorrent-dht/-/bittorrent-dht-6.4.2.tgz", "integrity": "sha1-i0D4zua+qH8rNP0q4L02eosSR6Y=", "requires": { - "bencode": "^0.7.0", - "buffer-equals": "^1.0.3", - "debug": "^2.2.0", - "inherits": "^2.0.1", - "k-bucket": "^0.6.0", - "k-rpc": "^3.6.0", - "lru": "^2.0.0" + "bencode": "0.7.0", + "buffer-equals": "1.0.4", + "debug": "2.6.9", + "inherits": "2.0.3", + "k-bucket": "0.6.0", + "k-rpc": "3.7.0", + "lru": "2.0.1" }, "dependencies": { "bencode": { @@ -168,7 +168,7 @@ "resolved": "https://registry.npmjs.org/lru/-/lru-2.0.1.tgz", "integrity": "sha1-+XmHHhYuP1yiVL5GhExT1MU2RUQ=", "requires": { - "inherits": "^2.0.1" + "inherits": "2.0.3" } }, "ms": { @@ -188,31 +188,31 @@ "resolved": "https://registry.npmjs.org/bittorrent-tracker/-/bittorrent-tracker-9.18.2.tgz", "integrity": "sha512-r4v+gIi/aQP4h0rvx7WVjnEFvu7Vw2ePPFzoyQjdPfyoJaV/JTdD3kFTZBaVO/Egj5y2O2Y+bTCdPIgD2MzT+A==", "requires": { - "bencode": "^2.0.1", - "bittorrent-peerid": "^1.3.3", - "bn.js": "^5.2.0", - "bufferutil": "^4.0.3", - "chrome-dgram": "^3.0.6", - "clone": "^1.0.2", - "compact2string": "^1.4.1", - "debug": "^4.1.1", - "ip": "^1.1.5", - "lru": "^3.1.0", - "minimist": "^1.2.5", - "once": "^1.4.0", - "queue-microtask": "^1.2.3", - "random-iterate": "^1.0.1", - "randombytes": "^2.1.0", - "run-parallel": "^1.2.0", - "run-series": "^1.1.9", - "simple-get": "^4.0.0", - "simple-peer": "^9.11.0", - "simple-websocket": "^9.1.0", - "socks": "^2.0.0", - "string2compact": "^1.3.0", - "unordered-array-remove": "^1.0.2", - "utf-8-validate": "^5.0.5", - "ws": "^7.4.5" + "bencode": "2.0.2", + "bittorrent-peerid": "1.3.4", + "bn.js": "5.2.0", + "bufferutil": "4.0.3", + "chrome-dgram": "3.0.6", + "clone": "1.0.4", + "compact2string": "1.4.1", + "debug": "4.1.1", + "ip": "1.1.5", + "lru": "3.1.0", + "minimist": "1.2.5", + "once": "1.4.0", + "queue-microtask": "1.2.3", + "random-iterate": "1.0.1", + "randombytes": "2.1.0", + "run-parallel": "1.2.0", + "run-series": "1.1.9", + "simple-get": "4.0.0", + "simple-peer": "9.11.0", + "simple-websocket": "9.1.0", + "socks": "2.6.1", + "string2compact": "1.3.2", + "unordered-array-remove": "1.0.2", + "utf-8-validate": "5.0.5", + "ws": "7.5.5" }, "dependencies": { "once": { @@ -220,7 +220,7 @@ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } } } @@ -230,8 +230,8 @@ "resolved": "https://registry.npmjs.org/bl/-/bl-2.2.1.tgz", "integrity": "sha512-6Pesp1w0DEX1N550i/uGV/TqucVL4AM/pgThFSN/Qq9si1/DF9aIHs1BxD8V/QU0HoeHO6cQRTAuYnLPKq1e4g==", "requires": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" + "readable-stream": "2.3.7", + "safe-buffer": "5.1.2" }, "dependencies": { "isarray": { @@ -244,13 +244,13 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "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" + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.1", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" } }, "string_decoder": { @@ -258,7 +258,7 @@ "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" + "safe-buffer": "5.1.2" } } } @@ -289,15 +289,15 @@ "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=", "requires": { "bytes": "3.0.0", - "content-type": "~1.0.4", + "content-type": "1.0.4", "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "~1.6.3", + "depd": "1.1.2", + "http-errors": "1.6.3", "iconv-lite": "0.4.23", - "on-finished": "~2.3.0", + "on-finished": "2.3.0", "qs": "6.5.2", "raw-body": "2.3.3", - "type-is": "~1.6.16" + "type-is": "1.6.16" }, "dependencies": { "debug": { @@ -313,7 +313,7 @@ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "safer-buffer": "2.1.2" } }, "ms": { @@ -338,7 +338,7 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { - "balanced-match": "^1.0.0", + "balanced-match": "1.0.2", "concat-map": "0.0.1" } }, @@ -352,8 +352,8 @@ "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" + "base64-js": "1.5.1", + "ieee754": "1.2.1" } }, "buffer-alloc": { @@ -361,8 +361,8 @@ "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", "requires": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" + "buffer-alloc-unsafe": "1.1.0", + "buffer-fill": "1.0.0" } }, "buffer-alloc-unsafe": { @@ -401,7 +401,7 @@ "integrity": "sha512-yEYTwGndELGvfXsImMBLop58eaGW+YdONi1fNjTINSY98tmMmFijBG6WXgdkfuLNt4imzQNtIE+eBp1PVpMCSw==", "optional": true, "requires": { - "node-gyp-build": "^4.2.0" + "node-gyp-build": "4.3.0" } }, "bytes": { @@ -415,7 +415,7 @@ "integrity": "sha512-oayy7ukJqNlRUYNUfQBwGOLilL0X5q7GpuaF19Yqwo6qdx49OoTZKRIF5qbbr+Ru8mlTvOpvnMvVq6vw72pOPg==", "requires": { "async": "3.2.0", - "lodash": "^4.17.21", + "lodash": "4.17.21", "lru-cache": "6.0.0" }, "dependencies": { @@ -436,10 +436,10 @@ "resolved": "https://registry.npmjs.org/cache-manager-mongodb/-/cache-manager-mongodb-0.3.0.tgz", "integrity": "sha512-r+piWvu8XD8ceBWflZBEQZKemksoaL1V5zSHWyviVTXiGBSVQAf18b4S1v5UwGZMJnrMk8YNFgpBlugF0nuhvg==", "requires": { - "bluebird": "^3.5.3", - "cache-manager": "^2.9.0", - "lodash": "^4.17.15", - "mongodb": "^3.6.3" + "bluebird": "3.5.3", + "cache-manager": "2.11.1", + "lodash": "4.17.15", + "mongodb": "3.6.10" }, "dependencies": { "async": { @@ -462,8 +462,8 @@ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.0.tgz", "integrity": "sha1-tcvwFVbBaWb+vlTO7A+03JDfbCg=", "requires": { - "pseudomap": "^1.0.1", - "yallist": "^2.0.0" + "pseudomap": "1.0.2", + "yallist": "2.1.2" } }, "yallist": { @@ -483,8 +483,8 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "ansi-styles": "4.3.0", + "supports-color": "7.2.0" } }, "cheerio": { @@ -492,22 +492,22 @@ "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.22.0.tgz", "integrity": "sha1-qbqoYKP5tZWmuBsahocxIe06Jp4=", "requires": { - "css-select": "~1.2.0", - "dom-serializer": "~0.1.0", - "entities": "~1.1.1", - "htmlparser2": "^3.9.1", - "lodash.assignin": "^4.0.9", - "lodash.bind": "^4.1.4", - "lodash.defaults": "^4.0.1", - "lodash.filter": "^4.4.0", - "lodash.flatten": "^4.2.0", - "lodash.foreach": "^4.3.0", - "lodash.map": "^4.4.0", - "lodash.merge": "^4.4.0", - "lodash.pick": "^4.2.1", - "lodash.reduce": "^4.4.0", - "lodash.reject": "^4.4.0", - "lodash.some": "^4.4.0" + "css-select": "1.2.0", + "dom-serializer": "0.1.1", + "entities": "1.1.2", + "htmlparser2": "3.10.1", + "lodash.assignin": "4.2.0", + "lodash.bind": "4.2.1", + "lodash.defaults": "4.2.0", + "lodash.filter": "4.6.0", + "lodash.flatten": "4.4.0", + "lodash.foreach": "4.5.0", + "lodash.map": "4.6.0", + "lodash.merge": "4.6.2", + "lodash.pick": "4.4.0", + "lodash.reduce": "4.6.0", + "lodash.reject": "4.6.0", + "lodash.some": "4.6.0" } }, "cheerio-select": { @@ -515,11 +515,11 @@ "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-1.5.0.tgz", "integrity": "sha512-qocaHPv5ypefh6YNxvnbABM07KMxExbtbfuJoIie3iZXX1ERwYmJcIiRrr9H05ucQP1k28dav8rpdDgjQd8drg==", "requires": { - "css-select": "^4.1.3", - "css-what": "^5.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0", - "domutils": "^2.7.0" + "css-select": "4.1.3", + "css-what": "5.0.1", + "domelementtype": "2.2.0", + "domhandler": "4.2.2", + "domutils": "2.8.0" }, "dependencies": { "css-select": { @@ -527,11 +527,11 @@ "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz", "integrity": "sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==", "requires": { - "boolbase": "^1.0.0", - "css-what": "^5.0.0", - "domhandler": "^4.2.0", - "domutils": "^2.6.0", - "nth-check": "^2.0.0" + "boolbase": "1.0.0", + "css-what": "5.0.1", + "domhandler": "4.2.2", + "domutils": "2.8.0", + "nth-check": "2.0.0" } }, "css-what": { @@ -544,9 +544,9 @@ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" + "domelementtype": "2.2.0", + "domhandler": "4.2.2", + "entities": "2.2.0" } }, "domelementtype": { @@ -559,7 +559,7 @@ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.2.tgz", "integrity": "sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==", "requires": { - "domelementtype": "^2.2.0" + "domelementtype": "2.2.0" } }, "domutils": { @@ -567,9 +567,9 @@ "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", "requires": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" + "dom-serializer": "1.3.2", + "domelementtype": "2.2.0", + "domhandler": "4.2.2" } }, "entities": { @@ -582,7 +582,7 @@ "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.0.tgz", "integrity": "sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==", "requires": { - "boolbase": "^1.0.0" + "boolbase": "1.0.0" } } } @@ -592,8 +592,8 @@ "resolved": "https://registry.npmjs.org/chrome-dgram/-/chrome-dgram-3.0.6.tgz", "integrity": "sha512-bqBsUuaOiXiqxXt/zA/jukNJJ4oaOtc7ciwqJpZVEaaXwwxqgI2/ZdG02vXYWUhHGziDlvGMQWk0qObgJwVYKA==", "requires": { - "inherits": "^2.0.4", - "run-series": "^1.1.9" + "inherits": "2.0.4", + "run-series": "1.1.9" }, "dependencies": { "inherits": { @@ -608,7 +608,7 @@ "resolved": "https://registry.npmjs.org/chrome-dns/-/chrome-dns-1.0.1.tgz", "integrity": "sha512-HqsYJgIc8ljJJOqOzLphjAs79EUuWSX3nzZi2LNkzlw3GIzAeZbaSektC8iT/tKvLqZq8yl1GJu5o6doA4TRbg==", "requires": { - "chrome-net": "^3.3.2" + "chrome-net": "3.3.4" } }, "chrome-net": { @@ -616,7 +616,7 @@ "resolved": "https://registry.npmjs.org/chrome-net/-/chrome-net-3.3.4.tgz", "integrity": "sha512-Jzy2EnzmE+ligqIZUsmWnck9RBXLuUy6CaKyuNMtowFG3ZvLt8d+WBJCTPEludV0DHpIKjAOlwjFmTaEdfdWCw==", "requires": { - "inherits": "^2.0.1" + "inherits": "2.0.3" } }, "cli-cursor": { @@ -624,7 +624,7 @@ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", "requires": { - "restore-cursor": "^3.1.0" + "restore-cursor": "3.1.0" } }, "cli-spinners": { @@ -642,8 +642,8 @@ "resolved": "https://registry.npmjs.org/cls-bluebird/-/cls-bluebird-2.1.0.tgz", "integrity": "sha1-N+8eCAqP+1XC9BZPU28ZGeeWiu4=", "requires": { - "is-bluebird": "^1.0.2", - "shimmer": "^1.1.0" + "is-bluebird": "1.0.2", + "shimmer": "1.2.1" } }, "color-convert": { @@ -651,7 +651,7 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "requires": { - "color-name": "~1.1.4" + "color-name": "1.1.4" } }, "color-name": { @@ -669,7 +669,7 @@ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz", "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", "requires": { - "delayed-stream": "~1.0.0" + "delayed-stream": "1.0.0" } }, "command-line-args": { @@ -677,10 +677,10 @@ "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.0.tgz", "integrity": "sha512-4zqtU1hYsSJzcJBOcNZIbW5Fbk9BkjCp1pZVhQKoRaWL5J7N4XphDLwo8aWwdQpTugxwu+jf9u2ZhkXiqp5Z6A==", "requires": { - "array-back": "^3.1.0", - "find-replace": "^3.0.0", - "lodash.camelcase": "^4.3.0", - "typical": "^4.0.0" + "array-back": "3.1.0", + "find-replace": "3.0.0", + "lodash.camelcase": "4.3.0", + "typical": "4.0.0" } }, "compact2string": { @@ -688,7 +688,7 @@ "resolved": "https://registry.npmjs.org/compact2string/-/compact2string-1.4.1.tgz", "integrity": "sha512-3D+EY5nsRhqnOwDxveBv5T8wGo4DEvYxjDtPGmdOX+gfr5gE92c2RC0w2wa+xEefm07QuVqqcF3nZJUZ92l/og==", "requires": { - "ipaddr.js": ">= 0.1.5" + "ipaddr.js": "2.0.1" } }, "concat-map": { @@ -726,8 +726,8 @@ "resolved": "https://registry.npmjs.org/cron-parser/-/cron-parser-2.13.0.tgz", "integrity": "sha512-UWeIpnRb0eyoWPVk+pD3TDpNx3KCFQeezO224oJIkktBrcW6RoAPOx5zIKprZGfk6vcYSmA8yQXItejSaDBhbQ==", "requires": { - "is-nan": "^1.2.1", - "moment-timezone": "^0.5.25" + "is-nan": "1.3.0", + "moment-timezone": "0.5.28" }, "dependencies": { "moment-timezone": { @@ -735,7 +735,7 @@ "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.28.tgz", "integrity": "sha512-TDJkZvAyKIVWg5EtVqRzU97w0Rb0YVbfpqyjgu6GwXCAohVRqwZjf4fOzDE6p1Ch98Sro/8hQQi65WDXW5STPw==", "requires": { - "moment": ">= 2.9.0" + "moment": "2.29.1" } } } @@ -745,10 +745,10 @@ "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", "requires": { - "boolbase": "~1.0.0", - "css-what": "2.1", + "boolbase": "1.0.0", + "css-what": "2.1.3", "domutils": "1.5.1", - "nth-check": "~1.0.1" + "nth-check": "1.0.2" } }, "css-what": { @@ -766,7 +766,7 @@ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "requires": { - "assert-plus": "^1.0.0" + "assert-plus": "1.0.0" } }, "debug": { @@ -774,7 +774,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, "decompress-response": { @@ -782,7 +782,7 @@ "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", "requires": { - "mimic-response": "^1.0.0" + "mimic-response": "1.0.1" } }, "defaults": { @@ -790,7 +790,7 @@ "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", "requires": { - "clone": "^1.0.2" + "clone": "1.0.4" } }, "define-properties": { @@ -798,7 +798,7 @@ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", "requires": { - "object-keys": "^1.0.12" + "object-keys": "1.1.1" } }, "delayed-stream": { @@ -841,8 +841,8 @@ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz", "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==", "requires": { - "domelementtype": "^1.3.0", - "entities": "^1.1.1" + "domelementtype": "1.3.1", + "entities": "1.1.2" } }, "domelementtype": { @@ -855,7 +855,7 @@ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", "requires": { - "domelementtype": "1" + "domelementtype": "1.3.1" } }, "domutils": { @@ -863,8 +863,8 @@ "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", "requires": { - "dom-serializer": "0", - "domelementtype": "1" + "dom-serializer": "0.1.1", + "domelementtype": "1.3.1" } }, "dot-json": { @@ -872,9 +872,9 @@ "resolved": "https://registry.npmjs.org/dot-json/-/dot-json-1.2.2.tgz", "integrity": "sha512-AKL+GsO4wSEU4LU+fAk/PqN4nQ6PB1vT3HpMiZous9xCzK5S0kh4DzfUY0EfU67jsIXLlu0ty71659N9Nmg+Tw==", "requires": { - "detect-indent": "~6.0.0", - "docopt": "~0.6.2", - "underscore-keypath": "~0.0.22" + "detect-indent": "6.0.0", + "docopt": "0.6.2", + "underscore-keypath": "0.0.22" } }, "dottie": { @@ -887,8 +887,8 @@ "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" + "jsbn": "0.1.1", + "safer-buffer": "2.1.2" } }, "ee-first": { @@ -906,7 +906,7 @@ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-0.1.5.tgz", "integrity": "sha1-jhdyBsPICDfYVjLouTWd/osvbq8=", "requires": { - "once": "~1.3.0" + "once": "1.3.3" } }, "entities": { @@ -939,36 +939,36 @@ "resolved": "https://registry.npmjs.org/express/-/express-4.16.4.tgz", "integrity": "sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg==", "requires": { - "accepts": "~1.3.5", + "accepts": "1.3.5", "array-flatten": "1.1.1", "body-parser": "1.18.3", "content-disposition": "0.5.2", - "content-type": "~1.0.4", + "content-type": "1.0.4", "cookie": "0.3.1", "cookie-signature": "1.0.6", "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", + "depd": "1.1.2", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "etag": "1.8.1", "finalhandler": "1.1.1", "fresh": "0.5.2", "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.2", + "methods": "1.1.2", + "on-finished": "2.3.0", + "parseurl": "1.3.2", "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.4", + "proxy-addr": "2.0.4", "qs": "6.5.2", - "range-parser": "~1.2.0", + "range-parser": "1.2.0", "safe-buffer": "5.1.2", "send": "0.16.2", "serve-static": "1.13.2", "setprototypeof": "1.1.0", - "statuses": "~1.4.0", - "type-is": "~1.6.16", + "statuses": "1.4.0", + "type-is": "1.6.16", "utils-merge": "1.0.1", - "vary": "~1.1.2" + "vary": "1.1.2" }, "dependencies": { "debug": { @@ -1017,12 +1017,12 @@ "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", "requires": { "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.2", - "statuses": "~1.4.0", - "unpipe": "~1.0.0" + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "on-finished": "2.3.0", + "parseurl": "1.3.2", + "statuses": "1.4.0", + "unpipe": "1.0.0" }, "dependencies": { "debug": { @@ -1045,7 +1045,7 @@ "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", "requires": { - "array-back": "^3.0.1" + "array-back": "3.1.0" } }, "flatten": { @@ -1068,9 +1068,9 @@ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" + "asynckit": "0.4.0", + "combined-stream": "1.0.7", + "mime-types": "2.1.22" } }, "forwarded": { @@ -1088,12 +1088,12 @@ "resolved": "https://registry.npmjs.org/fs-chunk-store/-/fs-chunk-store-1.7.0.tgz", "integrity": "sha512-KhjJmZAs2eqfhCb6PdPx4RcZtheGTz86tpTC5JTvqBn/xda+Nb+0C7dCyjOSN7T76H6a56LvH0SVXQMchLXDRw==", "requires": { - "mkdirp": "^0.5.1", - "random-access-file": "^2.0.1", - "randombytes": "^2.0.3", - "rimraf": "^2.4.2", - "run-parallel": "^1.1.2", - "thunky": "^1.0.1" + "mkdirp": "0.5.5", + "random-access-file": "2.2.0", + "randombytes": "2.1.0", + "rimraf": "2.7.1", + "run-parallel": "1.2.0", + "thunky": "1.1.0" }, "dependencies": { "mkdirp": { @@ -1101,7 +1101,7 @@ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", "requires": { - "minimist": "^1.2.5" + "minimist": "1.2.5" } } } @@ -1126,7 +1126,7 @@ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "requires": { - "assert-plus": "^1.0.0" + "assert-plus": "1.0.0" } }, "glob": { @@ -1134,12 +1134,12 @@ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.3.3", + "path-is-absolute": "1.0.1" } }, "google-it": { @@ -1147,11 +1147,11 @@ "resolved": "https://registry.npmjs.org/google-it/-/google-it-1.6.2.tgz", "integrity": "sha512-RyEqC3uDfeNsy8XMyZicVkn3Ena8NsUuWziBw2zi8+HB5MtoBvlal23Oc0mdTXFf4vB4dKn9//svCItIaTrtog==", "requires": { - "cheerio": "^1.0.0-rc.2", - "colors": "^1.4.0", - "command-line-args": "^5.0.0", - "ora": "^4.0.3", - "request": "^2.88.0" + "cheerio": "1.0.0-rc.10", + "colors": "1.4.0", + "command-line-args": "5.2.0", + "ora": "4.1.1", + "request": "2.88.0" }, "dependencies": { "cheerio": { @@ -1159,13 +1159,13 @@ "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.10.tgz", "integrity": "sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw==", "requires": { - "cheerio-select": "^1.5.0", - "dom-serializer": "^1.3.2", - "domhandler": "^4.2.0", - "htmlparser2": "^6.1.0", - "parse5": "^6.0.1", - "parse5-htmlparser2-tree-adapter": "^6.0.1", - "tslib": "^2.2.0" + "cheerio-select": "1.5.0", + "dom-serializer": "1.3.2", + "domhandler": "4.2.2", + "htmlparser2": "6.1.0", + "parse5": "6.0.1", + "parse5-htmlparser2-tree-adapter": "6.0.1", + "tslib": "2.3.1" } }, "dom-serializer": { @@ -1173,9 +1173,9 @@ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" + "domelementtype": "2.2.0", + "domhandler": "4.2.2", + "entities": "2.2.0" } }, "domelementtype": { @@ -1188,7 +1188,7 @@ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.2.tgz", "integrity": "sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==", "requires": { - "domelementtype": "^2.2.0" + "domelementtype": "2.2.0" } }, "domutils": { @@ -1196,9 +1196,9 @@ "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", "requires": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" + "dom-serializer": "1.3.2", + "domelementtype": "2.2.0", + "domhandler": "4.2.2" } }, "entities": { @@ -1211,10 +1211,10 @@ "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" + "domelementtype": "2.2.0", + "domhandler": "4.2.2", + "domutils": "2.8.0", + "entities": "2.2.0" } }, "parse5": { @@ -1229,9 +1229,9 @@ "resolved": "https://registry.npmjs.org/google-sr/-/google-sr-1.0.4.tgz", "integrity": "sha512-4xTaH/fZARZgmf6IXPbTSS4nYDqG5M6SkAL01j4re9tdX28heNEJ9PA5WtnyGXwMo9fBO2wxWNBRWfznsjPHbQ==", "requires": { - "cheerio": "^1.0.0-rc.10", - "node-fetch": "^2.6.1", - "querystring": "^0.2.1" + "cheerio": "1.0.0-rc.10", + "node-fetch": "2.6.2", + "querystring": "0.2.1" }, "dependencies": { "cheerio": { @@ -1239,13 +1239,13 @@ "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.10.tgz", "integrity": "sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw==", "requires": { - "cheerio-select": "^1.5.0", - "dom-serializer": "^1.3.2", - "domhandler": "^4.2.0", - "htmlparser2": "^6.1.0", - "parse5": "^6.0.1", - "parse5-htmlparser2-tree-adapter": "^6.0.1", - "tslib": "^2.2.0" + "cheerio-select": "1.5.0", + "dom-serializer": "1.3.2", + "domhandler": "4.2.2", + "htmlparser2": "6.1.0", + "parse5": "6.0.1", + "parse5-htmlparser2-tree-adapter": "6.0.1", + "tslib": "2.3.1" } }, "dom-serializer": { @@ -1253,9 +1253,9 @@ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" + "domelementtype": "2.2.0", + "domhandler": "4.2.2", + "entities": "2.2.0" } }, "domelementtype": { @@ -1268,7 +1268,7 @@ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.2.tgz", "integrity": "sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==", "requires": { - "domelementtype": "^2.2.0" + "domelementtype": "2.2.0" } }, "domutils": { @@ -1276,9 +1276,9 @@ "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", "requires": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" + "dom-serializer": "1.3.2", + "domelementtype": "2.2.0", + "domhandler": "4.2.2" } }, "entities": { @@ -1291,10 +1291,10 @@ "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" + "domelementtype": "2.2.0", + "domhandler": "4.2.2", + "domutils": "2.8.0", + "entities": "2.2.0" } }, "parse5": { @@ -1319,8 +1319,8 @@ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", "requires": { - "ajv": "^6.5.5", - "har-schema": "^2.0.0" + "ajv": "6.10.0", + "har-schema": "2.0.0" } }, "has-flag": { @@ -1343,12 +1343,12 @@ "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", "requires": { - "domelementtype": "^1.3.1", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^3.1.1" + "domelementtype": "1.3.1", + "domhandler": "2.4.2", + "domutils": "1.5.1", + "entities": "1.1.2", + "inherits": "2.0.3", + "readable-stream": "3.2.0" } }, "http": { @@ -1361,10 +1361,10 @@ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", "requires": { - "depd": "~1.1.2", + "depd": "1.1.2", "inherits": "2.0.3", "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" + "statuses": "1.4.0" } }, "http-signature": { @@ -1372,9 +1372,9 @@ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" + "assert-plus": "1.0.0", + "jsprim": "1.4.1", + "sshpk": "1.16.1" } }, "iconv-lite": { @@ -1382,7 +1382,7 @@ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "safer-buffer": "2.1.2" } }, "ieee754": { @@ -1405,8 +1405,8 @@ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.3.3", + "wrappy": "1.0.2" } }, "inherits": { @@ -1424,7 +1424,7 @@ "resolved": "https://registry.npmjs.org/ip-set/-/ip-set-1.0.2.tgz", "integrity": "sha512-Mb6kv78bTi4RNAIIWL8Bbre7hXOR2pNUi3j8FaQkLaitf/ZWxkq3/iIwXNYk2ACO3IMfdVdQrOkUtwZblO7uBA==", "requires": { - "ip": "^1.1.3" + "ip": "1.1.5" } }, "ipaddr.js": { @@ -1447,7 +1447,7 @@ "resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.3.0.tgz", "integrity": "sha512-z7bbREymOqt2CCaZVly8aC4ML3Xhfi0ekuOnjO2L8vKdl+CttdVoGZQhd4adMFAsxQ5VeRVwORs4tU8RH+HFtQ==", "requires": { - "define-properties": "^1.1.3" + "define-properties": "1.1.3" } }, "is-typedarray": { @@ -1507,7 +1507,7 @@ "integrity": "sha1-r8UyVF9p1GYpPoh7ANX8czd8Ors=", "requires": { "buffer-equal": "0.0.1", - "inherits": "^2.0.1" + "inherits": "2.0.3" } }, "k-rpc": { @@ -1515,9 +1515,9 @@ "resolved": "https://registry.npmjs.org/k-rpc/-/k-rpc-3.7.0.tgz", "integrity": "sha1-ZB+ZsoJb40tueYTyK3li3BqQbCM=", "requires": { - "buffer-equals": "^1.0.3", - "k-bucket": "^2.0.0", - "k-rpc-socket": "^1.5.0" + "buffer-equals": "1.0.4", + "k-bucket": "2.0.1", + "k-rpc-socket": "1.11.1" }, "dependencies": { "k-bucket": { @@ -1526,7 +1526,7 @@ "integrity": "sha1-WMzLJE9WMya6iTv1wGo19kSEbao=", "requires": { "buffer-equal": "0.0.1", - "randombytes": "^2.0.3" + "randombytes": "2.1.0" } } } @@ -1536,10 +1536,10 @@ "resolved": "https://registry.npmjs.org/k-rpc-socket/-/k-rpc-socket-1.11.1.tgz", "integrity": "sha512-8xtA8oqbZ6v1Niryp2/g4GxW16EQh5MvrUylQoOG+zcrDff5CKttON2XUXvMwlIHq4/2zfPVFiinAccJ+WhxoA==", "requires": { - "bencode": "^2.0.0", - "chrome-dgram": "^3.0.2", - "chrome-dns": "^1.0.0", - "chrome-net": "^3.3.2" + "bencode": "2.0.2", + "chrome-dgram": "3.0.6", + "chrome-dns": "1.0.1", + "chrome-net": "3.3.4" } }, "line-by-line": { @@ -1632,7 +1632,7 @@ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", "requires": { - "chalk": "^2.4.2" + "chalk": "2.4.2" }, "dependencies": { "ansi-styles": { @@ -1640,7 +1640,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.3" } }, "chalk": { @@ -1648,9 +1648,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "color-convert": { @@ -1676,7 +1676,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -1691,7 +1691,7 @@ "resolved": "https://registry.npmjs.org/lru/-/lru-3.1.0.tgz", "integrity": "sha1-6n+4VG2DczOWoTCR12z+tMBoN9U=", "requires": { - "inherits": "^2.0.1" + "inherits": "2.0.3" } }, "lru-cache": { @@ -1699,7 +1699,7 @@ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "requires": { - "yallist": "^4.0.0" + "yallist": "4.0.0" } }, "magnet-uri": { @@ -1707,8 +1707,8 @@ "resolved": "https://registry.npmjs.org/magnet-uri/-/magnet-uri-6.2.0.tgz", "integrity": "sha512-O9AgdDwT771fnUj0giPYu/rACpz8173y8UXCSOdLITjOVfBenZ9H9q3FqQmveK+ORUMuD+BkKNSZP8C3+IMAKQ==", "requires": { - "bep53-range": "^1.1.0", - "thirty-two": "^1.0.2" + "bep53-range": "1.1.1", + "thirty-two": "1.0.2" } }, "media-typer": { @@ -1747,7 +1747,7 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.22.tgz", "integrity": "sha512-aGl6TZGnhm/li6F7yx82bJiBZwgiEa4Hf6CNr8YO+r5UHr53tSTYZb102zyU50DOWWKeOv0uQLRL0/9EiKWCog==", "requires": { - "mime-db": "~1.38.0" + "mime-db": "1.38.0" } }, "mimic-fn": { @@ -1765,7 +1765,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.11" } }, "minimist": { @@ -1793,7 +1793,7 @@ "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.28.tgz", "integrity": "sha512-TDJkZvAyKIVWg5EtVqRzU97w0Rb0YVbfpqyjgu6GwXCAohVRqwZjf4fOzDE6p1Ch98Sro/8hQQi65WDXW5STPw==", "requires": { - "moment": ">= 2.9.0" + "moment": "2.29.1" } }, "mongodb": { @@ -1801,12 +1801,12 @@ "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.6.10.tgz", "integrity": "sha512-fvIBQBF7KwCJnDZUnFFy4WqEFP8ibdXeFANnylW19+vOwdjOAvqIzPdsNCEMT6VKTHnYu4K64AWRih0mkFms6Q==", "requires": { - "bl": "^2.2.1", - "bson": "^1.1.4", - "denque": "^1.4.1", - "optional-require": "^1.0.3", - "safe-buffer": "^5.1.2", - "saslprep": "^1.0.0" + "bl": "2.2.1", + "bson": "1.1.6", + "denque": "1.5.1", + "optional-require": "1.1.7", + "safe-buffer": "5.1.2", + "saslprep": "1.0.3" } }, "ms": { @@ -1824,10 +1824,10 @@ "resolved": "https://registry.npmjs.org/name-to-imdb/-/name-to-imdb-3.0.2.tgz", "integrity": "sha512-CT94YfG6FPdXccrv/FUC1ZIkRMkMWrAoGcX7v3Sa/kntnB05xzaPIRHt7s4f43BvgLx/bmn6AhZ8TzkphGticQ==", "requires": { - "diacritics": "~1.3.0", - "named-queue": "^2.1.0", - "needle": "^1.1.2", - "node-fetch": "^2.2.0" + "diacritics": "1.3.0", + "named-queue": "2.2.1", + "needle": "1.6.0", + "node-fetch": "2.6.2" }, "dependencies": { "debug": { @@ -1848,8 +1848,8 @@ "resolved": "https://registry.npmjs.org/needle/-/needle-1.6.0.tgz", "integrity": "sha1-9SpYWJchIWGOAC+OY4TK2sItYk8=", "requires": { - "debug": "^2.1.2", - "iconv-lite": "^0.4.4" + "debug": "2.6.9", + "iconv-lite": "0.4.24" } } } @@ -1859,26 +1859,6 @@ "resolved": "https://registry.npmjs.org/named-queue/-/named-queue-2.2.1.tgz", "integrity": "sha1-GBRURVNZnVqeQD0N+pN6TODR5qc=" }, - "needle": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/needle/-/needle-3.0.0.tgz", - "integrity": "sha512-eGr0qnfHxAjr+Eptl1zr2lgUQUPC1SZfTkg2kFi0kxr1ChJonHUVYobkug8siBKMlyUVVp56MSkp6CSeXH/jgw==", - "requires": { - "debug": "^3.2.6", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "requires": { - "ms": "^2.1.1" - } - } - } - }, "negotiator": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", @@ -1905,9 +1885,9 @@ "resolved": "https://registry.npmjs.org/node-schedule/-/node-schedule-1.3.2.tgz", "integrity": "sha512-GIND2pHMHiReSZSvS6dpZcDH7pGPGFfWBIEud6S00Q8zEIzAs9ommdyRK1ZbQt8y1LyZsJYZgPnyi7gpU2lcdw==", "requires": { - "cron-parser": "^2.7.3", + "cron-parser": "2.13.0", "long-timeout": "0.1.1", - "sorted-array-functions": "^1.0.0" + "sorted-array-functions": "1.2.0" } }, "nodejs-bing": { @@ -1915,10 +1895,10 @@ "resolved": "https://registry.npmjs.org/nodejs-bing/-/nodejs-bing-0.1.0.tgz", "integrity": "sha1-3i/99AtBVJKFxbwMUX3VTw5fTYo=", "requires": { - "cheerio": "^0.22.0", - "request": "^2.79.0", - "request-promise": "^4.1.1", - "urlencode": "^1.1.0" + "cheerio": "0.22.0", + "request": "2.88.0", + "request-promise": "4.2.4", + "urlencode": "1.1.0" } }, "nth-check": { @@ -1926,7 +1906,7 @@ "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", "requires": { - "boolbase": "~1.0.0" + "boolbase": "1.0.0" } }, "nyaapi": { @@ -1934,10 +1914,10 @@ "resolved": "https://registry.npmjs.org/nyaapi/-/nyaapi-2.3.3.tgz", "integrity": "sha512-lOHNNCut7TXmRYoVtCQYLUrm4Wlakyq+iFdAQYAFuUB9Z/i+hQdMJQjDlYn46oJtERUd7taauS3wr2fljwzrVA==", "requires": { - "cheerio": "^1.0.0-rc.3", - "lodash.omit": "^4.5.0", - "request": "^2.88.0", - "request-promise": "^4.2.5" + "cheerio": "1.0.0-rc.3", + "lodash.omit": "4.5.0", + "request": "2.88.0", + "request-promise": "4.2.6" }, "dependencies": { "cheerio": { @@ -1945,12 +1925,12 @@ "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.3.tgz", "integrity": "sha512-0td5ijfUPuubwLUu0OBoe98gZj8C/AA+RW3v67GPlGOrvxWjZmBXiBCRU+I8VEiNyJzjth40POfHiz2RB3gImA==", "requires": { - "css-select": "~1.2.0", - "dom-serializer": "~0.1.1", - "entities": "~1.1.1", - "htmlparser2": "^3.9.1", - "lodash": "^4.15.0", - "parse5": "^3.0.1" + "css-select": "1.2.0", + "dom-serializer": "0.1.1", + "entities": "1.1.2", + "htmlparser2": "3.10.1", + "lodash": "4.17.15", + "parse5": "3.0.3" } }, "request-promise": { @@ -1958,10 +1938,10 @@ "resolved": "https://registry.npmjs.org/request-promise/-/request-promise-4.2.6.tgz", "integrity": "sha512-HCHI3DJJUakkOr8fNoCc73E5nU5bqITjOYFMDrKHYOXWXrgD/SBaC7LjwuPymUprRyuF06UK7hd/lMHkmUXglQ==", "requires": { - "bluebird": "^3.5.0", + "bluebird": "3.5.3", "request-promise-core": "1.1.4", - "stealthy-require": "^1.1.1", - "tough-cookie": "^2.3.3" + "stealthy-require": "1.1.1", + "tough-cookie": "2.4.3" } }, "request-promise-core": { @@ -1969,7 +1949,7 @@ "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", "requires": { - "lodash": "^4.17.19" + "lodash": "4.17.20" }, "dependencies": { "lodash": { @@ -2004,7 +1984,7 @@ "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=", "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "onetime": { @@ -2012,7 +1992,7 @@ "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "requires": { - "mimic-fn": "^2.1.0" + "mimic-fn": "2.1.0" } }, "optional-require": { @@ -2020,7 +2000,7 @@ "resolved": "https://registry.npmjs.org/optional-require/-/optional-require-1.1.7.tgz", "integrity": "sha512-cIeRZocXsZnZYn+SevbtSqNlLbeoS4mLzuNn4fvXRMDRNhTGg0sxuKXl0FnZCtnew85LorNxIbZp5OeliILhMw==", "requires": { - "require-at": "^1.0.6" + "require-at": "1.0.6" } }, "options": { @@ -2033,14 +2013,14 @@ "resolved": "https://registry.npmjs.org/ora/-/ora-4.1.1.tgz", "integrity": "sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A==", "requires": { - "chalk": "^3.0.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.2.0", - "is-interactive": "^1.0.0", - "log-symbols": "^3.0.0", + "chalk": "3.0.0", + "cli-cursor": "3.1.0", + "cli-spinners": "2.6.0", + "is-interactive": "1.0.0", + "log-symbols": "3.0.0", "mute-stream": "0.0.8", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" + "strip-ansi": "6.0.0", + "wcwidth": "1.0.1" } }, "packet-reader": { @@ -2053,13 +2033,13 @@ "resolved": "https://registry.npmjs.org/parse-torrent/-/parse-torrent-6.1.2.tgz", "integrity": "sha512-Z/vig84sHwtrTEbOzisT4xnYTFlOgAaLQccPruMPgRahZUppVE/BUXzAos3jZM7c64o0lfukQdQ4ozWa5lN39w==", "requires": { - "bencode": "^2.0.0", - "blob-to-buffer": "^1.2.6", - "get-stdin": "^6.0.0", - "magnet-uri": "^5.1.3", - "simple-get": "^3.0.1", - "simple-sha1": "^2.0.0", - "uniq": "^1.0.1" + "bencode": "2.0.1", + "blob-to-buffer": "1.2.8", + "get-stdin": "6.0.0", + "magnet-uri": "5.4.0", + "simple-get": "3.0.3", + "simple-sha1": "2.1.2", + "uniq": "1.0.1" }, "dependencies": { "bencode": { @@ -2067,7 +2047,7 @@ "resolved": "https://registry.npmjs.org/bencode/-/bencode-2.0.1.tgz", "integrity": "sha512-2uhEl8FdjSBUyb69qDTgOEeeqDTa+n3yMQzLW0cOzNf1Ow5bwcg3idf+qsWisIKRH8Bk8oC7UXL8irRcPA8ZEQ==", "requires": { - "safe-buffer": "^5.1.1" + "safe-buffer": "5.1.2" } }, "magnet-uri": { @@ -2075,8 +2055,8 @@ "resolved": "https://registry.npmjs.org/magnet-uri/-/magnet-uri-5.4.0.tgz", "integrity": "sha512-ZpqciThlbvE6KkyT5oxAup/6CwjePw1hdtR8NU5+vq2hn9Sp5b7w3bRiJRvo9fMHUj2dWSuVCdkqt9p4ed1V9Q==", "requires": { - "bep53-range": "^1.0.0", - "thirty-two": "^1.0.2" + "bep53-range": "1.1.1", + "thirty-two": "1.0.2" } }, "simple-get": { @@ -2084,9 +2064,9 @@ "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.0.3.tgz", "integrity": "sha512-Wvre/Jq5vgoz31Z9stYWPLn0PqRqmBDpFSdypAnHu5AvRVCYPRYGnvryNLiXu8GOBNDH82J2FRHUGMjjHUpXFw==", "requires": { - "decompress-response": "^3.3.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" + "decompress-response": "3.3.0", + "once": "1.3.3", + "simple-concat": "1.0.0" } } } @@ -2096,8 +2076,8 @@ "resolved": "https://registry.npmjs.org/parse-torrent-file/-/parse-torrent-file-2.1.4.tgz", "integrity": "sha1-MtS2r95jFCDl9BWRmiIrd0tXVwc=", "requires": { - "bencode": "^0.7.0", - "simple-sha1": "^2.0.0" + "bencode": "0.7.0", + "simple-sha1": "2.1.2" }, "dependencies": { "bencode": { @@ -2109,9 +2089,8 @@ }, "parse-torrent-title": { "version": "git://github.com/TheBeastLT/parse-torrent-title.git#8fd87b3bfc7aa04143edcd4f0112868bb77dce0f", - "from": "git://github.com/TheBeastLT/parse-torrent-title.git#8fd87b3bfc7aa04143edcd4f0112868bb77dce0f", "requires": { - "moment": "^2.24.0" + "moment": "2.29.1" } }, "parse5": { @@ -2119,7 +2098,7 @@ "resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.3.tgz", "integrity": "sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==", "requires": { - "@types/node": "*" + "@types/node": "13.9.1" } }, "parse5-htmlparser2-tree-adapter": { @@ -2127,7 +2106,7 @@ "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", "requires": { - "parse5": "^6.0.1" + "parse5": "6.0.1" }, "dependencies": { "parse5": { @@ -2157,12 +2136,12 @@ "resolved": "https://registry.npmjs.org/peer-wire-protocol/-/peer-wire-protocol-0.7.1.tgz", "integrity": "sha512-V9oTa/ZcfNNz9fAST28Gg0fXbPeFPk3SBImsYO8GDDG5D0E195vxXmjZ+SPrzr4BJyMQmdDmwUfTf9MZ62z4mw==", "requires": { - "bitfield": "^0.1.0", - "bncode": "^0.2.3", - "buffer-alloc": "^1.1.0", - "buffer-from": "^1.0.0", - "readable-stream": "^1.0.2", - "speedometer": "^0.1.2" + "bitfield": "0.1.0", + "bncode": "0.2.3", + "buffer-alloc": "1.2.0", + "buffer-from": "1.1.2", + "readable-stream": "1.1.14", + "speedometer": "0.1.4" }, "dependencies": { "bncode": { @@ -2175,10 +2154,10 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", + "core-util-is": "1.0.2", + "inherits": "2.0.3", "isarray": "0.0.1", - "string_decoder": "~0.10.x" + "string_decoder": "0.10.31" } }, "string_decoder": { @@ -2193,11 +2172,11 @@ "resolved": "https://registry.npmjs.org/peer-wire-swarm/-/peer-wire-swarm-0.12.2.tgz", "integrity": "sha512-sIWZ1nTL9l6mI9J18kW1AeByBwagvNzGJlMmQA9pM+otKQtTIwnigK8SR0nEFrNZYqZelI6RQ6g4udvtQ2TI1g==", "requires": { - "buffer-from": "^1.0.0", - "fifo": "^0.1.4", - "once": "^1.1.1", - "peer-wire-protocol": "^0.7.0", - "speedometer": "^0.1.2", + "buffer-from": "1.1.2", + "fifo": "0.1.4", + "once": "1.3.3", + "peer-wire-protocol": "0.7.1", + "speedometer": "0.1.4", "utp": "0.0.7" } }, @@ -2213,11 +2192,11 @@ "requires": { "buffer-writer": "2.0.0", "packet-reader": "1.0.0", - "pg-connection-string": "^2.5.0", - "pg-pool": "^3.4.1", - "pg-protocol": "^1.5.0", - "pg-types": "^2.1.0", - "pgpass": "1.x" + "pg-connection-string": "2.5.0", + "pg-pool": "3.4.1", + "pg-protocol": "1.5.0", + "pg-types": "2.2.0", + "pgpass": "1.0.4" } }, "pg-connection-string": { @@ -2230,7 +2209,7 @@ "resolved": "https://registry.npmjs.org/pg-hstore/-/pg-hstore-2.3.4.tgz", "integrity": "sha512-N3SGs/Rf+xA1M2/n0JBiXFDVMzdekwLZLAO0g7mpDY9ouX+fDI7jS6kTq3JujmYbtNSJ53TJ0q4G98KVZSM4EA==", "requires": { - "underscore": "^1.13.1" + "underscore": "1.13.1" } }, "pg-int8": { @@ -2254,10 +2233,10 @@ "integrity": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==", "requires": { "pg-int8": "1.0.1", - "postgres-array": "~2.0.0", - "postgres-bytea": "~1.0.0", - "postgres-date": "~1.0.4", - "postgres-interval": "^1.1.0" + "postgres-array": "2.0.0", + "postgres-bytea": "1.0.0", + "postgres-date": "1.0.7", + "postgres-interval": "1.2.0" } }, "pgpass": { @@ -2265,7 +2244,7 @@ "resolved": "https://registry.npmjs.org/pgpass/-/pgpass-1.0.4.tgz", "integrity": "sha512-YmuA56alyBq7M59vxVBfPJrGSozru8QAdoNlWuW3cz8l+UX3cWge0vTvjKhsSHSJpo3Bom8/Mm6hf0TR5GY0+w==", "requires": { - "split2": "^3.1.1" + "split2": "3.2.2" } }, "postgres-array": { @@ -2288,7 +2267,7 @@ "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz", "integrity": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==", "requires": { - "xtend": "^4.0.0" + "xtend": "4.0.1" } }, "process-nextick-args": { @@ -2301,7 +2280,7 @@ "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz", "integrity": "sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA==", "requires": { - "forwarded": "~0.1.2", + "forwarded": "0.1.2", "ipaddr.js": "1.8.0" }, "dependencies": { @@ -2347,8 +2326,8 @@ "resolved": "https://registry.npmjs.org/random-access-file/-/random-access-file-2.2.0.tgz", "integrity": "sha512-B744003Mj7v3EcuPl9hCiB2Ot4aZjgtU2mV6yFY1THiWU/XfGf1uSadR+SlQdJcwHgAWeG7Lbos0aUqjtj8FQg==", "requires": { - "mkdirp-classic": "^0.5.2", - "random-access-storage": "^1.1.1" + "mkdirp-classic": "0.5.3", + "random-access-storage": "1.4.1" } }, "random-access-storage": { @@ -2356,7 +2335,7 @@ "resolved": "https://registry.npmjs.org/random-access-storage/-/random-access-storage-1.4.1.tgz", "integrity": "sha512-DbCc2TIzOxPaHF6KCbr8zLtiYOJQQQCBHUVNHV/SckUQobCBB2YkDtbLdxGnPwPNpJfEyMWxDAm36A2xkbxxtw==", "requires": { - "inherits": "^2.0.3" + "inherits": "2.0.3" } }, "random-iterate": { @@ -2369,7 +2348,7 @@ "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "requires": { - "safe-buffer": "^5.1.0" + "safe-buffer": "5.1.2" } }, "range-parser": { @@ -2393,7 +2372,7 @@ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "safer-buffer": "2.1.2" } } } @@ -2408,16 +2387,15 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.2.0.tgz", "integrity": "sha512-RV20kLjdmpZuTF1INEb9IA3L68Nmi+Ri7ppZqo78wj//Pn62fCoJyV9zalccNzDD/OuJpMG4f+pfMl8+L6QdGw==", "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "inherits": "2.0.3", + "string_decoder": "1.2.0", + "util-deprecate": "1.0.2" } }, "real-debrid-api": { "version": "git://github.com/TheBeastLT/node-real-debrid.git#935a5c23ae809edbcd2a111526a7f74d6767c50d", - "from": "git://github.com/TheBeastLT/node-real-debrid.git#935a5c23ae809edbcd2a111526a7f74d6767c50d", "requires": { - "request": "^2.83.0" + "request": "2.88.0" } }, "request": { @@ -2425,26 +2403,26 @@ "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.0", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.4.3", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" + "aws-sign2": "0.7.0", + "aws4": "1.8.0", + "caseless": "0.12.0", + "combined-stream": "1.0.7", + "extend": "3.0.2", + "forever-agent": "0.6.1", + "form-data": "2.3.3", + "har-validator": "5.1.3", + "http-signature": "1.2.0", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.22", + "oauth-sign": "0.9.0", + "performance-now": "2.1.0", + "qs": "6.5.2", + "safe-buffer": "5.1.2", + "tough-cookie": "2.4.3", + "tunnel-agent": "0.6.0", + "uuid": "3.3.2" } }, "request-promise": { @@ -2452,10 +2430,10 @@ "resolved": "https://registry.npmjs.org/request-promise/-/request-promise-4.2.4.tgz", "integrity": "sha512-8wgMrvE546PzbR5WbYxUQogUnUDfM0S7QIFZMID+J73vdFARkFy+HElj4T+MWYhpXwlLp0EQ8Zoj8xUA0he4Vg==", "requires": { - "bluebird": "^3.5.0", + "bluebird": "3.5.3", "request-promise-core": "1.1.2", - "stealthy-require": "^1.1.1", - "tough-cookie": "^2.3.3" + "stealthy-require": "1.1.1", + "tough-cookie": "2.4.3" } }, "request-promise-core": { @@ -2463,7 +2441,7 @@ "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.2.tgz", "integrity": "sha512-UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag==", "requires": { - "lodash": "^4.17.11" + "lodash": "4.17.15" } }, "require-at": { @@ -2476,8 +2454,8 @@ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" + "onetime": "5.1.2", + "signal-exit": "3.0.3" } }, "retry-as-promised": { @@ -2485,7 +2463,7 @@ "resolved": "https://registry.npmjs.org/retry-as-promised/-/retry-as-promised-3.2.0.tgz", "integrity": "sha512-CybGs60B7oYU/qSQ6kuaFmRd9sTZ6oXSc0toqePvV74Ac6/IFZSI1ReFQmtCN+uvW1Mtqdwpvt/LGOiCBAY2Mg==", "requires": { - "any-promise": "^1.3.0" + "any-promise": "1.3.0" } }, "rimraf": { @@ -2493,7 +2471,7 @@ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "requires": { - "glob": "^7.1.3" + "glob": "7.1.7" } }, "run-parallel": { @@ -2501,7 +2479,7 @@ "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "requires": { - "queue-microtask": "^1.2.2" + "queue-microtask": "1.2.3" } }, "run-series": { @@ -2519,11 +2497,11 @@ "resolved": "https://registry.npmjs.org/rutracker-api-2/-/rutracker-api-2-1.10.0.tgz", "integrity": "sha512-wBsMQNpjNFV92lIUHwbQXd0Gn+5bnIH6JHfn7dN/nhcCHiprUH2bVntzZBHULWGYf5MokOaqQwgxBueg4QtADw==", "requires": { - "bluebird": "^3.5.1", - "cheerio": "^0.19.0", + "bluebird": "3.5.3", + "cheerio": "0.19.0", "http": "0.0.0", - "querystring": "^0.2.0", - "windows-1251": "^0.1.2" + "querystring": "0.2.0", + "windows-1251": "0.1.2" }, "dependencies": { "cheerio": { @@ -2531,11 +2509,11 @@ "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.19.0.tgz", "integrity": "sha1-dy5wFfLuKZZQltcepBdbdas1SSU=", "requires": { - "css-select": "~1.0.0", - "dom-serializer": "~0.1.0", - "entities": "~1.1.1", - "htmlparser2": "~3.8.1", - "lodash": "^3.2.0" + "css-select": "1.0.0", + "dom-serializer": "0.1.1", + "entities": "1.1.2", + "htmlparser2": "3.8.3", + "lodash": "3.10.1" } }, "css-select": { @@ -2543,10 +2521,10 @@ "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.0.0.tgz", "integrity": "sha1-sRIcpRhI3SZOIkTQWM7iVN7rRLA=", "requires": { - "boolbase": "~1.0.0", - "css-what": "1.0", - "domutils": "1.4", - "nth-check": "~1.0.0" + "boolbase": "1.0.0", + "css-what": "1.0.0", + "domutils": "1.4.3", + "nth-check": "1.0.2" } }, "css-what": { @@ -2559,7 +2537,7 @@ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz", "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=", "requires": { - "domelementtype": "1" + "domelementtype": "1.3.1" } }, "domutils": { @@ -2567,7 +2545,7 @@ "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.4.3.tgz", "integrity": "sha1-CGVRN5bGswYDGFDhdVFrr4C3Km8=", "requires": { - "domelementtype": "1" + "domelementtype": "1.3.1" } }, "htmlparser2": { @@ -2575,11 +2553,11 @@ "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=", "requires": { - "domelementtype": "1", - "domhandler": "2.3", - "domutils": "1.5", - "entities": "1.0", - "readable-stream": "1.1" + "domelementtype": "1.3.1", + "domhandler": "2.3.0", + "domutils": "1.5.1", + "entities": "1.0.0", + "readable-stream": "1.1.14" }, "dependencies": { "domutils": { @@ -2587,8 +2565,8 @@ "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", "requires": { - "dom-serializer": "0", - "domelementtype": "1" + "dom-serializer": "0.1.1", + "domelementtype": "1.3.1" } }, "entities": { @@ -2608,10 +2586,10 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", + "core-util-is": "1.0.2", + "inherits": "2.0.3", "isarray": "0.0.1", - "string_decoder": "~0.10.x" + "string_decoder": "0.10.31" } }, "string_decoder": { @@ -2637,32 +2615,27 @@ "integrity": "sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==", "optional": true, "requires": { - "sparse-bitfield": "^3.0.3" + "sparse-bitfield": "3.0.3" } }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" - }, "send": { "version": "0.16.2", "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", "requires": { "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", + "depd": "1.1.2", + "destroy": "1.0.4", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "etag": "1.8.1", "fresh": "0.5.2", - "http-errors": "~1.6.2", + "http-errors": "1.6.3", "mime": "1.4.1", "ms": "2.0.0", - "on-finished": "~2.3.0", - "range-parser": "~1.2.0", - "statuses": "~1.4.0" + "on-finished": "2.3.0", + "range-parser": "1.2.0", + "statuses": "1.4.0" }, "dependencies": { "debug": { @@ -2685,21 +2658,21 @@ "resolved": "https://registry.npmjs.org/sequelize/-/sequelize-5.21.5.tgz", "integrity": "sha512-n9hR5K4uQGmBGK/Y/iqewCeSFmKVsd0TRnh0tfoLoAkmXbKC4tpeK96RhKs7d+TTMtrJlgt2TNLVBaAxEwC4iw==", "requires": { - "bluebird": "^3.5.0", - "cls-bluebird": "^2.1.0", - "debug": "^4.1.1", - "dottie": "^2.0.0", + "bluebird": "3.5.3", + "cls-bluebird": "2.1.0", + "debug": "4.1.1", + "dottie": "2.0.2", "inflection": "1.12.0", - "lodash": "^4.17.15", - "moment": "^2.24.0", - "moment-timezone": "^0.5.21", - "retry-as-promised": "^3.2.0", - "semver": "^6.3.0", - "sequelize-pool": "^2.3.0", - "toposort-class": "^1.0.1", - "uuid": "^3.3.3", - "validator": "^10.11.0", - "wkx": "^0.4.8" + "lodash": "4.17.15", + "moment": "2.29.1", + "moment-timezone": "0.5.28", + "retry-as-promised": "3.2.0", + "semver": "6.3.0", + "sequelize-pool": "2.3.0", + "toposort-class": "1.0.1", + "uuid": "3.4.0", + "validator": "10.11.0", + "wkx": "0.4.8" }, "dependencies": { "semver": { @@ -2724,9 +2697,9 @@ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.2", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "parseurl": "1.3.2", "send": "0.16.2" } }, @@ -2755,9 +2728,9 @@ "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.0.tgz", "integrity": "sha512-ZalZGexYr3TA0SwySsr5HlgOOinS4Jsa8YB2GJ6lUNAazyAu4KG/VmzMTwAt2YVXzzVj8QmefmAonZIK2BSGcQ==", "requires": { - "decompress-response": "^6.0.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" + "decompress-response": "6.0.0", + "once": "1.3.3", + "simple-concat": "1.0.0" }, "dependencies": { "decompress-response": { @@ -2765,7 +2738,7 @@ "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", "requires": { - "mimic-response": "^3.1.0" + "mimic-response": "3.1.0" } }, "mimic-response": { @@ -2780,13 +2753,13 @@ "resolved": "https://registry.npmjs.org/simple-peer/-/simple-peer-9.11.0.tgz", "integrity": "sha512-qvdNu/dGMHBm2uQ7oLhQBMhYlrOZC1ywXNCH/i8I4etxR1vrjCnU6ZSQBptndB1gcakjo2+w4OHo7Sjza1SHxg==", "requires": { - "buffer": "^6.0.3", - "debug": "^4.3.1", - "err-code": "^3.0.1", - "get-browser-rtc": "^1.1.0", - "queue-microtask": "^1.2.3", - "randombytes": "^2.1.0", - "readable-stream": "^3.6.0" + "buffer": "6.0.3", + "debug": "4.3.2", + "err-code": "3.0.1", + "get-browser-rtc": "1.1.0", + "queue-microtask": "1.2.3", + "randombytes": "2.1.0", + "readable-stream": "3.6.0" }, "dependencies": { "debug": { @@ -2802,9 +2775,9 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "inherits": "2.0.3", + "string_decoder": "1.2.0", + "util-deprecate": "1.0.2" } } } @@ -2814,7 +2787,7 @@ "resolved": "https://registry.npmjs.org/simple-sha1/-/simple-sha1-2.1.2.tgz", "integrity": "sha512-TQl9rm4rdKAVmhO++sXAb8TNN0D6JAD5iyI1mqEPNpxUzTRrtm4aOG1pDf/5W/qCFihiaoK6uuL9rvQz1x1VKw==", "requires": { - "rusha": "^0.8.1" + "rusha": "0.8.13" } }, "simple-websocket": { @@ -2822,11 +2795,11 @@ "resolved": "https://registry.npmjs.org/simple-websocket/-/simple-websocket-9.1.0.tgz", "integrity": "sha512-8MJPnjRN6A8UCp1I+H/dSFyjwJhp6wta4hsVRhjf8w9qBHRzxYt14RaOcjvQnhD1N4yKOddEjflwMnQM4VtXjQ==", "requires": { - "debug": "^4.3.1", - "queue-microtask": "^1.2.2", - "randombytes": "^2.1.0", - "readable-stream": "^3.6.0", - "ws": "^7.4.2" + "debug": "4.3.2", + "queue-microtask": "1.2.3", + "randombytes": "2.1.0", + "readable-stream": "3.6.0", + "ws": "7.5.5" }, "dependencies": { "debug": { @@ -2842,9 +2815,9 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "inherits": "2.0.3", + "string_decoder": "1.2.0", + "util-deprecate": "1.0.2" } } } @@ -2859,8 +2832,8 @@ "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.1.tgz", "integrity": "sha512-kLQ9N5ucj8uIcxrDwjm0Jsqk06xdpBjGNQtpXy4Q8/QY2k+fY7nZH8CARy+hkbG+SGAovmzzuauCpBlb8FrnBA==", "requires": { - "ip": "^1.1.5", - "smart-buffer": "^4.1.0" + "ip": "1.1.5", + "smart-buffer": "4.2.0" } }, "sorted-array-functions": { @@ -2874,7 +2847,7 @@ "integrity": "sha1-/0rm5oZWBWuks+eSqzM004JzyhE=", "optional": true, "requires": { - "memory-pager": "^1.0.2" + "memory-pager": "1.5.0" } }, "speedometer": { @@ -2887,7 +2860,7 @@ "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", "requires": { - "readable-stream": "^3.0.0" + "readable-stream": "3.2.0" } }, "sshpk": { @@ -2895,15 +2868,15 @@ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" + "asn1": "0.2.4", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.2", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.2", + "getpass": "0.1.7", + "jsbn": "0.1.1", + "safer-buffer": "2.1.2", + "tweetnacl": "0.14.5" } }, "statuses": { @@ -2921,8 +2894,8 @@ "resolved": "https://registry.npmjs.org/string2compact/-/string2compact-1.3.2.tgz", "integrity": "sha512-3XUxUgwhj7Eqh2djae35QHZZT4mN3fsO7kagZhSGmhhlrQagVvWSFuuFIWnpxFS0CdTB2PlQcaL16RDi14I8uw==", "requires": { - "addr-to-ip-port": "^1.0.1", - "ipaddr.js": "^2.0.0" + "addr-to-ip-port": "1.5.4", + "ipaddr.js": "2.0.1" } }, "string_decoder": { @@ -2930,7 +2903,7 @@ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.2.0.tgz", "integrity": "sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w==", "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "5.1.2" } }, "strip-ansi": { @@ -2938,7 +2911,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", "requires": { - "ansi-regex": "^5.0.0" + "ansi-regex": "5.0.0" } }, "sugar-core": { @@ -2951,7 +2924,7 @@ "resolved": "https://registry.npmjs.org/sugar-date/-/sugar-date-2.0.6.tgz", "integrity": "sha512-5aPXcTl9pIgae3j8wOieRZOEbaowHHpL+MPgZwHHjXdhZz3FjzpacjzM+Aq7rZTjDsWyWuKHzkIALx2uUhnmyg==", "requires": { - "sugar-core": "^2.0.0" + "sugar-core": "2.0.6" } }, "supports-color": { @@ -2959,7 +2932,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "requires": { - "has-flag": "^4.0.0" + "has-flag": "4.0.0" } }, "thirty-two": { @@ -2982,13 +2955,13 @@ "resolved": "https://registry.npmjs.org/torrent-discovery/-/torrent-discovery-5.4.0.tgz", "integrity": "sha1-LRfYLPZpraf53+ddtLMfcDS3Hik=", "requires": { - "bittorrent-dht": "^6.0.0", - "bittorrent-tracker": "^7.0.0", - "debug": "^2.0.0", - "inherits": "^2.0.1", - "re-emitter": "^1.0.0", - "run-parallel": "^1.1.2", - "xtend": "^4.0.0" + "bittorrent-dht": "6.4.2", + "bittorrent-tracker": "7.7.0", + "debug": "2.6.9", + "inherits": "2.0.3", + "re-emitter": "1.1.4", + "run-parallel": "1.2.0", + "xtend": "4.0.1" }, "dependencies": { "bencode": { @@ -3001,25 +2974,25 @@ "resolved": "https://registry.npmjs.org/bittorrent-tracker/-/bittorrent-tracker-7.7.0.tgz", "integrity": "sha1-/9LqvBQdNu1cGBfffpkvkf1/xlw=", "requires": { - "bencode": "^0.8.0", - "bn.js": "^4.4.0", - "compact2string": "^1.2.0", - "debug": "^2.0.0", + "bencode": "0.8.0", + "bn.js": "4.12.0", + "compact2string": "1.4.1", + "debug": "2.6.9", "hat": "0.0.3", - "inherits": "^2.0.1", - "ip": "^1.0.1", - "minimist": "^1.1.1", - "once": "^1.3.0", - "random-iterate": "^1.0.1", - "run-parallel": "^1.1.2", - "run-series": "^1.0.2", - "simple-get": "^2.0.0", - "simple-peer": "^6.0.0", - "simple-websocket": "^4.0.0", - "string2compact": "^1.1.1", - "uniq": "^1.0.1", - "ws": "^1.0.0", - "xtend": "^4.0.0" + "inherits": "2.0.3", + "ip": "1.1.5", + "minimist": "1.2.5", + "once": "1.3.3", + "random-iterate": "1.0.1", + "run-parallel": "1.2.0", + "run-series": "1.1.9", + "simple-get": "2.8.1", + "simple-peer": "6.4.4", + "simple-websocket": "4.3.1", + "string2compact": "1.3.2", + "uniq": "1.0.1", + "ws": "1.1.5", + "xtend": "4.0.1" } }, "bn.js": { @@ -3050,13 +3023,13 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "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" + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.1", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" } }, "simple-get": { @@ -3064,9 +3037,9 @@ "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-2.8.1.tgz", "integrity": "sha512-lSSHRSw3mQNUGPAYRqo7xy9dhKmxFXIjLjp4KHpf99GEH2VH7C3AM+Qfx6du6jhfUi6Vm7XnbEVEf7Wb6N8jRw==", "requires": { - "decompress-response": "^3.3.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" + "decompress-response": "3.3.0", + "once": "1.3.3", + "simple-concat": "1.0.0" } }, "simple-peer": { @@ -3074,11 +3047,11 @@ "resolved": "https://registry.npmjs.org/simple-peer/-/simple-peer-6.4.4.tgz", "integrity": "sha1-TkIfSFrHsTsIB3pEdpNNUsW6O7M=", "requires": { - "debug": "^2.1.0", - "get-browser-rtc": "^1.0.0", - "inherits": "^2.0.1", - "randombytes": "^2.0.3", - "readable-stream": "^2.0.5" + "debug": "2.6.9", + "get-browser-rtc": "1.1.0", + "inherits": "2.0.3", + "randombytes": "2.1.0", + "readable-stream": "2.3.7" } }, "simple-websocket": { @@ -3086,12 +3059,12 @@ "resolved": "https://registry.npmjs.org/simple-websocket/-/simple-websocket-4.3.1.tgz", "integrity": "sha1-XT1XUbs5rrovcQ2O7Hh2jfgh840=", "requires": { - "debug": "^2.1.3", - "inherits": "^2.0.1", - "randombytes": "^2.0.3", - "readable-stream": "^2.0.5", - "ws": "^2.0.0", - "xtend": "^4.0.1" + "debug": "2.6.9", + "inherits": "2.0.3", + "randombytes": "2.1.0", + "readable-stream": "2.3.7", + "ws": "2.3.1", + "xtend": "4.0.1" }, "dependencies": { "safe-buffer": { @@ -3104,8 +3077,8 @@ "resolved": "https://registry.npmjs.org/ws/-/ws-2.3.1.tgz", "integrity": "sha1-a5Sz5EfLajY/eF6vlK9jWejoHIA=", "requires": { - "safe-buffer": "~5.0.1", - "ultron": "~1.1.0" + "safe-buffer": "5.0.1", + "ultron": "1.1.1" } } } @@ -3115,7 +3088,7 @@ "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" + "safe-buffer": "5.1.2" } }, "ws": { @@ -3123,8 +3096,8 @@ "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz", "integrity": "sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==", "requires": { - "options": ">=0.0.5", - "ultron": "1.0.x" + "options": "0.0.6", + "ultron": "1.0.2" }, "dependencies": { "ultron": { @@ -3146,20 +3119,20 @@ "resolved": "https://registry.npmjs.org/torrent-stream/-/torrent-stream-1.2.1.tgz", "integrity": "sha512-F+3tYmXnpO2gyhZQ7o8yakELJH3FtKISI/FU0iWvchOWFUXiFnjbEBoumSzfcK1P71Qxzx2az4lVK4Dkq4KSew==", "requires": { - "bitfield": "^0.1.0", - "bncode": "^0.5.2", - "buffer-from": "^1.0.0", - "end-of-stream": "^0.1.4", - "fs-chunk-store": "^1.3.0", + "bitfield": "0.1.0", + "bncode": "0.5.3", + "buffer-from": "1.1.2", + "end-of-stream": "0.1.5", + "fs-chunk-store": "1.7.0", "hat": "0.0.3", - "immediate-chunk-store": "^1.0.5", - "ip-set": "^1.0.0", - "mkdirp": "^0.3.5", - "parse-torrent": "^4.0.0", - "peer-wire-swarm": "^0.12.0", - "rimraf": "^2.2.5", - "torrent-discovery": "^5.2.0", - "torrent-piece": "^1.0.0" + "immediate-chunk-store": "1.0.8", + "ip-set": "1.0.2", + "mkdirp": "0.3.5", + "parse-torrent": "4.1.0", + "peer-wire-swarm": "0.12.2", + "rimraf": "2.7.1", + "torrent-discovery": "5.4.0", + "torrent-piece": "1.1.2" }, "dependencies": { "magnet-uri": { @@ -3168,8 +3141,8 @@ "integrity": "sha1-ecxtZaALtbfvXCWuYOu7XZp2gag=", "requires": { "flatten": "0.0.1", - "thirty-two": "^0.0.2", - "xtend": "^4.0.0" + "thirty-two": "0.0.2", + "xtend": "4.0.1" } }, "parse-torrent": { @@ -3177,8 +3150,8 @@ "resolved": "https://registry.npmjs.org/parse-torrent/-/parse-torrent-4.1.0.tgz", "integrity": "sha1-qBS9hQXotY6I64/z4tr/XRmnEbc=", "requires": { - "magnet-uri": "^4.0.0", - "parse-torrent-file": "^2.0.0" + "magnet-uri": "4.2.3", + "parse-torrent-file": "2.1.4" } }, "thirty-two": { @@ -3193,8 +3166,8 @@ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", "requires": { - "psl": "^1.1.24", - "punycode": "^1.4.1" + "psl": "1.1.31", + "punycode": "1.4.1" }, "dependencies": { "punycode": { @@ -3214,7 +3187,7 @@ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "requires": { - "safe-buffer": "^5.0.1" + "safe-buffer": "5.1.2" } }, "tweetnacl": { @@ -3228,7 +3201,7 @@ "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", "requires": { "media-typer": "0.3.0", - "mime-types": "~2.1.18" + "mime-types": "2.1.22" } }, "typical": { @@ -3251,7 +3224,7 @@ "resolved": "https://registry.npmjs.org/underscore-keypath/-/underscore-keypath-0.0.22.tgz", "integrity": "sha1-SKUoOSu278QkvhyqVtpLX6zPJk0=", "requires": { - "underscore": "*" + "underscore": "1.13.1" } }, "uniq": { @@ -3274,7 +3247,7 @@ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", "requires": { - "punycode": "^2.1.0" + "punycode": "2.1.1" } }, "urlencode": { @@ -3282,7 +3255,7 @@ "resolved": "https://registry.npmjs.org/urlencode/-/urlencode-1.1.0.tgz", "integrity": "sha1-HyuibwE8hfATP3o61v8nMK33y7c=", "requires": { - "iconv-lite": "~0.4.11" + "iconv-lite": "0.4.24" } }, "user-agents": { @@ -3290,8 +3263,8 @@ "resolved": "https://registry.npmjs.org/user-agents/-/user-agents-1.0.773.tgz", "integrity": "sha512-pQfpd9SAF7vAWSiYOGYPRAQBZDU0MWh+57m0I9mWMon/BOoOlogOATtHI5JnOfMWjyC3++0HG6N/CGjvBOJ0xw==", "requires": { - "dot-json": "^1.2.2", - "lodash.clonedeep": "^4.5.0" + "dot-json": "1.2.2", + "lodash.clonedeep": "4.5.0" } }, "utf-8-validate": { @@ -3300,7 +3273,7 @@ "integrity": "sha512-+pnxRYsS/axEpkrrEpzYfNZGXp0IjC/9RIxwM5gntY4Koi8SHmUGSfxfWqxZdRxrtaoVstuOzUp/rbs3JSPELQ==", "optional": true, "requires": { - "node-gyp-build": "^4.2.0" + "node-gyp-build": "4.3.0" } }, "util-deprecate": { @@ -3318,7 +3291,7 @@ "resolved": "https://registry.npmjs.org/utp/-/utp-0.0.7.tgz", "integrity": "sha1-rkPrd0X1/mPcwvJ3y0FkrScIfzA=", "requires": { - "cyclist": "~0.1.0" + "cyclist": "0.1.1" } }, "uuid": { @@ -3341,9 +3314,9 @@ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "requires": { - "assert-plus": "^1.0.0", + "assert-plus": "1.0.0", "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" + "extsprintf": "1.3.0" } }, "wcwidth": { @@ -3351,7 +3324,7 @@ "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", "requires": { - "defaults": "^1.0.3" + "defaults": "1.0.3" } }, "windows-1251": { @@ -3364,7 +3337,7 @@ "resolved": "https://registry.npmjs.org/wkx/-/wkx-0.4.8.tgz", "integrity": "sha512-ikPXMM9IR/gy/LwiOSqWlSL3X/J5uk9EO2hHNRXS41eTLXaUFEVw9fn/593jW/tE5tedNg8YjT5HkCa4FqQZyQ==", "requires": { - "@types/node": "*" + "@types/node": "13.9.1" } }, "wrappy": { diff --git a/package.json b/package.json index 667b554..f8f0e98 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,6 @@ "magnet-uri": "^6.2.0", "moment": "^2.29.1", "name-to-imdb": "^3.0.2", - "needle": "^3.0.0", "node-gzip": "^1.1.2", "node-schedule": "^1.3.2", "nodejs-bing": "^0.1.0", diff --git a/scraper/lib/metadata.js b/scraper/lib/metadata.js index 3d9ae32..3c320dc 100644 --- a/scraper/lib/metadata.js +++ b/scraper/lib/metadata.js @@ -1,12 +1,10 @@ -const needle = require('needle'); +const axios = require('axios'); const nameToImdb = require('name-to-imdb'); const googleIt = require('google-it'); const googleSr = require('google-sr'); -const bing = require('nodejs-bing'); const he = require('he'); const { cacheWrapImdbId, cacheWrapKitsuId, cacheWrapMetadata } = require('./cache'); const { Type } = require('./types'); -const { getRandomUserAgent } = require('./requestHelper'); const CINEMETA_URL = 'https://v3-cinemeta.strem.io'; const KITSU_URL = 'https://anime-kitsu.strem.fun'; @@ -32,9 +30,9 @@ function getMetadata(id, type = Type.SERIES) { } function _requestMetadata(url) { - return needle('get', url, { open_timeout: TIMEOUT }) + return axios.get(url, { timeout: TIMEOUT }) .then((response) => { - const body = response.body; + const body = response.data; if (body && body.meta && (body.meta.imdb_id || body.meta.kitsu_id)) { return { kitsuId: body.meta.kitsu_id, @@ -115,7 +113,6 @@ async function getImdbId(info, type) { // .then(results => results.length ? results : Promise.reject('No results')) }).catch(() => googleSr(query) .then(response => response.searchResults.length ? response.searchResults : Promise.reject('No results')) - // .catch(() => bing.web(query)) .then(results => results .map(result => result.link) .find(result => result.includes('imdb.com/title/'))) @@ -132,9 +129,9 @@ async function getKitsuId(info) { const query = encodeURIComponent(key); return cacheWrapKitsuId(key, - () => needle('get', `${KITSU_URL}/catalog/series/kitsu-anime-list/search=${query}.json`, { open_timeout: 60000 }) + () => axios.get(`${KITSU_URL}/catalog/series/kitsu-anime-list/search=${query}.json`, { timeout: 60000 }) .then((response) => { - const body = response.body; + const body = response.data; if (body && body.metas && body.metas.length) { return body.metas[0].id.replace('kitsu:', ''); } else { @@ -147,8 +144,8 @@ async function isEpisodeImdbId(imdbId) { if (!imdbId) { return false; } - return needle('get', `https://www.imdb.com/title/${imdbId}/`, { open_timeout: 10000, follow: 2 }) - .then(response => !!(response.body && response.body.includes('video.episode'))) + return axios.get(`https://www.imdb.com/title/${imdbId}/`, { timeout: 10000 }) + .then(response => !!(response.data && response.data.includes('video.episode'))) .catch((err) => false); } diff --git a/scraper/lib/requestHelper.js b/scraper/lib/requestHelper.js index 2044dab..fce6ea5 100644 --- a/scraper/lib/requestHelper.js +++ b/scraper/lib/requestHelper.js @@ -8,14 +8,17 @@ function getRandomUserAgent() { function defaultOptionsWithProxy() { if (process.env.PROXY_HOST && process.env.PROXY_TYPE) { return { - proxy: process.env.PROXY_HOST, + proxy: { + host: process.env.PROXY_HOST.match(/\/\/(.*):/)[1], + port: process.env.PROXY_HOST.match(/:(\d+)/)[1] + }, headers: { 'user-agent': getRandomUserAgent(), 'proxy-type': process.env.PROXY_TYPE } } } - return { userAgent: getRandomUserAgent() }; + return { headers: { 'user-agent': getRandomUserAgent() } }; } module.exports = { getRandomUserAgent, defaultOptionsWithProxy }; \ No newline at end of file diff --git a/scraper/lib/torrent.js b/scraper/lib/torrent.js index 510c214..1db25d1 100644 --- a/scraper/lib/torrent.js +++ b/scraper/lib/torrent.js @@ -1,5 +1,5 @@ const torrentStream = require('torrent-stream'); -const needle = require('needle'); +const axios = require('axios'); const parseTorrent = require('parse-torrent'); const BTClient = require('bittorrent-tracker') const async = require('async'); @@ -113,9 +113,9 @@ async function filesFromTorrentFile(torrent) { return Promise.reject(new Error("no torrentLink")); } - return needle('get', torrent.torrentLink, { open_timeout: 10000 }) + return axios.get(torrent.torrentLink, { timeout: 10000 }) .then((response) => { - if (!response.body || response.statusCode !== 200) { + if (!response.data || response.status !== 200) { throw new Error('torrent not found') } return response.body @@ -197,8 +197,8 @@ async function getTorrentTrackers(torrent) { } async function getDefaultTrackers(torrent, retry = 3) { - return cacheTrackers(() => needle('get', TRACKERS_URL, { open_timeout: SEEDS_CHECK_TIMEOUT }) - .then(response => response.body && response.body.trim()) + return cacheTrackers(() => axios.get(TRACKERS_URL, { timeout: SEEDS_CHECK_TIMEOUT }) + .then(response => response.data && response.data.trim()) .then(body => body && body.split('\n\n') || [])) .catch(() => retry > 0 ? delay(5000).then(() => getDefaultTrackers(torrent, retry - 1)) : []) .then(trackers => trackers.concat(ADDITIONAL_TRACKERS)) diff --git a/scraper/lib/torrentEntries.js b/scraper/lib/torrentEntries.js index 8e3f035..70a1d9f 100644 --- a/scraper/lib/torrentEntries.js +++ b/scraper/lib/torrentEntries.js @@ -107,7 +107,7 @@ async function checkAndUpdateTorrent(torrent) { if (!storedTorrent.languages && torrent.languages && storedTorrent.provider !== 'RARBG') { storedTorrent.languages = torrent.languages; storedTorrent.save(); - console.log(`Updated [${torrent.infoHash}] ${torrent.title} language to ${torrent.languages}`); + console.log(`Updated [${storedTorrent.infoHash}] ${storedTorrent.title} language to ${torrent.languages}`); } return createTorrentContents({ ...storedTorrent.get(), torrentLink: torrent.torrentLink }) .then(() => updateTorrentSeeders(torrent)); diff --git a/scraper/scrapers/1337x/1337x_api.js b/scraper/scrapers/1337x/1337x_api.js index 4877501..f1c379a 100644 --- a/scraper/scrapers/1337x/1337x_api.js +++ b/scraper/scrapers/1337x/1337x_api.js @@ -1,5 +1,5 @@ +const axios = require('axios'); const cheerio = require('cheerio'); -const needle = require('needle'); const Sugar = require('sugar-date'); const decode = require('magnet-uri'); const Promises = require('../../lib/promises'); @@ -32,7 +32,7 @@ function torrent(torrentId, config = {}, retries = 2) { const slug = torrentId.startsWith('/torrent/') ? torrentId.replace('/torrent/', '') : torrentId; return Promises.first(proxyList - .map((proxyUrl) => singleRequest(`${proxyUrl}/torrent/${slug}`, config))) + .map((proxyUrl) => singleRequest(`${proxyUrl}/torrent/${slug}`, config))) .then((body) => parseTorrentPage(body)) .then((torrent) => ({ torrentId: slug, ...torrent })) .catch((err) => torrent(slug, config, retries - 1)); @@ -51,7 +51,7 @@ function search(keyword, config = {}, retries = 2) { : `${proxyUrl}/search/${keyword}/${page}/`; return Promises.first(proxyList - .map(proxyUrl => singleRequest(requestUrl(proxyUrl), config))) + .map(proxyUrl => singleRequest(requestUrl(proxyUrl), config))) .then(body => parseTableBody(body)) .then(torrents => torrents.length === 40 && page < extendToPage ? search(keyword, { ...config, page: page + 1 }).catch(() => []) @@ -73,18 +73,18 @@ function browse(config = {}, retries = 2) { : `${proxyUrl}/cat/${category}/${page}/`; return Promises.first(proxyList - .map((proxyUrl) => singleRequest(requestUrl(proxyUrl), config))) + .map((proxyUrl) => singleRequest(requestUrl(proxyUrl), config))) .then((body) => parseTableBody(body)) .catch((err) => browse(config, retries - 1)); } function singleRequest(requestUrl, config = {}) { const timeout = config.timeout || defaultTimeout; - const options = { userAgent: getRandomUserAgent(), open_timeout: timeout, follow: 2 }; + const options = { headers: { 'User-Agent': getRandomUserAgent() }, timeout: timeout }; - return needle('get', requestUrl, options) + return axios.get(requestUrl, options) .then((response) => { - const body = response.body; + const body = response.data; if (!body) { throw new Error(`No body: ${requestUrl}`); } else if (body.includes('502: Bad gateway') || diff --git a/scraper/scrapers/animestorrent/animestorrent_api.js b/scraper/scrapers/animestorrent/animestorrent_api.js index 836f8f6..b1004f6 100644 --- a/scraper/scrapers/animestorrent/animestorrent_api.js +++ b/scraper/scrapers/animestorrent/animestorrent_api.js @@ -1,7 +1,6 @@ -const needle = require("needle"); +const axios = require('axios'); const cheerio = require("cheerio"); const decode = require("magnet-uri"); -const Promises = require("../../lib/promises"); const { getRandomUserAgent } = require("../../lib/requestHelper"); const defaultTimeout = 10000; @@ -59,14 +58,10 @@ function browse(config = {}, retries = 2) { function singleRequest(requestUrl, config = {}) { const timeout = config.timeout || defaultTimeout; - const options = { - userAgent: getRandomUserAgent(), - open_timeout: timeout, - follow: 2, - }; + const options = { headers: { 'User-Agent': getRandomUserAgent() }, timeout: timeout }; - return needle("get", requestUrl, options).then((response) => { - const body = response.body; + return axios.get(requestUrl, options).then((response) => { + const body = response.data; if (!body) { throw new Error(`No body: ${requestUrl}`); } else if ( diff --git a/scraper/scrapers/comando/comando_api.js b/scraper/scrapers/comando/comando_api.js index ca05705..5027eee 100644 --- a/scraper/scrapers/comando/comando_api.js +++ b/scraper/scrapers/comando/comando_api.js @@ -1,8 +1,7 @@ -const needle = require("needle") +const axios = require('axios'); const moment = require("moment") const cheerio = require("cheerio"); const decode = require('magnet-uri'); -const Promises = require('../../lib/promises'); const { escapeHTML } = require('../../lib/metadata'); const { getRandomUserAgent } = require('../../lib/requestHelper'); const { isPtDubbed, sanitizePtName, sanitizePtLanguages, sanitizePtOriginalName } = require('../scraperHelper') @@ -63,11 +62,11 @@ function browse(config = {}, retries = 2) { function singleRequest(requestUrl, config = {}) { const timeout = config.timeout || defaultTimeout; - const options = { userAgent: getRandomUserAgent(), open_timeout: timeout, follow: 2 }; + const options = { headers: { 'User-Agent': getRandomUserAgent() }, timeout: timeout }; - return needle('get', requestUrl, options) + return axios.get(requestUrl, options) .then((response) => { - const body = response.body; + const body = response.data; if (!body) { throw new Error(`No body: ${requestUrl}`); } else if (body.includes('502: Bad gateway') || diff --git a/scraper/scrapers/comoeubaixo/comoeubaixo_api.js b/scraper/scrapers/comoeubaixo/comoeubaixo_api.js index 6e042ae..e96fd04 100644 --- a/scraper/scrapers/comoeubaixo/comoeubaixo_api.js +++ b/scraper/scrapers/comoeubaixo/comoeubaixo_api.js @@ -1,4 +1,4 @@ -const needle = require("needle") +const axios = require('axios'); const cheerio = require("cheerio"); const decode = require('magnet-uri'); const { escapeHTML } = require('../../lib/metadata'); @@ -62,11 +62,11 @@ function browse(config = {}, retries = 2) { function singleRequest(requestUrl, config = {}) { const timeout = config.timeout || defaultTimeout; - const options = { userAgent: getRandomUserAgent(), open_timeout: timeout, follow: 2 }; + const options = { headers: { 'User-Agent': getRandomUserAgent() }, timeout: timeout }; - return needle('get', requestUrl, options) + return axios.get(requestUrl, options) .then((response) => { - const body = response.body; + const body = response.data; if (!body || (Buffer.isBuffer(body) && !body.size)) { throw new Error(`No body: ${requestUrl}`); } else if (body.includes('502: Bad gateway') || diff --git a/scraper/scrapers/darkmahou/darkmahou_api.js b/scraper/scrapers/darkmahou/darkmahou_api.js index e1d5a22..b9324ca 100644 --- a/scraper/scrapers/darkmahou/darkmahou_api.js +++ b/scraper/scrapers/darkmahou/darkmahou_api.js @@ -1,7 +1,6 @@ -const needle = require("needle"); +const axios = require('axios'); const cheerio = require("cheerio"); const decode = require("magnet-uri"); -const Promises = require("../../lib/promises"); const { getRandomUserAgent } = require("../../lib/requestHelper"); const defaultTimeout = 10000; @@ -60,14 +59,10 @@ function browse(config = {}, retries = 2) { function singleRequest(requestUrl, config = {}) { const timeout = config.timeout || defaultTimeout; - const options = { - userAgent: getRandomUserAgent(), - open_timeout: timeout, - follow: 2, - }; + const options = { headers: { 'User-Agent': getRandomUserAgent() }, timeout: timeout }; - return needle("get", requestUrl, options).then((response) => { - const body = response.body; + return axios.get(requestUrl, options).then((response) => { + const body = response.data; if (!body) { throw new Error(`No body: ${requestUrl}`); } else if ( diff --git a/scraper/scrapers/erairaws/erairaws_api.js b/scraper/scrapers/erairaws/erairaws_api.js index 9535171..17599b0 100644 --- a/scraper/scrapers/erairaws/erairaws_api.js +++ b/scraper/scrapers/erairaws/erairaws_api.js @@ -1,4 +1,3 @@ -const needle = require("needle"); const axios = require('axios'); const cheerio = require("cheerio"); const decode = require("magnet-uri"); @@ -31,7 +30,7 @@ function browse(config = {}, retries = 2) { function singleRequest(requestUrl, config = {}) { const timeout = config.timeout || defaultTimeout; - const options = { userAgent: getRandomUserAgent(), timeout: timeout, follow: 2, }; + const options = { headers: { 'User-Agent': getRandomUserAgent() }, timeout: timeout, }; return axios.get(requestUrl, options).then((response) => { const body = response.data; diff --git a/scraper/scrapers/eztv/eztv_api.js b/scraper/scrapers/eztv/eztv_api.js index af33e0e..42ddff7 100644 --- a/scraper/scrapers/eztv/eztv_api.js +++ b/scraper/scrapers/eztv/eztv_api.js @@ -1,5 +1,5 @@ +const axios = require('axios'); const cheerio = require('cheerio'); -const needle = require('needle'); const moment = require('moment'); const Promises = require('../../lib/promises'); const { getRandomUserAgent } = require('./../../lib/requestHelper'); @@ -19,7 +19,7 @@ function torrent(torrentId, config = {}, retries = 1) { } return Promises.first(defaultProxies - .map(proxyUrl => singleRequest(`${proxyUrl}/ep/${torrentId}`, config))) + .map(proxyUrl => singleRequest(`${proxyUrl}/ep/${torrentId}`, config))) .then(body => parseTorrentPage(body)) .then(torrent => ({ torrentId, ...torrent })) .catch(error => retries ? jitter().then(() => torrent(torrentId, config, retries - 1)) : Promise.reject(error)); @@ -33,7 +33,7 @@ function search(imdbId, config = {}, retries = 1) { const page = config.page || 1; return Promises.first(defaultProxies - .map(proxyUrl => singleRequest(`${proxyUrl}/api/get-torrents?limit=${limit}&page=${page}&imdb_id=${id}`, config))) + .map(proxyUrl => singleRequest(`${proxyUrl}/api/get-torrents?limit=${limit}&page=${page}&imdb_id=${id}`, config))) .then(results => parseResults(results)) .then(torrents => torrents.length === limit && page < maxPage ? search(imdbId, { ...config, page: page + 1 }).catch(() => []) @@ -46,27 +46,21 @@ function browse(config = {}, retries = 1) { const page = config.page || 1; return Promises.first(defaultProxies - .map(proxyUrl => singleRequest(`${proxyUrl}/api/get-torrents?limit=${limit}&page=${page}`, config))) + .map(proxyUrl => singleRequest(`${proxyUrl}/api/get-torrents?limit=${limit}&page=${page}`, config))) .then(results => parseResults(results)) .catch(error => retries ? jitter().then(() => browse(config, retries - 1)) : Promise.reject(error)); } function singleRequest(requestUrl, config = {}) { const timeout = config.timeout || defaultTimeout; - const options = { - userAgent: getRandomUserAgent(), - open_timeout: timeout, - response_timeout: timeout, - read_timeout: timeout, - follow: 2 - }; + const options = { headers: { 'User-Agent': getRandomUserAgent() }, timeout: timeout }; - return needle('get', requestUrl, options) + return axios.get(requestUrl, options) .then(response => { - if (!response.body) { + if (!response.data) { return Promise.reject(`No body: ${requestUrl}`); } - return Promise.resolve(response.body); + return Promise.resolve(response.data); }); } diff --git a/scraper/scrapers/horriblesubs/horriblesubs_api.js b/scraper/scrapers/horriblesubs/horriblesubs_api.js index aff3cbb..5ba306a 100644 --- a/scraper/scrapers/horriblesubs/horriblesubs_api.js +++ b/scraper/scrapers/horriblesubs/horriblesubs_api.js @@ -1,5 +1,5 @@ +const axios = require('axios'); const cheerio = require('cheerio'); -const needle = require('needle'); const moment = require('moment'); const Promises = require('../../lib/promises'); @@ -45,8 +45,8 @@ function _getContent(endpoint, config = {},) { ? endpoint.replace(/https?:\/\/[^/]+/, baseUrl) : `${baseUrl}${endpoint}`; - return needle('get', url, { open_timeout: timeout }) - .then((response) => response.body) + return axios.get(url, { timeout: timeout }) + .then((response) => response.data) .then((body) => cheerio.load(body)); } diff --git a/scraper/scrapers/kickass/kickass_api.js b/scraper/scrapers/kickass/kickass_api.js index d15d3e9..462c555 100644 --- a/scraper/scrapers/kickass/kickass_api.js +++ b/scraper/scrapers/kickass/kickass_api.js @@ -1,5 +1,5 @@ +const axios = require('axios'); const cheerio = require('cheerio'); -const needle = require('needle'); const moment = require('moment'); const decode = require('magnet-uri'); const Promises = require('../../lib/promises'); @@ -28,7 +28,7 @@ function torrent(torrentId, config = {}, retries = 2) { const proxyList = config.proxyList || defaultProxies; return Promises.first(proxyList - .map((proxyUrl) => singleRequest(`${proxyUrl}/torrent/${torrentId}`, config))) + .map((proxyUrl) => singleRequest(`${proxyUrl}/torrent/${torrentId}`, config))) .then((body) => parseTorrentPage(body)) .then((torrent) => ({ torrentId, ...torrent })) .catch((err) => torrent(torrentId, config, retries - 1)); @@ -43,7 +43,7 @@ function search(keyword, config = {}, retries = 2) { const category = config.category; return Promises.first(proxyList - .map((proxyUrl) => singleRequest(`${proxyUrl}/search/${keyword}/${page}/99/${category}`, config))) + .map((proxyUrl) => singleRequest(`${proxyUrl}/search/${keyword}/${page}/99/${category}`, config))) .then((body) => parseTableBody(body)) .catch((err) => search(keyword, config, retries - 1)); } @@ -57,18 +57,18 @@ function browse(config = {}, retries = 2) { const category = config.category; return Promises.first(proxyList - .map((proxyUrl) => singleRequest(`${proxyUrl}/category/${category}/page/${page}`, config))) + .map((proxyUrl) => singleRequest(`${proxyUrl}/category/${category}/page/${page}`, config))) .then((body) => parseTableBody(body)) .catch((err) => browse(config, retries - 1)); } function singleRequest(requestUrl, config = {}) { const timeout = config.timeout || defaultTimeout; - const options = { open_timeout: timeout, follow: 2 }; + const options = { timeout: timeout }; - return needle('get', requestUrl, options) + return axios.get(requestUrl, options) .then((response) => { - const body = response.body; + const body = response.data; if (!body) { throw new Error(`No body: ${requestUrl}`); } else if (body.includes('Access Denied')) { diff --git a/scraper/scrapers/lapumia/lapumia_api.js b/scraper/scrapers/lapumia/lapumia_api.js index 66a16de..0b403dd 100644 --- a/scraper/scrapers/lapumia/lapumia_api.js +++ b/scraper/scrapers/lapumia/lapumia_api.js @@ -1,4 +1,4 @@ -const needle = require("needle") +const axios = require('axios'); const moment = require("moment") const cheerio = require("cheerio"); const decode = require('magnet-uri'); @@ -62,11 +62,11 @@ function browse(config = {}, retries = 2) { function singleRequest(requestUrl, config = {}) { const timeout = config.timeout || defaultTimeout; - const options = { userAgent: getRandomUserAgent(), open_timeout: timeout, follow: 2 }; + const options = { userAgent: getRandomUserAgent(), timeout: timeout, follow: 2 }; - return needle('get', requestUrl, options) + return axios.get(requestUrl, options) .then((response) => { - const body = response.body; + const body = response.data; if (!body) { throw new Error(`No body: ${requestUrl}`); } else if (body.includes('502: Bad gateway') || diff --git a/scraper/scrapers/ondebaixa/ondebaixa_api.js b/scraper/scrapers/ondebaixa/ondebaixa_api.js index bd9af49..2bd943a 100644 --- a/scraper/scrapers/ondebaixa/ondebaixa_api.js +++ b/scraper/scrapers/ondebaixa/ondebaixa_api.js @@ -1,4 +1,4 @@ -const needle = require("needle") +const axios = require('axios'); const cheerio = require("cheerio"); const decode = require('magnet-uri'); const { escapeHTML } = require('../../lib/metadata'); @@ -62,11 +62,11 @@ function browse(config = {}, retries = 2) { function singleRequest(requestUrl, config = {}) { const timeout = config.timeout || defaultTimeout; - const options = { userAgent: getRandomUserAgent(), open_timeout: timeout, follow: 2 }; + const options = { headers: { 'User-Agent': getRandomUserAgent() }, timeout: timeout }; - return needle('get', requestUrl, options) + return axios.get(requestUrl, options) .then((response) => { - const body = response.body; + const body = response.data; if (!body) { throw new Error(`No body: ${requestUrl}`); } else if (body.includes('502: Bad gateway') || diff --git a/scraper/scrapers/rarbg/rarbg_api.js b/scraper/scrapers/rarbg/rarbg_api.js index c827417..4032c72 100644 --- a/scraper/scrapers/rarbg/rarbg_api.js +++ b/scraper/scrapers/rarbg/rarbg_api.js @@ -1,6 +1,7 @@ -const needle = require('needle'); +const axios = require('axios'); const decode = require('magnet-uri'); const Promises = require('../../lib/promises'); +const { getRandomUserAgent } = require("../../lib/requestHelper"); const baseUrl = 'https://torrentapi.org/pubapi_v2.php'; const appId = 'torrentio-addon'; @@ -22,6 +23,7 @@ const Options = { MOVIES_X265_4K_HDR: [52], MOVIES_FULL_BD: [42], MOVIES_BD_REMUX: [46], + MOVIES_HIGH_RES: [47, 50, 51, 52, 46], TV_EPISODES: [18], TV_UHD_EPISODES: [49], TV_HD_EPISODES: [41], @@ -84,33 +86,43 @@ function browse(params = {}) { return singleRequest(parameters).then(results => parseResults(results)); } -async function singleRequest(params = {}, config = {}, retries = 10) { +async function singleRequest(params = {}, config = {}, retries = 15) { const timeout = config.timeout || defaultTimeout; - const options = { open_timeout: timeout, follow: 2 }; + const headers = { + 'user-agent': getRandomUserAgent(), + 'accept-encoding': 'gzip, deflate', + 'accept-language': 'en-GB,en;q=0.9,en-US;q=0.8,lt;q=0.7,ar;q=0.6,fr;q=0.5,de;q=0.4' + }; params.token = await getToken(); params.app_id = appId; Object.keys(params) .filter(key => params[key] === undefined || params[key] === null) .forEach(key => delete params[key]); - - return needle('get', baseUrl, params, options) + const options = { headers, timeout, params }; + return axios.get(baseUrl, options) .then(response => { - if (response.body && response.body.error_code === 4) { + if (response.data && response.data.error_code === 4) { // token expired token = undefined; return singleRequest(params, config); } - if ((!response.body || !response.body.length || [5, 20].includes(response.body.error_code)) && retries > 0) { + if ((!response.data || !response.data.length || [5, 20].includes(response.data.error_code)) && retries > 0) { // too many requests return Promises.delay(3000).then(() => singleRequest(params, config, retries - 1)); } - if (response.statusCode !== 200 || (response.body && response.body.error)) { + if (response.status !== 200 || (response.data && response.data.error)) { // something went wrong - return Promise.reject(response.body || `Failed RARGB request with status=${response.statusCode}`); + return Promise.reject(response.data || `Failed RARGB request with status=${response.status}`); } - return response.body; + return response.data; + }) + .catch(error => { + if (error.response && [429].includes(error.response.status) && retries > 0) { + return Promises.delay(3000).then(() => singleRequest(params, config, retries - 1)); + } + return Promise.reject(error); }); } @@ -137,9 +149,10 @@ function parseResult(result) { async function getToken() { if (!token) { - const options = { open_timeout: defaultTimeout }; - token = await needle('get', baseUrl, { get_token: 'get_token', app_id: appId }, options) - .then(response => response.body.token); + const params = { get_token: 'get_token', app_id: appId }; + const options = { timeout: defaultTimeout, params }; + token = await axios.get(baseUrl, options) + .then(response => response.data.token); } return token; } diff --git a/scraper/scrapers/rarbg/rarbg_scraper.js b/scraper/scrapers/rarbg/rarbg_scraper.js index c6d80ee..3a8c9d9 100644 --- a/scraper/scrapers/rarbg/rarbg_scraper.js +++ b/scraper/scrapers/rarbg/rarbg_scraper.js @@ -36,21 +36,17 @@ async function scrapeLatestTorrents() { rarbg.Options.category.MOVIES_XVID, rarbg.Options.category.MOVIES_XVID_720P, rarbg.Options.category.MOVIES_X265_1080P, - rarbg.Options.category.MOVIES_X265_4K, - rarbg.Options.category.MOVIES_X265_4K_HDR, rarbg.Options.category.MOVIES_X264, rarbg.Options.category.MOVIES_X264_720P, rarbg.Options.category.MOVIES_X264_1080P, - rarbg.Options.category.MOVIES_X264_3D, - rarbg.Options.category.MOVIES_X264_4K, - rarbg.Options.category.MOVIES_BD_REMUX, + rarbg.Options.category.MOVIES_HIGH_RES, rarbg.Options.category.TV_EPISODES, rarbg.Options.category.TV_UHD_EPISODES, rarbg.Options.category.TV_HD_EPISODES ]; return Promises.sequence(allowedCategories - .map(category => () => limiter.schedule(() => scrapeLatestTorrentsForCategory(category)))) + .map(category => () => limiter.schedule(() => scrapeLatestTorrentsForCategory(category)))) .then(entries => entries.reduce((a, b) => a.concat(b), [])); } diff --git a/scraper/scrapers/rutor/rutor_api.js b/scraper/scrapers/rutor/rutor_api.js index 6928a92..aa3795c 100644 --- a/scraper/scrapers/rutor/rutor_api.js +++ b/scraper/scrapers/rutor/rutor_api.js @@ -1,5 +1,5 @@ +const axios = require('axios'); const cheerio = require('cheerio'); -const needle = require('needle'); const moment = require('moment'); const decode = require('magnet-uri'); const { defaultOptionsWithProxy } = require('../../lib/requestHelper'); @@ -57,13 +57,13 @@ function files(torrentId) { } function singleRequest(requestUrl) { - const options = { ...defaultOptionsWithProxy(), open_timeout: defaultTimeout, follow: 2 }; + const options = { ...defaultOptionsWithProxy(), timeout: defaultTimeout }; - return needle('get', requestUrl, options) + return axios.get(requestUrl, options) .then((response) => { - const body = response.body; + const body = response.data; if (!body) { - throw new Error(`No body: ${requestUrl} with status ${response.statusCode}`); + throw new Error(`No body: ${requestUrl} with status ${response.status}`); } else if (body.includes('Access Denied')) { console.log(`Access Denied: ${requestUrl}`); throw new Error(`Access Denied: ${requestUrl}`); diff --git a/scraper/scrapers/thepiratebay/thepiratebay_api.js b/scraper/scrapers/thepiratebay/thepiratebay_api.js index f5114a5..4ff6a42 100644 --- a/scraper/scrapers/thepiratebay/thepiratebay_api.js +++ b/scraper/scrapers/thepiratebay/thepiratebay_api.js @@ -1,4 +1,4 @@ -const needle = require('needle'); +const axios = require('axios'); const { escapeHTML } = require('../../lib/metadata'); const baseUrl = 'https://apibay.org'; @@ -102,10 +102,10 @@ function browse(config = {}, retries = 2) { async function _request(endpoint) { const url = `${baseUrl}/${endpoint}`; - return needle('get', url, { open_timeout: timeout }) + return axios.get(url, { timeout: timeout }) .then(response => { - if (typeof response.body === 'object') { - return response.body; + if (typeof response.data === 'object') { + return response.data; } return Promise.reject(`Unexpected response body`); }); diff --git a/scraper/scrapers/thepiratebay/thepiratebay_dump_scraper.js b/scraper/scrapers/thepiratebay/thepiratebay_dump_scraper.js index e5b8605..8754298 100644 --- a/scraper/scrapers/thepiratebay/thepiratebay_dump_scraper.js +++ b/scraper/scrapers/thepiratebay/thepiratebay_dump_scraper.js @@ -1,5 +1,5 @@ +const axios = require('axios'); const moment = require('moment'); -const needle = require('needle'); const Bottleneck = require('bottleneck'); const { ungzip } = require('node-gzip'); const LineByLineReader = require('line-by-line'); @@ -60,7 +60,7 @@ async function scrape() { } limiter.schedule(() => processTorrentRecord(torrent) - .catch((error) => console.log(`failed ${torrent.title} due: ${error}`))) + .catch((error) => console.log(`failed ${torrent.title} due: ${error}`))) .then(() => limiter.empty()) .then((empty) => empty && lr.resume()) .then(() => entriesProcessed++); @@ -160,8 +160,8 @@ function downloadDump(dump) { } console.log('downloading dump file...'); - return needle('get', dump.url, { open_timeout: 2000, output: '/tmp/tpb_dump.gz' }) - .then((response) => response.body) + return axios.get(dump.url, { timeout: 2000, responseType: 'stream' }) + .then((response) => response.data) .then((body) => { console.log('unzipping dump file...'); return ungzip(body); diff --git a/scraper/scrapers/torrentgalaxy/torrentgalaxy_api.js b/scraper/scrapers/torrentgalaxy/torrentgalaxy_api.js index cd57181..ea14866 100644 --- a/scraper/scrapers/torrentgalaxy/torrentgalaxy_api.js +++ b/scraper/scrapers/torrentgalaxy/torrentgalaxy_api.js @@ -1,5 +1,5 @@ +const axios = require('axios'); const cheerio = require('cheerio'); -const needle = require('needle'); const moment = require('moment'); const decode = require('magnet-uri'); const Promises = require('../../lib/promises'); @@ -34,7 +34,7 @@ function torrent(torrentId, config = {}, retries = 2) { const proxyList = config.proxyList || defaultProxies; return Promises.first(proxyList - .map((proxyUrl) => singleRequest(`${proxyUrl}/torrent/${torrentId}`))) + .map((proxyUrl) => singleRequest(`${proxyUrl}/torrent/${torrentId}`))) .then((body) => parseTorrentPage(body)) .then((torrent) => ({ torrentId, ...torrent })) .catch((err) => torrent(torrentId, config, retries - 1)); @@ -49,7 +49,7 @@ function search(keyword, config = {}, retries = 2) { const category = config.category; return Promises.first(proxyList - .map((proxyUrl) => singleRequest(`${proxyUrl}/torrents.php?cat=${category}&page=${page - 1}&search=${keyword}`))) + .map((proxyUrl) => singleRequest(`${proxyUrl}/torrents.php?cat=${category}&page=${page - 1}&search=${keyword}`))) .then((body) => parseTableBody(body)) .catch(() => search(keyword, config, retries - 1)); } @@ -63,19 +63,19 @@ function browse(config = {}, retries = 2, error = null) { const category = config.category; return Promises.first(proxyList - .map((proxyUrl) => singleRequest(`${proxyUrl}/torrents.php?cat=${category}&page=${page - 1}`))) + .map((proxyUrl) => singleRequest(`${proxyUrl}/torrents.php?cat=${category}&page=${page - 1}`))) .then((body) => parseTableBody(body)) .catch((err) => browse(config, retries - 1, err)); } function singleRequest(requestUrl) { - const options = { userAgent: getRandomUserAgent(), open_timeout: defaultTimeout, follow: 2 }; + const options = { headers: { 'User-Agent': getRandomUserAgent() }, timeout: defaultTimeout }; - return needle('get', requestUrl, options) + return axios.get(requestUrl, options) .then((response) => { - const body = response.body; + const body = response.data; if (!body) { - throw new Error(`No body: ${requestUrl} with status ${response.statusCode}`); + throw new Error(`No body: ${requestUrl} with status ${response.status}`); } else if (body.includes('Access Denied')) { console.log(`Access Denied: ${requestUrl}`); throw new Error(`Access Denied: ${requestUrl}`); diff --git a/scraper/scrapers/yts/yts_api.js b/scraper/scrapers/yts/yts_api.js index cc32233..05b774b 100644 --- a/scraper/scrapers/yts/yts_api.js +++ b/scraper/scrapers/yts/yts_api.js @@ -1,4 +1,4 @@ -const needle = require('needle'); +const axios = require('axios'); const Promises = require('../../lib/promises'); const { getRandomUserAgent } = require('./../../lib/requestHelper'); @@ -14,7 +14,7 @@ function torrent(torrentId, config = {}, retries = 2) { } return Promises.first(defaultProxies - .map(proxyUrl => singleRequest(`${proxyUrl}/api/v2/movie_details.json?movie_id=${torrentId}`, config))) + .map(proxyUrl => singleRequest(`${proxyUrl}/api/v2/movie_details.json?movie_id=${torrentId}`, config))) .then(body => parseResults(body)) .catch(error => torrent(torrentId, config, retries - 1)); } @@ -25,7 +25,7 @@ function search(query, config = {}, retries = 2) { } return Promises.first(defaultProxies - .map(proxyUrl => singleRequest(`${proxyUrl}/api/v2/list_movies.json?limit=${limit}&query_term=${query}`, config))) + .map(proxyUrl => singleRequest(`${proxyUrl}/api/v2/list_movies.json?limit=${limit}&query_term=${query}`, config))) .then(results => parseResults(results)) .catch(error => search(query, config, retries - 1)); } @@ -37,21 +37,21 @@ function browse(config = {}, retries = 2) { const page = config.page || 1; return Promises.first(defaultProxies - .map(proxyUrl => singleRequest(`${proxyUrl}/api/v2/list_movies.json?limit=${limit}&page=${page}`, config))) + .map(proxyUrl => singleRequest(`${proxyUrl}/api/v2/list_movies.json?limit=${limit}&page=${page}`, config))) .then(results => parseResults(results)) .catch(error => browse(config, retries - 1)); } function singleRequest(requestUrl, config = {}) { const timeout = config.timeout || defaultTimeout; - const options = { userAgent: getRandomUserAgent(), open_timeout: timeout, follow: 2 }; + const options = { headers: { 'User-Agent': getRandomUserAgent() }, timeout: timeout }; - return needle('get', requestUrl, options) + return axios.get(requestUrl, options) .then(response => { - if (!response.body) { + if (!response.data) { return Promise.reject(`No body: ${requestUrl}`); } - return Promise.resolve(response.body); + return Promise.resolve(response.data); }); }