diff --git a/.dockerignore b/.dockerignore index b423ea7..2fe4407 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,4 +1,6 @@ node_modules +comics/* +userdata/* npm-debug.log Dockerfile .dockerignore diff --git a/Dockerfile b/Dockerfile index 14b291b..ba69993 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,36 +1,37 @@ -FROM jeanblanchard/alpine-glibc +FROM alpine:3.14 # Show all node logs ENV NPM_CONFIG_LOGLEVEL warn ENV NODE_ENV=production -ENV CALIBRE_INSTALLER_SOURCE_CODE_URL https://raw.githubusercontent.com/kovidgoyal/calibre/master/setup/linux-installer.py WORKDIR /threetwo-import-service -RUN apk update && \ - apk add --no-cache --upgrade \ + +RUN apk add --update \ + --repository http://dl-3.alpinelinux.org/alpine/edge/testing \ + vips-tools \ wget \ imagemagick \ python3 \ + unrar \ nodejs \ npm \ xvfb \ - xz && \ - wget -O- ${CALIBRE_INSTALLER_SOURCE_CODE_URL} | python3 -c "import sys; main=lambda:sys.stderr.write('Download failed\n'); exec(sys.stdin.read()); main(install_dir='/opt', isolated=True)" && \ - rm -rf /tmp/calibre-installer-cache + xz + COPY package.json package-lock.json ./ COPY moleculer.config.ts ./ COPY tsconfig.json ./ +RUN npm i # Install Dependncies RUN npm install -g typescript ts-node -RUN npm ci --silent COPY . . # Build and cleanup RUN npm run build \ - && npm prune + && npm prune EXPOSE 3000 diff --git a/models/comic.model.ts b/models/comic.model.ts index 92a9cef..9f90856 100644 --- a/models/comic.model.ts +++ b/models/comic.model.ts @@ -1,5 +1,4 @@ const mongoose = require("mongoose"); -var mexp = require("mongoose-elasticsearch-xp").v7; const paginate = require("mongoose-paginate-v2"); const { Client } = require("@elastic/elasticsearch"); import ComicVineMetadataSchema from "./comicvine.metadata.model"; @@ -98,17 +97,17 @@ ComicSchema.plugin(mongoosastic, { }); ComicSchema.plugin(paginate); -const Comic = mongoose.model("Comic", ComicSchema), - stream = Comic.synchronize(); -let count = 0; +const Comic = mongoose.model("Comic", ComicSchema); +// stream = Comic.synchronize(); +// let count = 0; -stream.on("data", function (err, doc) { - count++; -}); -stream.on("close", function () { - console.log("indexed " + count + " documents!"); -}); -stream.on("error", function (err) { - console.log(err); -}); +// stream.on("data", function (err, doc) { +// count++; +// }); +// stream.on("close", function () { +// console.log("indexed " + count + " documents!"); +// }); +// stream.on("error", function (err) { +// console.log(err); +// }); export default Comic; diff --git a/package-lock.json b/package-lock.json index f1b9deb..3b0d29d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -32,15 +32,13 @@ "lodash": "^4.17.21", "mkdirp": "^0.5.5", "moleculer": "^0.14.19", - "moleculer-addons": "github:rishighan/moleculer-addons#master", - "moleculer-bull": "^0.2.8", + "moleculer-bull": "github:rishighan/moleculer-bull", "moleculer-db": "^0.8.13", "moleculer-db-adapter-mongo": "^0.4.7", "moleculer-db-adapter-mongoose": "^0.8.9", "moleculer-web": "^0.10.4", "mongoosastic-ts": "^5.0.7", "mongoose": "^5.12.7", - "mongoose-elasticsearch-xp": "^5.8.0", "mongoose-paginate-v2": "^1.3.18", "nats": "^1.3.2", "node-7z-forall": "^2.1.5", @@ -48,15 +46,13 @@ "node-unrar-js": "^1.0.5", "sharp": "^0.30.3", "socket.io": "^4.4.0", - "threetwo-ui-typings": "^1.0.13", + "threetwo-ui-typings": "^1.0.14", "through2": "^4.0.2", "unrar": "^0.2.0", "xml2js": "^0.4.23" }, "devDependencies": { "@types/lodash": "^4.14.168", - "@types/node-7z": "^2.1.4", - "@types/unzipper": "^0.10.3", "@typescript-eslint/eslint-plugin": "^4.33.0", "@typescript-eslint/parser": "^4.33.0", "7zip-bin": "^5.1.1", @@ -1958,15 +1954,6 @@ "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.52.tgz", "integrity": "sha512-s3nugnZumCC//n4moGGe6tkNMyYEdaDBitVjwPxXmR5lnMG5dHePinH2EdxkG3Rh1ghFHHixAG4NJhpJW1rthQ==" }, - "node_modules/@types/node-7z": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@types/node-7z/-/node-7z-2.1.4.tgz", - "integrity": "sha512-SayS5Cld62m7wRsKtBJheNBYRTVmKK+wTmW16EmYf2FuRTSGHKPx/p2OqAVjeKSQss9qcCKDGG9yv7D+Pi+iNg==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@types/prettier": { "version": "2.4.3", "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.4.3.tgz", @@ -1984,15 +1971,6 @@ "resolved": "https://registry.npmjs.org/@types/string-similarity/-/string-similarity-4.0.0.tgz", "integrity": "sha512-dMS4S07fbtY1AILG/RhuwmptmzK1Ql8scmAebOTJ/8iBtK/KI17NwGwKzu1uipjj8Kk+3mfPxum56kKZE93mzQ==" }, - "node_modules/@types/unzipper": { - "version": "0.10.5", - "resolved": "https://registry.npmjs.org/@types/unzipper/-/unzipper-0.10.5.tgz", - "integrity": "sha512-NrLJb29AdnBARpg9S/4ktfPEisbJ0AvaaAr3j7Q1tg8AgcEUsq2HqbNzvgLRoWyRtjzeLEv7vuL39u1mrNIyNA==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@types/yargs": { "version": "16.0.4", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", @@ -2995,23 +2973,22 @@ "dev": true }, "node_modules/bull": { - "version": "3.29.3", - "resolved": "https://registry.npmjs.org/bull/-/bull-3.29.3.tgz", - "integrity": "sha512-MOqV1dKLy1YQgP9m3lFolyMxaU+1+o4afzYYf0H4wNM+x/S0I1QPQfkgGlLiH00EyFrvSmeubeCYFP47rTfpjg==", + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/bull/-/bull-4.8.0.tgz", + "integrity": "sha512-XQ/wH9KOhapoQ1HZ2ZIxZFBWdaZD+cQNQtQDS6UTFjQDAcDcqByHT1MxTWW008ePgD4AXmLKEkU4wubS3NgQig==", "dependencies": { - "cron-parser": "^2.13.0", + "cron-parser": "^4.2.1", "debuglog": "^1.0.0", "get-port": "^5.1.1", - "ioredis": "^4.27.0", + "ioredis": "^4.28.5", "lodash": "^4.17.21", + "msgpackr": "^1.5.2", "p-timeout": "^3.2.0", - "promise.prototype.finally": "^3.1.2", "semver": "^7.3.2", - "util.promisify": "^1.0.1", "uuid": "^8.3.0" }, "engines": { - "node": ">=10" + "node": ">=10.1" } }, "node_modules/bytes": { @@ -3470,12 +3447,11 @@ "peer": true }, "node_modules/cron-parser": { - "version": "2.18.0", - "resolved": "https://registry.npmjs.org/cron-parser/-/cron-parser-2.18.0.tgz", - "integrity": "sha512-s4odpheTyydAbTBQepsqd2rNWGa2iV3cyo8g7zbI2QQYGLVsfbhmwukayS1XHppe02Oy1fg7mg6xoaraVJeEcg==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/cron-parser/-/cron-parser-4.2.1.tgz", + "integrity": "sha512-5sJBwDYyCp+0vU5b7POl8zLWfgV5fOHxlc45FWoWdHecGC7MQHCjx0CHivCMRnGFovghKhhyYM+Zm9DcY5qcHg==", "dependencies": { - "is-nan": "^1.3.0", - "moment-timezone": "^0.5.31" + "luxon": "^1.28.0" }, "engines": { "node": ">=0.8" @@ -3654,6 +3630,7 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, "dependencies": { "object-keys": "^1.0.12" }, @@ -3919,6 +3896,7 @@ "version": "1.19.1", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz", "integrity": "sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==", + "dev": true, "dependencies": { "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", @@ -3952,6 +3930,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, "dependencies": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", @@ -4879,14 +4858,6 @@ } } }, - "node_modules/for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "dependencies": { - "is-callable": "^1.1.3" - } - }, "node_modules/forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", @@ -5045,6 +5016,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.1.1" @@ -5186,6 +5158,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", + "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -5213,6 +5186,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, "dependencies": { "has-symbols": "^1.0.2" }, @@ -5473,6 +5447,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "dev": true, "dependencies": { "get-intrinsic": "^1.1.0", "has": "^1.0.3", @@ -5483,9 +5458,9 @@ } }, "node_modules/ioredis": { - "version": "4.28.3", - "resolved": "https://registry.npmjs.org/ioredis/-/ioredis-4.28.3.tgz", - "integrity": "sha512-9JOWVgBnuSxpIgfpjc1OeY1OLmA4t2KOWWURTDRXky+eWO0LZhI33pQNT9gYxANUXfh5p/zYephYni6GPRsksQ==", + "version": "4.28.5", + "resolved": "https://registry.npmjs.org/ioredis/-/ioredis-4.28.5.tgz", + "integrity": "sha512-3GYo0GJtLqgNXj4YhrisLaNNvWSNwSS2wS4OELGfGxH8I69+XfNdnmV1AyN+ZqMh0i7eX+SWjrwFKDBDgfBC1A==", "dependencies": { "cluster-key-slot": "^1.1.0", "debug": "^4.3.1", @@ -5532,6 +5507,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, "dependencies": { "has-bigints": "^1.0.1" }, @@ -5554,6 +5530,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -5569,6 +5546,7 @@ "version": "1.2.4", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", + "dev": true, "engines": { "node": ">= 0.4" }, @@ -5592,6 +5570,7 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -5680,25 +5659,11 @@ "node": ">=0.10.0" } }, - "node_modules/is-nan": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz", - "integrity": "sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==", - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-negative-zero": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true, "engines": { "node": ">= 0.4" }, @@ -5718,6 +5683,7 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz", "integrity": "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==", + "dev": true, "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -5738,6 +5704,7 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -5764,6 +5731,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz", "integrity": "sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==", + "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -5784,6 +5752,7 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -5814,6 +5783,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, "dependencies": { "has-symbols": "^1.0.2" }, @@ -5856,6 +5826,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, "dependencies": { "call-bind": "^1.0.2" }, @@ -8708,6 +8679,14 @@ "es5-ext": "~0.10.2" } }, + "node_modules/luxon": { + "version": "1.28.0", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-1.28.0.tgz", + "integrity": "sha512-TfTiyvZhwBYM/7QdAVDh+7dBTBA29v4ik0Ce9zda3Mnf8on1S5KJI8P2jKFZ8+5C0jhmr0KwJEO/Wdpm0VeWJQ==", + "engines": { + "node": "*" + } + }, "node_modules/macos-release": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.5.0.tgz", @@ -9021,18 +9000,13 @@ } } }, - "node_modules/moleculer-addons": { - "version": "1.0.0", - "resolved": "git+ssh://git@github.com/rishighan/moleculer-addons.git#7e2fd8781acfb874201e331c900dda83d654f95f", - "license": "MIT" - }, "node_modules/moleculer-bull": { "version": "0.2.8", - "resolved": "https://registry.npmjs.org/moleculer-bull/-/moleculer-bull-0.2.8.tgz", - "integrity": "sha512-ayVIqVmc6HVD6SL0RLsmMYqDnnPqwrcEWAPpY31kbUIfU3CBH2grGaqA5adyZBNCo4gQz09+4O9m+Hqxls06Ag==", + "resolved": "git+ssh://git@github.com/rishighan/moleculer-bull.git#7e3c245b5a2776c0d255a013bd121c79eeafe923", + "license": "MIT", "dependencies": { - "bull": "^3.15.0", - "lodash": "^4.17.15" + "bull": "^4.8.0", + "lodash": "^4.17.21" }, "engines": { "node": ">= 8.x.x" @@ -9136,25 +9110,6 @@ "moleculer": "^0.13.0 || ^0.14.0" } }, - "node_modules/moment": { - "version": "2.29.1", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", - "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==", - "engines": { - "node": "*" - } - }, - "node_modules/moment-timezone": { - "version": "0.5.34", - "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.34.tgz", - "integrity": "sha512-3zAEHh2hKUs3EXLESx/wsgw6IQdusOT8Bxm3D9UrHPQR7zlMmzwybC8zHEM1tQ4LJwP7fcxrWr8tuBg05fFCbg==", - "dependencies": { - "moment": ">= 2.9.0" - }, - "engines": { - "node": "*" - } - }, "node_modules/mongodb": { "version": "3.7.3", "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.7.3.tgz", @@ -9233,18 +9188,6 @@ "url": "https://opencollective.com/mongoose" } }, - "node_modules/mongoose-elasticsearch-xp": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/mongoose-elasticsearch-xp/-/mongoose-elasticsearch-xp-5.8.0.tgz", - "integrity": "sha512-snb8OdeIuX64vvlyQ/Hwu2vxQDLElixmxkSn3dOeuZ3TepPN2l4PQvfBLHmPT3e86HH93jHeMNU/PJtNOc4FOw==", - "dependencies": { - "mongoose": "^5.5.6" - }, - "peerDependencies": { - "elasticsearch": "^12.1.3 || ^13.0.0 || ^14.0.0 || ^16.0.0", - "mongoose": "^4.9.0 || ^5.0.0" - } - }, "node_modules/mongoose-legacy-pluralize": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/mongoose-legacy-pluralize/-/mongoose-legacy-pluralize-1.0.2.tgz", @@ -9347,6 +9290,31 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, + "node_modules/msgpackr": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.5.5.tgz", + "integrity": "sha512-JG0V47xRIQ9pyUnx6Hb4+3TrQoia2nA3UIdmyTldhxaxtKFkekkKpUW/N6fwHwod9o4BGuJGtouxOk+yCP5PEA==", + "optionalDependencies": { + "msgpackr-extract": "^1.0.14" + } + }, + "node_modules/msgpackr-extract": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-1.0.16.tgz", + "integrity": "sha512-fxdRfQUxPrL/TizyfYfMn09dK58e+d65bRD/fcaVH4052vj30QOzzqxcQIS7B0NsqlypEQ/6Du3QmP2DhWFfCA==", + "hasInstallScript": true, + "optional": true, + "dependencies": { + "nan": "^2.14.2", + "node-gyp-build": "^4.2.3" + } + }, + "node_modules/nan": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", + "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==", + "optional": true + }, "node_modules/nanoclone": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/nanoclone/-/nanoclone-0.2.1.tgz", @@ -9487,6 +9455,17 @@ "webidl-conversions": "^3.0.0" } }, + "node_modules/node-gyp-build": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.3.0.tgz", + "integrity": "sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q==", + "optional": true, + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" + } + }, "node_modules/node-int64": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", @@ -10229,8 +10208,6 @@ }, "node_modules/npm/node_modules/cli-columns/node_modules/string-width": { "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "inBundle": true, "license": "MIT", @@ -10435,8 +10412,6 @@ }, "node_modules/npm/node_modules/debug/node_modules/ms": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true, "inBundle": true, "license": "MIT" @@ -10608,8 +10583,6 @@ }, "node_modules/npm/node_modules/gauge/node_modules/string-width": { "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "inBundle": true, "license": "MIT", @@ -12272,6 +12245,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, "engines": { "node": ">= 0.4" } @@ -12280,6 +12254,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, "dependencies": { "call-bind": "^1.0.0", "define-properties": "^1.1.3", @@ -12293,22 +12268,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/object.getownpropertydescriptors": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz", - "integrity": "sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" - }, - "engines": { - "node": ">= 0.8" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/object.values": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", @@ -12996,22 +12955,6 @@ "node": ">=0.4.0" } }, - "node_modules/promise.prototype.finally": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/promise.prototype.finally/-/promise.prototype.finally-3.1.3.tgz", - "integrity": "sha512-EXRF3fC9/0gz4qkt/f5EP5iW4kj9oFpBICNpCNOb/52+8nlHIX07FPLbi/q4qYBQ1xZqivMzTpNQSnArVASolQ==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/prompts": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", @@ -14038,6 +13981,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", + "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3" @@ -14050,6 +13994,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", + "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3" @@ -14334,9 +14279,9 @@ "dev": true }, "node_modules/threetwo-ui-typings": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/threetwo-ui-typings/-/threetwo-ui-typings-1.0.13.tgz", - "integrity": "sha512-AQiY8/hbp+TobBoehNTEoNco97AoiKYQjAANSFDR3pSD5jFn5qjLlKntvqdNF9Fg5tcS0ReYe0AjsvKshKpixQ==", + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/threetwo-ui-typings/-/threetwo-ui-typings-1.0.14.tgz", + "integrity": "sha512-nfOi2T9Pr35Bry7Y9q0r6ZnuLdGqfJY45Xu0lDGJl/oA8RLBS19FZtxsVQzYnm5jfm0tO2Q6t/JY7JnU8a9olw==", "dependencies": { "typescript": "^4.3.2" } @@ -14699,6 +14644,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", + "dev": true, "dependencies": { "function-bind": "^1.1.1", "has-bigints": "^1.0.1", @@ -14746,21 +14692,6 @@ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, - "node_modules/util.promisify": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.1.1.tgz", - "integrity": "sha512-/s3UsZUrIfa6xDhr7zZhnE9SLQ5RIXyYfiVnMMyMDzOc8WhWN4Nbh36H842OyurKbCDAesZOJaVyvmSl6fhGQw==", - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "for-each": "^0.3.3", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/uuid": { "version": "8.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", @@ -14916,6 +14847,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, "dependencies": { "is-bigint": "^1.0.1", "is-boolean-object": "^1.1.0", @@ -16716,15 +16648,6 @@ "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.52.tgz", "integrity": "sha512-s3nugnZumCC//n4moGGe6tkNMyYEdaDBitVjwPxXmR5lnMG5dHePinH2EdxkG3Rh1ghFHHixAG4NJhpJW1rthQ==" }, - "@types/node-7z": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@types/node-7z/-/node-7z-2.1.4.tgz", - "integrity": "sha512-SayS5Cld62m7wRsKtBJheNBYRTVmKK+wTmW16EmYf2FuRTSGHKPx/p2OqAVjeKSQss9qcCKDGG9yv7D+Pi+iNg==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, "@types/prettier": { "version": "2.4.3", "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.4.3.tgz", @@ -16742,15 +16665,6 @@ "resolved": "https://registry.npmjs.org/@types/string-similarity/-/string-similarity-4.0.0.tgz", "integrity": "sha512-dMS4S07fbtY1AILG/RhuwmptmzK1Ql8scmAebOTJ/8iBtK/KI17NwGwKzu1uipjj8Kk+3mfPxum56kKZE93mzQ==" }, - "@types/unzipper": { - "version": "0.10.5", - "resolved": "https://registry.npmjs.org/@types/unzipper/-/unzipper-0.10.5.tgz", - "integrity": "sha512-NrLJb29AdnBARpg9S/4ktfPEisbJ0AvaaAr3j7Q1tg8AgcEUsq2HqbNzvgLRoWyRtjzeLEv7vuL39u1mrNIyNA==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, "@types/yargs": { "version": "16.0.4", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", @@ -17477,19 +17391,18 @@ "dev": true }, "bull": { - "version": "3.29.3", - "resolved": "https://registry.npmjs.org/bull/-/bull-3.29.3.tgz", - "integrity": "sha512-MOqV1dKLy1YQgP9m3lFolyMxaU+1+o4afzYYf0H4wNM+x/S0I1QPQfkgGlLiH00EyFrvSmeubeCYFP47rTfpjg==", + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/bull/-/bull-4.8.0.tgz", + "integrity": "sha512-XQ/wH9KOhapoQ1HZ2ZIxZFBWdaZD+cQNQtQDS6UTFjQDAcDcqByHT1MxTWW008ePgD4AXmLKEkU4wubS3NgQig==", "requires": { - "cron-parser": "^2.13.0", + "cron-parser": "^4.2.1", "debuglog": "^1.0.0", "get-port": "^5.1.1", - "ioredis": "^4.27.0", + "ioredis": "^4.28.5", "lodash": "^4.17.21", + "msgpackr": "^1.5.2", "p-timeout": "^3.2.0", - "promise.prototype.finally": "^3.1.2", "semver": "^7.3.2", - "util.promisify": "^1.0.1", "uuid": "^8.3.0" } }, @@ -17849,12 +17762,11 @@ "peer": true }, "cron-parser": { - "version": "2.18.0", - "resolved": "https://registry.npmjs.org/cron-parser/-/cron-parser-2.18.0.tgz", - "integrity": "sha512-s4odpheTyydAbTBQepsqd2rNWGa2iV3cyo8g7zbI2QQYGLVsfbhmwukayS1XHppe02Oy1fg7mg6xoaraVJeEcg==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/cron-parser/-/cron-parser-4.2.1.tgz", + "integrity": "sha512-5sJBwDYyCp+0vU5b7POl8zLWfgV5fOHxlc45FWoWdHecGC7MQHCjx0CHivCMRnGFovghKhhyYM+Zm9DcY5qcHg==", "requires": { - "is-nan": "^1.3.0", - "moment-timezone": "^0.5.31" + "luxon": "^1.28.0" } }, "cron-validate": { @@ -18002,6 +17914,7 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, "requires": { "object-keys": "^1.0.12" } @@ -18195,6 +18108,7 @@ "version": "1.19.1", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz", "integrity": "sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==", + "dev": true, "requires": { "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", @@ -18222,6 +18136,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, "requires": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", @@ -18974,14 +18889,6 @@ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==" }, - "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "requires": { - "is-callable": "^1.1.3" - } - }, "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", @@ -19097,6 +19004,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, "requires": { "call-bind": "^1.0.2", "get-intrinsic": "^1.1.1" @@ -19197,7 +19105,8 @@ "has-bigints": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", - "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==" + "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", + "dev": true }, "has-flag": { "version": "4.0.0", @@ -19213,6 +19122,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, "requires": { "has-symbols": "^1.0.2" } @@ -19404,6 +19314,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "dev": true, "requires": { "get-intrinsic": "^1.1.0", "has": "^1.0.3", @@ -19411,9 +19322,9 @@ } }, "ioredis": { - "version": "4.28.3", - "resolved": "https://registry.npmjs.org/ioredis/-/ioredis-4.28.3.tgz", - "integrity": "sha512-9JOWVgBnuSxpIgfpjc1OeY1OLmA4t2KOWWURTDRXky+eWO0LZhI33pQNT9gYxANUXfh5p/zYephYni6GPRsksQ==", + "version": "4.28.5", + "resolved": "https://registry.npmjs.org/ioredis/-/ioredis-4.28.5.tgz", + "integrity": "sha512-3GYo0GJtLqgNXj4YhrisLaNNvWSNwSS2wS4OELGfGxH8I69+XfNdnmV1AyN+ZqMh0i7eX+SWjrwFKDBDgfBC1A==", "requires": { "cluster-key-slot": "^1.1.0", "debug": "^4.3.1", @@ -19447,6 +19358,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, "requires": { "has-bigints": "^1.0.1" } @@ -19463,6 +19375,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, "requires": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -19471,7 +19384,8 @@ "is-callable": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", - "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==" + "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", + "dev": true }, "is-core-module": { "version": "2.8.1", @@ -19486,6 +19400,7 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, "requires": { "has-tostringtag": "^1.0.0" } @@ -19546,19 +19461,11 @@ } } }, - "is-nan": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz", - "integrity": "sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - } - }, "is-negative-zero": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==" + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true }, "is-number": { "version": "7.0.0", @@ -19569,6 +19476,7 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz", "integrity": "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==", + "dev": true, "requires": { "has-tostringtag": "^1.0.0" } @@ -19583,6 +19491,7 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, "requires": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -19596,7 +19505,8 @@ "is-shared-array-buffer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz", - "integrity": "sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==" + "integrity": "sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==", + "dev": true }, "is-stream": { "version": "2.0.1", @@ -19608,6 +19518,7 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, "requires": { "has-tostringtag": "^1.0.0" } @@ -19629,6 +19540,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, "requires": { "has-symbols": "^1.0.2" } @@ -19656,6 +19568,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, "requires": { "call-bind": "^1.0.2" } @@ -21827,6 +21740,11 @@ "es5-ext": "~0.10.2" } }, + "luxon": { + "version": "1.28.0", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-1.28.0.tgz", + "integrity": "sha512-TfTiyvZhwBYM/7QdAVDh+7dBTBA29v4ik0Ce9zda3Mnf8on1S5KJI8P2jKFZ8+5C0jhmr0KwJEO/Wdpm0VeWJQ==" + }, "macos-release": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.5.0.tgz", @@ -21992,17 +21910,12 @@ "recursive-watch": "^1.1.4" } }, - "moleculer-addons": { - "version": "git+ssh://git@github.com/rishighan/moleculer-addons.git#7e2fd8781acfb874201e331c900dda83d654f95f", - "from": "moleculer-addons@github:rishighan/moleculer-addons#master" - }, "moleculer-bull": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/moleculer-bull/-/moleculer-bull-0.2.8.tgz", - "integrity": "sha512-ayVIqVmc6HVD6SL0RLsmMYqDnnPqwrcEWAPpY31kbUIfU3CBH2grGaqA5adyZBNCo4gQz09+4O9m+Hqxls06Ag==", + "version": "git+ssh://git@github.com/rishighan/moleculer-bull.git#7e3c245b5a2776c0d255a013bd121c79eeafe923", + "from": "moleculer-bull@github:rishighan/moleculer-bull", "requires": { - "bull": "^3.15.0", - "lodash": "^4.17.15" + "bull": "^4.8.0", + "lodash": "^4.17.21" } }, "moleculer-db": { @@ -22072,19 +21985,6 @@ "serve-static": "^1.14.1" } }, - "moment": { - "version": "2.29.1", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", - "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==" - }, - "moment-timezone": { - "version": "0.5.34", - "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.34.tgz", - "integrity": "sha512-3zAEHh2hKUs3EXLESx/wsgw6IQdusOT8Bxm3D9UrHPQR7zlMmzwybC8zHEM1tQ4LJwP7fcxrWr8tuBg05fFCbg==", - "requires": { - "moment": ">= 2.9.0" - } - }, "mongodb": { "version": "3.7.3", "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.7.3.tgz", @@ -22145,14 +22045,6 @@ } } }, - "mongoose-elasticsearch-xp": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/mongoose-elasticsearch-xp/-/mongoose-elasticsearch-xp-5.8.0.tgz", - "integrity": "sha512-snb8OdeIuX64vvlyQ/Hwu2vxQDLElixmxkSn3dOeuZ3TepPN2l4PQvfBLHmPT3e86HH93jHeMNU/PJtNOc4FOw==", - "requires": { - "mongoose": "^5.5.6" - } - }, "mongoose-legacy-pluralize": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/mongoose-legacy-pluralize/-/mongoose-legacy-pluralize-1.0.2.tgz", @@ -22211,6 +22103,30 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, + "msgpackr": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.5.5.tgz", + "integrity": "sha512-JG0V47xRIQ9pyUnx6Hb4+3TrQoia2nA3UIdmyTldhxaxtKFkekkKpUW/N6fwHwod9o4BGuJGtouxOk+yCP5PEA==", + "requires": { + "msgpackr-extract": "^1.0.14" + } + }, + "msgpackr-extract": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-1.0.16.tgz", + "integrity": "sha512-fxdRfQUxPrL/TizyfYfMn09dK58e+d65bRD/fcaVH4052vj30QOzzqxcQIS7B0NsqlypEQ/6Du3QmP2DhWFfCA==", + "optional": true, + "requires": { + "nan": "^2.14.2", + "node-gyp-build": "^4.2.3" + } + }, + "nan": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", + "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==", + "optional": true + }, "nanoclone": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/nanoclone/-/nanoclone-0.2.1.tgz", @@ -22321,6 +22237,12 @@ } } }, + "node-gyp-build": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.3.0.tgz", + "integrity": "sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q==", + "optional": true + }, "node-int64": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", @@ -22821,8 +22743,6 @@ }, "string-width": { "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "bundled": true, "dev": true, "requires": { @@ -22967,8 +22887,6 @@ "dependencies": { "ms": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "bundled": true, "dev": true } @@ -23100,8 +23018,6 @@ }, "string-width": { "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "bundled": true, "dev": true, "requires": { @@ -24313,12 +24229,14 @@ "object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true }, "object.assign": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, "requires": { "call-bind": "^1.0.0", "define-properties": "^1.1.3", @@ -24326,16 +24244,6 @@ "object-keys": "^1.1.1" } }, - "object.getownpropertydescriptors": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz", - "integrity": "sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" - } - }, "object.values": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", @@ -24834,16 +24742,6 @@ "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true }, - "promise.prototype.finally": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/promise.prototype.finally/-/promise.prototype.finally-3.1.3.tgz", - "integrity": "sha512-EXRF3fC9/0gz4qkt/f5EP5iW4kj9oFpBICNpCNOb/52+8nlHIX07FPLbi/q4qYBQ1xZqivMzTpNQSnArVASolQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" - } - }, "prompts": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", @@ -25608,6 +25506,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", + "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3" @@ -25617,6 +25516,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", + "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3" @@ -25836,9 +25736,9 @@ "dev": true }, "threetwo-ui-typings": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/threetwo-ui-typings/-/threetwo-ui-typings-1.0.13.tgz", - "integrity": "sha512-AQiY8/hbp+TobBoehNTEoNco97AoiKYQjAANSFDR3pSD5jFn5qjLlKntvqdNF9Fg5tcS0ReYe0AjsvKshKpixQ==", + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/threetwo-ui-typings/-/threetwo-ui-typings-1.0.14.tgz", + "integrity": "sha512-nfOi2T9Pr35Bry7Y9q0r6ZnuLdGqfJY45Xu0lDGJl/oA8RLBS19FZtxsVQzYnm5jfm0tO2Q6t/JY7JnU8a9olw==", "requires": { "typescript": "^4.3.2" }, @@ -26121,6 +26021,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", + "dev": true, "requires": { "function-bind": "^1.1.1", "has-bigints": "^1.0.1", @@ -26156,18 +26057,6 @@ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, - "util.promisify": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.1.1.tgz", - "integrity": "sha512-/s3UsZUrIfa6xDhr7zZhnE9SLQ5RIXyYfiVnMMyMDzOc8WhWN4Nbh36H842OyurKbCDAesZOJaVyvmSl6fhGQw==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "for-each": "^0.3.3", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.1" - } - }, "uuid": { "version": "8.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", @@ -26306,6 +26195,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, "requires": { "is-bigint": "^1.0.1", "is-boolean-object": "^1.1.0", diff --git a/package.json b/package.json index bfe7493..65bf04e 100644 --- a/package.json +++ b/package.json @@ -21,8 +21,6 @@ "author": "", "devDependencies": { "@types/lodash": "^4.14.168", - "@types/node-7z": "^2.1.4", - "@types/unzipper": "^0.10.3", "@typescript-eslint/eslint-plugin": "^4.33.0", "@typescript-eslint/parser": "^4.33.0", "7zip-bin": "^5.1.1", @@ -63,15 +61,13 @@ "lodash": "^4.17.21", "mkdirp": "^0.5.5", "moleculer": "^0.14.19", - "moleculer-addons": "github:rishighan/moleculer-addons#master", - "moleculer-bull": "^0.2.8", + "moleculer-bull": "github:rishighan/moleculer-bull", "moleculer-db": "^0.8.13", "moleculer-db-adapter-mongo": "^0.4.7", "moleculer-db-adapter-mongoose": "^0.8.9", "moleculer-web": "^0.10.4", "mongoosastic-ts": "^5.0.7", "mongoose": "^5.12.7", - "mongoose-elasticsearch-xp": "^5.8.0", "mongoose-paginate-v2": "^1.3.18", "nats": "^1.3.2", "node-7z-forall": "^2.1.5", @@ -79,7 +75,7 @@ "node-unrar-js": "^1.0.5", "sharp": "^0.30.3", "socket.io": "^4.4.0", - "threetwo-ui-typings": "^1.0.13", + "threetwo-ui-typings": "^1.0.14", "through2": "^4.0.2", "unrar": "^0.2.0", "xml2js": "^0.4.23" diff --git a/services/library.service.ts b/services/library.service.ts index 3de02c5..e7f75da 100644 --- a/services/library.service.ts +++ b/services/library.service.ts @@ -32,7 +32,7 @@ SOFTWARE. */ "use strict"; -import { isNil, isNull, isUndefined, map } from "lodash"; +import { isNil } from "lodash"; import { Context, Service, diff --git a/services/libraryqueue.service.ts b/services/libraryqueue.service.ts index 785b570..748015e 100644 --- a/services/libraryqueue.service.ts +++ b/services/libraryqueue.service.ts @@ -49,10 +49,9 @@ import Comic from "../models/comic.model"; import { extractFromArchive } from "../utils/uncompression.utils"; import { refineQuery } from "filename-parser"; import { io } from "./api.service"; -import { getFileConstituents } from "../utils/file.utils"; import { USERDATA_DIRECTORY } from "../constants/directories"; import { IExtractedComicBookCoverFile } from "threetwo-ui-typings"; -const REDIS_URI = process.env.REDIS_URI || `redis://0.0.0.0:6379`; +const REDIS_URI = process.env.REDIS_URI || `redis://localhost:6379`; console.log(`REDIS -> ${REDIS_URI}`); export default class QueueService extends Service { @@ -216,6 +215,18 @@ export default class QueueService extends Service { console.log(`is stalled.`); } ); + + await this.getQueue("process.import").on( + "drained", + async (data) => { + client.emit("action", { + type: "LS_QUEUE_DRAINED", + result: data, + }); + console.log(data); + return data; + } + ); }); }, }); diff --git a/utils/uncompression.utils.ts b/utils/uncompression.utils.ts index d3fd231..38cd324 100644 --- a/utils/uncompression.utils.ts +++ b/utils/uncompression.utils.ts @@ -61,6 +61,8 @@ interface RarFile { hostOS: string; compression: string; } + + export const extractComicInfoXMLFromRar = async ( filePath: string ): Promise => { diff --git a/yarn.lock b/yarn.lock index 1a46eef..7963e65 100644 --- a/yarn.lock +++ b/yarn.lock @@ -979,13 +979,6 @@ "@types/bson" "*" "@types/node" "*" -"@types/node-7z@^2.1.4": - "integrity" "sha512-SayS5Cld62m7wRsKtBJheNBYRTVmKK+wTmW16EmYf2FuRTSGHKPx/p2OqAVjeKSQss9qcCKDGG9yv7D+Pi+iNg==" - "resolved" "https://registry.npmjs.org/@types/node-7z/-/node-7z-2.1.4.tgz" - "version" "2.1.4" - dependencies: - "@types/node" "*" - "@types/node@*", "@types/node@^13.9.8", "@types/node@>=10.0.0": "integrity" "sha512-s3nugnZumCC//n4moGGe6tkNMyYEdaDBitVjwPxXmR5lnMG5dHePinH2EdxkG3Rh1ghFHHixAG4NJhpJW1rthQ==" "resolved" "https://registry.npmjs.org/@types/node/-/node-13.13.52.tgz" @@ -1006,13 +999,6 @@ "resolved" "https://registry.npmjs.org/@types/string-similarity/-/string-similarity-4.0.0.tgz" "version" "4.0.0" -"@types/unzipper@^0.10.3": - "integrity" "sha512-NrLJb29AdnBARpg9S/4ktfPEisbJ0AvaaAr3j7Q1tg8AgcEUsq2HqbNzvgLRoWyRtjzeLEv7vuL39u1mrNIyNA==" - "resolved" "https://registry.npmjs.org/@types/unzipper/-/unzipper-0.10.5.tgz" - "version" "0.10.5" - dependencies: - "@types/node" "*" - "@types/yargs-parser@*": "integrity" "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==" "resolved" "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.1.tgz" @@ -1697,20 +1683,19 @@ "builtins@^1.0.3": "version" "1.0.3" -"bull@^3.15.0": - "integrity" "sha512-MOqV1dKLy1YQgP9m3lFolyMxaU+1+o4afzYYf0H4wNM+x/S0I1QPQfkgGlLiH00EyFrvSmeubeCYFP47rTfpjg==" - "resolved" "https://registry.npmjs.org/bull/-/bull-3.29.3.tgz" - "version" "3.29.3" +"bull@^4.8.0": + "integrity" "sha512-XQ/wH9KOhapoQ1HZ2ZIxZFBWdaZD+cQNQtQDS6UTFjQDAcDcqByHT1MxTWW008ePgD4AXmLKEkU4wubS3NgQig==" + "resolved" "https://registry.npmjs.org/bull/-/bull-4.8.0.tgz" + "version" "4.8.0" dependencies: - "cron-parser" "^2.13.0" + "cron-parser" "^4.2.1" "debuglog" "^1.0.0" "get-port" "^5.1.1" - "ioredis" "^4.27.0" + "ioredis" "^4.28.5" "lodash" "^4.17.21" + "msgpackr" "^1.5.2" "p-timeout" "^3.2.0" - "promise.prototype.finally" "^3.1.2" "semver" "^7.3.2" - "util.promisify" "^1.0.1" "uuid" "^8.3.0" "bytes@3.1.1": @@ -2110,13 +2095,12 @@ "resolved" "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz" "version" "1.1.1" -"cron-parser@^2.13.0": - "integrity" "sha512-s4odpheTyydAbTBQepsqd2rNWGa2iV3cyo8g7zbI2QQYGLVsfbhmwukayS1XHppe02Oy1fg7mg6xoaraVJeEcg==" - "resolved" "https://registry.npmjs.org/cron-parser/-/cron-parser-2.18.0.tgz" - "version" "2.18.0" +"cron-parser@^4.2.1": + "integrity" "sha512-5sJBwDYyCp+0vU5b7POl8zLWfgV5fOHxlc45FWoWdHecGC7MQHCjx0CHivCMRnGFovghKhhyYM+Zm9DcY5qcHg==" + "resolved" "https://registry.npmjs.org/cron-parser/-/cron-parser-4.2.1.tgz" + "version" "4.2.1" dependencies: - "is-nan" "^1.3.0" - "moment-timezone" "^0.5.31" + "luxon" "^1.28.0" "cron-validate@^1.4.3": "integrity" "sha512-N+qKw019oQBEPIP5Qwi8Z5XelQ00ThN6Maahwv+9UGu2u/b/MPb35zngMQI0T8pBoNiBrIXGlhvsmspNSYae/w==" @@ -2430,7 +2414,7 @@ "resolved" "https://registry.npmjs.org/efrt-unpack/-/efrt-unpack-2.2.0.tgz" "version" "2.2.0" -"elasticsearch@^12.1.3 || ^13.0.0 || ^14.0.0 || ^16.0.0", "elasticsearch@16.7.2": +"elasticsearch@16.7.2": "integrity" "sha512-1ZLKZlG2ABfYVBX2d7/JgxOsKJrM5Yu62GvshWu7ZSvhxPomCN4Gas90DS51yYI56JolY0XGhyiRlUhLhIL05Q==" "resolved" "https://registry.npmjs.org/elasticsearch/-/elasticsearch-16.7.2.tgz" "version" "16.7.2" @@ -3036,13 +3020,6 @@ "resolved" "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz" "version" "1.14.9" -"for-each@^0.3.3": - "integrity" "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==" - "resolved" "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz" - "version" "0.3.3" - dependencies: - "is-callable" "^1.1.3" - "forever-agent@~0.6.1": "integrity" "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" "resolved" "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz" @@ -3546,10 +3523,10 @@ "has" "^1.0.3" "side-channel" "^1.0.4" -"ioredis@^4.0.0", "ioredis@^4.27.0", "ioredis@^4.28.1": - "integrity" "sha512-9JOWVgBnuSxpIgfpjc1OeY1OLmA4t2KOWWURTDRXky+eWO0LZhI33pQNT9gYxANUXfh5p/zYephYni6GPRsksQ==" - "resolved" "https://registry.npmjs.org/ioredis/-/ioredis-4.28.3.tgz" - "version" "4.28.3" +"ioredis@^4.0.0", "ioredis@^4.28.1", "ioredis@^4.28.5": + "integrity" "sha512-3GYo0GJtLqgNXj4YhrisLaNNvWSNwSS2wS4OELGfGxH8I69+XfNdnmV1AyN+ZqMh0i7eX+SWjrwFKDBDgfBC1A==" + "resolved" "https://registry.npmjs.org/ioredis/-/ioredis-4.28.5.tgz" + "version" "4.28.5" dependencies: "cluster-key-slot" "^1.1.0" "debug" "^4.3.1" @@ -3606,7 +3583,7 @@ "call-bind" "^1.0.2" "has-tostringtag" "^1.0.0" -"is-callable@^1.1.3", "is-callable@^1.1.4", "is-callable@^1.2.4": +"is-callable@^1.1.4", "is-callable@^1.2.4": "integrity" "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==" "resolved" "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz" "version" "1.2.4" @@ -3694,14 +3671,6 @@ "is-lambda@^1.0.1": "version" "1.0.1" -"is-nan@^1.3.0": - "integrity" "sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==" - "resolved" "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz" - "version" "1.3.2" - dependencies: - "call-bind" "^1.0.0" - "define-properties" "^1.1.3" - "is-negative-zero@^2.0.1": "integrity" "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==" "resolved" "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz" @@ -4692,7 +4661,7 @@ "lodash._baseiteratee" "~4.7.0" "lodash._baseuniq" "~4.6.0" -"lodash@^4.17.10", "lodash@^4.17.15", "lodash@^4.17.19", "lodash@^4.17.20", "lodash@^4.17.21", "lodash@^4.7.0": +"lodash@^4.17.10", "lodash@^4.17.19", "lodash@^4.17.20", "lodash@^4.17.21", "lodash@^4.7.0": "integrity" "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" "resolved" "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" "version" "4.17.21" @@ -4719,6 +4688,11 @@ dependencies: "es5-ext" "~0.10.2" +"luxon@^1.28.0": + "integrity" "sha512-TfTiyvZhwBYM/7QdAVDh+7dBTBA29v4ik0Ce9zda3Mnf8on1S5KJI8P2jKFZ8+5C0jhmr0KwJEO/Wdpm0VeWJQ==" + "resolved" "https://registry.npmjs.org/luxon/-/luxon-1.28.0.tgz" + "version" "1.28.0" + "macos-release@^2.5.0": "integrity" "sha512-EIgv+QZ9r+814gjJj0Bt5vSLJLzswGmSUbUpbi9AIr/fsN2IWFBl2NucV9PAiek+U1STK468tEkxmVYUtuAN3g==" "resolved" "https://registry.npmjs.org/macos-release/-/macos-release-2.5.0.tgz" @@ -4936,17 +4910,12 @@ dependencies: "minimist" "^1.2.5" -"moleculer-addons@github:rishighan/moleculer-addons#master": - "resolved" "git+ssh://git@github.com/rishighan/moleculer-addons.git#7e2fd8781acfb874201e331c900dda83d654f95f" - "version" "1.0.0" - -"moleculer-bull@^0.2.8": - "integrity" "sha512-ayVIqVmc6HVD6SL0RLsmMYqDnnPqwrcEWAPpY31kbUIfU3CBH2grGaqA5adyZBNCo4gQz09+4O9m+Hqxls06Ag==" - "resolved" "https://registry.npmjs.org/moleculer-bull/-/moleculer-bull-0.2.8.tgz" +"moleculer-bull@github:rishighan/moleculer-bull": + "resolved" "git+ssh://git@github.com/rishighan/moleculer-bull.git#7e3c245b5a2776c0d255a013bd121c79eeafe923" "version" "0.2.8" dependencies: - "bull" "^3.15.0" - "lodash" "^4.17.15" + "bull" "^4.8.0" + "lodash" "^4.17.21" "moleculer-db-adapter-mongo@^0.4.7": "integrity" "sha512-Z/D+qZKbNG/Efq46oW70Bi71Y/d3qLYwic1ekIvDGhTtPt/K0ClcMMwqfXyPjil+CaZhPqTwSROI5igXRKNn/g==" @@ -5025,18 +4994,6 @@ "node-fetch" "^2.6.1" "recursive-watch" "^1.1.4" -"moment-timezone@^0.5.31": - "integrity" "sha512-3zAEHh2hKUs3EXLESx/wsgw6IQdusOT8Bxm3D9UrHPQR7zlMmzwybC8zHEM1tQ4LJwP7fcxrWr8tuBg05fFCbg==" - "resolved" "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.34.tgz" - "version" "0.5.34" - dependencies: - "moment" ">= 2.9.0" - -"moment@>= 2.9.0": - "integrity" "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==" - "resolved" "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz" - "version" "2.29.1" - "mongodb@^3.6.7", "mongodb@3.7.3": "integrity" "sha512-Psm+g3/wHXhjBEktkxXsFMZvd3nemI0r3IPsE0bU+4//PnvNWKkzhZcEsbPcYiWqe8XqXJJEg4Tgtr7Raw67Yw==" "resolved" "https://registry.npmjs.org/mongodb/-/mongodb-3.7.3.tgz" @@ -5058,13 +5015,6 @@ "elasticsearch" "16.7.2" "lodash.clonedeep" "4.5.0" -"mongoose-elasticsearch-xp@^5.8.0": - "integrity" "sha512-snb8OdeIuX64vvlyQ/Hwu2vxQDLElixmxkSn3dOeuZ3TepPN2l4PQvfBLHmPT3e86HH93jHeMNU/PJtNOc4FOw==" - "resolved" "https://registry.npmjs.org/mongoose-elasticsearch-xp/-/mongoose-elasticsearch-xp-5.8.0.tgz" - "version" "5.8.0" - dependencies: - "mongoose" "^5.5.6" - "mongoose-legacy-pluralize@1.0.2": "integrity" "sha512-Yo/7qQU4/EyIS8YDFSeenIvXxZN+ld7YdV9LqFVQJzTLye8unujAWPZ4NWKfFA+RNjh+wvTWKY9Z3E5XM6ZZiQ==" "resolved" "https://registry.npmjs.org/mongoose-legacy-pluralize/-/mongoose-legacy-pluralize-1.0.2.tgz" @@ -5075,7 +5025,7 @@ "resolved" "https://registry.npmjs.org/mongoose-paginate-v2/-/mongoose-paginate-v2-1.5.0.tgz" "version" "1.5.0" -"mongoose@*", "mongoose@^5.12.7", "mongoose@^5.5.6", "mongoose@^5.6.3": +"mongoose@*", "mongoose@^5.12.7", "mongoose@^5.6.3": "integrity" "sha512-j+BlQjjxgZg0iWn42kLeZTB91OejcxWpY2Z50bsZTiKJ7HHcEtcY21Godw496GMkBqJMTzmW7G/kZ04mW+Cb7Q==" "resolved" "https://registry.npmjs.org/mongoose/-/mongoose-5.13.14.tgz" "version" "5.13.14" @@ -5131,9 +5081,29 @@ "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" "version" "2.1.2" +"msgpackr-extract@^1.0.14": + "integrity" "sha512-fxdRfQUxPrL/TizyfYfMn09dK58e+d65bRD/fcaVH4052vj30QOzzqxcQIS7B0NsqlypEQ/6Du3QmP2DhWFfCA==" + "resolved" "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-1.0.16.tgz" + "version" "1.0.16" + dependencies: + "nan" "^2.14.2" + "node-gyp-build" "^4.2.3" + +"msgpackr@^1.5.2": + "integrity" "sha512-JG0V47xRIQ9pyUnx6Hb4+3TrQoia2nA3UIdmyTldhxaxtKFkekkKpUW/N6fwHwod9o4BGuJGtouxOk+yCP5PEA==" + "resolved" "https://registry.npmjs.org/msgpackr/-/msgpackr-1.5.5.tgz" + "version" "1.5.5" + optionalDependencies: + "msgpackr-extract" "^1.0.14" + "mute-stream@~0.0.4": "version" "0.0.8" +"nan@^2.14.2": + "integrity" "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==" + "resolved" "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz" + "version" "2.15.0" + "nanoclone@^0.2.1": "integrity" "sha512-wynEP02LmIbLpcYw8uBKpcfF6dmg2vcpKqxeH5UcoKEYdExslsdUA4ugFauuaeYdTB76ez6gJW8XAZ6CgkXYxA==" "resolved" "https://registry.npmjs.org/nanoclone/-/nanoclone-0.2.1.tgz" @@ -5212,6 +5182,11 @@ dependencies: "whatwg-url" "^5.0.0" +"node-gyp-build@^4.2.3": + "integrity" "sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q==" + "resolved" "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.3.0.tgz" + "version" "4.3.0" + "node-gyp@*", "node-gyp@^8.2.0": "version" "8.4.1" dependencies: @@ -5482,15 +5457,6 @@ "has-symbols" "^1.0.1" "object-keys" "^1.1.1" -"object.getownpropertydescriptors@^2.1.1": - "integrity" "sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw==" - "resolved" "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz" - "version" "2.1.3" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.3" - "es-abstract" "^1.19.1" - "object.values@^1.1.5": "integrity" "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==" "resolved" "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz" @@ -5842,15 +5808,6 @@ "err-code" "^2.0.2" "retry" "^0.12.0" -"promise.prototype.finally@^3.1.2": - "integrity" "sha512-EXRF3fC9/0gz4qkt/f5EP5iW4kj9oFpBICNpCNOb/52+8nlHIX07FPLbi/q4qYBQ1xZqivMzTpNQSnArVASolQ==" - "resolved" "https://registry.npmjs.org/promise.prototype.finally/-/promise.prototype.finally-3.1.3.tgz" - "version" "3.1.3" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.3" - "es-abstract" "^1.19.1" - "prompts@^2.0.1": "integrity" "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==" "resolved" "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz" @@ -6804,10 +6761,10 @@ "resolved" "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" "version" "0.2.0" -"threetwo-ui-typings@^1.0.13": - "integrity" "sha512-AQiY8/hbp+TobBoehNTEoNco97AoiKYQjAANSFDR3pSD5jFn5qjLlKntvqdNF9Fg5tcS0ReYe0AjsvKshKpixQ==" - "resolved" "https://registry.npmjs.org/threetwo-ui-typings/-/threetwo-ui-typings-1.0.13.tgz" - "version" "1.0.13" +"threetwo-ui-typings@^1.0.14": + "integrity" "sha512-nfOi2T9Pr35Bry7Y9q0r6ZnuLdGqfJY45Xu0lDGJl/oA8RLBS19FZtxsVQzYnm5jfm0tO2Q6t/JY7JnU8a9olw==" + "resolved" "https://registry.npmjs.org/threetwo-ui-typings/-/threetwo-ui-typings-1.0.14.tgz" + "version" "1.0.14" dependencies: "typescript" "^4.3.2" @@ -7137,17 +7094,6 @@ "resolved" "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" "version" "1.0.2" -"util.promisify@^1.0.1": - "integrity" "sha512-/s3UsZUrIfa6xDhr7zZhnE9SLQ5RIXyYfiVnMMyMDzOc8WhWN4Nbh36H842OyurKbCDAesZOJaVyvmSl6fhGQw==" - "resolved" "https://registry.npmjs.org/util.promisify/-/util.promisify-1.1.1.tgz" - "version" "1.1.1" - dependencies: - "call-bind" "^1.0.0" - "define-properties" "^1.1.3" - "for-each" "^0.3.3" - "has-symbols" "^1.0.1" - "object.getownpropertydescriptors" "^2.1.1" - "uuid@^3.3.2": "integrity" "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" "resolved" "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz"