gablilli commited on
Commit ·
be59b19
1
Parent(s): 0c0701c
fix: merge upstream (epub support)
Browse files- .gitignore +2 -1
- package-lock.json +742 -14
- package.json +2 -1
- providers/zanichelli.js +243 -148
.gitignore
CHANGED
|
@@ -1,4 +1,5 @@
|
|
| 1 |
node_modules/
|
| 2 |
temp/
|
| 3 |
tmp/
|
| 4 |
-
*.pdf
|
|
|
|
|
|
| 1 |
node_modules/
|
| 2 |
temp/
|
| 3 |
tmp/
|
| 4 |
+
*.pdf
|
| 5 |
+
*.epub
|
package-lock.json
CHANGED
|
@@ -22,7 +22,6 @@
|
|
| 22 |
"p-limit": "^6.2.0",
|
| 23 |
"pdf-lib": "^1.17.1",
|
| 24 |
"pdf-merger-js": "^5.1.1",
|
| 25 |
-
"pdfkit": "^0.17.2",
|
| 26 |
"prompt-sync": "^4.2.0",
|
| 27 |
"sanitize-filename": "^1.6.3",
|
| 28 |
"svg-to-pdfkit": "^0.1.8",
|
|
@@ -30,7 +29,104 @@
|
|
| 30 |
"ws": "^8.19.0",
|
| 31 |
"xml2js": "^0.6.2",
|
| 32 |
"yargs": "^17.5.1",
|
| 33 |
-
"yauzl": "^3.1.3"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 34 |
}
|
| 35 |
},
|
| 36 |
"node_modules/@pdf-lib/standard-fonts": {
|
|
@@ -51,6 +147,16 @@
|
|
| 51 |
"pako": "^1.0.10"
|
| 52 |
}
|
| 53 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 54 |
"node_modules/@swc/helpers": {
|
| 55 |
"version": "0.5.18",
|
| 56 |
"resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.18.tgz",
|
|
@@ -96,6 +202,18 @@
|
|
| 96 |
"integrity": "sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==",
|
| 97 |
"license": "MIT"
|
| 98 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 99 |
"node_modules/accepts": {
|
| 100 |
"version": "2.0.0",
|
| 101 |
"resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz",
|
|
@@ -188,24 +306,82 @@
|
|
| 188 |
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
|
| 189 |
}
|
| 190 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 191 |
"node_modules/asap": {
|
| 192 |
"version": "2.0.6",
|
| 193 |
"resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
|
| 194 |
"integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==",
|
| 195 |
"license": "MIT"
|
| 196 |
},
|
| 197 |
-
"node_modules/async": {
|
| 198 |
-
"version": "3.2.6",
|
| 199 |
-
"resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz",
|
| 200 |
-
"integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==",
|
| 201 |
-
"license": "MIT"
|
| 202 |
-
},
|
| 203 |
"node_modules/asynckit": {
|
| 204 |
"version": "0.4.0",
|
| 205 |
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
|
| 206 |
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
|
| 207 |
"license": "MIT"
|
| 208 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 209 |
"node_modules/base64-js": {
|
| 210 |
"version": "1.5.1",
|
| 211 |
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
|
|
@@ -284,6 +460,15 @@
|
|
| 284 |
"url": "https://opencollective.com/express"
|
| 285 |
}
|
| 286 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 287 |
"node_modules/brotli": {
|
| 288 |
"version": "1.3.3",
|
| 289 |
"resolved": "https://registry.npmjs.org/brotli/-/brotli-1.3.3.tgz",
|
|
@@ -529,6 +714,62 @@
|
|
| 529 |
"node": ">=16"
|
| 530 |
}
|
| 531 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 532 |
"node_modules/concat-stream": {
|
| 533 |
"version": "1.6.2",
|
| 534 |
"resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
|
|
@@ -620,6 +861,85 @@
|
|
| 620 |
"integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==",
|
| 621 |
"license": "MIT"
|
| 622 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 623 |
"node_modules/crypt": {
|
| 624 |
"version": "0.0.2",
|
| 625 |
"resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz",
|
|
@@ -744,6 +1064,12 @@
|
|
| 744 |
"node": ">= 0.4"
|
| 745 |
}
|
| 746 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 747 |
"node_modules/ee-first": {
|
| 748 |
"version": "1.1.1",
|
| 749 |
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
|
|
@@ -858,6 +1184,24 @@
|
|
| 858 |
"integrity": "sha512-8qz9nOz5VeD2z96elrEKD2U433+L3DWdUdDkOINLGOJvx1GsMBbMn0aCeu28y8/e85A6mCigBiFlYMnTBEGlSw==",
|
| 859 |
"license": "MIT"
|
| 860 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 861 |
"node_modules/expand-template": {
|
| 862 |
"version": "2.0.3",
|
| 863 |
"resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz",
|
|
@@ -1032,6 +1376,34 @@
|
|
| 1032 |
"node": ">=0.8"
|
| 1033 |
}
|
| 1034 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1035 |
"node_modules/form-data": {
|
| 1036 |
"version": "2.5.5",
|
| 1037 |
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.5.tgz",
|
|
@@ -1163,18 +1535,33 @@
|
|
| 1163 |
"node": ">= 0.4"
|
| 1164 |
}
|
| 1165 |
},
|
| 1166 |
-
"node_modules/gettemporaryfilepath": {
|
| 1167 |
-
"version": "1.0.1",
|
| 1168 |
-
"resolved": "https://registry.npmjs.org/gettemporaryfilepath/-/gettemporaryfilepath-1.0.1.tgz",
|
| 1169 |
-
"integrity": "sha512-MVCSgF1blIZuIV3KYhMKOwU1OSxPF1s+ZcyqWMSGR5Fzl6fN7EjIXDFGu9PmWAAwyGjMjmkS2ruqPaj13J3SXA==",
|
| 1170 |
-
"license": "BSD"
|
| 1171 |
-
},
|
| 1172 |
"node_modules/github-from-package": {
|
| 1173 |
"version": "0.0.0",
|
| 1174 |
"resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz",
|
| 1175 |
"integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==",
|
| 1176 |
"license": "MIT"
|
| 1177 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1178 |
"node_modules/gopd": {
|
| 1179 |
"version": "1.2.0",
|
| 1180 |
"resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
|
|
@@ -1460,6 +1847,18 @@
|
|
| 1460 |
"integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==",
|
| 1461 |
"license": "MIT"
|
| 1462 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1463 |
"node_modules/is-unicode-supported": {
|
| 1464 |
"version": "0.1.0",
|
| 1465 |
"resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
|
|
@@ -1478,6 +1877,27 @@
|
|
| 1478 |
"integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
|
| 1479 |
"license": "MIT"
|
| 1480 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1481 |
"node_modules/jpeg-exif": {
|
| 1482 |
"version": "1.1.4",
|
| 1483 |
"resolved": "https://registry.npmjs.org/jpeg-exif/-/jpeg-exif-1.1.4.tgz",
|
|
@@ -1497,6 +1917,48 @@
|
|
| 1497 |
"graceful-fs": "^4.1.6"
|
| 1498 |
}
|
| 1499 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1500 |
"node_modules/linebreak": {
|
| 1501 |
"version": "1.1.0",
|
| 1502 |
"resolved": "https://registry.npmjs.org/linebreak/-/linebreak-1.1.0.tgz",
|
|
@@ -1538,6 +2000,12 @@
|
|
| 1538 |
"url": "https://github.com/sponsors/sindresorhus"
|
| 1539 |
}
|
| 1540 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1541 |
"node_modules/math-intrinsics": {
|
| 1542 |
"version": "1.1.0",
|
| 1543 |
"resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
|
|
@@ -1621,6 +2089,21 @@
|
|
| 1621 |
"url": "https://github.com/sponsors/sindresorhus"
|
| 1622 |
}
|
| 1623 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1624 |
"node_modules/minimist": {
|
| 1625 |
"version": "1.2.8",
|
| 1626 |
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
|
|
@@ -1630,6 +2113,15 @@
|
|
| 1630 |
"url": "https://github.com/sponsors/ljharb"
|
| 1631 |
}
|
| 1632 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1633 |
"node_modules/mkdirp-classic": {
|
| 1634 |
"version": "0.5.3",
|
| 1635 |
"resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz",
|
|
@@ -1737,6 +2229,15 @@
|
|
| 1737 |
"node": ">= 6.13.0"
|
| 1738 |
}
|
| 1739 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1740 |
"node_modules/object-inspect": {
|
| 1741 |
"version": "1.13.4",
|
| 1742 |
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz",
|
|
@@ -1844,6 +2345,12 @@
|
|
| 1844 |
"url": "https://github.com/sponsors/sindresorhus"
|
| 1845 |
}
|
| 1846 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1847 |
"node_modules/pako": {
|
| 1848 |
"version": "1.0.11",
|
| 1849 |
"resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
|
|
@@ -1864,6 +2371,31 @@
|
|
| 1864 |
"node": ">= 0.8"
|
| 1865 |
}
|
| 1866 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1867 |
"node_modules/path-to-regexp": {
|
| 1868 |
"version": "8.3.0",
|
| 1869 |
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.3.0.tgz",
|
|
@@ -1953,6 +2485,15 @@
|
|
| 1953 |
"node": ">=10"
|
| 1954 |
}
|
| 1955 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1956 |
"node_modules/process-nextick-args": {
|
| 1957 |
"version": "2.0.1",
|
| 1958 |
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
|
|
@@ -2268,6 +2809,27 @@
|
|
| 2268 |
"integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
|
| 2269 |
"license": "ISC"
|
| 2270 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2271 |
"node_modules/side-channel": {
|
| 2272 |
"version": "1.1.0",
|
| 2273 |
"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz",
|
|
@@ -2423,6 +2985,42 @@
|
|
| 2423 |
"node": ">=8"
|
| 2424 |
}
|
| 2425 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2426 |
"node_modules/string-width/node_modules/ansi-regex": {
|
| 2427 |
"version": "5.0.1",
|
| 2428 |
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
|
|
@@ -2456,6 +3054,28 @@
|
|
| 2456 |
"node": ">=6"
|
| 2457 |
}
|
| 2458 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2459 |
"node_modules/strip-json-comments": {
|
| 2460 |
"version": "2.0.1",
|
| 2461 |
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
|
|
@@ -2759,6 +3379,21 @@
|
|
| 2759 |
"node": ">= 8"
|
| 2760 |
}
|
| 2761 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2762 |
"node_modules/wrap-ansi": {
|
| 2763 |
"version": "7.0.0",
|
| 2764 |
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
|
|
@@ -2776,6 +3411,45 @@
|
|
| 2776 |
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
|
| 2777 |
}
|
| 2778 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2779 |
"node_modules/wrap-ansi/node_modules/ansi-regex": {
|
| 2780 |
"version": "5.0.1",
|
| 2781 |
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
|
|
@@ -2906,6 +3580,60 @@
|
|
| 2906 |
"funding": {
|
| 2907 |
"url": "https://github.com/sponsors/sindresorhus"
|
| 2908 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2909 |
}
|
| 2910 |
}
|
| 2911 |
}
|
|
|
|
| 22 |
"p-limit": "^6.2.0",
|
| 23 |
"pdf-lib": "^1.17.1",
|
| 24 |
"pdf-merger-js": "^5.1.1",
|
|
|
|
| 25 |
"prompt-sync": "^4.2.0",
|
| 26 |
"sanitize-filename": "^1.6.3",
|
| 27 |
"svg-to-pdfkit": "^0.1.8",
|
|
|
|
| 29 |
"ws": "^8.19.0",
|
| 30 |
"xml2js": "^0.6.2",
|
| 31 |
"yargs": "^17.5.1",
|
| 32 |
+
"yauzl": "^3.1.3",
|
| 33 |
+
"zip-stream": "^6.0.1"
|
| 34 |
+
}
|
| 35 |
+
},
|
| 36 |
+
"node_modules/@isaacs/cliui": {
|
| 37 |
+
"version": "8.0.2",
|
| 38 |
+
"resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
|
| 39 |
+
"integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
|
| 40 |
+
"license": "ISC",
|
| 41 |
+
"dependencies": {
|
| 42 |
+
"string-width": "^5.1.2",
|
| 43 |
+
"string-width-cjs": "npm:string-width@^4.2.0",
|
| 44 |
+
"strip-ansi": "^7.0.1",
|
| 45 |
+
"strip-ansi-cjs": "npm:strip-ansi@^6.0.1",
|
| 46 |
+
"wrap-ansi": "^8.1.0",
|
| 47 |
+
"wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0"
|
| 48 |
+
},
|
| 49 |
+
"engines": {
|
| 50 |
+
"node": ">=12"
|
| 51 |
+
}
|
| 52 |
+
},
|
| 53 |
+
"node_modules/@isaacs/cliui/node_modules/ansi-regex": {
|
| 54 |
+
"version": "6.2.2",
|
| 55 |
+
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
|
| 56 |
+
"integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
|
| 57 |
+
"license": "MIT",
|
| 58 |
+
"engines": {
|
| 59 |
+
"node": ">=12"
|
| 60 |
+
},
|
| 61 |
+
"funding": {
|
| 62 |
+
"url": "https://github.com/chalk/ansi-regex?sponsor=1"
|
| 63 |
+
}
|
| 64 |
+
},
|
| 65 |
+
"node_modules/@isaacs/cliui/node_modules/ansi-styles": {
|
| 66 |
+
"version": "6.2.3",
|
| 67 |
+
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz",
|
| 68 |
+
"integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
|
| 69 |
+
"license": "MIT",
|
| 70 |
+
"engines": {
|
| 71 |
+
"node": ">=12"
|
| 72 |
+
},
|
| 73 |
+
"funding": {
|
| 74 |
+
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
|
| 75 |
+
}
|
| 76 |
+
},
|
| 77 |
+
"node_modules/@isaacs/cliui/node_modules/emoji-regex": {
|
| 78 |
+
"version": "9.2.2",
|
| 79 |
+
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
|
| 80 |
+
"integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
|
| 81 |
+
"license": "MIT"
|
| 82 |
+
},
|
| 83 |
+
"node_modules/@isaacs/cliui/node_modules/string-width": {
|
| 84 |
+
"version": "5.1.2",
|
| 85 |
+
"resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
|
| 86 |
+
"integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
|
| 87 |
+
"license": "MIT",
|
| 88 |
+
"dependencies": {
|
| 89 |
+
"eastasianwidth": "^0.2.0",
|
| 90 |
+
"emoji-regex": "^9.2.2",
|
| 91 |
+
"strip-ansi": "^7.0.1"
|
| 92 |
+
},
|
| 93 |
+
"engines": {
|
| 94 |
+
"node": ">=12"
|
| 95 |
+
},
|
| 96 |
+
"funding": {
|
| 97 |
+
"url": "https://github.com/sponsors/sindresorhus"
|
| 98 |
+
}
|
| 99 |
+
},
|
| 100 |
+
"node_modules/@isaacs/cliui/node_modules/strip-ansi": {
|
| 101 |
+
"version": "7.2.0",
|
| 102 |
+
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz",
|
| 103 |
+
"integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==",
|
| 104 |
+
"license": "MIT",
|
| 105 |
+
"dependencies": {
|
| 106 |
+
"ansi-regex": "^6.2.2"
|
| 107 |
+
},
|
| 108 |
+
"engines": {
|
| 109 |
+
"node": ">=12"
|
| 110 |
+
},
|
| 111 |
+
"funding": {
|
| 112 |
+
"url": "https://github.com/chalk/strip-ansi?sponsor=1"
|
| 113 |
+
}
|
| 114 |
+
},
|
| 115 |
+
"node_modules/@isaacs/cliui/node_modules/wrap-ansi": {
|
| 116 |
+
"version": "8.1.0",
|
| 117 |
+
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
|
| 118 |
+
"integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
|
| 119 |
+
"license": "MIT",
|
| 120 |
+
"dependencies": {
|
| 121 |
+
"ansi-styles": "^6.1.0",
|
| 122 |
+
"string-width": "^5.0.1",
|
| 123 |
+
"strip-ansi": "^7.0.1"
|
| 124 |
+
},
|
| 125 |
+
"engines": {
|
| 126 |
+
"node": ">=12"
|
| 127 |
+
},
|
| 128 |
+
"funding": {
|
| 129 |
+
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
|
| 130 |
}
|
| 131 |
},
|
| 132 |
"node_modules/@pdf-lib/standard-fonts": {
|
|
|
|
| 147 |
"pako": "^1.0.10"
|
| 148 |
}
|
| 149 |
},
|
| 150 |
+
"node_modules/@pkgjs/parseargs": {
|
| 151 |
+
"version": "0.11.0",
|
| 152 |
+
"resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
|
| 153 |
+
"integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
|
| 154 |
+
"license": "MIT",
|
| 155 |
+
"optional": true,
|
| 156 |
+
"engines": {
|
| 157 |
+
"node": ">=14"
|
| 158 |
+
}
|
| 159 |
+
},
|
| 160 |
"node_modules/@swc/helpers": {
|
| 161 |
"version": "0.5.18",
|
| 162 |
"resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.18.tgz",
|
|
|
|
| 202 |
"integrity": "sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==",
|
| 203 |
"license": "MIT"
|
| 204 |
},
|
| 205 |
+
"node_modules/abort-controller": {
|
| 206 |
+
"version": "3.0.0",
|
| 207 |
+
"resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz",
|
| 208 |
+
"integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==",
|
| 209 |
+
"license": "MIT",
|
| 210 |
+
"dependencies": {
|
| 211 |
+
"event-target-shim": "^5.0.0"
|
| 212 |
+
},
|
| 213 |
+
"engines": {
|
| 214 |
+
"node": ">=6.5"
|
| 215 |
+
}
|
| 216 |
+
},
|
| 217 |
"node_modules/accepts": {
|
| 218 |
"version": "2.0.0",
|
| 219 |
"resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz",
|
|
|
|
| 306 |
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
|
| 307 |
}
|
| 308 |
},
|
| 309 |
+
"node_modules/archiver-utils": {
|
| 310 |
+
"version": "5.0.2",
|
| 311 |
+
"resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-5.0.2.tgz",
|
| 312 |
+
"integrity": "sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA==",
|
| 313 |
+
"license": "MIT",
|
| 314 |
+
"dependencies": {
|
| 315 |
+
"glob": "^10.0.0",
|
| 316 |
+
"graceful-fs": "^4.2.0",
|
| 317 |
+
"is-stream": "^2.0.1",
|
| 318 |
+
"lazystream": "^1.0.0",
|
| 319 |
+
"lodash": "^4.17.15",
|
| 320 |
+
"normalize-path": "^3.0.0",
|
| 321 |
+
"readable-stream": "^4.0.0"
|
| 322 |
+
},
|
| 323 |
+
"engines": {
|
| 324 |
+
"node": ">= 14"
|
| 325 |
+
}
|
| 326 |
+
},
|
| 327 |
+
"node_modules/archiver-utils/node_modules/buffer": {
|
| 328 |
+
"version": "6.0.3",
|
| 329 |
+
"resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
|
| 330 |
+
"integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
|
| 331 |
+
"funding": [
|
| 332 |
+
{
|
| 333 |
+
"type": "github",
|
| 334 |
+
"url": "https://github.com/sponsors/feross"
|
| 335 |
+
},
|
| 336 |
+
{
|
| 337 |
+
"type": "patreon",
|
| 338 |
+
"url": "https://www.patreon.com/feross"
|
| 339 |
+
},
|
| 340 |
+
{
|
| 341 |
+
"type": "consulting",
|
| 342 |
+
"url": "https://feross.org/support"
|
| 343 |
+
}
|
| 344 |
+
],
|
| 345 |
+
"license": "MIT",
|
| 346 |
+
"dependencies": {
|
| 347 |
+
"base64-js": "^1.3.1",
|
| 348 |
+
"ieee754": "^1.2.1"
|
| 349 |
+
}
|
| 350 |
+
},
|
| 351 |
+
"node_modules/archiver-utils/node_modules/readable-stream": {
|
| 352 |
+
"version": "4.7.0",
|
| 353 |
+
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz",
|
| 354 |
+
"integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==",
|
| 355 |
+
"license": "MIT",
|
| 356 |
+
"dependencies": {
|
| 357 |
+
"abort-controller": "^3.0.0",
|
| 358 |
+
"buffer": "^6.0.3",
|
| 359 |
+
"events": "^3.3.0",
|
| 360 |
+
"process": "^0.11.10",
|
| 361 |
+
"string_decoder": "^1.3.0"
|
| 362 |
+
},
|
| 363 |
+
"engines": {
|
| 364 |
+
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
| 365 |
+
}
|
| 366 |
+
},
|
| 367 |
"node_modules/asap": {
|
| 368 |
"version": "2.0.6",
|
| 369 |
"resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
|
| 370 |
"integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==",
|
| 371 |
"license": "MIT"
|
| 372 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 373 |
"node_modules/asynckit": {
|
| 374 |
"version": "0.4.0",
|
| 375 |
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
|
| 376 |
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
|
| 377 |
"license": "MIT"
|
| 378 |
},
|
| 379 |
+
"node_modules/balanced-match": {
|
| 380 |
+
"version": "1.0.2",
|
| 381 |
+
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
|
| 382 |
+
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
|
| 383 |
+
"license": "MIT"
|
| 384 |
+
},
|
| 385 |
"node_modules/base64-js": {
|
| 386 |
"version": "1.5.1",
|
| 387 |
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
|
|
|
|
| 460 |
"url": "https://opencollective.com/express"
|
| 461 |
}
|
| 462 |
},
|
| 463 |
+
"node_modules/brace-expansion": {
|
| 464 |
+
"version": "2.0.2",
|
| 465 |
+
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
|
| 466 |
+
"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
|
| 467 |
+
"license": "MIT",
|
| 468 |
+
"dependencies": {
|
| 469 |
+
"balanced-match": "^1.0.0"
|
| 470 |
+
}
|
| 471 |
+
},
|
| 472 |
"node_modules/brotli": {
|
| 473 |
"version": "1.3.3",
|
| 474 |
"resolved": "https://registry.npmjs.org/brotli/-/brotli-1.3.3.tgz",
|
|
|
|
| 714 |
"node": ">=16"
|
| 715 |
}
|
| 716 |
},
|
| 717 |
+
"node_modules/compress-commons": {
|
| 718 |
+
"version": "6.0.2",
|
| 719 |
+
"resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-6.0.2.tgz",
|
| 720 |
+
"integrity": "sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==",
|
| 721 |
+
"license": "MIT",
|
| 722 |
+
"dependencies": {
|
| 723 |
+
"crc-32": "^1.2.0",
|
| 724 |
+
"crc32-stream": "^6.0.0",
|
| 725 |
+
"is-stream": "^2.0.1",
|
| 726 |
+
"normalize-path": "^3.0.0",
|
| 727 |
+
"readable-stream": "^4.0.0"
|
| 728 |
+
},
|
| 729 |
+
"engines": {
|
| 730 |
+
"node": ">= 14"
|
| 731 |
+
}
|
| 732 |
+
},
|
| 733 |
+
"node_modules/compress-commons/node_modules/buffer": {
|
| 734 |
+
"version": "6.0.3",
|
| 735 |
+
"resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
|
| 736 |
+
"integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
|
| 737 |
+
"funding": [
|
| 738 |
+
{
|
| 739 |
+
"type": "github",
|
| 740 |
+
"url": "https://github.com/sponsors/feross"
|
| 741 |
+
},
|
| 742 |
+
{
|
| 743 |
+
"type": "patreon",
|
| 744 |
+
"url": "https://www.patreon.com/feross"
|
| 745 |
+
},
|
| 746 |
+
{
|
| 747 |
+
"type": "consulting",
|
| 748 |
+
"url": "https://feross.org/support"
|
| 749 |
+
}
|
| 750 |
+
],
|
| 751 |
+
"license": "MIT",
|
| 752 |
+
"dependencies": {
|
| 753 |
+
"base64-js": "^1.3.1",
|
| 754 |
+
"ieee754": "^1.2.1"
|
| 755 |
+
}
|
| 756 |
+
},
|
| 757 |
+
"node_modules/compress-commons/node_modules/readable-stream": {
|
| 758 |
+
"version": "4.7.0",
|
| 759 |
+
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz",
|
| 760 |
+
"integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==",
|
| 761 |
+
"license": "MIT",
|
| 762 |
+
"dependencies": {
|
| 763 |
+
"abort-controller": "^3.0.0",
|
| 764 |
+
"buffer": "^6.0.3",
|
| 765 |
+
"events": "^3.3.0",
|
| 766 |
+
"process": "^0.11.10",
|
| 767 |
+
"string_decoder": "^1.3.0"
|
| 768 |
+
},
|
| 769 |
+
"engines": {
|
| 770 |
+
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
| 771 |
+
}
|
| 772 |
+
},
|
| 773 |
"node_modules/concat-stream": {
|
| 774 |
"version": "1.6.2",
|
| 775 |
"resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
|
|
|
|
| 861 |
"integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==",
|
| 862 |
"license": "MIT"
|
| 863 |
},
|
| 864 |
+
"node_modules/crc-32": {
|
| 865 |
+
"version": "1.2.2",
|
| 866 |
+
"resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz",
|
| 867 |
+
"integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==",
|
| 868 |
+
"license": "Apache-2.0",
|
| 869 |
+
"bin": {
|
| 870 |
+
"crc32": "bin/crc32.njs"
|
| 871 |
+
},
|
| 872 |
+
"engines": {
|
| 873 |
+
"node": ">=0.8"
|
| 874 |
+
}
|
| 875 |
+
},
|
| 876 |
+
"node_modules/crc32-stream": {
|
| 877 |
+
"version": "6.0.0",
|
| 878 |
+
"resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-6.0.0.tgz",
|
| 879 |
+
"integrity": "sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==",
|
| 880 |
+
"license": "MIT",
|
| 881 |
+
"dependencies": {
|
| 882 |
+
"crc-32": "^1.2.0",
|
| 883 |
+
"readable-stream": "^4.0.0"
|
| 884 |
+
},
|
| 885 |
+
"engines": {
|
| 886 |
+
"node": ">= 14"
|
| 887 |
+
}
|
| 888 |
+
},
|
| 889 |
+
"node_modules/crc32-stream/node_modules/buffer": {
|
| 890 |
+
"version": "6.0.3",
|
| 891 |
+
"resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
|
| 892 |
+
"integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
|
| 893 |
+
"funding": [
|
| 894 |
+
{
|
| 895 |
+
"type": "github",
|
| 896 |
+
"url": "https://github.com/sponsors/feross"
|
| 897 |
+
},
|
| 898 |
+
{
|
| 899 |
+
"type": "patreon",
|
| 900 |
+
"url": "https://www.patreon.com/feross"
|
| 901 |
+
},
|
| 902 |
+
{
|
| 903 |
+
"type": "consulting",
|
| 904 |
+
"url": "https://feross.org/support"
|
| 905 |
+
}
|
| 906 |
+
],
|
| 907 |
+
"license": "MIT",
|
| 908 |
+
"dependencies": {
|
| 909 |
+
"base64-js": "^1.3.1",
|
| 910 |
+
"ieee754": "^1.2.1"
|
| 911 |
+
}
|
| 912 |
+
},
|
| 913 |
+
"node_modules/crc32-stream/node_modules/readable-stream": {
|
| 914 |
+
"version": "4.7.0",
|
| 915 |
+
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz",
|
| 916 |
+
"integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==",
|
| 917 |
+
"license": "MIT",
|
| 918 |
+
"dependencies": {
|
| 919 |
+
"abort-controller": "^3.0.0",
|
| 920 |
+
"buffer": "^6.0.3",
|
| 921 |
+
"events": "^3.3.0",
|
| 922 |
+
"process": "^0.11.10",
|
| 923 |
+
"string_decoder": "^1.3.0"
|
| 924 |
+
},
|
| 925 |
+
"engines": {
|
| 926 |
+
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
| 927 |
+
}
|
| 928 |
+
},
|
| 929 |
+
"node_modules/cross-spawn": {
|
| 930 |
+
"version": "7.0.6",
|
| 931 |
+
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
|
| 932 |
+
"integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
|
| 933 |
+
"license": "MIT",
|
| 934 |
+
"dependencies": {
|
| 935 |
+
"path-key": "^3.1.0",
|
| 936 |
+
"shebang-command": "^2.0.0",
|
| 937 |
+
"which": "^2.0.1"
|
| 938 |
+
},
|
| 939 |
+
"engines": {
|
| 940 |
+
"node": ">= 8"
|
| 941 |
+
}
|
| 942 |
+
},
|
| 943 |
"node_modules/crypt": {
|
| 944 |
"version": "0.0.2",
|
| 945 |
"resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz",
|
|
|
|
| 1064 |
"node": ">= 0.4"
|
| 1065 |
}
|
| 1066 |
},
|
| 1067 |
+
"node_modules/eastasianwidth": {
|
| 1068 |
+
"version": "0.2.0",
|
| 1069 |
+
"resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
|
| 1070 |
+
"integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
|
| 1071 |
+
"license": "MIT"
|
| 1072 |
+
},
|
| 1073 |
"node_modules/ee-first": {
|
| 1074 |
"version": "1.1.1",
|
| 1075 |
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
|
|
|
|
| 1184 |
"integrity": "sha512-8qz9nOz5VeD2z96elrEKD2U433+L3DWdUdDkOINLGOJvx1GsMBbMn0aCeu28y8/e85A6mCigBiFlYMnTBEGlSw==",
|
| 1185 |
"license": "MIT"
|
| 1186 |
},
|
| 1187 |
+
"node_modules/event-target-shim": {
|
| 1188 |
+
"version": "5.0.1",
|
| 1189 |
+
"resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz",
|
| 1190 |
+
"integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==",
|
| 1191 |
+
"license": "MIT",
|
| 1192 |
+
"engines": {
|
| 1193 |
+
"node": ">=6"
|
| 1194 |
+
}
|
| 1195 |
+
},
|
| 1196 |
+
"node_modules/events": {
|
| 1197 |
+
"version": "3.3.0",
|
| 1198 |
+
"resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
|
| 1199 |
+
"integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
|
| 1200 |
+
"license": "MIT",
|
| 1201 |
+
"engines": {
|
| 1202 |
+
"node": ">=0.8.x"
|
| 1203 |
+
}
|
| 1204 |
+
},
|
| 1205 |
"node_modules/expand-template": {
|
| 1206 |
"version": "2.0.3",
|
| 1207 |
"resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz",
|
|
|
|
| 1376 |
"node": ">=0.8"
|
| 1377 |
}
|
| 1378 |
},
|
| 1379 |
+
"node_modules/foreground-child": {
|
| 1380 |
+
"version": "3.3.1",
|
| 1381 |
+
"resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz",
|
| 1382 |
+
"integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==",
|
| 1383 |
+
"license": "ISC",
|
| 1384 |
+
"dependencies": {
|
| 1385 |
+
"cross-spawn": "^7.0.6",
|
| 1386 |
+
"signal-exit": "^4.0.1"
|
| 1387 |
+
},
|
| 1388 |
+
"engines": {
|
| 1389 |
+
"node": ">=14"
|
| 1390 |
+
},
|
| 1391 |
+
"funding": {
|
| 1392 |
+
"url": "https://github.com/sponsors/isaacs"
|
| 1393 |
+
}
|
| 1394 |
+
},
|
| 1395 |
+
"node_modules/foreground-child/node_modules/signal-exit": {
|
| 1396 |
+
"version": "4.1.0",
|
| 1397 |
+
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
|
| 1398 |
+
"integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
|
| 1399 |
+
"license": "ISC",
|
| 1400 |
+
"engines": {
|
| 1401 |
+
"node": ">=14"
|
| 1402 |
+
},
|
| 1403 |
+
"funding": {
|
| 1404 |
+
"url": "https://github.com/sponsors/isaacs"
|
| 1405 |
+
}
|
| 1406 |
+
},
|
| 1407 |
"node_modules/form-data": {
|
| 1408 |
"version": "2.5.5",
|
| 1409 |
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.5.tgz",
|
|
|
|
| 1535 |
"node": ">= 0.4"
|
| 1536 |
}
|
| 1537 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1538 |
"node_modules/github-from-package": {
|
| 1539 |
"version": "0.0.0",
|
| 1540 |
"resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz",
|
| 1541 |
"integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==",
|
| 1542 |
"license": "MIT"
|
| 1543 |
},
|
| 1544 |
+
"node_modules/glob": {
|
| 1545 |
+
"version": "10.5.0",
|
| 1546 |
+
"resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz",
|
| 1547 |
+
"integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==",
|
| 1548 |
+
"deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me",
|
| 1549 |
+
"license": "ISC",
|
| 1550 |
+
"dependencies": {
|
| 1551 |
+
"foreground-child": "^3.1.0",
|
| 1552 |
+
"jackspeak": "^3.1.2",
|
| 1553 |
+
"minimatch": "^9.0.4",
|
| 1554 |
+
"minipass": "^7.1.2",
|
| 1555 |
+
"package-json-from-dist": "^1.0.0",
|
| 1556 |
+
"path-scurry": "^1.11.1"
|
| 1557 |
+
},
|
| 1558 |
+
"bin": {
|
| 1559 |
+
"glob": "dist/esm/bin.mjs"
|
| 1560 |
+
},
|
| 1561 |
+
"funding": {
|
| 1562 |
+
"url": "https://github.com/sponsors/isaacs"
|
| 1563 |
+
}
|
| 1564 |
+
},
|
| 1565 |
"node_modules/gopd": {
|
| 1566 |
"version": "1.2.0",
|
| 1567 |
"resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
|
|
|
|
| 1847 |
"integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==",
|
| 1848 |
"license": "MIT"
|
| 1849 |
},
|
| 1850 |
+
"node_modules/is-stream": {
|
| 1851 |
+
"version": "2.0.1",
|
| 1852 |
+
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
|
| 1853 |
+
"integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
|
| 1854 |
+
"license": "MIT",
|
| 1855 |
+
"engines": {
|
| 1856 |
+
"node": ">=8"
|
| 1857 |
+
},
|
| 1858 |
+
"funding": {
|
| 1859 |
+
"url": "https://github.com/sponsors/sindresorhus"
|
| 1860 |
+
}
|
| 1861 |
+
},
|
| 1862 |
"node_modules/is-unicode-supported": {
|
| 1863 |
"version": "0.1.0",
|
| 1864 |
"resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
|
|
|
|
| 1877 |
"integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
|
| 1878 |
"license": "MIT"
|
| 1879 |
},
|
| 1880 |
+
"node_modules/isexe": {
|
| 1881 |
+
"version": "2.0.0",
|
| 1882 |
+
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
|
| 1883 |
+
"integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
|
| 1884 |
+
"license": "ISC"
|
| 1885 |
+
},
|
| 1886 |
+
"node_modules/jackspeak": {
|
| 1887 |
+
"version": "3.4.3",
|
| 1888 |
+
"resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz",
|
| 1889 |
+
"integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==",
|
| 1890 |
+
"license": "BlueOak-1.0.0",
|
| 1891 |
+
"dependencies": {
|
| 1892 |
+
"@isaacs/cliui": "^8.0.2"
|
| 1893 |
+
},
|
| 1894 |
+
"funding": {
|
| 1895 |
+
"url": "https://github.com/sponsors/isaacs"
|
| 1896 |
+
},
|
| 1897 |
+
"optionalDependencies": {
|
| 1898 |
+
"@pkgjs/parseargs": "^0.11.0"
|
| 1899 |
+
}
|
| 1900 |
+
},
|
| 1901 |
"node_modules/jpeg-exif": {
|
| 1902 |
"version": "1.1.4",
|
| 1903 |
"resolved": "https://registry.npmjs.org/jpeg-exif/-/jpeg-exif-1.1.4.tgz",
|
|
|
|
| 1917 |
"graceful-fs": "^4.1.6"
|
| 1918 |
}
|
| 1919 |
},
|
| 1920 |
+
"node_modules/lazystream": {
|
| 1921 |
+
"version": "1.0.1",
|
| 1922 |
+
"resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz",
|
| 1923 |
+
"integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==",
|
| 1924 |
+
"license": "MIT",
|
| 1925 |
+
"dependencies": {
|
| 1926 |
+
"readable-stream": "^2.0.5"
|
| 1927 |
+
},
|
| 1928 |
+
"engines": {
|
| 1929 |
+
"node": ">= 0.6.3"
|
| 1930 |
+
}
|
| 1931 |
+
},
|
| 1932 |
+
"node_modules/lazystream/node_modules/readable-stream": {
|
| 1933 |
+
"version": "2.3.8",
|
| 1934 |
+
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
|
| 1935 |
+
"integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
|
| 1936 |
+
"license": "MIT",
|
| 1937 |
+
"dependencies": {
|
| 1938 |
+
"core-util-is": "~1.0.0",
|
| 1939 |
+
"inherits": "~2.0.3",
|
| 1940 |
+
"isarray": "~1.0.0",
|
| 1941 |
+
"process-nextick-args": "~2.0.0",
|
| 1942 |
+
"safe-buffer": "~5.1.1",
|
| 1943 |
+
"string_decoder": "~1.1.1",
|
| 1944 |
+
"util-deprecate": "~1.0.1"
|
| 1945 |
+
}
|
| 1946 |
+
},
|
| 1947 |
+
"node_modules/lazystream/node_modules/safe-buffer": {
|
| 1948 |
+
"version": "5.1.2",
|
| 1949 |
+
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
|
| 1950 |
+
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
|
| 1951 |
+
"license": "MIT"
|
| 1952 |
+
},
|
| 1953 |
+
"node_modules/lazystream/node_modules/string_decoder": {
|
| 1954 |
+
"version": "1.1.1",
|
| 1955 |
+
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
|
| 1956 |
+
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
|
| 1957 |
+
"license": "MIT",
|
| 1958 |
+
"dependencies": {
|
| 1959 |
+
"safe-buffer": "~5.1.0"
|
| 1960 |
+
}
|
| 1961 |
+
},
|
| 1962 |
"node_modules/linebreak": {
|
| 1963 |
"version": "1.1.0",
|
| 1964 |
"resolved": "https://registry.npmjs.org/linebreak/-/linebreak-1.1.0.tgz",
|
|
|
|
| 2000 |
"url": "https://github.com/sponsors/sindresorhus"
|
| 2001 |
}
|
| 2002 |
},
|
| 2003 |
+
"node_modules/lru-cache": {
|
| 2004 |
+
"version": "10.4.3",
|
| 2005 |
+
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
|
| 2006 |
+
"integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
|
| 2007 |
+
"license": "ISC"
|
| 2008 |
+
},
|
| 2009 |
"node_modules/math-intrinsics": {
|
| 2010 |
"version": "1.1.0",
|
| 2011 |
"resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
|
|
|
|
| 2089 |
"url": "https://github.com/sponsors/sindresorhus"
|
| 2090 |
}
|
| 2091 |
},
|
| 2092 |
+
"node_modules/minimatch": {
|
| 2093 |
+
"version": "9.0.9",
|
| 2094 |
+
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz",
|
| 2095 |
+
"integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==",
|
| 2096 |
+
"license": "ISC",
|
| 2097 |
+
"dependencies": {
|
| 2098 |
+
"brace-expansion": "^2.0.2"
|
| 2099 |
+
},
|
| 2100 |
+
"engines": {
|
| 2101 |
+
"node": ">=16 || 14 >=14.17"
|
| 2102 |
+
},
|
| 2103 |
+
"funding": {
|
| 2104 |
+
"url": "https://github.com/sponsors/isaacs"
|
| 2105 |
+
}
|
| 2106 |
+
},
|
| 2107 |
"node_modules/minimist": {
|
| 2108 |
"version": "1.2.8",
|
| 2109 |
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
|
|
|
|
| 2113 |
"url": "https://github.com/sponsors/ljharb"
|
| 2114 |
}
|
| 2115 |
},
|
| 2116 |
+
"node_modules/minipass": {
|
| 2117 |
+
"version": "7.1.3",
|
| 2118 |
+
"resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz",
|
| 2119 |
+
"integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==",
|
| 2120 |
+
"license": "BlueOak-1.0.0",
|
| 2121 |
+
"engines": {
|
| 2122 |
+
"node": ">=16 || 14 >=14.17"
|
| 2123 |
+
}
|
| 2124 |
+
},
|
| 2125 |
"node_modules/mkdirp-classic": {
|
| 2126 |
"version": "0.5.3",
|
| 2127 |
"resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz",
|
|
|
|
| 2229 |
"node": ">= 6.13.0"
|
| 2230 |
}
|
| 2231 |
},
|
| 2232 |
+
"node_modules/normalize-path": {
|
| 2233 |
+
"version": "3.0.0",
|
| 2234 |
+
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
|
| 2235 |
+
"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
|
| 2236 |
+
"license": "MIT",
|
| 2237 |
+
"engines": {
|
| 2238 |
+
"node": ">=0.10.0"
|
| 2239 |
+
}
|
| 2240 |
+
},
|
| 2241 |
"node_modules/object-inspect": {
|
| 2242 |
"version": "1.13.4",
|
| 2243 |
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz",
|
|
|
|
| 2345 |
"url": "https://github.com/sponsors/sindresorhus"
|
| 2346 |
}
|
| 2347 |
},
|
| 2348 |
+
"node_modules/package-json-from-dist": {
|
| 2349 |
+
"version": "1.0.1",
|
| 2350 |
+
"resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz",
|
| 2351 |
+
"integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==",
|
| 2352 |
+
"license": "BlueOak-1.0.0"
|
| 2353 |
+
},
|
| 2354 |
"node_modules/pako": {
|
| 2355 |
"version": "1.0.11",
|
| 2356 |
"resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
|
|
|
|
| 2371 |
"node": ">= 0.8"
|
| 2372 |
}
|
| 2373 |
},
|
| 2374 |
+
"node_modules/path-key": {
|
| 2375 |
+
"version": "3.1.1",
|
| 2376 |
+
"resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
|
| 2377 |
+
"integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
|
| 2378 |
+
"license": "MIT",
|
| 2379 |
+
"engines": {
|
| 2380 |
+
"node": ">=8"
|
| 2381 |
+
}
|
| 2382 |
+
},
|
| 2383 |
+
"node_modules/path-scurry": {
|
| 2384 |
+
"version": "1.11.1",
|
| 2385 |
+
"resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz",
|
| 2386 |
+
"integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==",
|
| 2387 |
+
"license": "BlueOak-1.0.0",
|
| 2388 |
+
"dependencies": {
|
| 2389 |
+
"lru-cache": "^10.2.0",
|
| 2390 |
+
"minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
|
| 2391 |
+
},
|
| 2392 |
+
"engines": {
|
| 2393 |
+
"node": ">=16 || 14 >=14.18"
|
| 2394 |
+
},
|
| 2395 |
+
"funding": {
|
| 2396 |
+
"url": "https://github.com/sponsors/isaacs"
|
| 2397 |
+
}
|
| 2398 |
+
},
|
| 2399 |
"node_modules/path-to-regexp": {
|
| 2400 |
"version": "8.3.0",
|
| 2401 |
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.3.0.tgz",
|
|
|
|
| 2485 |
"node": ">=10"
|
| 2486 |
}
|
| 2487 |
},
|
| 2488 |
+
"node_modules/process": {
|
| 2489 |
+
"version": "0.11.10",
|
| 2490 |
+
"resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
|
| 2491 |
+
"integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==",
|
| 2492 |
+
"license": "MIT",
|
| 2493 |
+
"engines": {
|
| 2494 |
+
"node": ">= 0.6.0"
|
| 2495 |
+
}
|
| 2496 |
+
},
|
| 2497 |
"node_modules/process-nextick-args": {
|
| 2498 |
"version": "2.0.1",
|
| 2499 |
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
|
|
|
|
| 2809 |
"integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
|
| 2810 |
"license": "ISC"
|
| 2811 |
},
|
| 2812 |
+
"node_modules/shebang-command": {
|
| 2813 |
+
"version": "2.0.0",
|
| 2814 |
+
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
|
| 2815 |
+
"integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
|
| 2816 |
+
"license": "MIT",
|
| 2817 |
+
"dependencies": {
|
| 2818 |
+
"shebang-regex": "^3.0.0"
|
| 2819 |
+
},
|
| 2820 |
+
"engines": {
|
| 2821 |
+
"node": ">=8"
|
| 2822 |
+
}
|
| 2823 |
+
},
|
| 2824 |
+
"node_modules/shebang-regex": {
|
| 2825 |
+
"version": "3.0.0",
|
| 2826 |
+
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
|
| 2827 |
+
"integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
|
| 2828 |
+
"license": "MIT",
|
| 2829 |
+
"engines": {
|
| 2830 |
+
"node": ">=8"
|
| 2831 |
+
}
|
| 2832 |
+
},
|
| 2833 |
"node_modules/side-channel": {
|
| 2834 |
"version": "1.1.0",
|
| 2835 |
"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz",
|
|
|
|
| 2985 |
"node": ">=8"
|
| 2986 |
}
|
| 2987 |
},
|
| 2988 |
+
"node_modules/string-width-cjs": {
|
| 2989 |
+
"name": "string-width",
|
| 2990 |
+
"version": "4.2.3",
|
| 2991 |
+
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
|
| 2992 |
+
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
|
| 2993 |
+
"license": "MIT",
|
| 2994 |
+
"dependencies": {
|
| 2995 |
+
"emoji-regex": "^8.0.0",
|
| 2996 |
+
"is-fullwidth-code-point": "^3.0.0",
|
| 2997 |
+
"strip-ansi": "^6.0.1"
|
| 2998 |
+
},
|
| 2999 |
+
"engines": {
|
| 3000 |
+
"node": ">=8"
|
| 3001 |
+
}
|
| 3002 |
+
},
|
| 3003 |
+
"node_modules/string-width-cjs/node_modules/ansi-regex": {
|
| 3004 |
+
"version": "5.0.1",
|
| 3005 |
+
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
|
| 3006 |
+
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
|
| 3007 |
+
"license": "MIT",
|
| 3008 |
+
"engines": {
|
| 3009 |
+
"node": ">=8"
|
| 3010 |
+
}
|
| 3011 |
+
},
|
| 3012 |
+
"node_modules/string-width-cjs/node_modules/strip-ansi": {
|
| 3013 |
+
"version": "6.0.1",
|
| 3014 |
+
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
|
| 3015 |
+
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
|
| 3016 |
+
"license": "MIT",
|
| 3017 |
+
"dependencies": {
|
| 3018 |
+
"ansi-regex": "^5.0.1"
|
| 3019 |
+
},
|
| 3020 |
+
"engines": {
|
| 3021 |
+
"node": ">=8"
|
| 3022 |
+
}
|
| 3023 |
+
},
|
| 3024 |
"node_modules/string-width/node_modules/ansi-regex": {
|
| 3025 |
"version": "5.0.1",
|
| 3026 |
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
|
|
|
|
| 3054 |
"node": ">=6"
|
| 3055 |
}
|
| 3056 |
},
|
| 3057 |
+
"node_modules/strip-ansi-cjs": {
|
| 3058 |
+
"name": "strip-ansi",
|
| 3059 |
+
"version": "6.0.1",
|
| 3060 |
+
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
|
| 3061 |
+
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
|
| 3062 |
+
"license": "MIT",
|
| 3063 |
+
"dependencies": {
|
| 3064 |
+
"ansi-regex": "^5.0.1"
|
| 3065 |
+
},
|
| 3066 |
+
"engines": {
|
| 3067 |
+
"node": ">=8"
|
| 3068 |
+
}
|
| 3069 |
+
},
|
| 3070 |
+
"node_modules/strip-ansi-cjs/node_modules/ansi-regex": {
|
| 3071 |
+
"version": "5.0.1",
|
| 3072 |
+
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
|
| 3073 |
+
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
|
| 3074 |
+
"license": "MIT",
|
| 3075 |
+
"engines": {
|
| 3076 |
+
"node": ">=8"
|
| 3077 |
+
}
|
| 3078 |
+
},
|
| 3079 |
"node_modules/strip-json-comments": {
|
| 3080 |
"version": "2.0.1",
|
| 3081 |
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
|
|
|
|
| 3379 |
"node": ">= 8"
|
| 3380 |
}
|
| 3381 |
},
|
| 3382 |
+
"node_modules/which": {
|
| 3383 |
+
"version": "2.0.2",
|
| 3384 |
+
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
|
| 3385 |
+
"integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
|
| 3386 |
+
"license": "ISC",
|
| 3387 |
+
"dependencies": {
|
| 3388 |
+
"isexe": "^2.0.0"
|
| 3389 |
+
},
|
| 3390 |
+
"bin": {
|
| 3391 |
+
"node-which": "bin/node-which"
|
| 3392 |
+
},
|
| 3393 |
+
"engines": {
|
| 3394 |
+
"node": ">= 8"
|
| 3395 |
+
}
|
| 3396 |
+
},
|
| 3397 |
"node_modules/wrap-ansi": {
|
| 3398 |
"version": "7.0.0",
|
| 3399 |
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
|
|
|
|
| 3411 |
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
|
| 3412 |
}
|
| 3413 |
},
|
| 3414 |
+
"node_modules/wrap-ansi-cjs": {
|
| 3415 |
+
"name": "wrap-ansi",
|
| 3416 |
+
"version": "7.0.0",
|
| 3417 |
+
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
|
| 3418 |
+
"integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
|
| 3419 |
+
"license": "MIT",
|
| 3420 |
+
"dependencies": {
|
| 3421 |
+
"ansi-styles": "^4.0.0",
|
| 3422 |
+
"string-width": "^4.1.0",
|
| 3423 |
+
"strip-ansi": "^6.0.0"
|
| 3424 |
+
},
|
| 3425 |
+
"engines": {
|
| 3426 |
+
"node": ">=10"
|
| 3427 |
+
},
|
| 3428 |
+
"funding": {
|
| 3429 |
+
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
|
| 3430 |
+
}
|
| 3431 |
+
},
|
| 3432 |
+
"node_modules/wrap-ansi-cjs/node_modules/ansi-regex": {
|
| 3433 |
+
"version": "5.0.1",
|
| 3434 |
+
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
|
| 3435 |
+
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
|
| 3436 |
+
"license": "MIT",
|
| 3437 |
+
"engines": {
|
| 3438 |
+
"node": ">=8"
|
| 3439 |
+
}
|
| 3440 |
+
},
|
| 3441 |
+
"node_modules/wrap-ansi-cjs/node_modules/strip-ansi": {
|
| 3442 |
+
"version": "6.0.1",
|
| 3443 |
+
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
|
| 3444 |
+
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
|
| 3445 |
+
"license": "MIT",
|
| 3446 |
+
"dependencies": {
|
| 3447 |
+
"ansi-regex": "^5.0.1"
|
| 3448 |
+
},
|
| 3449 |
+
"engines": {
|
| 3450 |
+
"node": ">=8"
|
| 3451 |
+
}
|
| 3452 |
+
},
|
| 3453 |
"node_modules/wrap-ansi/node_modules/ansi-regex": {
|
| 3454 |
"version": "5.0.1",
|
| 3455 |
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
|
|
|
|
| 3580 |
"funding": {
|
| 3581 |
"url": "https://github.com/sponsors/sindresorhus"
|
| 3582 |
}
|
| 3583 |
+
},
|
| 3584 |
+
"node_modules/zip-stream": {
|
| 3585 |
+
"version": "6.0.1",
|
| 3586 |
+
"resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-6.0.1.tgz",
|
| 3587 |
+
"integrity": "sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==",
|
| 3588 |
+
"license": "MIT",
|
| 3589 |
+
"dependencies": {
|
| 3590 |
+
"archiver-utils": "^5.0.0",
|
| 3591 |
+
"compress-commons": "^6.0.2",
|
| 3592 |
+
"readable-stream": "^4.0.0"
|
| 3593 |
+
},
|
| 3594 |
+
"engines": {
|
| 3595 |
+
"node": ">= 14"
|
| 3596 |
+
}
|
| 3597 |
+
},
|
| 3598 |
+
"node_modules/zip-stream/node_modules/buffer": {
|
| 3599 |
+
"version": "6.0.3",
|
| 3600 |
+
"resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
|
| 3601 |
+
"integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
|
| 3602 |
+
"funding": [
|
| 3603 |
+
{
|
| 3604 |
+
"type": "github",
|
| 3605 |
+
"url": "https://github.com/sponsors/feross"
|
| 3606 |
+
},
|
| 3607 |
+
{
|
| 3608 |
+
"type": "patreon",
|
| 3609 |
+
"url": "https://www.patreon.com/feross"
|
| 3610 |
+
},
|
| 3611 |
+
{
|
| 3612 |
+
"type": "consulting",
|
| 3613 |
+
"url": "https://feross.org/support"
|
| 3614 |
+
}
|
| 3615 |
+
],
|
| 3616 |
+
"license": "MIT",
|
| 3617 |
+
"dependencies": {
|
| 3618 |
+
"base64-js": "^1.3.1",
|
| 3619 |
+
"ieee754": "^1.2.1"
|
| 3620 |
+
}
|
| 3621 |
+
},
|
| 3622 |
+
"node_modules/zip-stream/node_modules/readable-stream": {
|
| 3623 |
+
"version": "4.7.0",
|
| 3624 |
+
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz",
|
| 3625 |
+
"integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==",
|
| 3626 |
+
"license": "MIT",
|
| 3627 |
+
"dependencies": {
|
| 3628 |
+
"abort-controller": "^3.0.0",
|
| 3629 |
+
"buffer": "^6.0.3",
|
| 3630 |
+
"events": "^3.3.0",
|
| 3631 |
+
"process": "^0.11.10",
|
| 3632 |
+
"string_decoder": "^1.3.0"
|
| 3633 |
+
},
|
| 3634 |
+
"engines": {
|
| 3635 |
+
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
| 3636 |
+
}
|
| 3637 |
}
|
| 3638 |
}
|
| 3639 |
}
|
package.json
CHANGED
|
@@ -42,6 +42,7 @@
|
|
| 42 |
"ws": "^8.19.0",
|
| 43 |
"xml2js": "^0.6.2",
|
| 44 |
"yargs": "^17.5.1",
|
| 45 |
-
"yauzl": "^3.1.3"
|
|
|
|
| 46 |
}
|
| 47 |
}
|
|
|
|
| 42 |
"ws": "^8.19.0",
|
| 43 |
"xml2js": "^0.6.2",
|
| 44 |
"yargs": "^17.5.1",
|
| 45 |
+
"yauzl": "^3.1.3",
|
| 46 |
+
"zip-stream": "^6.0.1"
|
| 47 |
}
|
| 48 |
}
|
providers/zanichelli.js
CHANGED
|
@@ -10,6 +10,7 @@ import aesjs from "aes-js";
|
|
| 10 |
import forge from "node-forge";
|
| 11 |
import yargs from "yargs";
|
| 12 |
import { spawn } from "child_process";
|
|
|
|
| 13 |
|
| 14 |
const prompt = PromptSync({ sigint: true });
|
| 15 |
|
|
@@ -130,175 +131,269 @@ async function downloadKitabooBook(bookReaderUrl, doOcr, outputDir) {
|
|
| 130 |
let rawPrivateKey = downloadBook.privateKey;
|
| 131 |
let jwtToken = downloadBook.jwtToken; // note how jwt = json web token, so what you are saying is json web token token... gg
|
| 132 |
|
| 133 |
-
|
|
|
|
| 134 |
|
| 135 |
-
|
| 136 |
-
headers: {
|
| 137 |
-
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36",
|
| 138 |
-
"Referer": "https://webreader.zanichelli.it/",
|
| 139 |
-
authorization: jwtToken,
|
| 140 |
-
cookie: readerCookies
|
| 141 |
-
},
|
| 142 |
-
}).then((res) => res.text()).catch((err) => {
|
| 143 |
-
console.log("Error: ", err);
|
| 144 |
-
process.exit(1);
|
| 145 |
-
});
|
| 146 |
|
| 147 |
-
|
| 148 |
-
|
| 149 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 150 |
|
| 151 |
-
|
| 152 |
-
|
| 153 |
-
|
| 154 |
|
| 155 |
-
|
| 156 |
-
|
|
|
|
| 157 |
|
| 158 |
-
|
|
|
|
| 159 |
|
| 160 |
-
|
| 161 |
-
headers: {
|
| 162 |
-
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36",
|
| 163 |
-
"Referer": "https://webreader.zanichelli.it/",
|
| 164 |
-
cookie: readerCookies
|
| 165 |
-
}
|
| 166 |
-
}).then((res) => res.text()).then(parseString).catch((err) => {
|
| 167 |
-
console.log("Error: ", err);
|
| 168 |
-
process.exit(1);
|
| 169 |
-
});
|
| 170 |
|
| 171 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 172 |
|
| 173 |
-
|
| 174 |
-
console.log("Error: ", ...content.Error.Code, ...content.Error.Message);
|
| 175 |
-
process.exit(1);
|
| 176 |
-
}
|
| 177 |
|
| 178 |
-
|
|
|
|
|
|
|
|
|
|
| 179 |
|
| 180 |
-
|
| 181 |
|
| 182 |
-
|
| 183 |
-
if (['image/svg+xml', 'image/png', 'image/jpeg'].includes(item.$['media-type'])) items[item.$.id] = item.$.href;
|
| 184 |
-
}
|
| 185 |
|
| 186 |
-
|
| 187 |
-
|
| 188 |
-
|
| 189 |
-
|
| 190 |
-
|
| 191 |
-
|
| 192 |
-
|
| 193 |
-
|
| 194 |
-
|
| 195 |
-
|
| 196 |
-
|
| 197 |
-
|
| 198 |
-
|
| 199 |
-
|
| 200 |
-
|
| 201 |
-
|
| 202 |
-
|
| 203 |
-
|
| 204 |
-
|
| 205 |
-
|
| 206 |
-
|
| 207 |
-
|
| 208 |
-
|
| 209 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 210 |
}
|
| 211 |
-
|
| 212 |
-
}
|
| 213 |
-
|
| 214 |
-
|
| 215 |
-
|
| 216 |
-
|
| 217 |
-
|
| 218 |
-
|
| 219 |
-
|
| 220 |
-
|
| 221 |
-
|
| 222 |
-
|
| 223 |
-
|
| 224 |
-
|
| 225 |
-
|
| 226 |
-
|
| 227 |
-
|
| 228 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 229 |
}
|
| 230 |
-
|
| 231 |
-
}
|
| 232 |
-
|
| 233 |
-
|
| 234 |
-
|
| 235 |
-
|
| 236 |
-
|
| 237 |
-
|
| 238 |
-
|
| 239 |
-
|
| 240 |
-
|
| 241 |
-
|
| 242 |
-
|
| 243 |
-
|
| 244 |
-
|
| 245 |
-
|
| 246 |
-
|
| 247 |
-
|
|
|
|
|
|
|
|
|
|
| 248 |
}
|
| 249 |
-
doc.image(jpeg, 0, 0, {fit: [doc.page.width, doc.page.height], align: 'center', valign: 'center'});
|
| 250 |
} else {
|
| 251 |
-
console.log(
|
|
|
|
| 252 |
}
|
| 253 |
-
|
| 254 |
-
|
| 255 |
|
| 256 |
-
|
| 257 |
-
|
| 258 |
-
|
| 259 |
-
|
| 260 |
-
|
| 261 |
-
|
| 262 |
-
|
| 263 |
-
|
| 264 |
-
|
| 265 |
-
|
| 266 |
-
|
| 267 |
-
|
| 268 |
-
|
| 269 |
-
|
| 270 |
-
|
| 271 |
-
console.log("File found!");
|
| 272 |
-
break;
|
| 273 |
-
}
|
| 274 |
-
} catch (e) {
|
| 275 |
-
console.log(`Check ${i+1}: File not found yet`);
|
| 276 |
}
|
| 277 |
-
|
| 278 |
-
|
| 279 |
-
|
| 280 |
-
|
| 281 |
-
console.
|
| 282 |
-
|
| 283 |
-
|
| 284 |
-
|
| 285 |
-
|
| 286 |
-
|
| 287 |
-
|
| 288 |
-
|
| 289 |
-
|
| 290 |
-
|
| 291 |
-
|
| 292 |
-
console.log("
|
| 293 |
-
|
| 294 |
-
}
|
| 295 |
-
|
| 296 |
-
|
| 297 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 298 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 299 |
} else {
|
| 300 |
-
console.log(
|
| 301 |
-
console.log(`OURBOOKS_OUTPUT:${pdfPath}`);
|
| 302 |
}
|
| 303 |
}
|
| 304 |
|
|
|
|
| 10 |
import forge from "node-forge";
|
| 11 |
import yargs from "yargs";
|
| 12 |
import { spawn } from "child_process";
|
| 13 |
+
import ZipStream from "zip-stream";
|
| 14 |
|
| 15 |
const prompt = PromptSync({ sigint: true });
|
| 16 |
|
|
|
|
| 131 |
let rawPrivateKey = downloadBook.privateKey;
|
| 132 |
let jwtToken = downloadBook.jwtToken; // note how jwt = json web token, so what you are saying is json web token token... gg
|
| 133 |
|
| 134 |
+
if (bookDetails.bookList[0].book.assetType == "BOOK") {
|
| 135 |
+
console.log("Detected standard book, downloading as PDF");
|
| 136 |
|
| 137 |
+
console.log("Fetching encrypted encryption key...")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 138 |
|
| 139 |
+
let encryptedEncryptionKey = await fetch(`https://webreader.zanichelli.it/${ebookID}/html5/${ebookID}/OPS/enc_resource.key`, {
|
| 140 |
+
headers: {
|
| 141 |
+
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36",
|
| 142 |
+
"Referer": "https://webreader.zanichelli.it/",
|
| 143 |
+
authorization: jwtToken,
|
| 144 |
+
cookie: readerCookies
|
| 145 |
+
},
|
| 146 |
+
}).then((res) => res.text()).catch((err) => {
|
| 147 |
+
console.log("Error: ", err);
|
| 148 |
+
process.exit(1);
|
| 149 |
+
});
|
| 150 |
|
| 151 |
+
console.log("Processing...");
|
| 152 |
+
|
| 153 |
+
console.log("Decrypting encryption key...");
|
| 154 |
|
| 155 |
+
let privateKey = "-----BEGIN RSA PRIVATE KEY-----\n";
|
| 156 |
+
privateKey += rawPrivateKey.match(/.{1,64}/g).join('\n');
|
| 157 |
+
privateKey += "\n-----END RSA PRIVATE KEY-----";
|
| 158 |
|
| 159 |
+
let key = forge.pki.privateKeyFromPem(privateKey);
|
| 160 |
+
let encryptionKey = key.decrypt(forge.util.decode64(encryptedEncryptionKey));
|
| 161 |
|
| 162 |
+
console.log("Fetching book content...");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 163 |
|
| 164 |
+
let content = await fetch(`https://webreader.zanichelli.it/${ebookID}/html5/${ebookID}/OPS/content.opf`, {
|
| 165 |
+
headers: {
|
| 166 |
+
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36",
|
| 167 |
+
"Referer": "https://webreader.zanichelli.it/",
|
| 168 |
+
cookie: readerCookies
|
| 169 |
+
}
|
| 170 |
+
}).then((res) => res.text()).then(parseString).catch((err) => {
|
| 171 |
+
console.log("Error: ", err);
|
| 172 |
+
process.exit(1);
|
| 173 |
+
});
|
| 174 |
|
| 175 |
+
// mention in content.metadata of render type, could be usefull in the future if other formats get added
|
|
|
|
|
|
|
|
|
|
| 176 |
|
| 177 |
+
if (content.Error) {
|
| 178 |
+
console.log("Error: ", ...content.Error.Code, ...content.Error.Message);
|
| 179 |
+
process.exit(1);
|
| 180 |
+
}
|
| 181 |
|
| 182 |
+
let title = content.package.metadata[0]["dc:title"][0];
|
| 183 |
|
| 184 |
+
let items = {};
|
|
|
|
|
|
|
| 185 |
|
| 186 |
+
for (let item of content.package.manifest[0].item) {
|
| 187 |
+
if (['image/svg+xml', 'image/png', 'image/jpeg'].includes(item.$['media-type'])) items[item.$.id] = item.$.href;
|
| 188 |
+
}
|
| 189 |
+
|
| 190 |
+
const pdfPath = path.join(outputDir, title.replace(/[^a-z0-9]/gi, '_') + '.pdf');
|
| 191 |
+
const doc = new PDFDocument();
|
| 192 |
+
const writeStream = fs.createWriteStream(pdfPath);
|
| 193 |
+
doc.pipe(writeStream);
|
| 194 |
+
|
| 195 |
+
for (let [i, itemref] of content.package.spine[0].itemref.entries()) {
|
| 196 |
+
console.log(`Downloading ${itemref.$.idref}`);
|
| 197 |
+
if (items[`images${itemref.$.idref}svgz`] !== undefined) {
|
| 198 |
+
let svg = null;
|
| 199 |
+
while (!svg) {
|
| 200 |
+
const abortController = new AbortController();
|
| 201 |
+
const promise = fetch(
|
| 202 |
+
`https://webreader.zanichelli.it/${ebookID}/html5/${ebookID}/OPS/${items[`images${itemref.$.idref}svgz`]}`,
|
| 203 |
+
{ headers: {
|
| 204 |
+
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36",
|
| 205 |
+
"Referer": "https://webreader.zanichelli.it/",
|
| 206 |
+
cookie: readerCookies
|
| 207 |
+
}, controller: abortController.signal }
|
| 208 |
+
).then(async (res) => {
|
| 209 |
+
return decryptFile(encryptionKey, await res.text());
|
| 210 |
+
});
|
| 211 |
+
const timeoutId = setTimeout(() => abortController.abort(), 10000);
|
| 212 |
+
svg = await promise;
|
| 213 |
+
clearTimeout(timeoutId);
|
| 214 |
+
}
|
| 215 |
+
doc.addSVG(svg, 0, 0, { preserveAspectRatio: "xMinYMin meet" });
|
| 216 |
+
} else if (items[`images${itemref.$.idref}png`] !== undefined) {
|
| 217 |
+
let png = null;
|
| 218 |
+
while (!png) {
|
| 219 |
+
const abortController = new AbortController();
|
| 220 |
+
const promise = fetch(
|
| 221 |
+
`https://webreader.zanichelli.it/${ebookID}/html5/${ebookID}/OPS/${items[`images${itemref.$.idref}png`]}`,
|
| 222 |
+
{ headers: {
|
| 223 |
+
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36",
|
| 224 |
+
"Referer": "https://webreader.zanichelli.it/",
|
| 225 |
+
cookie: readerCookies
|
| 226 |
+
}, controller: abortController.signal }
|
| 227 |
+
).then(async (res) => {
|
| 228 |
+
return decryptFile(encryptionKey, await res.text());
|
| 229 |
+
});
|
| 230 |
+
const timeoutId = setTimeout(() => abortController.abort(), 10000);
|
| 231 |
+
png = await promise;
|
| 232 |
+
clearTimeout(timeoutId);
|
| 233 |
+
}
|
| 234 |
+
doc.image(png, 0, 0, {fit: [doc.page.width, doc.page.height], align: 'center', valign: 'center'});
|
| 235 |
+
} else if (items[`images${itemref.$.idref}jpg`] !== undefined) {
|
| 236 |
+
let jpeg = null;
|
| 237 |
+
while (!jpeg) {
|
| 238 |
+
const abortController = new AbortController();
|
| 239 |
+
const promise = fetch(
|
| 240 |
+
`https://webreader.zanichelli.it/${ebookID}/html5/${ebookID}/OPS/${items[`images${itemref.$.idref}jpg`]}`,
|
| 241 |
+
{ headers: {
|
| 242 |
+
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36",
|
| 243 |
+
"Referer": "https://webreader.zanichelli.it/",
|
| 244 |
+
cookie: readerCookies
|
| 245 |
+
}, controller: abortController.signal }
|
| 246 |
+
).then(async (res) => {
|
| 247 |
+
return decryptFile(encryptionKey, await res.body());
|
| 248 |
+
});
|
| 249 |
+
const timeoutId = setTimeout(() => abortController.abort(), 5000)
|
| 250 |
+
jpeg = await promise;
|
| 251 |
+
clearTimeout(timeoutId);
|
| 252 |
+
}
|
| 253 |
+
doc.image(jpeg, 0, 0, {fit: [doc.page.width, doc.page.height], align: 'center', valign: 'center'});
|
| 254 |
+
} else {
|
| 255 |
+
console.log(`Unable to find suitable format for ${itemref.$.idref}`);
|
| 256 |
}
|
| 257 |
+
if (i < content.package.spine[0].itemref.length - 1) doc.addPage();
|
| 258 |
+
}
|
| 259 |
+
|
| 260 |
+
doc.end();
|
| 261 |
+
|
| 262 |
+
// Wait for the write stream to finish
|
| 263 |
+
await new Promise((resolve, reject) => {
|
| 264 |
+
writeStream.on('finish', resolve);
|
| 265 |
+
writeStream.on('error', reject);
|
| 266 |
+
});
|
| 267 |
+
|
| 268 |
+
let fileExists = false;
|
| 269 |
+
for (let i = 0; i < 50; i++) {
|
| 270 |
+
try {
|
| 271 |
+
const stats = await fs.promises.stat(pdfPath);
|
| 272 |
+
console.log(`Check ${i+1}: File size = ${stats.size} bytes`);
|
| 273 |
+
if (stats.size > 0) {
|
| 274 |
+
fileExists = true;
|
| 275 |
+
console.log("File found!");
|
| 276 |
+
break;
|
| 277 |
+
}
|
| 278 |
+
} catch (e) {
|
| 279 |
+
console.log(`Check ${i+1}: File not found yet`);
|
| 280 |
}
|
| 281 |
+
await new Promise(resolve => setTimeout(resolve, 200));
|
| 282 |
+
}
|
| 283 |
+
|
| 284 |
+
if (!fileExists) {
|
| 285 |
+
console.error('PDF file was not created');
|
| 286 |
+
console.error('Expected file: ' + pdfPath);
|
| 287 |
+
console.error('Current directory: ' + process.cwd());
|
| 288 |
+
process.exit(1);
|
| 289 |
+
}
|
| 290 |
+
|
| 291 |
+
console.log("Running OCR to make text selectable...");
|
| 292 |
+
if (doOcr) {
|
| 293 |
+
try {
|
| 294 |
+
const ocrPath = path.join(outputDir, 'ocr_' + path.basename(pdfPath));
|
| 295 |
+
await runOCR(pdfPath, ocrPath);
|
| 296 |
+
console.log("Done! PDF with selectable text: " + ocrPath);
|
| 297 |
+
console.log(`OURBOOKS_OUTPUT:${ocrPath}`);
|
| 298 |
+
} catch (err) {
|
| 299 |
+
console.error("OCR error:", err.message);
|
| 300 |
+
console.error("The PDF was saved without OCR as: " + pdfPath);
|
| 301 |
+
console.log(`OURBOOKS_OUTPUT:${pdfPath}`);
|
| 302 |
}
|
|
|
|
| 303 |
} else {
|
| 304 |
+
console.log("Done! PDF saved: " + pdfPath);
|
| 305 |
+
console.log(`OURBOOKS_OUTPUT:${pdfPath}`);
|
| 306 |
}
|
| 307 |
+
} else if (bookDetails.bookList[0].book.assetType == "EPUB") {
|
| 308 |
+
console.log("Detected liquid book, downloading as EPUB");
|
| 309 |
|
| 310 |
+
const archive = new ZipStream({store: true});
|
| 311 |
+
|
| 312 |
+
archive.on("error", function (err) {
|
| 313 |
+
throw err;
|
| 314 |
+
});
|
| 315 |
+
|
| 316 |
+
function saveFile(fileName, content) {
|
| 317 |
+
return new Promise((resolve, reject) => {
|
| 318 |
+
archive.entry(content, {
|
| 319 |
+
name: fileName,
|
| 320 |
+
}, (err, res) => {
|
| 321 |
+
if (err) reject(err);
|
| 322 |
+
else resolve(res);
|
| 323 |
+
});
|
| 324 |
+
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 325 |
}
|
| 326 |
+
|
| 327 |
+
const epubPath = path.join(outputDir, bookDetails.bookList[0].book.title.trim().replace(/[^a-z0-9]/gi, '_') + ".epub");
|
| 328 |
+
archive.pipe(fs.createWriteStream(epubPath));
|
| 329 |
+
|
| 330 |
+
console.log("Fetching container file");
|
| 331 |
+
|
| 332 |
+
const rootUrl = `https://webreader.zanichelli.it/${ebookID}/fixed_epub_image/${ebookID}/`
|
| 333 |
+
|
| 334 |
+
const containerFile = await fetch(rootUrl + "META-INF/container.xml", {
|
| 335 |
+
headers: {
|
| 336 |
+
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36",
|
| 337 |
+
"Referer": "https://webreader.zanichelli.it/",
|
| 338 |
+
cookie: readerCookies
|
| 339 |
+
}
|
| 340 |
+
}).then((res) => res.text()).catch((err) => {
|
| 341 |
+
console.log("Error: ", err);
|
| 342 |
+
process.exit(1);
|
| 343 |
+
});
|
| 344 |
+
|
| 345 |
+
const parsedContainerFile = await parseString(containerFile);
|
| 346 |
+
const rootFileUrl = parsedContainerFile.container.rootfiles[0].rootfile[0].$['full-path'];
|
| 347 |
+
|
| 348 |
+
await saveFile("META-INF/container.xml", containerFile);
|
| 349 |
+
|
| 350 |
+
console.log("Fetching root file");
|
| 351 |
+
|
| 352 |
+
const rootFile = await fetch(rootUrl + rootFileUrl, {
|
| 353 |
+
headers: {
|
| 354 |
+
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36",
|
| 355 |
+
"Referer": "https://webreader.zanichelli.it/",
|
| 356 |
+
cookie: readerCookies
|
| 357 |
+
}
|
| 358 |
+
}).then((res) => res.text()).catch((err) => {
|
| 359 |
+
console.log("Error: ", err);
|
| 360 |
+
process.exit(1);
|
| 361 |
+
});
|
| 362 |
+
|
| 363 |
+
const parsedRootFile = await parseString(rootFile);
|
| 364 |
+
|
| 365 |
+
await saveFile(rootFileUrl, rootFile);
|
| 366 |
+
|
| 367 |
+
const prefix = path.dirname(rootFileUrl) + '/';
|
| 368 |
+
|
| 369 |
+
for (let i = 0; i < parsedRootFile.package.manifest[0].item.length; i++) {
|
| 370 |
+
console.log(`Fetching content ${i+1}/${parsedRootFile.package.manifest[0].item.length}`);
|
| 371 |
+
|
| 372 |
+
const fileEntry = parsedRootFile.package.manifest[0].item[i];
|
| 373 |
+
const file = await fetch(rootUrl + prefix + fileEntry.$['href'], {
|
| 374 |
+
headers: {
|
| 375 |
+
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36",
|
| 376 |
+
"Referer": "https://webreader.zanichelli.it/",
|
| 377 |
+
cookie: readerCookies
|
| 378 |
+
}
|
| 379 |
+
}).then(res => {
|
| 380 |
+
if (!res.ok) throw res;
|
| 381 |
+
return res;
|
| 382 |
+
}).then(async (res) => Buffer.from(await res.arrayBuffer())).catch((err) => {
|
| 383 |
+
console.log("Error: ", err);
|
| 384 |
+
process.exit(1);
|
| 385 |
+
});
|
| 386 |
+
|
| 387 |
+
await saveFile(prefix + fileEntry.$['href'], file);
|
| 388 |
}
|
| 389 |
+
|
| 390 |
+
console.log("Finalising");
|
| 391 |
+
|
| 392 |
+
archive.finalize();
|
| 393 |
+
console.log("Done! You'll find the EPUB where it was requested as " + epubPath);
|
| 394 |
+
console.log(`OURBOOKS_OUTPUT:${epubPath}`);
|
| 395 |
} else {
|
| 396 |
+
console.log(`Unknown book type (${bookDetails.bookList[0].book.assetType}), please open an issue on github`);
|
|
|
|
| 397 |
}
|
| 398 |
}
|
| 399 |
|