📔 Trying out node-calibre to generate covers
This commit is contained in:
402
package-lock.json
generated
402
package-lock.json
generated
@@ -12,24 +12,27 @@
|
||||
"@types/mkdirp": "^1.0.0",
|
||||
"@types/node": "^13.9.8",
|
||||
"@types/pino": "^6.3.8",
|
||||
"7zip-bin": "^5.1.1",
|
||||
"fs-extra": "^10.0.0",
|
||||
"JSONStream": "^1.3.5",
|
||||
"lodash": "^4.17.21",
|
||||
"moleculer": "^0.14.0",
|
||||
"moleculer-db": "^0.8.4",
|
||||
"moleculer": "^0.14.16",
|
||||
"moleculer-db": "^0.8.13",
|
||||
"moleculer-db-adapter-mongo": "^0.4.7",
|
||||
"moleculer-db-adapter-mongoose": "^0.8.9",
|
||||
"moleculer-web": "^0.9.0",
|
||||
"mongoose": "^5.12.7",
|
||||
"mongoose-paginate-v2": "^1.3.18",
|
||||
"nats": "^1.3.2",
|
||||
"node-7z": "^3.0.0",
|
||||
"node-calibre": "^2.1.1",
|
||||
"node-unrar-js": "^1.0.2",
|
||||
"pino": "^6.11.3",
|
||||
"pino-pretty": "^4.7.1",
|
||||
"sharp": "^0.28.1",
|
||||
"socket.io": "^4.1.1",
|
||||
"socket.io-stream": "^0.9.1",
|
||||
"socket.io-stream": "^0.5.3",
|
||||
"typescript": "^3.8.3",
|
||||
"unrar": "github:cnboker/node-unrar",
|
||||
"unzipper": "^0.10.11",
|
||||
"xml2js": "^0.4.23"
|
||||
},
|
||||
@@ -1517,6 +1520,11 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/7zip-bin": {
|
||||
"version": "5.1.1",
|
||||
"resolved": "https://registry.npmjs.org/7zip-bin/-/7zip-bin-5.1.1.tgz",
|
||||
"integrity": "sha512-sAP4LldeWNz0lNzmTird3uWfFDWWTeg6V/MsmyyLR9X1idwKBWIgt/ZvinqQldJm3LecKEs1emkbquO6PCiLVQ=="
|
||||
},
|
||||
"node_modules/abab": {
|
||||
"version": "2.0.5",
|
||||
"resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz",
|
||||
@@ -2770,11 +2778,6 @@
|
||||
"node": ">= 0.8"
|
||||
}
|
||||
},
|
||||
"node_modules/component-bind": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz",
|
||||
"integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E="
|
||||
},
|
||||
"node_modules/component-emitter": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
|
||||
@@ -2948,9 +2951,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/debug": {
|
||||
"version": "4.3.1",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
|
||||
"integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
|
||||
"version": "4.3.2",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
|
||||
"integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
|
||||
"dependencies": {
|
||||
"ms": "2.1.2"
|
||||
},
|
||||
@@ -2963,6 +2966,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/debuglog": {
|
||||
"version": "0.0.2",
|
||||
"resolved": "https://registry.npmjs.org/debuglog/-/debuglog-0.0.2.tgz",
|
||||
"integrity": "sha1-bA3PB+LD90UkYpt0Fmi9RsezYus=",
|
||||
"optional": true,
|
||||
"engines": {
|
||||
"node": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/decamelize": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
|
||||
@@ -4228,9 +4240,9 @@
|
||||
"integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA=="
|
||||
},
|
||||
"node_modules/fastest-validator": {
|
||||
"version": "1.10.1",
|
||||
"resolved": "https://registry.npmjs.org/fastest-validator/-/fastest-validator-1.10.1.tgz",
|
||||
"integrity": "sha512-nhQP8JI16Ltml3kFKCEckKzxmPDYXZw0r+zF83Kf5qcJmA2Hoo4ORSo+SduxNiIbKpSS0i+3mV/UPhu8Po7Qkw=="
|
||||
"version": "1.11.1",
|
||||
"resolved": "https://registry.npmjs.org/fastest-validator/-/fastest-validator-1.11.1.tgz",
|
||||
"integrity": "sha512-y0pXBCgGfY3mqbBL9sn2LtAxfJICyOr5cuOnCjyiKg4VoXVmDaLBDwnnj4QC1pSY5B4upln5k8RyLszlLXzXlw=="
|
||||
},
|
||||
"node_modules/fb-watchman": {
|
||||
"version": "2.0.1",
|
||||
@@ -5081,9 +5093,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/ipaddr.js": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.0.tgz",
|
||||
"integrity": "sha512-S54H9mIj0rbxRIyrDMEuuER86LdlgUg9FSeZ8duQb6CUG2iRrA36MYVQBSprTF/ZeAwvyQ5mDGuNvIPM0BIl3w==",
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz",
|
||||
"integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==",
|
||||
"engines": {
|
||||
"node": ">= 10"
|
||||
}
|
||||
@@ -7238,29 +7250,6 @@
|
||||
"graceful-fs": "^4.1.6"
|
||||
}
|
||||
},
|
||||
"node_modules/jsonparse": {
|
||||
"version": "1.3.1",
|
||||
"resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz",
|
||||
"integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=",
|
||||
"engines": [
|
||||
"node >= 0.2.0"
|
||||
]
|
||||
},
|
||||
"node_modules/JSONStream": {
|
||||
"version": "1.3.5",
|
||||
"resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz",
|
||||
"integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==",
|
||||
"dependencies": {
|
||||
"jsonparse": "^1.2.0",
|
||||
"through": ">=2.2.7 <3"
|
||||
},
|
||||
"bin": {
|
||||
"JSONStream": "bin.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/jsprim": {
|
||||
"version": "1.4.1",
|
||||
"resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
|
||||
@@ -7388,12 +7377,37 @@
|
||||
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
|
||||
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
|
||||
},
|
||||
"node_modules/lodash.defaultsdeep": {
|
||||
"version": "4.6.1",
|
||||
"resolved": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz",
|
||||
"integrity": "sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA=="
|
||||
},
|
||||
"node_modules/lodash.defaultto": {
|
||||
"version": "4.14.0",
|
||||
"resolved": "https://registry.npmjs.org/lodash.defaultto/-/lodash.defaultto-4.14.0.tgz",
|
||||
"integrity": "sha1-OL09QlrO5zPg4ru9TkspcRzC7hE="
|
||||
},
|
||||
"node_modules/lodash.flattendeep": {
|
||||
"version": "4.4.0",
|
||||
"resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz",
|
||||
"integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI="
|
||||
},
|
||||
"node_modules/lodash.isempty": {
|
||||
"version": "4.4.0",
|
||||
"resolved": "https://registry.npmjs.org/lodash.isempty/-/lodash.isempty-4.4.0.tgz",
|
||||
"integrity": "sha1-b4bL7di+TsmHvpqvM8loTbGzHn4="
|
||||
},
|
||||
"node_modules/lodash.memoize": {
|
||||
"version": "4.1.2",
|
||||
"resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
|
||||
"integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/lodash.negate": {
|
||||
"version": "3.0.2",
|
||||
"resolved": "https://registry.npmjs.org/lodash.negate/-/lodash.negate-3.0.2.tgz",
|
||||
"integrity": "sha1-nIl7C/YQAZ4LQ7j/Pwr+89e2bzQ="
|
||||
},
|
||||
"node_modules/lodash.sortby": {
|
||||
"version": "4.7.0",
|
||||
"resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz",
|
||||
@@ -7766,17 +7780,17 @@
|
||||
"integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A=="
|
||||
},
|
||||
"node_modules/moleculer": {
|
||||
"version": "0.14.13",
|
||||
"resolved": "https://registry.npmjs.org/moleculer/-/moleculer-0.14.13.tgz",
|
||||
"integrity": "sha512-ak5MIFWb0WwMBIIqw/cKlhFj+0huA7LjAYrv5bLSdluG0+aBRl3ZtST+6Ix4UA5qZ6cwhMsX+m9QtXGIs6CdVA==",
|
||||
"version": "0.14.16",
|
||||
"resolved": "https://registry.npmjs.org/moleculer/-/moleculer-0.14.16.tgz",
|
||||
"integrity": "sha512-MbHMsKh+sEJeu5/ANnjt23bDciDMTuhmh+AYUWMUbEbEBK2axhSEYtb3LK7Mf4WD4tatRHQQ+HdZ+KySo7K4+Q==",
|
||||
"dependencies": {
|
||||
"args": "^5.0.1",
|
||||
"es6-error": "^4.1.1",
|
||||
"eventemitter2": "^6.4.4",
|
||||
"fastest-validator": "^1.10.1",
|
||||
"fastest-validator": "^1.11.1",
|
||||
"fn-args": "^5.0.0",
|
||||
"glob": "^7.1.6",
|
||||
"ipaddr.js": "^2.0.0",
|
||||
"glob": "^7.1.7",
|
||||
"ipaddr.js": "^2.0.1",
|
||||
"kleur": "^4.1.4",
|
||||
"lodash": "^4.17.21",
|
||||
"lru-cache": "^6.0.0",
|
||||
@@ -7791,6 +7805,98 @@
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/moleculerjs/moleculer?sponsor=1"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"amqplib": "^0.7.0",
|
||||
"avsc": "^5.0.0",
|
||||
"bunyan": "^1.0.0",
|
||||
"cbor-x": "^0.8.3",
|
||||
"dd-trace": "^0.33.0",
|
||||
"debug": "^4.0.0",
|
||||
"etcd3": "^1.0.0",
|
||||
"ioredis": "^4.0.0",
|
||||
"jaeger-client": "^3.0.0",
|
||||
"kafka-node": "^5.0.0",
|
||||
"log4js": "^6.0.0",
|
||||
"mqtt": "^4.0.0",
|
||||
"msgpack5": "^5.0.0",
|
||||
"nats": "^1.0.0 || ^2.0.0",
|
||||
"node-nats-streaming": "^0.0.51 || ^0.3.0",
|
||||
"notepack.io": "2.0.0",
|
||||
"pino": "^6.0.0",
|
||||
"protobufjs": "^6.0.0",
|
||||
"redlock": "^4.0.0",
|
||||
"rhea-promise": "^1.0.0 || ^2.0.0",
|
||||
"thrift": "^0.12.0",
|
||||
"winston": "^3.0.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"amqplib": {
|
||||
"optional": true
|
||||
},
|
||||
"avsc": {
|
||||
"optional": true
|
||||
},
|
||||
"bunyan": {
|
||||
"optional": true
|
||||
},
|
||||
"cbor-x": {
|
||||
"optional": true
|
||||
},
|
||||
"dd-trace": {
|
||||
"optional": true
|
||||
},
|
||||
"debug": {
|
||||
"optional": true
|
||||
},
|
||||
"etcd3": {
|
||||
"optional": true
|
||||
},
|
||||
"ioredis": {
|
||||
"optional": true
|
||||
},
|
||||
"jaeger-client": {
|
||||
"optional": true
|
||||
},
|
||||
"kafka-node": {
|
||||
"optional": true
|
||||
},
|
||||
"log4js": {
|
||||
"optional": true
|
||||
},
|
||||
"mqtt": {
|
||||
"optional": true
|
||||
},
|
||||
"msgpack5": {
|
||||
"optional": true
|
||||
},
|
||||
"nats": {
|
||||
"optional": true
|
||||
},
|
||||
"node-nats-streaming": {
|
||||
"optional": true
|
||||
},
|
||||
"notepack.io": {
|
||||
"optional": true
|
||||
},
|
||||
"pino": {
|
||||
"optional": true
|
||||
},
|
||||
"protobufjs": {
|
||||
"optional": true
|
||||
},
|
||||
"redlock": {
|
||||
"optional": true
|
||||
},
|
||||
"rhea-promise": {
|
||||
"optional": true
|
||||
},
|
||||
"thrift": {
|
||||
"optional": true
|
||||
},
|
||||
"winston": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/moleculer-db": {
|
||||
@@ -8146,6 +8252,23 @@
|
||||
"integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/node-7z": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/node-7z/-/node-7z-3.0.0.tgz",
|
||||
"integrity": "sha512-KIznWSxIkOYO/vOgKQfJEaXd7rgoFYKZbaurainCEdMhYc7V7mRHX+qdf2HgbpQFcdJL/Q6/XOPrDLoBeTfuZA==",
|
||||
"dependencies": {
|
||||
"debug": "^4.3.2",
|
||||
"lodash.defaultsdeep": "^4.6.1",
|
||||
"lodash.defaultto": "^4.14.0",
|
||||
"lodash.flattendeep": "^4.4.0",
|
||||
"lodash.isempty": "^4.4.0",
|
||||
"lodash.negate": "^3.0.2",
|
||||
"normalize-path": "^3.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
}
|
||||
},
|
||||
"node_modules/node-abi": {
|
||||
"version": "2.26.0",
|
||||
"resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.26.0.tgz",
|
||||
@@ -8167,6 +8290,11 @@
|
||||
"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.1.0.tgz",
|
||||
"integrity": "sha512-flmrDNB06LIl5lywUz7YlNGZH/5p0M7W28k8hzd9Lshtdh1wshD2Y+U4h9LD6KObOy1f+fEVdgprPrEymjM5uw=="
|
||||
},
|
||||
"node_modules/node-calibre": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/node-calibre/-/node-calibre-2.1.1.tgz",
|
||||
"integrity": "sha512-t68lVmU+VznsivQKM6Fr1HSRQ2+m54OouiDkeCzRUQJO3N4h9l60DlcHFu2HAn6Kw5nsZEbOtnkk5OBhhOErxA=="
|
||||
},
|
||||
"node_modules/node-fetch": {
|
||||
"version": "2.6.1",
|
||||
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
|
||||
@@ -8278,7 +8406,6 @@
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
|
||||
"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
@@ -10493,27 +10620,25 @@
|
||||
}
|
||||
},
|
||||
"node_modules/socket.io-stream": {
|
||||
"version": "0.9.1",
|
||||
"resolved": "https://registry.npmjs.org/socket.io-stream/-/socket.io-stream-0.9.1.tgz",
|
||||
"integrity": "sha1-QhJYMWKIuDrGk7DUPv0J1tQ6upc=",
|
||||
"version": "0.5.3",
|
||||
"resolved": "https://registry.npmjs.org/socket.io-stream/-/socket.io-stream-0.5.3.tgz",
|
||||
"integrity": "sha1-AxV8Wl7rPSbiSc0d7ks3e2yCnLA=",
|
||||
"dependencies": {
|
||||
"component-bind": "~1.0.0",
|
||||
"debug": "~2.2.0"
|
||||
"debug": "*",
|
||||
"readable-stream": "1.1.9"
|
||||
}
|
||||
},
|
||||
"node_modules/socket.io-stream/node_modules/debug": {
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
|
||||
"integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
|
||||
"node_modules/socket.io-stream/node_modules/readable-stream": {
|
||||
"version": "1.1.9",
|
||||
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.9.tgz",
|
||||
"integrity": "sha1-2HEw+/j57pw7QFizxYo+MNsvz90=",
|
||||
"dependencies": {
|
||||
"ms": "0.7.1"
|
||||
"core-util-is": "~1.0.0"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"debuglog": "0.0.2"
|
||||
}
|
||||
},
|
||||
"node_modules/socket.io-stream/node_modules/ms": {
|
||||
"version": "0.7.1",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
|
||||
"integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg="
|
||||
},
|
||||
"node_modules/sonic-boom": {
|
||||
"version": "1.4.1",
|
||||
"resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-1.4.1.tgz",
|
||||
@@ -11151,7 +11276,8 @@
|
||||
"node_modules/through": {
|
||||
"version": "2.3.8",
|
||||
"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
|
||||
"integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
|
||||
"integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/timers-ext": {
|
||||
"version": "0.1.7",
|
||||
@@ -11569,6 +11695,14 @@
|
||||
"node": ">= 0.8"
|
||||
}
|
||||
},
|
||||
"node_modules/unrar": {
|
||||
"version": "0.1.7",
|
||||
"resolved": "git+ssh://git@github.com/cnboker/node-unrar.git#5f07cf1672bea8ee23cf01d7c9a5f3451d687c09",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 0.10.21"
|
||||
}
|
||||
},
|
||||
"node_modules/unset-value": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
|
||||
@@ -13312,6 +13446,11 @@
|
||||
"tsutils": "^3.17.1"
|
||||
}
|
||||
},
|
||||
"7zip-bin": {
|
||||
"version": "5.1.1",
|
||||
"resolved": "https://registry.npmjs.org/7zip-bin/-/7zip-bin-5.1.1.tgz",
|
||||
"integrity": "sha512-sAP4LldeWNz0lNzmTird3uWfFDWWTeg6V/MsmyyLR9X1idwKBWIgt/ZvinqQldJm3LecKEs1emkbquO6PCiLVQ=="
|
||||
},
|
||||
"abab": {
|
||||
"version": "2.0.5",
|
||||
"resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz",
|
||||
@@ -14292,11 +14431,6 @@
|
||||
"delayed-stream": "~1.0.0"
|
||||
}
|
||||
},
|
||||
"component-bind": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz",
|
||||
"integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E="
|
||||
},
|
||||
"component-emitter": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
|
||||
@@ -14442,13 +14576,19 @@
|
||||
"integrity": "sha512-OD0TZ+B7yP7ZgpJf5K2DIbj3FZvFvxgFUuaqA/V5zTjAtAAXZ1E8bktHxmAGs4x5b7PflqA9LeQ84Og7wYtF7Q=="
|
||||
},
|
||||
"debug": {
|
||||
"version": "4.3.1",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
|
||||
"integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
|
||||
"version": "4.3.2",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
|
||||
"integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
|
||||
"requires": {
|
||||
"ms": "2.1.2"
|
||||
}
|
||||
},
|
||||
"debuglog": {
|
||||
"version": "0.0.2",
|
||||
"resolved": "https://registry.npmjs.org/debuglog/-/debuglog-0.0.2.tgz",
|
||||
"integrity": "sha1-bA3PB+LD90UkYpt0Fmi9RsezYus=",
|
||||
"optional": true
|
||||
},
|
||||
"decamelize": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
|
||||
@@ -15491,9 +15631,9 @@
|
||||
"integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA=="
|
||||
},
|
||||
"fastest-validator": {
|
||||
"version": "1.10.1",
|
||||
"resolved": "https://registry.npmjs.org/fastest-validator/-/fastest-validator-1.10.1.tgz",
|
||||
"integrity": "sha512-nhQP8JI16Ltml3kFKCEckKzxmPDYXZw0r+zF83Kf5qcJmA2Hoo4ORSo+SduxNiIbKpSS0i+3mV/UPhu8Po7Qkw=="
|
||||
"version": "1.11.1",
|
||||
"resolved": "https://registry.npmjs.org/fastest-validator/-/fastest-validator-1.11.1.tgz",
|
||||
"integrity": "sha512-y0pXBCgGfY3mqbBL9sn2LtAxfJICyOr5cuOnCjyiKg4VoXVmDaLBDwnnj4QC1pSY5B4upln5k8RyLszlLXzXlw=="
|
||||
},
|
||||
"fb-watchman": {
|
||||
"version": "2.0.1",
|
||||
@@ -16135,9 +16275,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"ipaddr.js": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.0.tgz",
|
||||
"integrity": "sha512-S54H9mIj0rbxRIyrDMEuuER86LdlgUg9FSeZ8duQb6CUG2iRrA36MYVQBSprTF/ZeAwvyQ5mDGuNvIPM0BIl3w=="
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz",
|
||||
"integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng=="
|
||||
},
|
||||
"is-accessor-descriptor": {
|
||||
"version": "1.0.0",
|
||||
@@ -17773,20 +17913,6 @@
|
||||
"universalify": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"jsonparse": {
|
||||
"version": "1.3.1",
|
||||
"resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz",
|
||||
"integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA="
|
||||
},
|
||||
"JSONStream": {
|
||||
"version": "1.3.5",
|
||||
"resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz",
|
||||
"integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==",
|
||||
"requires": {
|
||||
"jsonparse": "^1.2.0",
|
||||
"through": ">=2.2.7 <3"
|
||||
}
|
||||
},
|
||||
"jsprim": {
|
||||
"version": "1.4.1",
|
||||
"resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
|
||||
@@ -17892,12 +18018,37 @@
|
||||
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
|
||||
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
|
||||
},
|
||||
"lodash.defaultsdeep": {
|
||||
"version": "4.6.1",
|
||||
"resolved": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz",
|
||||
"integrity": "sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA=="
|
||||
},
|
||||
"lodash.defaultto": {
|
||||
"version": "4.14.0",
|
||||
"resolved": "https://registry.npmjs.org/lodash.defaultto/-/lodash.defaultto-4.14.0.tgz",
|
||||
"integrity": "sha1-OL09QlrO5zPg4ru9TkspcRzC7hE="
|
||||
},
|
||||
"lodash.flattendeep": {
|
||||
"version": "4.4.0",
|
||||
"resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz",
|
||||
"integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI="
|
||||
},
|
||||
"lodash.isempty": {
|
||||
"version": "4.4.0",
|
||||
"resolved": "https://registry.npmjs.org/lodash.isempty/-/lodash.isempty-4.4.0.tgz",
|
||||
"integrity": "sha1-b4bL7di+TsmHvpqvM8loTbGzHn4="
|
||||
},
|
||||
"lodash.memoize": {
|
||||
"version": "4.1.2",
|
||||
"resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
|
||||
"integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=",
|
||||
"dev": true
|
||||
},
|
||||
"lodash.negate": {
|
||||
"version": "3.0.2",
|
||||
"resolved": "https://registry.npmjs.org/lodash.negate/-/lodash.negate-3.0.2.tgz",
|
||||
"integrity": "sha1-nIl7C/YQAZ4LQ7j/Pwr+89e2bzQ="
|
||||
},
|
||||
"lodash.sortby": {
|
||||
"version": "4.7.0",
|
||||
"resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz",
|
||||
@@ -18189,17 +18340,17 @@
|
||||
"integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A=="
|
||||
},
|
||||
"moleculer": {
|
||||
"version": "0.14.13",
|
||||
"resolved": "https://registry.npmjs.org/moleculer/-/moleculer-0.14.13.tgz",
|
||||
"integrity": "sha512-ak5MIFWb0WwMBIIqw/cKlhFj+0huA7LjAYrv5bLSdluG0+aBRl3ZtST+6Ix4UA5qZ6cwhMsX+m9QtXGIs6CdVA==",
|
||||
"version": "0.14.16",
|
||||
"resolved": "https://registry.npmjs.org/moleculer/-/moleculer-0.14.16.tgz",
|
||||
"integrity": "sha512-MbHMsKh+sEJeu5/ANnjt23bDciDMTuhmh+AYUWMUbEbEBK2axhSEYtb3LK7Mf4WD4tatRHQQ+HdZ+KySo7K4+Q==",
|
||||
"requires": {
|
||||
"args": "^5.0.1",
|
||||
"es6-error": "^4.1.1",
|
||||
"eventemitter2": "^6.4.4",
|
||||
"fastest-validator": "^1.10.1",
|
||||
"fastest-validator": "^1.11.1",
|
||||
"fn-args": "^5.0.0",
|
||||
"glob": "^7.1.6",
|
||||
"ipaddr.js": "^2.0.0",
|
||||
"glob": "^7.1.7",
|
||||
"ipaddr.js": "^2.0.1",
|
||||
"kleur": "^4.1.4",
|
||||
"lodash": "^4.17.21",
|
||||
"lru-cache": "^6.0.0",
|
||||
@@ -18459,6 +18610,20 @@
|
||||
"integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
|
||||
"dev": true
|
||||
},
|
||||
"node-7z": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/node-7z/-/node-7z-3.0.0.tgz",
|
||||
"integrity": "sha512-KIznWSxIkOYO/vOgKQfJEaXd7rgoFYKZbaurainCEdMhYc7V7mRHX+qdf2HgbpQFcdJL/Q6/XOPrDLoBeTfuZA==",
|
||||
"requires": {
|
||||
"debug": "^4.3.2",
|
||||
"lodash.defaultsdeep": "^4.6.1",
|
||||
"lodash.defaultto": "^4.14.0",
|
||||
"lodash.flattendeep": "^4.4.0",
|
||||
"lodash.isempty": "^4.4.0",
|
||||
"lodash.negate": "^3.0.2",
|
||||
"normalize-path": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"node-abi": {
|
||||
"version": "2.26.0",
|
||||
"resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.26.0.tgz",
|
||||
@@ -18479,6 +18644,11 @@
|
||||
"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.1.0.tgz",
|
||||
"integrity": "sha512-flmrDNB06LIl5lywUz7YlNGZH/5p0M7W28k8hzd9Lshtdh1wshD2Y+U4h9LD6KObOy1f+fEVdgprPrEymjM5uw=="
|
||||
},
|
||||
"node-calibre": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/node-calibre/-/node-calibre-2.1.1.tgz",
|
||||
"integrity": "sha512-t68lVmU+VznsivQKM6Fr1HSRQ2+m54OouiDkeCzRUQJO3N4h9l60DlcHFu2HAn6Kw5nsZEbOtnkk5OBhhOErxA=="
|
||||
},
|
||||
"node-fetch": {
|
||||
"version": "2.6.1",
|
||||
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
|
||||
@@ -18580,8 +18750,7 @@
|
||||
"normalize-path": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
|
||||
"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
|
||||
"dev": true
|
||||
"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="
|
||||
},
|
||||
"npm-run-path": {
|
||||
"version": "4.0.1",
|
||||
@@ -20307,26 +20476,22 @@
|
||||
}
|
||||
},
|
||||
"socket.io-stream": {
|
||||
"version": "0.9.1",
|
||||
"resolved": "https://registry.npmjs.org/socket.io-stream/-/socket.io-stream-0.9.1.tgz",
|
||||
"integrity": "sha1-QhJYMWKIuDrGk7DUPv0J1tQ6upc=",
|
||||
"version": "0.5.3",
|
||||
"resolved": "https://registry.npmjs.org/socket.io-stream/-/socket.io-stream-0.5.3.tgz",
|
||||
"integrity": "sha1-AxV8Wl7rPSbiSc0d7ks3e2yCnLA=",
|
||||
"requires": {
|
||||
"component-bind": "~1.0.0",
|
||||
"debug": "~2.2.0"
|
||||
"debug": "*",
|
||||
"readable-stream": "1.1.9"
|
||||
},
|
||||
"dependencies": {
|
||||
"debug": {
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
|
||||
"integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
|
||||
"readable-stream": {
|
||||
"version": "1.1.9",
|
||||
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.9.tgz",
|
||||
"integrity": "sha1-2HEw+/j57pw7QFizxYo+MNsvz90=",
|
||||
"requires": {
|
||||
"ms": "0.7.1"
|
||||
"core-util-is": "~1.0.0",
|
||||
"debuglog": "0.0.2"
|
||||
}
|
||||
},
|
||||
"ms": {
|
||||
"version": "0.7.1",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
|
||||
"integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg="
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -20854,7 +21019,8 @@
|
||||
"through": {
|
||||
"version": "2.3.8",
|
||||
"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
|
||||
"integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
|
||||
"integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
|
||||
"dev": true
|
||||
},
|
||||
"timers-ext": {
|
||||
"version": "0.1.7",
|
||||
@@ -21178,6 +21344,10 @@
|
||||
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
|
||||
"integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
|
||||
},
|
||||
"unrar": {
|
||||
"version": "git+ssh://git@github.com/cnboker/node-unrar.git#5f07cf1672bea8ee23cf01d7c9a5f3451d687c09",
|
||||
"from": "unrar@github:cnboker/node-unrar"
|
||||
},
|
||||
"unset-value": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
|
||||
|
||||
11
package.json
11
package.json
@@ -37,24 +37,27 @@
|
||||
"@types/mkdirp": "^1.0.0",
|
||||
"@types/node": "^13.9.8",
|
||||
"@types/pino": "^6.3.8",
|
||||
"7zip-bin": "^5.1.1",
|
||||
"fs-extra": "^10.0.0",
|
||||
"JSONStream": "^1.3.5",
|
||||
"lodash": "^4.17.21",
|
||||
"moleculer": "^0.14.0",
|
||||
"moleculer-db": "^0.8.4",
|
||||
"moleculer": "^0.14.16",
|
||||
"moleculer-db": "^0.8.13",
|
||||
"moleculer-db-adapter-mongo": "^0.4.7",
|
||||
"moleculer-db-adapter-mongoose": "^0.8.9",
|
||||
"moleculer-web": "^0.9.0",
|
||||
"mongoose": "^5.12.7",
|
||||
"mongoose-paginate-v2": "^1.3.18",
|
||||
"nats": "^1.3.2",
|
||||
"node-7z": "^3.0.0",
|
||||
"node-calibre": "^2.1.1",
|
||||
"node-unrar-js": "^1.0.2",
|
||||
"pino": "^6.11.3",
|
||||
"pino-pretty": "^4.7.1",
|
||||
"sharp": "^0.28.1",
|
||||
"socket.io": "^4.1.1",
|
||||
"socket.io-stream": "^0.9.1",
|
||||
"socket.io-stream": "^0.5.3",
|
||||
"typescript": "^3.8.3",
|
||||
"unrar": "github:cnboker/node-unrar",
|
||||
"unzipper": "^0.10.11",
|
||||
"xml2js": "^0.4.23"
|
||||
},
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
import { Service, ServiceBroker, Context } from "moleculer";
|
||||
import ApiGateway from "moleculer-web";
|
||||
import { extractArchive } from "../utils/uncompression.utils";
|
||||
import {
|
||||
extractArchive,
|
||||
getCoversFromFile,
|
||||
} from "../utils/uncompression.utils";
|
||||
import { map } from "lodash";
|
||||
const IO = require("socket.io")();
|
||||
|
||||
@@ -112,54 +115,57 @@ export default class ApiService extends Service {
|
||||
", Params:",
|
||||
params
|
||||
);
|
||||
getCoversFromFile();
|
||||
const { extractionOptions, walkedFolders } = params;
|
||||
switch (extractionOptions.extractionMode) {
|
||||
case "bulk":
|
||||
map(walkedFolders, async (folder, idx) => {
|
||||
let comicBookCoverMetadata =
|
||||
await extractArchive(
|
||||
extractionOptions,
|
||||
folder
|
||||
);
|
||||
const dbImportResult =
|
||||
await this.broker.call(
|
||||
"import.rawImportToDB",
|
||||
{
|
||||
importStatus: {
|
||||
isImported: true,
|
||||
tagged: false,
|
||||
matchedResult: {
|
||||
score: "0",
|
||||
},
|
||||
},
|
||||
rawFileDetails:
|
||||
comicBookCoverMetadata,
|
||||
},
|
||||
{}
|
||||
);
|
||||
|
||||
client.emit("comicBookCoverMetadata", {
|
||||
comicBookCoverMetadata,
|
||||
dbImportResult,
|
||||
});
|
||||
});
|
||||
|
||||
case "single":
|
||||
return await extractArchive(
|
||||
extractionOptions,
|
||||
walkedFolders[0]
|
||||
);
|
||||
default:
|
||||
console.log(
|
||||
"Unknown extraction mode selected."
|
||||
);
|
||||
return {
|
||||
message:
|
||||
"Unknown extraction mode selected.",
|
||||
errorCode: "90",
|
||||
data: `${extractionOptions}`,
|
||||
};
|
||||
}
|
||||
// switch (extractionOptions.extractionMode) {
|
||||
// case "bulk":
|
||||
// map(walkedFolders, async (folder, idx) => {
|
||||
// // let comicBookCoverMetadata =
|
||||
// // await extractArchive(
|
||||
// // extractionOptions,
|
||||
// // folder
|
||||
// // );
|
||||
// // const dbImportResult =
|
||||
// // await this.broker.call(
|
||||
// // "import.rawImportToDB",
|
||||
// // {
|
||||
// // importStatus: {
|
||||
// // isImported: true,
|
||||
// // tagged: false,
|
||||
// // matchedResult: {
|
||||
// // score: "0",
|
||||
// // },
|
||||
// // },
|
||||
// // rawFileDetails:
|
||||
// // comicBookCoverMetadata,
|
||||
// // },
|
||||
// // {}
|
||||
// // );
|
||||
// //
|
||||
// // client.emit("comicBookCoverMetadata", {
|
||||
// // comicBookCoverMetadata,
|
||||
// // dbImportResult,
|
||||
// // });
|
||||
// });
|
||||
//
|
||||
// case "single":
|
||||
//
|
||||
// // return await extractArchive(
|
||||
// // extractionOptions,
|
||||
// // walkedFolders[0]
|
||||
// // );
|
||||
// default:
|
||||
// console.log(
|
||||
// "Unknown extraction mode selected."
|
||||
// );
|
||||
//
|
||||
// return {
|
||||
// message:
|
||||
// "Unknown extraction mode selected.",
|
||||
// errorCode: "90",
|
||||
// data: `${extractionOptions}`,
|
||||
// };
|
||||
// }
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
@@ -31,12 +31,14 @@ SOFTWARE.
|
||||
* Initial: 2021/05/04 Rishi Ghan
|
||||
*/
|
||||
|
||||
import { createReadStream, createWriteStream } from "fs";
|
||||
import { createReadStream, createWriteStream, readFileSync } from "fs";
|
||||
const fse = require("fs-extra");
|
||||
|
||||
import { default as unzipper } from "unzipper";
|
||||
import _ from "lodash";
|
||||
import { each, isEmpty, map } from "lodash";
|
||||
import { each, isEmpty, map, flatten } from "lodash";
|
||||
import path from "path";
|
||||
|
||||
import {
|
||||
IExplodedPathResponse,
|
||||
IExtractComicBookCoverErrorResponse,
|
||||
@@ -53,9 +55,37 @@ import {
|
||||
} from "../utils/file.utils";
|
||||
import { resizeImage } from "./imagetransformation.utils";
|
||||
const { writeFile, readFile } = require("fs").promises;
|
||||
const unrarer = require("node-unrar-js");
|
||||
|
||||
export const unrar = async (
|
||||
import sevenBin from "7zip-bin";
|
||||
import { list, extract } from "node-7z";
|
||||
const pathTo7zip = sevenBin.path7za;
|
||||
const unrarer = require("node-unrar-js");
|
||||
const { Calibre } = require("node-calibre");
|
||||
|
||||
export const getCoversFromFile = async () => {
|
||||
try {
|
||||
const calibre = new Calibre({
|
||||
library: path.resolve("userdata/calibre-lib"),
|
||||
});
|
||||
|
||||
let result: string;
|
||||
result = await calibre.run(
|
||||
"ebook-meta",
|
||||
[
|
||||
path.resolve(
|
||||
"comics/A Hypothetical Lizard (2004)/Hypothetical_Lizard_T01.cbr"
|
||||
),
|
||||
],
|
||||
{
|
||||
getCover: path.resolve("userdata/covers/shoo/o.jpg"),
|
||||
}
|
||||
);
|
||||
console.log("AJSDASDLASDASDASLK!@#!@#!@#!#@#!@#!@", result);
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
}
|
||||
};
|
||||
export const unzip = async (
|
||||
extractionOptions: IExtractionOptions,
|
||||
walkedFolder: IFolderData
|
||||
): Promise<
|
||||
@@ -67,78 +97,100 @@ export const unrar = async (
|
||||
const directoryOptions = {
|
||||
mode: 0o2775,
|
||||
};
|
||||
const fileBuffer = await readFile(paths.inputFilePath).catch((err) =>
|
||||
console.error("Failed to read file", err)
|
||||
);
|
||||
|
||||
try {
|
||||
await fse.ensureDir(paths.targetPath, directoryOptions);
|
||||
logger.info(`${paths.targetPath} was created.`);
|
||||
} catch (error) {
|
||||
logger.error(`${error}: Couldn't create directory.`);
|
||||
}
|
||||
|
||||
const extractor = await unrarer.createExtractorFromData({
|
||||
data: fileBuffer,
|
||||
});
|
||||
|
||||
switch (extractionOptions.extractTarget) {
|
||||
case "cover":
|
||||
console.log(walkedFolder);
|
||||
return new Promise(async (resolve, reject) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
try {
|
||||
let fileNameToExtract = "";
|
||||
const list = extractor.getFileList();
|
||||
const fileHeaders = [...list.fileHeaders];
|
||||
each(fileHeaders, async (fileHeader) => {
|
||||
const fileName = explodePath(fileHeader.name).fileName;
|
||||
if (
|
||||
fileName !== "" &&
|
||||
fileHeader.flags.directory === false &&
|
||||
isValidImageFileExtension(fileName) &&
|
||||
isEmpty(fileNameToExtract)
|
||||
) {
|
||||
logger.info(
|
||||
`Attempting to write ${fileHeader.name}`
|
||||
);
|
||||
fileNameToExtract = fileHeader.name;
|
||||
const file = extractor.extract({
|
||||
files: [fileHeader.name],
|
||||
});
|
||||
const extractedFile = [...file.files][0];
|
||||
const fileArrayBuffer = extractedFile.extraction;
|
||||
let firstImg;
|
||||
|
||||
// Resize it to the specified width
|
||||
const outputFilePath =
|
||||
paths.targetPath + "/" + fileName;
|
||||
await resizeImage(
|
||||
fileArrayBuffer,
|
||||
outputFilePath,
|
||||
200
|
||||
const listStream = list(path.resolve(paths.inputFilePath), {
|
||||
$cherryPick: ["*.png", "*.jpg", , "*.jpeg", "*.webp"],
|
||||
$bin: pathTo7zip,
|
||||
$progress: true,
|
||||
recursive: true,
|
||||
});
|
||||
|
||||
listStream.on("data", (data) => {
|
||||
// set firstImg to the first result
|
||||
if (!firstImg) firstImg = data;
|
||||
});
|
||||
listStream.on("end", () => {
|
||||
if (firstImg) {
|
||||
const extractStream = extract(
|
||||
paths.inputFilePath,
|
||||
paths.targetPath,
|
||||
{
|
||||
$cherryPick: firstImg.file,
|
||||
$bin: pathTo7zip,
|
||||
$progress: true,
|
||||
recursive: true,
|
||||
}
|
||||
);
|
||||
let comicBookMetadata = {
|
||||
name: `${fileName}`,
|
||||
path: paths.targetPath,
|
||||
fileSize: fileHeader.packSize,
|
||||
containedIn: walkedFolder.containedIn,
|
||||
};
|
||||
if (validateComicBookMetadata(comicBookMetadata)) {
|
||||
resolve(comicBookMetadata);
|
||||
}
|
||||
extractStream.on("data", (data) => {
|
||||
//do something with the image
|
||||
console.log(data);
|
||||
});
|
||||
}
|
||||
});
|
||||
} catch (error) {
|
||||
logger.error(`${error}: Couldn't write file.`);
|
||||
reject(error);
|
||||
console.log(error);
|
||||
}
|
||||
// resolve({
|
||||
// name: `${extractedFiles[0].fileHeader.name}`,
|
||||
// path: paths.targetPath,
|
||||
// fileSize: extractedFiles[0].fileHeader.packSize,
|
||||
// containedIn: walkedFolder.containedIn,
|
||||
//
|
||||
// })
|
||||
});
|
||||
|
||||
case "all":
|
||||
break;
|
||||
|
||||
default:
|
||||
return {
|
||||
message: "File format not supported, yet.",
|
||||
errorCode: "90",
|
||||
data: "asda",
|
||||
};
|
||||
}
|
||||
};
|
||||
|
||||
export const unrar = async (
|
||||
extractionOptions: IExtractionOptions,
|
||||
walkedFolder: IFolderData
|
||||
): Promise<IExtractedComicBookCoverFile> => {
|
||||
switch (extractionOptions.extractTarget) {
|
||||
case "cover":
|
||||
return new Promise(async (resolve, reject) => {
|
||||
const paths = constructPaths(extractionOptions, walkedFolder);
|
||||
const directoryOptions = {
|
||||
mode: 0o2775,
|
||||
};
|
||||
try {
|
||||
const fileBuffer = await readFile(
|
||||
paths.inputFilePath
|
||||
).catch((err) => console.error("Failed to read file", err));
|
||||
try {
|
||||
await fse.ensureDir(paths.targetPath, directoryOptions);
|
||||
logger.info(`${paths.targetPath} was created.`);
|
||||
} catch (error) {
|
||||
logger.error(`${error}: Couldn't create directory.`);
|
||||
}
|
||||
|
||||
const extractor = await unrarer.createExtractorFromData({
|
||||
data: fileBuffer,
|
||||
});
|
||||
const files = extractor.extract({});
|
||||
const extractedFiles = [...files.files];
|
||||
const comicBookCoverFiles: IExtractedComicBookCoverFile[] =
|
||||
[];
|
||||
|
||||
for (const file of extractedFiles) {
|
||||
logger.info(
|
||||
`Attempting to write ${file.fileHeader.name}`
|
||||
@@ -157,93 +209,23 @@ export const unrar = async (
|
||||
fileBuffer
|
||||
);
|
||||
}
|
||||
comicBookCoverFiles.push({
|
||||
name: `${file.fileHeader.name}`,
|
||||
path: paths.targetPath,
|
||||
fileSize: file.fileHeader.packSize,
|
||||
containedIn: walkedFolder.containedIn,
|
||||
});
|
||||
}
|
||||
resolve(_.flatten(comicBookCoverFiles));
|
||||
} catch (error) {
|
||||
resolve({
|
||||
message: `${error}`,
|
||||
errorCode: "500",
|
||||
data: walkedFolder.name,
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
default:
|
||||
return {
|
||||
message: "File format not supported, yet.",
|
||||
errorCode: "90",
|
||||
data: "asda",
|
||||
};
|
||||
}
|
||||
};
|
||||
|
||||
export const unzip = async (
|
||||
extractionOptions: IExtractionOptions,
|
||||
walkedFolder: IFolderData
|
||||
): Promise<
|
||||
| IExtractedComicBookCoverFile[]
|
||||
| IExtractedComicBookCoverFile
|
||||
| IExtractComicBookCoverErrorResponse
|
||||
> => {
|
||||
const directoryOptions = {
|
||||
mode: 0o2775,
|
||||
};
|
||||
const paths = constructPaths(extractionOptions, walkedFolder);
|
||||
const extractedFiles: IExtractedComicBookCoverFile[] = [];
|
||||
|
||||
try {
|
||||
await fse.ensureDir(paths.targetPath, directoryOptions);
|
||||
logger.info(`${paths.targetPath} was created or already exists.`);
|
||||
} catch (error) {
|
||||
logger.error(`${error} Couldn't create directory.`);
|
||||
}
|
||||
|
||||
const zip = createReadStream(paths.inputFilePath).pipe(
|
||||
unzipper.Parse({ forceStream: true })
|
||||
);
|
||||
for await (const entry of zip) {
|
||||
const fileName = explodePath(entry.path).fileName;
|
||||
const size = entry.vars.uncompressedSize;
|
||||
if (
|
||||
extractedFiles.length === 1 &&
|
||||
extractionOptions.extractTarget === "cover"
|
||||
) {
|
||||
break;
|
||||
}
|
||||
if (
|
||||
fileName !== "" &&
|
||||
entry.type !== "Directory" &&
|
||||
isValidImageFileExtension(fileName)
|
||||
) {
|
||||
logger.info(`Attempting to write ${fileName}`);
|
||||
entry
|
||||
.pipe(createWriteStream(paths.targetPath + "/" + fileName))
|
||||
.on("finish", () => {
|
||||
extractedFiles.push({
|
||||
name: fileName,
|
||||
fileSize: size,
|
||||
name: `${extractedFiles[0].fileHeader.name}`,
|
||||
path: paths.targetPath,
|
||||
fileSize: extractedFiles[0].fileHeader.packSize,
|
||||
containedIn: walkedFolder.containedIn,
|
||||
});
|
||||
});
|
||||
}
|
||||
entry.autodrain();
|
||||
} catch (error) {
|
||||
logger.error(`${error}: Couldn't write file.`);
|
||||
reject(error);
|
||||
}
|
||||
});
|
||||
case "all":
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return new Promise(async (resolve, reject) => {
|
||||
logger.info("");
|
||||
if (extractionOptions.extractTarget === "cover") {
|
||||
resolve(extractedFiles[0]);
|
||||
} else {
|
||||
resolve(extractedFiles);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
export const extractArchive = async (
|
||||
@@ -284,6 +266,7 @@ export const getCovers = async (
|
||||
> => {
|
||||
switch (options.extractionMode) {
|
||||
case "bulk":
|
||||
console.log("asdas BULK");
|
||||
const extractedDataPromises = map(
|
||||
walkedFolders,
|
||||
async (folder) => await extractArchive(options, folder)
|
||||
|
||||
162
yarn.lock
162
yarn.lock
@@ -744,6 +744,11 @@
|
||||
"semver" "^7.3.2"
|
||||
"tsutils" "^3.17.1"
|
||||
|
||||
"7zip-bin@^5.1.1":
|
||||
"integrity" "sha512-sAP4LldeWNz0lNzmTird3uWfFDWWTeg6V/MsmyyLR9X1idwKBWIgt/ZvinqQldJm3LecKEs1emkbquO6PCiLVQ=="
|
||||
"resolved" "https://registry.npmjs.org/7zip-bin/-/7zip-bin-5.1.1.tgz"
|
||||
"version" "5.1.1"
|
||||
|
||||
"abab@^2.0.0":
|
||||
"integrity" "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q=="
|
||||
"resolved" "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz"
|
||||
@@ -1543,11 +1548,6 @@
|
||||
dependencies:
|
||||
"delayed-stream" "~1.0.0"
|
||||
|
||||
"component-bind@~1.0.0":
|
||||
"integrity" "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E="
|
||||
"resolved" "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz"
|
||||
"version" "1.0.0"
|
||||
|
||||
"component-emitter@^1.2.1", "component-emitter@~1.3.0":
|
||||
"integrity" "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg=="
|
||||
"resolved" "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz"
|
||||
@@ -1689,6 +1689,13 @@
|
||||
"resolved" "https://registry.npmjs.org/dateformat/-/dateformat-4.5.1.tgz"
|
||||
"version" "4.5.1"
|
||||
|
||||
"debug@*", "debug@^4.0.0", "debug@^4.0.1", "debug@^4.1.0", "debug@^4.1.1", "debug@^4.3.2", "debug@~4.3.1":
|
||||
"integrity" "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw=="
|
||||
"resolved" "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz"
|
||||
"version" "4.3.2"
|
||||
dependencies:
|
||||
"ms" "2.1.2"
|
||||
|
||||
"debug@^2.2.0":
|
||||
"integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="
|
||||
"resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz"
|
||||
@@ -1710,20 +1717,6 @@
|
||||
dependencies:
|
||||
"ms" "2.0.0"
|
||||
|
||||
"debug@^4.0.1", "debug@^4.1.0", "debug@^4.1.1", "debug@~4.3.1":
|
||||
"integrity" "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ=="
|
||||
"resolved" "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz"
|
||||
"version" "4.3.1"
|
||||
dependencies:
|
||||
"ms" "2.1.2"
|
||||
|
||||
"debug@~2.2.0":
|
||||
"integrity" "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo="
|
||||
"resolved" "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz"
|
||||
"version" "2.2.0"
|
||||
dependencies:
|
||||
"ms" "0.7.1"
|
||||
|
||||
"debug@2.6.9":
|
||||
"integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="
|
||||
"resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz"
|
||||
@@ -1738,6 +1731,11 @@
|
||||
dependencies:
|
||||
"ms" "2.0.0"
|
||||
|
||||
"debuglog@0.0.2":
|
||||
"integrity" "sha1-bA3PB+LD90UkYpt0Fmi9RsezYus="
|
||||
"resolved" "https://registry.npmjs.org/debuglog/-/debuglog-0.0.2.tgz"
|
||||
"version" "0.0.2"
|
||||
|
||||
"decamelize@^1.2.0":
|
||||
"integrity" "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA="
|
||||
"resolved" "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz"
|
||||
@@ -2405,10 +2403,10 @@
|
||||
"resolved" "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz"
|
||||
"version" "2.0.7"
|
||||
|
||||
"fastest-validator@^1.10.1":
|
||||
"integrity" "sha512-nhQP8JI16Ltml3kFKCEckKzxmPDYXZw0r+zF83Kf5qcJmA2Hoo4ORSo+SduxNiIbKpSS0i+3mV/UPhu8Po7Qkw=="
|
||||
"resolved" "https://registry.npmjs.org/fastest-validator/-/fastest-validator-1.10.1.tgz"
|
||||
"version" "1.10.1"
|
||||
"fastest-validator@^1.11.1":
|
||||
"integrity" "sha512-y0pXBCgGfY3mqbBL9sn2LtAxfJICyOr5cuOnCjyiKg4VoXVmDaLBDwnnj4QC1pSY5B4upln5k8RyLszlLXzXlw=="
|
||||
"resolved" "https://registry.npmjs.org/fastest-validator/-/fastest-validator-1.11.1.tgz"
|
||||
"version" "1.11.1"
|
||||
|
||||
"fb-watchman@^2.0.0":
|
||||
"integrity" "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg=="
|
||||
@@ -2650,7 +2648,7 @@
|
||||
dependencies:
|
||||
"is-glob" "^4.0.1"
|
||||
|
||||
"glob@^7.1.1", "glob@^7.1.2", "glob@^7.1.3", "glob@^7.1.4", "glob@^7.1.6":
|
||||
"glob@^7.1.1", "glob@^7.1.2", "glob@^7.1.3", "glob@^7.1.4", "glob@^7.1.6", "glob@^7.1.7":
|
||||
"integrity" "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ=="
|
||||
"resolved" "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz"
|
||||
"version" "7.1.7"
|
||||
@@ -2916,10 +2914,10 @@
|
||||
"resolved" "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz"
|
||||
"version" "2.1.0"
|
||||
|
||||
"ipaddr.js@^2.0.0":
|
||||
"integrity" "sha512-S54H9mIj0rbxRIyrDMEuuER86LdlgUg9FSeZ8duQb6CUG2iRrA36MYVQBSprTF/ZeAwvyQ5mDGuNvIPM0BIl3w=="
|
||||
"resolved" "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.0.tgz"
|
||||
"version" "2.0.0"
|
||||
"ipaddr.js@^2.0.1":
|
||||
"integrity" "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng=="
|
||||
"resolved" "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz"
|
||||
"version" "2.0.1"
|
||||
|
||||
"is-accessor-descriptor@^0.1.6":
|
||||
"integrity" "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY="
|
||||
@@ -3695,19 +3693,6 @@
|
||||
optionalDependencies:
|
||||
"graceful-fs" "^4.1.6"
|
||||
|
||||
"jsonparse@^1.2.0":
|
||||
"integrity" "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA="
|
||||
"resolved" "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz"
|
||||
"version" "1.3.1"
|
||||
|
||||
"JSONStream@^1.3.5":
|
||||
"integrity" "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ=="
|
||||
"resolved" "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz"
|
||||
"version" "1.3.5"
|
||||
dependencies:
|
||||
"jsonparse" "^1.2.0"
|
||||
"through" ">=2.2.7 <3"
|
||||
|
||||
"jsprim@^1.2.2":
|
||||
"integrity" "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI="
|
||||
"resolved" "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz"
|
||||
@@ -3831,11 +3816,36 @@
|
||||
dependencies:
|
||||
"p-locate" "^4.1.0"
|
||||
|
||||
"lodash.defaultsdeep@^4.6.1":
|
||||
"integrity" "sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA=="
|
||||
"resolved" "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz"
|
||||
"version" "4.6.1"
|
||||
|
||||
"lodash.defaultto@^4.14.0":
|
||||
"integrity" "sha1-OL09QlrO5zPg4ru9TkspcRzC7hE="
|
||||
"resolved" "https://registry.npmjs.org/lodash.defaultto/-/lodash.defaultto-4.14.0.tgz"
|
||||
"version" "4.14.0"
|
||||
|
||||
"lodash.flattendeep@^4.4.0":
|
||||
"integrity" "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI="
|
||||
"resolved" "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz"
|
||||
"version" "4.4.0"
|
||||
|
||||
"lodash.isempty@^4.4.0":
|
||||
"integrity" "sha1-b4bL7di+TsmHvpqvM8loTbGzHn4="
|
||||
"resolved" "https://registry.npmjs.org/lodash.isempty/-/lodash.isempty-4.4.0.tgz"
|
||||
"version" "4.4.0"
|
||||
|
||||
"lodash.memoize@4.x":
|
||||
"integrity" "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4="
|
||||
"resolved" "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz"
|
||||
"version" "4.1.2"
|
||||
|
||||
"lodash.negate@^3.0.2":
|
||||
"integrity" "sha1-nIl7C/YQAZ4LQ7j/Pwr+89e2bzQ="
|
||||
"resolved" "https://registry.npmjs.org/lodash.negate/-/lodash.negate-3.0.2.tgz"
|
||||
"version" "3.0.2"
|
||||
|
||||
"lodash.sortby@^4.7.0":
|
||||
"integrity" "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg="
|
||||
"resolved" "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz"
|
||||
@@ -4050,7 +4060,7 @@
|
||||
"bluebird" "^3.7.2"
|
||||
"lodash" "^4.17.20"
|
||||
|
||||
"moleculer-db@^0.8.4":
|
||||
"moleculer-db@^0.8.13":
|
||||
"integrity" "sha512-nsODdYa/UwQ2weFbFsbfHvLuyqDCUWaVwDf7WOYYs/m4VhwC6g5sPiLBWjqIDJjLQA+Ftkbxh+4zditmherneQ=="
|
||||
"resolved" "https://registry.npmjs.org/moleculer-db/-/moleculer-db-0.8.14.tgz"
|
||||
"version" "0.8.14"
|
||||
@@ -4093,18 +4103,18 @@
|
||||
"qs" "^6.9.1"
|
||||
"serve-static" "^1.14.1"
|
||||
|
||||
"moleculer@^0.12.0 || ^0.13.0 || ^0.14.0", "moleculer@^0.13.0 || ^0.14.0", "moleculer@^0.14.0":
|
||||
"integrity" "sha512-ak5MIFWb0WwMBIIqw/cKlhFj+0huA7LjAYrv5bLSdluG0+aBRl3ZtST+6Ix4UA5qZ6cwhMsX+m9QtXGIs6CdVA=="
|
||||
"resolved" "https://registry.npmjs.org/moleculer/-/moleculer-0.14.13.tgz"
|
||||
"version" "0.14.13"
|
||||
"moleculer@^0.12.0 || ^0.13.0 || ^0.14.0", "moleculer@^0.13.0 || ^0.14.0", "moleculer@^0.14.16":
|
||||
"integrity" "sha512-MbHMsKh+sEJeu5/ANnjt23bDciDMTuhmh+AYUWMUbEbEBK2axhSEYtb3LK7Mf4WD4tatRHQQ+HdZ+KySo7K4+Q=="
|
||||
"resolved" "https://registry.npmjs.org/moleculer/-/moleculer-0.14.16.tgz"
|
||||
"version" "0.14.16"
|
||||
dependencies:
|
||||
"args" "^5.0.1"
|
||||
"es6-error" "^4.1.1"
|
||||
"eventemitter2" "^6.4.4"
|
||||
"fastest-validator" "^1.10.1"
|
||||
"fastest-validator" "^1.11.1"
|
||||
"fn-args" "^5.0.0"
|
||||
"glob" "^7.1.6"
|
||||
"ipaddr.js" "^2.0.0"
|
||||
"glob" "^7.1.7"
|
||||
"ipaddr.js" "^2.0.1"
|
||||
"kleur" "^4.1.4"
|
||||
"lodash" "^4.17.21"
|
||||
"lru-cache" "^6.0.0"
|
||||
@@ -4173,11 +4183,6 @@
|
||||
"resolved" "https://registry.npmjs.org/mri/-/mri-1.1.4.tgz"
|
||||
"version" "1.1.4"
|
||||
|
||||
"ms@0.7.1":
|
||||
"integrity" "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg="
|
||||
"resolved" "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz"
|
||||
"version" "0.7.1"
|
||||
|
||||
"ms@2.0.0":
|
||||
"integrity" "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
|
||||
"resolved" "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
|
||||
@@ -4220,7 +4225,7 @@
|
||||
"resolved" "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz"
|
||||
"version" "1.0.2"
|
||||
|
||||
"nats@^1.3.2":
|
||||
"nats@^1.0.0 || ^2.0.0", "nats@^1.3.2":
|
||||
"integrity" "sha512-Jf4qesEF0Ay0D4AMw3OZnKMRTQm+6oZ5q8/m4gpy5bTmiDiK6wCXbZpzEslmezGpE93LV3RojNEG6dpK/mysLQ=="
|
||||
"resolved" "https://registry.npmjs.org/nats/-/nats-1.4.12.tgz"
|
||||
"version" "1.4.12"
|
||||
@@ -4264,6 +4269,19 @@
|
||||
"resolved" "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz"
|
||||
"version" "1.0.5"
|
||||
|
||||
"node-7z@^3.0.0":
|
||||
"integrity" "sha512-KIznWSxIkOYO/vOgKQfJEaXd7rgoFYKZbaurainCEdMhYc7V7mRHX+qdf2HgbpQFcdJL/Q6/XOPrDLoBeTfuZA=="
|
||||
"resolved" "https://registry.npmjs.org/node-7z/-/node-7z-3.0.0.tgz"
|
||||
"version" "3.0.0"
|
||||
dependencies:
|
||||
"debug" "^4.3.2"
|
||||
"lodash.defaultsdeep" "^4.6.1"
|
||||
"lodash.defaultto" "^4.14.0"
|
||||
"lodash.flattendeep" "^4.4.0"
|
||||
"lodash.isempty" "^4.4.0"
|
||||
"lodash.negate" "^3.0.2"
|
||||
"normalize-path" "^3.0.0"
|
||||
|
||||
"node-abi@^2.21.0":
|
||||
"integrity" "sha512-ag/Vos/mXXpWLLAYWsAoQdgS+gW7IwvgMLOgqopm/DbzAjazLltzgzpVMsFlgmo9TzG5hGXeaBZx2AI731RIsQ=="
|
||||
"resolved" "https://registry.npmjs.org/node-abi/-/node-abi-2.26.0.tgz"
|
||||
@@ -4276,6 +4294,11 @@
|
||||
"resolved" "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.1.0.tgz"
|
||||
"version" "3.1.0"
|
||||
|
||||
"node-calibre@^2.1.1":
|
||||
"integrity" "sha512-t68lVmU+VznsivQKM6Fr1HSRQ2+m54OouiDkeCzRUQJO3N4h9l60DlcHFu2HAn6Kw5nsZEbOtnkk5OBhhOErxA=="
|
||||
"resolved" "https://registry.npmjs.org/node-calibre/-/node-calibre-2.1.1.tgz"
|
||||
"version" "2.1.1"
|
||||
|
||||
"node-fetch@^2.6.1":
|
||||
"integrity" "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw=="
|
||||
"resolved" "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz"
|
||||
@@ -4686,7 +4709,7 @@
|
||||
"resolved" "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-3.2.0.tgz"
|
||||
"version" "3.2.0"
|
||||
|
||||
"pino@^6.11.3":
|
||||
"pino@^6.0.0", "pino@^6.11.3":
|
||||
"integrity" "sha512-drPtqkkSf0ufx2gaea3TryFiBHdNIdXKf5LN0hTM82SXI4xVIve2wLwNg92e1MT6m3jASLu6VO7eGY6+mmGeyw=="
|
||||
"resolved" "https://registry.npmjs.org/pino/-/pino-6.11.3.tgz"
|
||||
"version" "6.11.3"
|
||||
@@ -4933,6 +4956,15 @@
|
||||
"string_decoder" "^1.1.1"
|
||||
"util-deprecate" "^1.0.1"
|
||||
|
||||
"readable-stream@1.1.9":
|
||||
"integrity" "sha1-2HEw+/j57pw7QFizxYo+MNsvz90="
|
||||
"resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.9.tgz"
|
||||
"version" "1.1.9"
|
||||
dependencies:
|
||||
"core-util-is" "~1.0.0"
|
||||
optionalDependencies:
|
||||
"debuglog" "0.0.2"
|
||||
|
||||
"realpath-native@^2.0.0":
|
||||
"integrity" "sha512-v1SEYUOXXdbBZK8ZuNgO4TBjamPsiSgcFr0aP+tEKpQZK8vooEUqV6nm6Cv502mX4NF2EfsnVqtNAHG+/6Ur1Q=="
|
||||
"resolved" "https://registry.npmjs.org/realpath-native/-/realpath-native-2.0.0.tgz"
|
||||
@@ -5440,13 +5472,13 @@
|
||||
"component-emitter" "~1.3.0"
|
||||
"debug" "~4.3.1"
|
||||
|
||||
"socket.io-stream@^0.9.1":
|
||||
"integrity" "sha1-QhJYMWKIuDrGk7DUPv0J1tQ6upc="
|
||||
"resolved" "https://registry.npmjs.org/socket.io-stream/-/socket.io-stream-0.9.1.tgz"
|
||||
"version" "0.9.1"
|
||||
"socket.io-stream@^0.5.3":
|
||||
"integrity" "sha1-AxV8Wl7rPSbiSc0d7ks3e2yCnLA="
|
||||
"resolved" "https://registry.npmjs.org/socket.io-stream/-/socket.io-stream-0.5.3.tgz"
|
||||
"version" "0.5.3"
|
||||
dependencies:
|
||||
"component-bind" "~1.0.0"
|
||||
"debug" "~2.2.0"
|
||||
"debug" "*"
|
||||
"readable-stream" "1.1.9"
|
||||
|
||||
"socket.io@^4.1.1":
|
||||
"integrity" "sha512-YKPdhaYRGEXjP+VqoKlfOEPgDjm0aMq1YWonjHg4rBU1xJCmgceNh2XL1vO4czWupH+WX1+d9Wqb768h7BC5kw=="
|
||||
@@ -5835,7 +5867,7 @@
|
||||
"resolved" "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz"
|
||||
"version" "5.0.0"
|
||||
|
||||
"through@^2.3.6", "through@>=2.2.7 <3":
|
||||
"through@^2.3.6":
|
||||
"integrity" "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
|
||||
"resolved" "https://registry.npmjs.org/through/-/through-2.3.8.tgz"
|
||||
"version" "2.3.8"
|
||||
@@ -6119,6 +6151,10 @@
|
||||
"resolved" "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz"
|
||||
"version" "1.0.0"
|
||||
|
||||
"unrar@github:cnboker/node-unrar":
|
||||
"resolved" "git+ssh://git@github.com/cnboker/node-unrar.git#5f07cf1672bea8ee23cf01d7c9a5f3451d687c09"
|
||||
"version" "0.1.7"
|
||||
|
||||
"unset-value@^1.0.0":
|
||||
"integrity" "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk="
|
||||
"resolved" "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz"
|
||||
|
||||
Reference in New Issue
Block a user