Import all tweets exported from X/Twitter to a Bluesky account.
at main 1347 lines 49 kB view raw
1{ 2 "name": "twittertobluesky", 3 "version": "0.15.0", 4 "lockfileVersion": 3, 5 "requires": true, 6 "packages": { 7 "": { 8 "name": "twittertobluesky", 9 "version": "0.15.0", 10 "license": "ISC", 11 "dependencies": { 12 "@atproto/api": "^0.16.1", 13 "cheerio": "^1.1.2", 14 "dotenv": "^16.4.5", 15 "exiftool-vendored": "^29.0.0", 16 "follow-redirects": "^1.15.6", 17 "he": "^1.2.0", 18 "node-fetch": "^3.3.2", 19 "oembetter": "1.1.4", 20 "process": "^0.11.10", 21 "sharp": "^0.33.5", 22 "typescript": "^5.6.3", 23 "urijs": "^1.19.11", 24 "yargs": "17.7.2" 25 }, 26 "devDependencies": { 27 "@types/follow-redirects": "^1.14.4", 28 "@types/he": "^1.2.3", 29 "@types/node": "^20.16.12", 30 "@types/urijs": "^1.19.25" 31 }, 32 "engines": { 33 "node": ">=20.12.0" 34 } 35 }, 36 "node_modules/@atproto/api": { 37 "version": "0.16.1", 38 "resolved": "https://registry.npmjs.org/@atproto/api/-/api-0.16.1.tgz", 39 "integrity": "sha512-w48BlTmzKym7nZETWxgiuUX/wwRXU3xsLLKORWo/xtGnwlvpchUFnHKI3k4ttYJ2/JQE59+/4C16BaLzDyiU2w==", 40 "dependencies": { 41 "@atproto/common-web": "^0.4.2", 42 "@atproto/lexicon": "^0.4.12", 43 "@atproto/syntax": "^0.4.0", 44 "@atproto/xrpc": "^0.7.1", 45 "await-lock": "^2.2.2", 46 "multiformats": "^9.9.0", 47 "tlds": "^1.234.0", 48 "zod": "^3.23.8" 49 } 50 }, 51 "node_modules/@atproto/common-web": { 52 "version": "0.4.2", 53 "resolved": "https://registry.npmjs.org/@atproto/common-web/-/common-web-0.4.2.tgz", 54 "integrity": "sha512-vrXwGNoFGogodjQvJDxAeP3QbGtawgZute2ed1XdRO0wMixLk3qewtikZm06H259QDJVu6voKC5mubml+WgQUw==", 55 "dependencies": { 56 "graphemer": "^1.4.0", 57 "multiformats": "^9.9.0", 58 "uint8arrays": "3.0.0", 59 "zod": "^3.23.8" 60 } 61 }, 62 "node_modules/@atproto/lexicon": { 63 "version": "0.4.12", 64 "resolved": "https://registry.npmjs.org/@atproto/lexicon/-/lexicon-0.4.12.tgz", 65 "integrity": "sha512-fcEvEQ1GpQYF5igZ4IZjPWEoWVpsEF22L9RexxLS3ptfySXLflEyH384e7HITzO/73McDeaJx3lqHIuqn9ulnw==", 66 "dependencies": { 67 "@atproto/common-web": "^0.4.2", 68 "@atproto/syntax": "^0.4.0", 69 "iso-datestring-validator": "^2.2.2", 70 "multiformats": "^9.9.0", 71 "zod": "^3.23.8" 72 } 73 }, 74 "node_modules/@atproto/syntax": { 75 "version": "0.4.0", 76 "resolved": "https://registry.npmjs.org/@atproto/syntax/-/syntax-0.4.0.tgz", 77 "integrity": "sha512-b9y5ceHS8YKOfP3mdKmwAx5yVj9294UN7FG2XzP6V5aKUdFazEYRnR9m5n5ZQFKa3GNvz7de9guZCJ/sUTcOAA==" 78 }, 79 "node_modules/@atproto/xrpc": { 80 "version": "0.7.1", 81 "resolved": "https://registry.npmjs.org/@atproto/xrpc/-/xrpc-0.7.1.tgz", 82 "integrity": "sha512-ANHEzlskYlMEdH18m+Itp3a8d0pEJao2qoDybDoMupTnoeNkya4VKIaOgAi6ERQnqatBBZyn9asW+7rJmSt/8g==", 83 "dependencies": { 84 "@atproto/lexicon": "^0.4.12", 85 "zod": "^3.23.8" 86 } 87 }, 88 "node_modules/@emnapi/runtime": { 89 "version": "1.4.5", 90 "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.4.5.tgz", 91 "integrity": "sha512-++LApOtY0pEEz1zrd9vy1/zXVaVJJ/EbAF3u0fXIzPJEDtnITsBGbbK0EkM72amhl/R5b+5xx0Y/QhcVOpuulg==", 92 "optional": true, 93 "dependencies": { 94 "tslib": "^2.4.0" 95 } 96 }, 97 "node_modules/@img/sharp-darwin-arm64": { 98 "version": "0.33.5", 99 "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.5.tgz", 100 "integrity": "sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==", 101 "cpu": [ 102 "arm64" 103 ], 104 "optional": true, 105 "os": [ 106 "darwin" 107 ], 108 "engines": { 109 "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 110 }, 111 "funding": { 112 "url": "https://opencollective.com/libvips" 113 }, 114 "optionalDependencies": { 115 "@img/sharp-libvips-darwin-arm64": "1.0.4" 116 } 117 }, 118 "node_modules/@img/sharp-darwin-x64": { 119 "version": "0.33.5", 120 "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.33.5.tgz", 121 "integrity": "sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==", 122 "cpu": [ 123 "x64" 124 ], 125 "optional": true, 126 "os": [ 127 "darwin" 128 ], 129 "engines": { 130 "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 131 }, 132 "funding": { 133 "url": "https://opencollective.com/libvips" 134 }, 135 "optionalDependencies": { 136 "@img/sharp-libvips-darwin-x64": "1.0.4" 137 } 138 }, 139 "node_modules/@img/sharp-libvips-darwin-arm64": { 140 "version": "1.0.4", 141 "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.0.4.tgz", 142 "integrity": "sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==", 143 "cpu": [ 144 "arm64" 145 ], 146 "optional": true, 147 "os": [ 148 "darwin" 149 ], 150 "funding": { 151 "url": "https://opencollective.com/libvips" 152 } 153 }, 154 "node_modules/@img/sharp-libvips-darwin-x64": { 155 "version": "1.0.4", 156 "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.0.4.tgz", 157 "integrity": "sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==", 158 "cpu": [ 159 "x64" 160 ], 161 "optional": true, 162 "os": [ 163 "darwin" 164 ], 165 "funding": { 166 "url": "https://opencollective.com/libvips" 167 } 168 }, 169 "node_modules/@img/sharp-libvips-linux-arm": { 170 "version": "1.0.5", 171 "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.0.5.tgz", 172 "integrity": "sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==", 173 "cpu": [ 174 "arm" 175 ], 176 "optional": true, 177 "os": [ 178 "linux" 179 ], 180 "funding": { 181 "url": "https://opencollective.com/libvips" 182 } 183 }, 184 "node_modules/@img/sharp-libvips-linux-arm64": { 185 "version": "1.0.4", 186 "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.0.4.tgz", 187 "integrity": "sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==", 188 "cpu": [ 189 "arm64" 190 ], 191 "optional": true, 192 "os": [ 193 "linux" 194 ], 195 "funding": { 196 "url": "https://opencollective.com/libvips" 197 } 198 }, 199 "node_modules/@img/sharp-libvips-linux-s390x": { 200 "version": "1.0.4", 201 "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.0.4.tgz", 202 "integrity": "sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==", 203 "cpu": [ 204 "s390x" 205 ], 206 "optional": true, 207 "os": [ 208 "linux" 209 ], 210 "funding": { 211 "url": "https://opencollective.com/libvips" 212 } 213 }, 214 "node_modules/@img/sharp-libvips-linux-x64": { 215 "version": "1.0.4", 216 "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.0.4.tgz", 217 "integrity": "sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==", 218 "cpu": [ 219 "x64" 220 ], 221 "optional": true, 222 "os": [ 223 "linux" 224 ], 225 "funding": { 226 "url": "https://opencollective.com/libvips" 227 } 228 }, 229 "node_modules/@img/sharp-libvips-linuxmusl-arm64": { 230 "version": "1.0.4", 231 "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.0.4.tgz", 232 "integrity": "sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==", 233 "cpu": [ 234 "arm64" 235 ], 236 "optional": true, 237 "os": [ 238 "linux" 239 ], 240 "funding": { 241 "url": "https://opencollective.com/libvips" 242 } 243 }, 244 "node_modules/@img/sharp-libvips-linuxmusl-x64": { 245 "version": "1.0.4", 246 "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.0.4.tgz", 247 "integrity": "sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==", 248 "cpu": [ 249 "x64" 250 ], 251 "optional": true, 252 "os": [ 253 "linux" 254 ], 255 "funding": { 256 "url": "https://opencollective.com/libvips" 257 } 258 }, 259 "node_modules/@img/sharp-linux-arm": { 260 "version": "0.33.5", 261 "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.5.tgz", 262 "integrity": "sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==", 263 "cpu": [ 264 "arm" 265 ], 266 "optional": true, 267 "os": [ 268 "linux" 269 ], 270 "engines": { 271 "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 272 }, 273 "funding": { 274 "url": "https://opencollective.com/libvips" 275 }, 276 "optionalDependencies": { 277 "@img/sharp-libvips-linux-arm": "1.0.5" 278 } 279 }, 280 "node_modules/@img/sharp-linux-arm64": { 281 "version": "0.33.5", 282 "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.5.tgz", 283 "integrity": "sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==", 284 "cpu": [ 285 "arm64" 286 ], 287 "optional": true, 288 "os": [ 289 "linux" 290 ], 291 "engines": { 292 "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 293 }, 294 "funding": { 295 "url": "https://opencollective.com/libvips" 296 }, 297 "optionalDependencies": { 298 "@img/sharp-libvips-linux-arm64": "1.0.4" 299 } 300 }, 301 "node_modules/@img/sharp-linux-s390x": { 302 "version": "0.33.5", 303 "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.5.tgz", 304 "integrity": "sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==", 305 "cpu": [ 306 "s390x" 307 ], 308 "optional": true, 309 "os": [ 310 "linux" 311 ], 312 "engines": { 313 "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 314 }, 315 "funding": { 316 "url": "https://opencollective.com/libvips" 317 }, 318 "optionalDependencies": { 319 "@img/sharp-libvips-linux-s390x": "1.0.4" 320 } 321 }, 322 "node_modules/@img/sharp-linux-x64": { 323 "version": "0.33.5", 324 "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.33.5.tgz", 325 "integrity": "sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==", 326 "cpu": [ 327 "x64" 328 ], 329 "optional": true, 330 "os": [ 331 "linux" 332 ], 333 "engines": { 334 "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 335 }, 336 "funding": { 337 "url": "https://opencollective.com/libvips" 338 }, 339 "optionalDependencies": { 340 "@img/sharp-libvips-linux-x64": "1.0.4" 341 } 342 }, 343 "node_modules/@img/sharp-linuxmusl-arm64": { 344 "version": "0.33.5", 345 "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.33.5.tgz", 346 "integrity": "sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==", 347 "cpu": [ 348 "arm64" 349 ], 350 "optional": true, 351 "os": [ 352 "linux" 353 ], 354 "engines": { 355 "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 356 }, 357 "funding": { 358 "url": "https://opencollective.com/libvips" 359 }, 360 "optionalDependencies": { 361 "@img/sharp-libvips-linuxmusl-arm64": "1.0.4" 362 } 363 }, 364 "node_modules/@img/sharp-linuxmusl-x64": { 365 "version": "0.33.5", 366 "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.33.5.tgz", 367 "integrity": "sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==", 368 "cpu": [ 369 "x64" 370 ], 371 "optional": true, 372 "os": [ 373 "linux" 374 ], 375 "engines": { 376 "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 377 }, 378 "funding": { 379 "url": "https://opencollective.com/libvips" 380 }, 381 "optionalDependencies": { 382 "@img/sharp-libvips-linuxmusl-x64": "1.0.4" 383 } 384 }, 385 "node_modules/@img/sharp-wasm32": { 386 "version": "0.33.5", 387 "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.33.5.tgz", 388 "integrity": "sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==", 389 "cpu": [ 390 "wasm32" 391 ], 392 "optional": true, 393 "dependencies": { 394 "@emnapi/runtime": "^1.2.0" 395 }, 396 "engines": { 397 "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 398 }, 399 "funding": { 400 "url": "https://opencollective.com/libvips" 401 } 402 }, 403 "node_modules/@img/sharp-win32-ia32": { 404 "version": "0.33.5", 405 "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.5.tgz", 406 "integrity": "sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==", 407 "cpu": [ 408 "ia32" 409 ], 410 "optional": true, 411 "os": [ 412 "win32" 413 ], 414 "engines": { 415 "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 416 }, 417 "funding": { 418 "url": "https://opencollective.com/libvips" 419 } 420 }, 421 "node_modules/@img/sharp-win32-x64": { 422 "version": "0.33.5", 423 "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.5.tgz", 424 "integrity": "sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==", 425 "cpu": [ 426 "x64" 427 ], 428 "optional": true, 429 "os": [ 430 "win32" 431 ], 432 "engines": { 433 "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 434 }, 435 "funding": { 436 "url": "https://opencollective.com/libvips" 437 } 438 }, 439 "node_modules/@photostructure/tz-lookup": { 440 "version": "11.2.0", 441 "resolved": "https://registry.npmjs.org/@photostructure/tz-lookup/-/tz-lookup-11.2.0.tgz", 442 "integrity": "sha512-DwrvodcXHNSdGdeSF7SBL5o8aBlsaeuCuG7633F04nYsL3hn5Hxe3z/5kCqxv61J1q7ggKZ27GPylR3x0cPNXQ==" 443 }, 444 "node_modules/@types/follow-redirects": { 445 "version": "1.14.4", 446 "resolved": "https://registry.npmjs.org/@types/follow-redirects/-/follow-redirects-1.14.4.tgz", 447 "integrity": "sha512-GWXfsD0Jc1RWiFmMuMFCpXMzi9L7oPDVwxUnZdg89kDNnqsRfUKXEtUYtA98A6lig1WXH/CYY/fvPW9HuN5fTA==", 448 "dev": true, 449 "dependencies": { 450 "@types/node": "*" 451 } 452 }, 453 "node_modules/@types/he": { 454 "version": "1.2.3", 455 "resolved": "https://registry.npmjs.org/@types/he/-/he-1.2.3.tgz", 456 "integrity": "sha512-q67/qwlxblDzEDvzHhVkwc1gzVWxaNxeyHUBF4xElrvjL11O+Ytze+1fGpBHlr/H9myiBUaUXNnNPmBHxxfAcA==", 457 "dev": true 458 }, 459 "node_modules/@types/luxon": { 460 "version": "3.7.1", 461 "resolved": "https://registry.npmjs.org/@types/luxon/-/luxon-3.7.1.tgz", 462 "integrity": "sha512-H3iskjFIAn5SlJU7OuxUmTEpebK6TKB8rxZShDslBMZJ5u9S//KM1sbdAisiSrqwLQncVjnpi2OK2J51h+4lsg==" 463 }, 464 "node_modules/@types/node": { 465 "version": "20.17.10", 466 "resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.10.tgz", 467 "integrity": "sha512-/jrvh5h6NXhEauFFexRin69nA0uHJ5gwk4iDivp/DeoEua3uwCUto6PC86IpRITBOs4+6i2I56K5x5b6WYGXHA==", 468 "dev": true, 469 "dependencies": { 470 "undici-types": "~6.19.2" 471 } 472 }, 473 "node_modules/@types/urijs": { 474 "version": "1.19.25", 475 "resolved": "https://registry.npmjs.org/@types/urijs/-/urijs-1.19.25.tgz", 476 "integrity": "sha512-XOfUup9r3Y06nFAZh3WvO0rBU4OtlfPB/vgxpjg+NRdGU6CN6djdc6OEiH+PcqHCY6eFLo9Ista73uarf4gnBg==", 477 "dev": true 478 }, 479 "node_modules/ansi-regex": { 480 "version": "5.0.1", 481 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 482 "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 483 "engines": { 484 "node": ">=8" 485 } 486 }, 487 "node_modules/ansi-styles": { 488 "version": "4.3.0", 489 "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 490 "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 491 "dependencies": { 492 "color-convert": "^2.0.1" 493 }, 494 "engines": { 495 "node": ">=8" 496 }, 497 "funding": { 498 "url": "https://github.com/chalk/ansi-styles?sponsor=1" 499 } 500 }, 501 "node_modules/async": { 502 "version": "0.9.2", 503 "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", 504 "integrity": "sha512-l6ToIJIotphWahxxHyzK9bnLR6kM4jJIIgLShZeqLY7iboHoGkdgFl7W2/Ivi4SkMJYGKqW8vSuk0uKUj6qsSw==" 505 }, 506 "node_modules/await-lock": { 507 "version": "2.2.2", 508 "resolved": "https://registry.npmjs.org/await-lock/-/await-lock-2.2.2.tgz", 509 "integrity": "sha512-aDczADvlvTGajTDjcjpJMqRkOF6Qdz3YbPZm/PyW6tKPkx2hlYBzxMhEywM/tU72HrVZjgl5VCdRuMlA7pZ8Gw==" 510 }, 511 "node_modules/batch-cluster": { 512 "version": "13.0.0", 513 "resolved": "https://registry.npmjs.org/batch-cluster/-/batch-cluster-13.0.0.tgz", 514 "integrity": "sha512-EreW0Vi8TwovhYUHBXXRA5tthuU2ynGsZFlboyMJHCCUXYa2AjgwnE3ubBOJs2xJLcuXFJbi6c/8pH5+FVj8Og==", 515 "engines": { 516 "node": ">=14" 517 } 518 }, 519 "node_modules/boolbase": { 520 "version": "1.0.0", 521 "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", 522 "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" 523 }, 524 "node_modules/cheerio": { 525 "version": "1.1.2", 526 "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.1.2.tgz", 527 "integrity": "sha512-IkxPpb5rS/d1IiLbHMgfPuS0FgiWTtFIm/Nj+2woXDLTZ7fOT2eqzgYbdMlLweqlHbsZjxEChoVK+7iph7jyQg==", 528 "dependencies": { 529 "cheerio-select": "^2.1.0", 530 "dom-serializer": "^2.0.0", 531 "domhandler": "^5.0.3", 532 "domutils": "^3.2.2", 533 "encoding-sniffer": "^0.2.1", 534 "htmlparser2": "^10.0.0", 535 "parse5": "^7.3.0", 536 "parse5-htmlparser2-tree-adapter": "^7.1.0", 537 "parse5-parser-stream": "^7.1.2", 538 "undici": "^7.12.0", 539 "whatwg-mimetype": "^4.0.0" 540 }, 541 "engines": { 542 "node": ">=20.18.1" 543 }, 544 "funding": { 545 "url": "https://github.com/cheeriojs/cheerio?sponsor=1" 546 } 547 }, 548 "node_modules/cheerio-select": { 549 "version": "2.1.0", 550 "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", 551 "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", 552 "dependencies": { 553 "boolbase": "^1.0.0", 554 "css-select": "^5.1.0", 555 "css-what": "^6.1.0", 556 "domelementtype": "^2.3.0", 557 "domhandler": "^5.0.3", 558 "domutils": "^3.0.1" 559 }, 560 "funding": { 561 "url": "https://github.com/sponsors/fb55" 562 } 563 }, 564 "node_modules/cliui": { 565 "version": "8.0.1", 566 "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", 567 "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", 568 "dependencies": { 569 "string-width": "^4.2.0", 570 "strip-ansi": "^6.0.1", 571 "wrap-ansi": "^7.0.0" 572 }, 573 "engines": { 574 "node": ">=12" 575 } 576 }, 577 "node_modules/color": { 578 "version": "4.2.3", 579 "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", 580 "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", 581 "dependencies": { 582 "color-convert": "^2.0.1", 583 "color-string": "^1.9.0" 584 }, 585 "engines": { 586 "node": ">=12.5.0" 587 } 588 }, 589 "node_modules/color-convert": { 590 "version": "2.0.1", 591 "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 592 "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 593 "dependencies": { 594 "color-name": "~1.1.4" 595 }, 596 "engines": { 597 "node": ">=7.0.0" 598 } 599 }, 600 "node_modules/color-name": { 601 "version": "1.1.4", 602 "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 603 "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" 604 }, 605 "node_modules/color-string": { 606 "version": "1.9.1", 607 "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", 608 "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", 609 "dependencies": { 610 "color-name": "^1.0.0", 611 "simple-swizzle": "^0.2.2" 612 } 613 }, 614 "node_modules/css-select": { 615 "version": "5.2.2", 616 "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz", 617 "integrity": "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==", 618 "dependencies": { 619 "boolbase": "^1.0.0", 620 "css-what": "^6.1.0", 621 "domhandler": "^5.0.2", 622 "domutils": "^3.0.1", 623 "nth-check": "^2.0.1" 624 }, 625 "funding": { 626 "url": "https://github.com/sponsors/fb55" 627 } 628 }, 629 "node_modules/css-what": { 630 "version": "6.2.2", 631 "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz", 632 "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==", 633 "engines": { 634 "node": ">= 6" 635 }, 636 "funding": { 637 "url": "https://github.com/sponsors/fb55" 638 } 639 }, 640 "node_modules/data-uri-to-buffer": { 641 "version": "4.0.1", 642 "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", 643 "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==", 644 "engines": { 645 "node": ">= 12" 646 } 647 }, 648 "node_modules/detect-libc": { 649 "version": "2.0.4", 650 "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz", 651 "integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==", 652 "engines": { 653 "node": ">=8" 654 } 655 }, 656 "node_modules/dom-serializer": { 657 "version": "2.0.0", 658 "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", 659 "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", 660 "dependencies": { 661 "domelementtype": "^2.3.0", 662 "domhandler": "^5.0.2", 663 "entities": "^4.2.0" 664 }, 665 "funding": { 666 "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" 667 } 668 }, 669 "node_modules/domelementtype": { 670 "version": "2.3.0", 671 "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", 672 "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", 673 "funding": [ 674 { 675 "type": "github", 676 "url": "https://github.com/sponsors/fb55" 677 } 678 ] 679 }, 680 "node_modules/domhandler": { 681 "version": "5.0.3", 682 "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", 683 "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", 684 "dependencies": { 685 "domelementtype": "^2.3.0" 686 }, 687 "engines": { 688 "node": ">= 4" 689 }, 690 "funding": { 691 "url": "https://github.com/fb55/domhandler?sponsor=1" 692 } 693 }, 694 "node_modules/domutils": { 695 "version": "3.2.2", 696 "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", 697 "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", 698 "dependencies": { 699 "dom-serializer": "^2.0.0", 700 "domelementtype": "^2.3.0", 701 "domhandler": "^5.0.3" 702 }, 703 "funding": { 704 "url": "https://github.com/fb55/domutils?sponsor=1" 705 } 706 }, 707 "node_modules/dotenv": { 708 "version": "16.4.7", 709 "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", 710 "integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==", 711 "engines": { 712 "node": ">=12" 713 }, 714 "funding": { 715 "url": "https://dotenvx.com" 716 } 717 }, 718 "node_modules/emoji-regex": { 719 "version": "8.0.0", 720 "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 721 "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" 722 }, 723 "node_modules/encoding-sniffer": { 724 "version": "0.2.1", 725 "resolved": "https://registry.npmjs.org/encoding-sniffer/-/encoding-sniffer-0.2.1.tgz", 726 "integrity": "sha512-5gvq20T6vfpekVtqrYQsSCFZ1wEg5+wW0/QaZMWkFr6BqD3NfKs0rLCx4rrVlSWJeZb5NBJgVLswK/w2MWU+Gw==", 727 "dependencies": { 728 "iconv-lite": "^0.6.3", 729 "whatwg-encoding": "^3.1.1" 730 }, 731 "funding": { 732 "url": "https://github.com/fb55/encoding-sniffer?sponsor=1" 733 } 734 }, 735 "node_modules/entities": { 736 "version": "4.5.0", 737 "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", 738 "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", 739 "engines": { 740 "node": ">=0.12" 741 }, 742 "funding": { 743 "url": "https://github.com/fb55/entities?sponsor=1" 744 } 745 }, 746 "node_modules/escalade": { 747 "version": "3.2.0", 748 "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", 749 "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", 750 "engines": { 751 "node": ">=6" 752 } 753 }, 754 "node_modules/exiftool-vendored": { 755 "version": "29.0.0", 756 "resolved": "https://registry.npmjs.org/exiftool-vendored/-/exiftool-vendored-29.0.0.tgz", 757 "integrity": "sha512-BW2Fr7okYP1tN7KIIREy8gOx9WggpPsbKc3BTAS4dLgSup50LjdQttxF9kyDP+27ZayllK+d0rfMYPAixPBtQw==", 758 "dependencies": { 759 "@photostructure/tz-lookup": "^11.0.0", 760 "@types/luxon": "^3.4.2", 761 "batch-cluster": "^13.0.0", 762 "he": "^1.2.0", 763 "luxon": "^3.5.0" 764 }, 765 "optionalDependencies": { 766 "exiftool-vendored.exe": "13.0.0", 767 "exiftool-vendored.pl": "13.0.1" 768 } 769 }, 770 "node_modules/exiftool-vendored.exe": { 771 "version": "13.0.0", 772 "resolved": "https://registry.npmjs.org/exiftool-vendored.exe/-/exiftool-vendored.exe-13.0.0.tgz", 773 "integrity": "sha512-4zAMuFGgxZkOoyQIzZMHv1HlvgyJK3AkNqjAgm8A8V0UmOZO7yv3pH49cDV1OduzFJqgs6yQ6eG4OGydhKtxlg==", 774 "optional": true, 775 "os": [ 776 "win32" 777 ] 778 }, 779 "node_modules/exiftool-vendored.pl": { 780 "version": "13.0.1", 781 "resolved": "https://registry.npmjs.org/exiftool-vendored.pl/-/exiftool-vendored.pl-13.0.1.tgz", 782 "integrity": "sha512-+BRRzjselpWudKR0ltAW5SUt9T82D+gzQN8DdOQUgnSVWWp7oLCeTGBRptbQz+436Ihn/mPzmo/xnf0cv/Qw1A==", 783 "optional": true, 784 "os": [ 785 "!win32" 786 ] 787 }, 788 "node_modules/fast-xml-parser": { 789 "version": "4.5.3", 790 "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.5.3.tgz", 791 "integrity": "sha512-RKihhV+SHsIUGXObeVy9AXiBbFwkVk7Syp8XgwN5U3JV416+Gwp/GO9i0JYKmikykgz/UHRrrV4ROuZEo/T0ig==", 792 "funding": [ 793 { 794 "type": "github", 795 "url": "https://github.com/sponsors/NaturalIntelligence" 796 } 797 ], 798 "dependencies": { 799 "strnum": "^1.1.1" 800 }, 801 "bin": { 802 "fxparser": "src/cli/cli.js" 803 } 804 }, 805 "node_modules/fetch-blob": { 806 "version": "3.2.0", 807 "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", 808 "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", 809 "funding": [ 810 { 811 "type": "github", 812 "url": "https://github.com/sponsors/jimmywarting" 813 }, 814 { 815 "type": "paypal", 816 "url": "https://paypal.me/jimmywarting" 817 } 818 ], 819 "dependencies": { 820 "node-domexception": "^1.0.0", 821 "web-streams-polyfill": "^3.0.3" 822 }, 823 "engines": { 824 "node": "^12.20 || >= 14.13" 825 } 826 }, 827 "node_modules/follow-redirects": { 828 "version": "1.15.9", 829 "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", 830 "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", 831 "funding": [ 832 { 833 "type": "individual", 834 "url": "https://github.com/sponsors/RubenVerborgh" 835 } 836 ], 837 "engines": { 838 "node": ">=4.0" 839 }, 840 "peerDependenciesMeta": { 841 "debug": { 842 "optional": true 843 } 844 } 845 }, 846 "node_modules/formdata-polyfill": { 847 "version": "4.0.10", 848 "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", 849 "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", 850 "dependencies": { 851 "fetch-blob": "^3.1.2" 852 }, 853 "engines": { 854 "node": ">=12.20.0" 855 } 856 }, 857 "node_modules/get-caller-file": { 858 "version": "2.0.5", 859 "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", 860 "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", 861 "engines": { 862 "node": "6.* || 8.* || >= 10.*" 863 } 864 }, 865 "node_modules/graphemer": { 866 "version": "1.4.0", 867 "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", 868 "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==" 869 }, 870 "node_modules/he": { 871 "version": "1.2.0", 872 "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", 873 "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", 874 "bin": { 875 "he": "bin/he" 876 } 877 }, 878 "node_modules/htmlparser2": { 879 "version": "10.0.0", 880 "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.0.0.tgz", 881 "integrity": "sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g==", 882 "funding": [ 883 "https://github.com/fb55/htmlparser2?sponsor=1", 884 { 885 "type": "github", 886 "url": "https://github.com/sponsors/fb55" 887 } 888 ], 889 "dependencies": { 890 "domelementtype": "^2.3.0", 891 "domhandler": "^5.0.3", 892 "domutils": "^3.2.1", 893 "entities": "^6.0.0" 894 } 895 }, 896 "node_modules/htmlparser2/node_modules/entities": { 897 "version": "6.0.1", 898 "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", 899 "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", 900 "engines": { 901 "node": ">=0.12" 902 }, 903 "funding": { 904 "url": "https://github.com/fb55/entities?sponsor=1" 905 } 906 }, 907 "node_modules/iconv-lite": { 908 "version": "0.6.3", 909 "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", 910 "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", 911 "dependencies": { 912 "safer-buffer": ">= 2.1.2 < 3.0.0" 913 }, 914 "engines": { 915 "node": ">=0.10.0" 916 } 917 }, 918 "node_modules/is-arrayish": { 919 "version": "0.3.2", 920 "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", 921 "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" 922 }, 923 "node_modules/is-fullwidth-code-point": { 924 "version": "3.0.0", 925 "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 926 "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", 927 "engines": { 928 "node": ">=8" 929 } 930 }, 931 "node_modules/iso-datestring-validator": { 932 "version": "2.2.2", 933 "resolved": "https://registry.npmjs.org/iso-datestring-validator/-/iso-datestring-validator-2.2.2.tgz", 934 "integrity": "sha512-yLEMkBbLZTlVQqOnQ4FiMujR6T4DEcCb1xizmvXS+OxuhwcbtynoosRzdMA69zZCShCNAbi+gJ71FxZBBXx1SA==" 935 }, 936 "node_modules/luxon": { 937 "version": "3.7.1", 938 "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.7.1.tgz", 939 "integrity": "sha512-RkRWjA926cTvz5rAb1BqyWkKbbjzCGchDUIKMCUvNi17j6f6j8uHGDV82Aqcqtzd+icoYpELmG3ksgGiFNNcNg==", 940 "engines": { 941 "node": ">=12" 942 } 943 }, 944 "node_modules/multiformats": { 945 "version": "9.9.0", 946 "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", 947 "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==" 948 }, 949 "node_modules/node-domexception": { 950 "version": "1.0.0", 951 "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", 952 "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", 953 "deprecated": "Use your platform's native DOMException instead", 954 "funding": [ 955 { 956 "type": "github", 957 "url": "https://github.com/sponsors/jimmywarting" 958 }, 959 { 960 "type": "github", 961 "url": "https://paypal.me/jimmywarting" 962 } 963 ], 964 "engines": { 965 "node": ">=10.5.0" 966 } 967 }, 968 "node_modules/node-fetch": { 969 "version": "3.3.2", 970 "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", 971 "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", 972 "dependencies": { 973 "data-uri-to-buffer": "^4.0.0", 974 "fetch-blob": "^3.1.4", 975 "formdata-polyfill": "^4.0.10" 976 }, 977 "engines": { 978 "node": "^12.20.0 || ^14.13.1 || >=16.0.0" 979 }, 980 "funding": { 981 "type": "opencollective", 982 "url": "https://opencollective.com/node-fetch" 983 } 984 }, 985 "node_modules/nth-check": { 986 "version": "2.1.1", 987 "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", 988 "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", 989 "dependencies": { 990 "boolbase": "^1.0.0" 991 }, 992 "funding": { 993 "url": "https://github.com/fb55/nth-check?sponsor=1" 994 } 995 }, 996 "node_modules/oembetter": { 997 "version": "1.1.4", 998 "resolved": "https://registry.npmjs.org/oembetter/-/oembetter-1.1.4.tgz", 999 "integrity": "sha512-oVJkQ0rRO8FDfUhPZ77EOqRmxBSNMeRgXbFO8R4icqA10NvqmFxDpjNOMPLvJ99+pNN3LXjrvNEUDdET89+olQ==", 1000 "dependencies": { 1001 "async": "^0.9.0", 1002 "cheerio": "^1.0.0-rc.10", 1003 "fast-xml-parser": "^4.2.2", 1004 "node-fetch": "^2.6.7", 1005 "urls": "0.0.4" 1006 } 1007 }, 1008 "node_modules/oembetter/node_modules/node-fetch": { 1009 "version": "2.7.0", 1010 "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", 1011 "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", 1012 "dependencies": { 1013 "whatwg-url": "^5.0.0" 1014 }, 1015 "engines": { 1016 "node": "4.x || >=6.0.0" 1017 }, 1018 "peerDependencies": { 1019 "encoding": "^0.1.0" 1020 }, 1021 "peerDependenciesMeta": { 1022 "encoding": { 1023 "optional": true 1024 } 1025 } 1026 }, 1027 "node_modules/parse5": { 1028 "version": "7.3.0", 1029 "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", 1030 "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", 1031 "dependencies": { 1032 "entities": "^6.0.0" 1033 }, 1034 "funding": { 1035 "url": "https://github.com/inikulin/parse5?sponsor=1" 1036 } 1037 }, 1038 "node_modules/parse5-htmlparser2-tree-adapter": { 1039 "version": "7.1.0", 1040 "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.1.0.tgz", 1041 "integrity": "sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==", 1042 "dependencies": { 1043 "domhandler": "^5.0.3", 1044 "parse5": "^7.0.0" 1045 }, 1046 "funding": { 1047 "url": "https://github.com/inikulin/parse5?sponsor=1" 1048 } 1049 }, 1050 "node_modules/parse5-parser-stream": { 1051 "version": "7.1.2", 1052 "resolved": "https://registry.npmjs.org/parse5-parser-stream/-/parse5-parser-stream-7.1.2.tgz", 1053 "integrity": "sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==", 1054 "dependencies": { 1055 "parse5": "^7.0.0" 1056 }, 1057 "funding": { 1058 "url": "https://github.com/inikulin/parse5?sponsor=1" 1059 } 1060 }, 1061 "node_modules/parse5/node_modules/entities": { 1062 "version": "6.0.1", 1063 "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", 1064 "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", 1065 "engines": { 1066 "node": ">=0.12" 1067 }, 1068 "funding": { 1069 "url": "https://github.com/fb55/entities?sponsor=1" 1070 } 1071 }, 1072 "node_modules/process": { 1073 "version": "0.11.10", 1074 "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", 1075 "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", 1076 "engines": { 1077 "node": ">= 0.6.0" 1078 } 1079 }, 1080 "node_modules/require-directory": { 1081 "version": "2.1.1", 1082 "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", 1083 "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", 1084 "engines": { 1085 "node": ">=0.10.0" 1086 } 1087 }, 1088 "node_modules/safer-buffer": { 1089 "version": "2.1.2", 1090 "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 1091 "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" 1092 }, 1093 "node_modules/semver": { 1094 "version": "7.7.2", 1095 "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", 1096 "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", 1097 "bin": { 1098 "semver": "bin/semver.js" 1099 }, 1100 "engines": { 1101 "node": ">=10" 1102 } 1103 }, 1104 "node_modules/sharp": { 1105 "version": "0.33.5", 1106 "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.33.5.tgz", 1107 "integrity": "sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==", 1108 "hasInstallScript": true, 1109 "dependencies": { 1110 "color": "^4.2.3", 1111 "detect-libc": "^2.0.3", 1112 "semver": "^7.6.3" 1113 }, 1114 "engines": { 1115 "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 1116 }, 1117 "funding": { 1118 "url": "https://opencollective.com/libvips" 1119 }, 1120 "optionalDependencies": { 1121 "@img/sharp-darwin-arm64": "0.33.5", 1122 "@img/sharp-darwin-x64": "0.33.5", 1123 "@img/sharp-libvips-darwin-arm64": "1.0.4", 1124 "@img/sharp-libvips-darwin-x64": "1.0.4", 1125 "@img/sharp-libvips-linux-arm": "1.0.5", 1126 "@img/sharp-libvips-linux-arm64": "1.0.4", 1127 "@img/sharp-libvips-linux-s390x": "1.0.4", 1128 "@img/sharp-libvips-linux-x64": "1.0.4", 1129 "@img/sharp-libvips-linuxmusl-arm64": "1.0.4", 1130 "@img/sharp-libvips-linuxmusl-x64": "1.0.4", 1131 "@img/sharp-linux-arm": "0.33.5", 1132 "@img/sharp-linux-arm64": "0.33.5", 1133 "@img/sharp-linux-s390x": "0.33.5", 1134 "@img/sharp-linux-x64": "0.33.5", 1135 "@img/sharp-linuxmusl-arm64": "0.33.5", 1136 "@img/sharp-linuxmusl-x64": "0.33.5", 1137 "@img/sharp-wasm32": "0.33.5", 1138 "@img/sharp-win32-ia32": "0.33.5", 1139 "@img/sharp-win32-x64": "0.33.5" 1140 } 1141 }, 1142 "node_modules/simple-swizzle": { 1143 "version": "0.2.2", 1144 "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", 1145 "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", 1146 "dependencies": { 1147 "is-arrayish": "^0.3.1" 1148 } 1149 }, 1150 "node_modules/string-width": { 1151 "version": "4.2.3", 1152 "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 1153 "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 1154 "dependencies": { 1155 "emoji-regex": "^8.0.0", 1156 "is-fullwidth-code-point": "^3.0.0", 1157 "strip-ansi": "^6.0.1" 1158 }, 1159 "engines": { 1160 "node": ">=8" 1161 } 1162 }, 1163 "node_modules/strip-ansi": { 1164 "version": "6.0.1", 1165 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 1166 "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 1167 "dependencies": { 1168 "ansi-regex": "^5.0.1" 1169 }, 1170 "engines": { 1171 "node": ">=8" 1172 } 1173 }, 1174 "node_modules/strnum": { 1175 "version": "1.1.2", 1176 "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.1.2.tgz", 1177 "integrity": "sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==", 1178 "funding": [ 1179 { 1180 "type": "github", 1181 "url": "https://github.com/sponsors/NaturalIntelligence" 1182 } 1183 ] 1184 }, 1185 "node_modules/tlds": { 1186 "version": "1.259.0", 1187 "resolved": "https://registry.npmjs.org/tlds/-/tlds-1.259.0.tgz", 1188 "integrity": "sha512-AldGGlDP0PNgwppe2quAvuBl18UcjuNtOnDuUkqhd6ipPqrYYBt3aTxK1QTsBVknk97lS2JcafWMghjGWFtunw==", 1189 "bin": { 1190 "tlds": "bin.js" 1191 } 1192 }, 1193 "node_modules/tr46": { 1194 "version": "0.0.3", 1195 "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", 1196 "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" 1197 }, 1198 "node_modules/tslib": { 1199 "version": "2.8.1", 1200 "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", 1201 "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", 1202 "optional": true 1203 }, 1204 "node_modules/typescript": { 1205 "version": "5.7.2", 1206 "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.2.tgz", 1207 "integrity": "sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==", 1208 "bin": { 1209 "tsc": "bin/tsc", 1210 "tsserver": "bin/tsserver" 1211 }, 1212 "engines": { 1213 "node": ">=14.17" 1214 } 1215 }, 1216 "node_modules/uint8arrays": { 1217 "version": "3.0.0", 1218 "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.0.0.tgz", 1219 "integrity": "sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA==", 1220 "dependencies": { 1221 "multiformats": "^9.4.2" 1222 } 1223 }, 1224 "node_modules/undici": { 1225 "version": "7.13.0", 1226 "resolved": "https://registry.npmjs.org/undici/-/undici-7.13.0.tgz", 1227 "integrity": "sha512-l+zSMssRqrzDcb3fjMkjjLGmuiiK2pMIcV++mJaAc9vhjSGpvM7h43QgP+OAMb1GImHmbPyG2tBXeuyG5iY4gA==", 1228 "engines": { 1229 "node": ">=20.18.1" 1230 } 1231 }, 1232 "node_modules/undici-types": { 1233 "version": "6.19.8", 1234 "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", 1235 "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", 1236 "dev": true 1237 }, 1238 "node_modules/urijs": { 1239 "version": "1.19.11", 1240 "resolved": "https://registry.npmjs.org/urijs/-/urijs-1.19.11.tgz", 1241 "integrity": "sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ==" 1242 }, 1243 "node_modules/urls": { 1244 "version": "0.0.4", 1245 "resolved": "https://registry.npmjs.org/urls/-/urls-0.0.4.tgz", 1246 "integrity": "sha512-bPzaOFk9zSrefeRD2NTsceKSg4jylyi9NP8AqVoMLa3frNuPf+/HWy45qwnShhGcs4CXONd3Gkc2HIowu/GgSg==" 1247 }, 1248 "node_modules/web-streams-polyfill": { 1249 "version": "3.3.3", 1250 "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz", 1251 "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==", 1252 "engines": { 1253 "node": ">= 8" 1254 } 1255 }, 1256 "node_modules/webidl-conversions": { 1257 "version": "3.0.1", 1258 "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", 1259 "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" 1260 }, 1261 "node_modules/whatwg-encoding": { 1262 "version": "3.1.1", 1263 "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", 1264 "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==", 1265 "dependencies": { 1266 "iconv-lite": "0.6.3" 1267 }, 1268 "engines": { 1269 "node": ">=18" 1270 } 1271 }, 1272 "node_modules/whatwg-mimetype": { 1273 "version": "4.0.0", 1274 "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", 1275 "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==", 1276 "engines": { 1277 "node": ">=18" 1278 } 1279 }, 1280 "node_modules/whatwg-url": { 1281 "version": "5.0.0", 1282 "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", 1283 "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", 1284 "dependencies": { 1285 "tr46": "~0.0.3", 1286 "webidl-conversions": "^3.0.0" 1287 } 1288 }, 1289 "node_modules/wrap-ansi": { 1290 "version": "7.0.0", 1291 "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", 1292 "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", 1293 "dependencies": { 1294 "ansi-styles": "^4.0.0", 1295 "string-width": "^4.1.0", 1296 "strip-ansi": "^6.0.0" 1297 }, 1298 "engines": { 1299 "node": ">=10" 1300 }, 1301 "funding": { 1302 "url": "https://github.com/chalk/wrap-ansi?sponsor=1" 1303 } 1304 }, 1305 "node_modules/y18n": { 1306 "version": "5.0.8", 1307 "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", 1308 "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", 1309 "engines": { 1310 "node": ">=10" 1311 } 1312 }, 1313 "node_modules/yargs": { 1314 "version": "17.7.2", 1315 "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", 1316 "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", 1317 "dependencies": { 1318 "cliui": "^8.0.1", 1319 "escalade": "^3.1.1", 1320 "get-caller-file": "^2.0.5", 1321 "require-directory": "^2.1.1", 1322 "string-width": "^4.2.3", 1323 "y18n": "^5.0.5", 1324 "yargs-parser": "^21.1.1" 1325 }, 1326 "engines": { 1327 "node": ">=12" 1328 } 1329 }, 1330 "node_modules/yargs-parser": { 1331 "version": "21.1.1", 1332 "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", 1333 "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", 1334 "engines": { 1335 "node": ">=12" 1336 } 1337 }, 1338 "node_modules/zod": { 1339 "version": "3.25.76", 1340 "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", 1341 "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", 1342 "funding": { 1343 "url": "https://github.com/sponsors/colinhacks" 1344 } 1345 } 1346 } 1347}