podcast manager

fix some stuff for running tests

+1050 -18
+1 -1
jest.config.js
··· 46 46 47 47 // if node_modules are ESM, we need to _include_ them from 48 48 transformIgnorePatterns: [ 49 - 'node_modules/(?!(preact|@preact)/)', 49 + 'node_modules/(?!(nanoid|jose|preact|@preact)/)', 50 50 ], 51 51 52 52 collectCoverageFrom: [
+1023 -7
package-lock.json
··· 12 12 "jose": "^6.0.11", 13 13 "nanoid": "^5.1.5", 14 14 "preact": "^10.26.9", 15 + "simple-peer": "^9.11.1", 15 16 "ws": "^8.18.2", 16 17 "zod": "~3.25" 17 18 }, ··· 31 32 "@types/express": "^5.0.3", 32 33 "@types/jest": "^29.5.14", 33 34 "@types/node": "^24.0.1", 35 + "@types/simple-peer": "^9.11.8", 34 36 "@types/ws": "^8.18.1", 35 37 "confusing-browser-globals": "^1.0.11", 36 38 "eslint": "^9.28.0", ··· 42 44 "identity-obj-proxy": "^3.0.0", 43 45 "jest": "^30.0.0", 44 46 "jest-environment-jsdom": "^30.0.0", 47 + "jest-fixed-jsdom": "^0.0.9", 45 48 "jsdoc": "^4.0.4", 46 49 "jsdom": "^26.1.0", 47 50 "parse-gitignore": "^2.0.0", ··· 51 54 "typescript-eslint-language-service": "^5.0.5", 52 55 "vite": "^6.3.5", 53 56 "vite-plugin-checker": "^0.9.3", 57 + "vite-plugin-node-polyfills": "^0.23.0", 54 58 "webtorrent": "^2.6.8", 55 59 "wireit": "^0.14.12", 56 60 "zod-schema-faker": "^2.0.0-beta.5" ··· 2383 2387 "vite": ">=2.0.0" 2384 2388 } 2385 2389 }, 2390 + "node_modules/@rollup/plugin-inject": { 2391 + "version": "5.0.5", 2392 + "resolved": "https://registry.npmjs.org/@rollup/plugin-inject/-/plugin-inject-5.0.5.tgz", 2393 + "integrity": "sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg==", 2394 + "dev": true, 2395 + "license": "MIT", 2396 + "dependencies": { 2397 + "@rollup/pluginutils": "^5.0.1", 2398 + "estree-walker": "^2.0.2", 2399 + "magic-string": "^0.30.3" 2400 + }, 2401 + "engines": { 2402 + "node": ">=14.0.0" 2403 + }, 2404 + "peerDependencies": { 2405 + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" 2406 + }, 2407 + "peerDependenciesMeta": { 2408 + "rollup": { 2409 + "optional": true 2410 + } 2411 + } 2412 + }, 2413 + "node_modules/@rollup/plugin-inject/node_modules/@rollup/pluginutils": { 2414 + "version": "5.2.0", 2415 + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.2.0.tgz", 2416 + "integrity": "sha512-qWJ2ZTbmumwiLFomfzTyt5Kng4hwPi9rwCYN4SHb6eaRU1KNO4ccxINHr/VhH4GgPlt1XfSTLX2LBTme8ne4Zw==", 2417 + "dev": true, 2418 + "license": "MIT", 2419 + "dependencies": { 2420 + "@types/estree": "^1.0.0", 2421 + "estree-walker": "^2.0.2", 2422 + "picomatch": "^4.0.2" 2423 + }, 2424 + "engines": { 2425 + "node": ">=14.0.0" 2426 + }, 2427 + "peerDependencies": { 2428 + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" 2429 + }, 2430 + "peerDependenciesMeta": { 2431 + "rollup": { 2432 + "optional": true 2433 + } 2434 + } 2435 + }, 2436 + "node_modules/@rollup/plugin-inject/node_modules/picomatch": { 2437 + "version": "4.0.2", 2438 + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", 2439 + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", 2440 + "dev": true, 2441 + "license": "MIT", 2442 + "engines": { 2443 + "node": ">=12" 2444 + }, 2445 + "funding": { 2446 + "url": "https://github.com/sponsors/jonschlinkert" 2447 + } 2448 + }, 2386 2449 "node_modules/@rollup/pluginutils": { 2387 2450 "version": "4.2.1", 2388 2451 "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz", ··· 3405 3468 "@types/send": "*" 3406 3469 } 3407 3470 }, 3471 + "node_modules/@types/simple-peer": { 3472 + "version": "9.11.8", 3473 + "resolved": "https://registry.npmjs.org/@types/simple-peer/-/simple-peer-9.11.8.tgz", 3474 + "integrity": "sha512-rvqefdp2rvIA6wiomMgKWd2UZNPe6LM2EV5AuY3CPQJF+8TbdrL5TjYdMf0VAjGczzlkH4l1NjDkihwbj3Xodw==", 3475 + "dev": true, 3476 + "license": "MIT", 3477 + "dependencies": { 3478 + "@types/node": "*" 3479 + } 3480 + }, 3408 3481 "node_modules/@types/stack-utils": { 3409 3482 "version": "2.0.3", 3410 3483 "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", ··· 4242 4315 "url": "https://github.com/sponsors/ljharb" 4243 4316 } 4244 4317 }, 4318 + "node_modules/asn1.js": { 4319 + "version": "4.10.1", 4320 + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", 4321 + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", 4322 + "dev": true, 4323 + "license": "MIT", 4324 + "dependencies": { 4325 + "bn.js": "^4.0.0", 4326 + "inherits": "^2.0.1", 4327 + "minimalistic-assert": "^1.0.0" 4328 + } 4329 + }, 4330 + "node_modules/asn1.js/node_modules/bn.js": { 4331 + "version": "4.12.2", 4332 + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", 4333 + "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==", 4334 + "dev": true, 4335 + "license": "MIT" 4336 + }, 4337 + "node_modules/assert": { 4338 + "version": "2.1.0", 4339 + "resolved": "https://registry.npmjs.org/assert/-/assert-2.1.0.tgz", 4340 + "integrity": "sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==", 4341 + "dev": true, 4342 + "license": "MIT", 4343 + "dependencies": { 4344 + "call-bind": "^1.0.2", 4345 + "is-nan": "^1.3.2", 4346 + "object-is": "^1.1.5", 4347 + "object.assign": "^4.1.4", 4348 + "util": "^0.12.5" 4349 + } 4350 + }, 4351 + "node_modules/assert/node_modules/util": { 4352 + "version": "0.12.5", 4353 + "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", 4354 + "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", 4355 + "dev": true, 4356 + "license": "MIT", 4357 + "dependencies": { 4358 + "inherits": "^2.0.3", 4359 + "is-arguments": "^1.0.4", 4360 + "is-generator-function": "^1.0.7", 4361 + "is-typed-array": "^1.1.3", 4362 + "which-typed-array": "^1.1.2" 4363 + } 4364 + }, 4245 4365 "node_modules/async": { 4246 4366 "version": "3.2.6", 4247 4367 "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", ··· 4541 4661 "version": "1.5.1", 4542 4662 "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", 4543 4663 "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", 4544 - "dev": true, 4545 4664 "funding": [ 4546 4665 { 4547 4666 "type": "github", ··· 4804 4923 "dev": true, 4805 4924 "license": "MIT" 4806 4925 }, 4926 + "node_modules/bn.js": { 4927 + "version": "5.2.2", 4928 + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", 4929 + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", 4930 + "dev": true, 4931 + "license": "MIT" 4932 + }, 4807 4933 "node_modules/body-parser": { 4808 4934 "version": "2.2.0", 4809 4935 "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.0.tgz", ··· 4854 4980 "node": ">=8" 4855 4981 } 4856 4982 }, 4983 + "node_modules/brorand": { 4984 + "version": "1.1.0", 4985 + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", 4986 + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", 4987 + "dev": true, 4988 + "license": "MIT" 4989 + }, 4990 + "node_modules/browser-resolve": { 4991 + "version": "2.0.0", 4992 + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-2.0.0.tgz", 4993 + "integrity": "sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==", 4994 + "dev": true, 4995 + "license": "MIT", 4996 + "dependencies": { 4997 + "resolve": "^1.17.0" 4998 + } 4999 + }, 5000 + "node_modules/browser-resolve/node_modules/resolve": { 5001 + "version": "1.22.10", 5002 + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", 5003 + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", 5004 + "dev": true, 5005 + "license": "MIT", 5006 + "dependencies": { 5007 + "is-core-module": "^2.16.0", 5008 + "path-parse": "^1.0.7", 5009 + "supports-preserve-symlinks-flag": "^1.0.0" 5010 + }, 5011 + "bin": { 5012 + "resolve": "bin/resolve" 5013 + }, 5014 + "engines": { 5015 + "node": ">= 0.4" 5016 + }, 5017 + "funding": { 5018 + "url": "https://github.com/sponsors/ljharb" 5019 + } 5020 + }, 5021 + "node_modules/browserify-aes": { 5022 + "version": "1.2.0", 5023 + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", 5024 + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", 5025 + "dev": true, 5026 + "license": "MIT", 5027 + "dependencies": { 5028 + "buffer-xor": "^1.0.3", 5029 + "cipher-base": "^1.0.0", 5030 + "create-hash": "^1.1.0", 5031 + "evp_bytestokey": "^1.0.3", 5032 + "inherits": "^2.0.1", 5033 + "safe-buffer": "^5.0.1" 5034 + } 5035 + }, 5036 + "node_modules/browserify-cipher": { 5037 + "version": "1.0.1", 5038 + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", 5039 + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", 5040 + "dev": true, 5041 + "license": "MIT", 5042 + "dependencies": { 5043 + "browserify-aes": "^1.0.4", 5044 + "browserify-des": "^1.0.0", 5045 + "evp_bytestokey": "^1.0.0" 5046 + } 5047 + }, 5048 + "node_modules/browserify-des": { 5049 + "version": "1.0.2", 5050 + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", 5051 + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", 5052 + "dev": true, 5053 + "license": "MIT", 5054 + "dependencies": { 5055 + "cipher-base": "^1.0.1", 5056 + "des.js": "^1.0.0", 5057 + "inherits": "^2.0.1", 5058 + "safe-buffer": "^5.1.2" 5059 + } 5060 + }, 5061 + "node_modules/browserify-rsa": { 5062 + "version": "4.1.1", 5063 + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.1.tgz", 5064 + "integrity": "sha512-YBjSAiTqM04ZVei6sXighu679a3SqWORA3qZTEqZImnlkDIFtKc6pNutpjyZ8RJTjQtuYfeetkxM11GwoYXMIQ==", 5065 + "dev": true, 5066 + "license": "MIT", 5067 + "dependencies": { 5068 + "bn.js": "^5.2.1", 5069 + "randombytes": "^2.1.0", 5070 + "safe-buffer": "^5.2.1" 5071 + }, 5072 + "engines": { 5073 + "node": ">= 0.10" 5074 + } 5075 + }, 5076 + "node_modules/browserify-sign": { 5077 + "version": "4.2.3", 5078 + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.3.tgz", 5079 + "integrity": "sha512-JWCZW6SKhfhjJxO8Tyiiy+XYB7cqd2S5/+WeYHsKdNKFlCBhKbblba1A/HN/90YwtxKc8tCErjffZl++UNmGiw==", 5080 + "dev": true, 5081 + "license": "ISC", 5082 + "dependencies": { 5083 + "bn.js": "^5.2.1", 5084 + "browserify-rsa": "^4.1.0", 5085 + "create-hash": "^1.2.0", 5086 + "create-hmac": "^1.1.7", 5087 + "elliptic": "^6.5.5", 5088 + "hash-base": "~3.0", 5089 + "inherits": "^2.0.4", 5090 + "parse-asn1": "^5.1.7", 5091 + "readable-stream": "^2.3.8", 5092 + "safe-buffer": "^5.2.1" 5093 + }, 5094 + "engines": { 5095 + "node": ">= 0.12" 5096 + } 5097 + }, 5098 + "node_modules/browserify-sign/node_modules/isarray": { 5099 + "version": "1.0.0", 5100 + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 5101 + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", 5102 + "dev": true, 5103 + "license": "MIT" 5104 + }, 5105 + "node_modules/browserify-sign/node_modules/readable-stream": { 5106 + "version": "2.3.8", 5107 + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", 5108 + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", 5109 + "dev": true, 5110 + "license": "MIT", 5111 + "dependencies": { 5112 + "core-util-is": "~1.0.0", 5113 + "inherits": "~2.0.3", 5114 + "isarray": "~1.0.0", 5115 + "process-nextick-args": "~2.0.0", 5116 + "safe-buffer": "~5.1.1", 5117 + "string_decoder": "~1.1.1", 5118 + "util-deprecate": "~1.0.1" 5119 + } 5120 + }, 5121 + "node_modules/browserify-sign/node_modules/readable-stream/node_modules/safe-buffer": { 5122 + "version": "5.1.2", 5123 + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 5124 + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", 5125 + "dev": true, 5126 + "license": "MIT" 5127 + }, 5128 + "node_modules/browserify-sign/node_modules/string_decoder": { 5129 + "version": "1.1.1", 5130 + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 5131 + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", 5132 + "dev": true, 5133 + "license": "MIT", 5134 + "dependencies": { 5135 + "safe-buffer": "~5.1.0" 5136 + } 5137 + }, 5138 + "node_modules/browserify-sign/node_modules/string_decoder/node_modules/safe-buffer": { 5139 + "version": "5.1.2", 5140 + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 5141 + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", 5142 + "dev": true, 5143 + "license": "MIT" 5144 + }, 5145 + "node_modules/browserify-zlib": { 5146 + "version": "0.2.0", 5147 + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", 5148 + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", 5149 + "dev": true, 5150 + "license": "MIT", 5151 + "dependencies": { 5152 + "pako": "~1.0.5" 5153 + } 5154 + }, 4857 5155 "node_modules/browserslist": { 4858 5156 "version": "4.25.0", 4859 5157 "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.0.tgz", ··· 4942 5240 "dev": true, 4943 5241 "license": "MIT" 4944 5242 }, 5243 + "node_modules/buffer-xor": { 5244 + "version": "1.0.3", 5245 + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", 5246 + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", 5247 + "dev": true, 5248 + "license": "MIT" 5249 + }, 4945 5250 "node_modules/bufferutil": { 4946 5251 "version": "4.0.9", 4947 5252 "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.9.tgz", ··· 4955 5260 "engines": { 4956 5261 "node": ">=6.14.2" 4957 5262 } 5263 + }, 5264 + "node_modules/builtin-status-codes": { 5265 + "version": "3.0.0", 5266 + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", 5267 + "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", 5268 + "dev": true, 5269 + "license": "MIT" 4958 5270 }, 4959 5271 "node_modules/bytes": { 4960 5272 "version": "3.1.2", ··· 5249 5561 "node": ">=8" 5250 5562 } 5251 5563 }, 5564 + "node_modules/cipher-base": { 5565 + "version": "1.0.6", 5566 + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.6.tgz", 5567 + "integrity": "sha512-3Ek9H3X6pj5TgenXYtNWdaBon1tgYCaebd+XPg0keyjEbEfkD4KkmAxkQ/i1vYvxdcT5nscLBfq9VJRmCBcFSw==", 5568 + "dev": true, 5569 + "license": "MIT", 5570 + "dependencies": { 5571 + "inherits": "^2.0.4", 5572 + "safe-buffer": "^5.2.1" 5573 + }, 5574 + "engines": { 5575 + "node": ">= 0.10" 5576 + } 5577 + }, 5252 5578 "node_modules/cjs-module-lexer": { 5253 5579 "version": "2.1.0", 5254 5580 "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-2.1.0.tgz", ··· 5406 5732 "dev": true, 5407 5733 "license": "MIT" 5408 5734 }, 5735 + "node_modules/console-browserify": { 5736 + "version": "1.2.0", 5737 + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", 5738 + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", 5739 + "dev": true 5740 + }, 5741 + "node_modules/constants-browserify": { 5742 + "version": "1.0.0", 5743 + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", 5744 + "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", 5745 + "dev": true, 5746 + "license": "MIT" 5747 + }, 5409 5748 "node_modules/content-disposition": { 5410 5749 "version": "1.0.0", 5411 5750 "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.0.tgz", ··· 5452 5791 "node": ">=6.6.0" 5453 5792 } 5454 5793 }, 5794 + "node_modules/core-util-is": { 5795 + "version": "1.0.3", 5796 + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", 5797 + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", 5798 + "dev": true, 5799 + "license": "MIT" 5800 + }, 5455 5801 "node_modules/cpus": { 5456 5802 "version": "1.0.3", 5457 5803 "resolved": "https://registry.npmjs.org/cpus/-/cpus-1.0.3.tgz", ··· 5473 5819 ], 5474 5820 "license": "MIT" 5475 5821 }, 5822 + "node_modules/create-ecdh": { 5823 + "version": "4.0.4", 5824 + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", 5825 + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", 5826 + "dev": true, 5827 + "license": "MIT", 5828 + "dependencies": { 5829 + "bn.js": "^4.1.0", 5830 + "elliptic": "^6.5.3" 5831 + } 5832 + }, 5833 + "node_modules/create-ecdh/node_modules/bn.js": { 5834 + "version": "4.12.2", 5835 + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", 5836 + "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==", 5837 + "dev": true, 5838 + "license": "MIT" 5839 + }, 5840 + "node_modules/create-hash": { 5841 + "version": "1.2.0", 5842 + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", 5843 + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", 5844 + "dev": true, 5845 + "license": "MIT", 5846 + "dependencies": { 5847 + "cipher-base": "^1.0.1", 5848 + "inherits": "^2.0.1", 5849 + "md5.js": "^1.3.4", 5850 + "ripemd160": "^2.0.1", 5851 + "sha.js": "^2.4.0" 5852 + } 5853 + }, 5854 + "node_modules/create-hmac": { 5855 + "version": "1.1.7", 5856 + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", 5857 + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", 5858 + "dev": true, 5859 + "license": "MIT", 5860 + "dependencies": { 5861 + "cipher-base": "^1.0.3", 5862 + "create-hash": "^1.1.0", 5863 + "inherits": "^2.0.1", 5864 + "ripemd160": "^2.0.0", 5865 + "safe-buffer": "^5.0.1", 5866 + "sha.js": "^2.4.8" 5867 + } 5868 + }, 5869 + "node_modules/create-require": { 5870 + "version": "1.1.1", 5871 + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", 5872 + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", 5873 + "dev": true, 5874 + "license": "MIT" 5875 + }, 5476 5876 "node_modules/create-torrent": { 5477 5877 "version": "6.1.0", 5478 5878 "resolved": "https://registry.npmjs.org/create-torrent/-/create-torrent-6.1.0.tgz", ··· 5538 5938 }, 5539 5939 "engines": { 5540 5940 "node": ">= 8" 5941 + } 5942 + }, 5943 + "node_modules/crypto-browserify": { 5944 + "version": "3.12.1", 5945 + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.1.tgz", 5946 + "integrity": "sha512-r4ESw/IlusD17lgQi1O20Fa3qNnsckR126TdUuBgAu7GBYSIPvdNyONd3Zrxh0xCwA4+6w/TDArBPsMvhur+KQ==", 5947 + "dev": true, 5948 + "license": "MIT", 5949 + "dependencies": { 5950 + "browserify-cipher": "^1.0.1", 5951 + "browserify-sign": "^4.2.3", 5952 + "create-ecdh": "^4.0.4", 5953 + "create-hash": "^1.2.0", 5954 + "create-hmac": "^1.1.7", 5955 + "diffie-hellman": "^5.0.3", 5956 + "hash-base": "~3.0.4", 5957 + "inherits": "^2.0.4", 5958 + "pbkdf2": "^3.1.2", 5959 + "public-encrypt": "^4.0.3", 5960 + "randombytes": "^2.1.0", 5961 + "randomfill": "^1.0.4" 5962 + }, 5963 + "engines": { 5964 + "node": ">= 0.10" 5965 + }, 5966 + "funding": { 5967 + "url": "https://github.com/sponsors/ljharb" 5541 5968 } 5542 5969 }, 5543 5970 "node_modules/css-select": { ··· 5991 6418 "node": ">=6" 5992 6419 } 5993 6420 }, 6421 + "node_modules/des.js": { 6422 + "version": "1.1.0", 6423 + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", 6424 + "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", 6425 + "dev": true, 6426 + "license": "MIT", 6427 + "dependencies": { 6428 + "inherits": "^2.0.1", 6429 + "minimalistic-assert": "^1.0.0" 6430 + } 6431 + }, 5994 6432 "node_modules/detect-libc": { 5995 6433 "version": "2.0.4", 5996 6434 "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz", ··· 6035 6473 "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 6036 6474 } 6037 6475 }, 6476 + "node_modules/diffie-hellman": { 6477 + "version": "5.0.3", 6478 + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", 6479 + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", 6480 + "dev": true, 6481 + "license": "MIT", 6482 + "dependencies": { 6483 + "bn.js": "^4.1.0", 6484 + "miller-rabin": "^4.0.0", 6485 + "randombytes": "^2.0.0" 6486 + } 6487 + }, 6488 + "node_modules/diffie-hellman/node_modules/bn.js": { 6489 + "version": "4.12.2", 6490 + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", 6491 + "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==", 6492 + "dev": true, 6493 + "license": "MIT" 6494 + }, 6038 6495 "node_modules/doctrine": { 6039 6496 "version": "2.1.0", 6040 6497 "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", ··· 6068 6525 }, 6069 6526 "funding": { 6070 6527 "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" 6528 + } 6529 + }, 6530 + "node_modules/domain-browser": { 6531 + "version": "4.22.0", 6532 + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-4.22.0.tgz", 6533 + "integrity": "sha512-IGBwjF7tNk3cwypFNH/7bfzBcgSCbaMOD3GsaY1AU/JRrnHnYgEM0+9kQt52iZxjNsjBtJYtao146V+f8jFZNw==", 6534 + "dev": true, 6535 + "license": "MIT", 6536 + "engines": { 6537 + "node": ">=10" 6538 + }, 6539 + "funding": { 6540 + "url": "https://bevry.me/fund" 6071 6541 } 6072 6542 }, 6073 6543 "node_modules/domelementtype": { ··· 6174 6644 "dev": true, 6175 6645 "license": "ISC" 6176 6646 }, 6647 + "node_modules/elliptic": { 6648 + "version": "6.6.1", 6649 + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.6.1.tgz", 6650 + "integrity": "sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==", 6651 + "dev": true, 6652 + "license": "MIT", 6653 + "dependencies": { 6654 + "bn.js": "^4.11.9", 6655 + "brorand": "^1.1.0", 6656 + "hash.js": "^1.0.0", 6657 + "hmac-drbg": "^1.0.1", 6658 + "inherits": "^2.0.4", 6659 + "minimalistic-assert": "^1.0.1", 6660 + "minimalistic-crypto-utils": "^1.0.1" 6661 + } 6662 + }, 6663 + "node_modules/elliptic/node_modules/bn.js": { 6664 + "version": "4.12.2", 6665 + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", 6666 + "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==", 6667 + "dev": true, 6668 + "license": "MIT" 6669 + }, 6177 6670 "node_modules/emittery": { 6178 6671 "version": "0.13.1", 6179 6672 "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", ··· 6230 6723 "version": "3.0.1", 6231 6724 "resolved": "https://registry.npmjs.org/err-code/-/err-code-3.0.1.tgz", 6232 6725 "integrity": "sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA==", 6233 - "dev": true, 6234 6726 "license": "MIT" 6235 6727 }, 6236 6728 "node_modules/error-ex": { ··· 6835 7327 "node": ">=6" 6836 7328 } 6837 7329 }, 7330 + "node_modules/events": { 7331 + "version": "3.3.0", 7332 + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", 7333 + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", 7334 + "dev": true, 7335 + "license": "MIT", 7336 + "engines": { 7337 + "node": ">=0.8.x" 7338 + } 7339 + }, 7340 + "node_modules/evp_bytestokey": { 7341 + "version": "1.0.3", 7342 + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", 7343 + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", 7344 + "dev": true, 7345 + "license": "MIT", 7346 + "dependencies": { 7347 + "md5.js": "^1.3.4", 7348 + "safe-buffer": "^5.1.1" 7349 + } 7350 + }, 6838 7351 "node_modules/execa": { 6839 7352 "version": "5.1.1", 6840 7353 "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", ··· 7399 7912 "node": ">=6.9.0" 7400 7913 } 7401 7914 }, 7915 + "node_modules/get-browser-rtc": { 7916 + "version": "1.1.0", 7917 + "resolved": "https://registry.npmjs.org/get-browser-rtc/-/get-browser-rtc-1.1.0.tgz", 7918 + "integrity": "sha512-MghbMJ61EJrRsDe7w1Bvqt3ZsBuqhce5nrn/XAwgwOXhcsz53/ltdxOse1h/8eKXj5slzxdsz56g5rzOFSGwfQ==", 7919 + "license": "MIT" 7920 + }, 7402 7921 "node_modules/get-caller-file": { 7403 7922 "version": "2.0.5", 7404 7923 "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", ··· 7682 8201 }, 7683 8202 "funding": { 7684 8203 "url": "https://github.com/sponsors/ljharb" 8204 + } 8205 + }, 8206 + "node_modules/hash-base": { 8207 + "version": "3.0.5", 8208 + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.5.tgz", 8209 + "integrity": "sha512-vXm0l45VbcHEVlTCzs8M+s0VeYsB2lnlAaThoLKGXr3bE/VWDOelNUnycUPEhKEaXARL2TEFjBOyUiM6+55KBg==", 8210 + "dev": true, 8211 + "license": "MIT", 8212 + "dependencies": { 8213 + "inherits": "^2.0.4", 8214 + "safe-buffer": "^5.2.1" 8215 + }, 8216 + "engines": { 8217 + "node": ">= 0.10" 8218 + } 8219 + }, 8220 + "node_modules/hash.js": { 8221 + "version": "1.1.7", 8222 + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", 8223 + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", 8224 + "dev": true, 8225 + "license": "MIT", 8226 + "dependencies": { 8227 + "inherits": "^2.0.3", 8228 + "minimalistic-assert": "^1.0.1" 7685 8229 } 7686 8230 }, 7687 8231 "node_modules/hasown": { ··· 7706 8250 "he": "bin/he" 7707 8251 } 7708 8252 }, 8253 + "node_modules/hmac-drbg": { 8254 + "version": "1.0.1", 8255 + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", 8256 + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", 8257 + "dev": true, 8258 + "license": "MIT", 8259 + "dependencies": { 8260 + "hash.js": "^1.0.3", 8261 + "minimalistic-assert": "^1.0.0", 8262 + "minimalistic-crypto-utils": "^1.0.1" 8263 + } 8264 + }, 7709 8265 "node_modules/html-encoding-sniffer": { 7710 8266 "version": "4.0.0", 7711 8267 "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz", ··· 7772 8328 "node": ">= 14" 7773 8329 } 7774 8330 }, 8331 + "node_modules/https-browserify": { 8332 + "version": "1.0.0", 8333 + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", 8334 + "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", 8335 + "dev": true, 8336 + "license": "MIT" 8337 + }, 7775 8338 "node_modules/https-proxy-agent": { 7776 8339 "version": "7.0.6", 7777 8340 "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", ··· 7825 8388 "version": "1.2.1", 7826 8389 "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", 7827 8390 "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", 7828 - "dev": true, 7829 8391 "funding": [ 7830 8392 { 7831 8393 "type": "github", ··· 8290 8852 "url": "https://github.com/sponsors/ljharb" 8291 8853 } 8292 8854 }, 8855 + "node_modules/is-nan": { 8856 + "version": "1.3.2", 8857 + "resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz", 8858 + "integrity": "sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==", 8859 + "dev": true, 8860 + "license": "MIT", 8861 + "dependencies": { 8862 + "call-bind": "^1.0.0", 8863 + "define-properties": "^1.1.3" 8864 + }, 8865 + "engines": { 8866 + "node": ">= 0.4" 8867 + }, 8868 + "funding": { 8869 + "url": "https://github.com/sponsors/ljharb" 8870 + } 8871 + }, 8293 8872 "node_modules/is-negative-zero": { 8294 8873 "version": "2.0.3", 8295 8874 "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", ··· 8514 9093 "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", 8515 9094 "dev": true, 8516 9095 "license": "ISC" 9096 + }, 9097 + "node_modules/isomorphic-timers-promises": { 9098 + "version": "1.0.1", 9099 + "resolved": "https://registry.npmjs.org/isomorphic-timers-promises/-/isomorphic-timers-promises-1.0.1.tgz", 9100 + "integrity": "sha512-u4sej9B1LPSxTGKB/HiuzvEQnXH0ECYkSVQU39koSwmFAxhlEAFl9RdTvLv4TOTQUgBS5O3O5fwUxk6byBZ+IQ==", 9101 + "dev": true, 9102 + "license": "MIT", 9103 + "engines": { 9104 + "node": ">=10" 9105 + } 8517 9106 }, 8518 9107 "node_modules/istanbul-lib-coverage": { 8519 9108 "version": "3.2.2", ··· 8923 9512 }, 8924 9513 "engines": { 8925 9514 "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" 9515 + } 9516 + }, 9517 + "node_modules/jest-fixed-jsdom": { 9518 + "version": "0.0.9", 9519 + "resolved": "https://registry.npmjs.org/jest-fixed-jsdom/-/jest-fixed-jsdom-0.0.9.tgz", 9520 + "integrity": "sha512-KPfqh2+sn5q2B+7LZktwDcwhCpOpUSue8a1I+BcixWLOQoEVyAjAGfH+IYZGoxZsziNojoHGRTC8xRbB1wDD4g==", 9521 + "dev": true, 9522 + "license": "MIT", 9523 + "engines": { 9524 + "node": ">=18.0.0" 9525 + }, 9526 + "peerDependencies": { 9527 + "jest-environment-jsdom": ">=28.0.0" 8926 9528 } 8927 9529 }, 8928 9530 "node_modules/jest-get-type": { ··· 9974 10576 "node": ">= 0.4" 9975 10577 } 9976 10578 }, 10579 + "node_modules/md5.js": { 10580 + "version": "1.3.5", 10581 + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", 10582 + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", 10583 + "dev": true, 10584 + "license": "MIT", 10585 + "dependencies": { 10586 + "hash-base": "^3.0.0", 10587 + "inherits": "^2.0.1", 10588 + "safe-buffer": "^5.1.2" 10589 + } 10590 + }, 9977 10591 "node_modules/mdast-util-find-and-replace": { 9978 10592 "version": "3.0.2", 9979 10593 "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz", ··· 10903 11517 "node": ">=8.6" 10904 11518 } 10905 11519 }, 11520 + "node_modules/miller-rabin": { 11521 + "version": "4.0.1", 11522 + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", 11523 + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", 11524 + "dev": true, 11525 + "license": "MIT", 11526 + "dependencies": { 11527 + "bn.js": "^4.0.0", 11528 + "brorand": "^1.0.1" 11529 + }, 11530 + "bin": { 11531 + "miller-rabin": "bin/miller-rabin" 11532 + } 11533 + }, 11534 + "node_modules/miller-rabin/node_modules/bn.js": { 11535 + "version": "4.12.2", 11536 + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", 11537 + "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==", 11538 + "dev": true, 11539 + "license": "MIT" 11540 + }, 10906 11541 "node_modules/mime": { 10907 11542 "version": "3.0.0", 10908 11543 "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", ··· 10970 11605 "node": ">=4" 10971 11606 } 10972 11607 }, 11608 + "node_modules/minimalistic-assert": { 11609 + "version": "1.0.1", 11610 + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", 11611 + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", 11612 + "dev": true, 11613 + "license": "ISC" 11614 + }, 11615 + "node_modules/minimalistic-crypto-utils": { 11616 + "version": "1.0.1", 11617 + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", 11618 + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", 11619 + "dev": true, 11620 + "license": "MIT" 11621 + }, 10973 11622 "node_modules/minimatch": { 10974 11623 "version": "9.0.5", 10975 11624 "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", ··· 11246 11895 "dev": true, 11247 11896 "license": "MIT" 11248 11897 }, 11898 + "node_modules/node-stdlib-browser": { 11899 + "version": "1.3.1", 11900 + "resolved": "https://registry.npmjs.org/node-stdlib-browser/-/node-stdlib-browser-1.3.1.tgz", 11901 + "integrity": "sha512-X75ZN8DCLftGM5iKwoYLA3rjnrAEs97MkzvSd4q2746Tgpg8b8XWiBGiBG4ZpgcAqBgtgPHTiAc8ZMCvZuikDw==", 11902 + "dev": true, 11903 + "license": "MIT", 11904 + "dependencies": { 11905 + "assert": "^2.0.0", 11906 + "browser-resolve": "^2.0.0", 11907 + "browserify-zlib": "^0.2.0", 11908 + "buffer": "^5.7.1", 11909 + "console-browserify": "^1.1.0", 11910 + "constants-browserify": "^1.0.0", 11911 + "create-require": "^1.1.1", 11912 + "crypto-browserify": "^3.12.1", 11913 + "domain-browser": "4.22.0", 11914 + "events": "^3.0.0", 11915 + "https-browserify": "^1.0.0", 11916 + "isomorphic-timers-promises": "^1.0.1", 11917 + "os-browserify": "^0.3.0", 11918 + "path-browserify": "^1.0.1", 11919 + "pkg-dir": "^5.0.0", 11920 + "process": "^0.11.10", 11921 + "punycode": "^1.4.1", 11922 + "querystring-es3": "^0.2.1", 11923 + "readable-stream": "^3.6.0", 11924 + "stream-browserify": "^3.0.0", 11925 + "stream-http": "^3.2.0", 11926 + "string_decoder": "^1.0.0", 11927 + "timers-browserify": "^2.0.4", 11928 + "tty-browserify": "0.0.1", 11929 + "url": "^0.11.4", 11930 + "util": "^0.12.4", 11931 + "vm-browserify": "^1.0.1" 11932 + }, 11933 + "engines": { 11934 + "node": ">=10" 11935 + } 11936 + }, 11937 + "node_modules/node-stdlib-browser/node_modules/pkg-dir": { 11938 + "version": "5.0.0", 11939 + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz", 11940 + "integrity": "sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==", 11941 + "dev": true, 11942 + "license": "MIT", 11943 + "dependencies": { 11944 + "find-up": "^5.0.0" 11945 + }, 11946 + "engines": { 11947 + "node": ">=10" 11948 + } 11949 + }, 11950 + "node_modules/node-stdlib-browser/node_modules/punycode": { 11951 + "version": "1.4.1", 11952 + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", 11953 + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", 11954 + "dev": true, 11955 + "license": "MIT" 11956 + }, 11957 + "node_modules/node-stdlib-browser/node_modules/util": { 11958 + "version": "0.12.5", 11959 + "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", 11960 + "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", 11961 + "dev": true, 11962 + "license": "MIT", 11963 + "dependencies": { 11964 + "inherits": "^2.0.3", 11965 + "is-arguments": "^1.0.4", 11966 + "is-generator-function": "^1.0.7", 11967 + "is-typed-array": "^1.1.3", 11968 + "which-typed-array": "^1.1.2" 11969 + } 11970 + }, 11249 11971 "node_modules/normalize-path": { 11250 11972 "version": "3.0.0", 11251 11973 "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", ··· 11468 12190 "node": ">= 0.8.0" 11469 12191 } 11470 12192 }, 12193 + "node_modules/os-browserify": { 12194 + "version": "0.3.0", 12195 + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", 12196 + "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", 12197 + "dev": true, 12198 + "license": "MIT" 12199 + }, 11471 12200 "node_modules/own-keys": { 11472 12201 "version": "1.0.1", 11473 12202 "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", ··· 11535 12264 "dev": true, 11536 12265 "license": "BlueOak-1.0.0" 11537 12266 }, 12267 + "node_modules/pako": { 12268 + "version": "1.0.11", 12269 + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", 12270 + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", 12271 + "dev": true, 12272 + "license": "(MIT AND Zlib)" 12273 + }, 11538 12274 "node_modules/parent-module": { 11539 12275 "version": "1.0.1", 11540 12276 "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", ··· 11546 12282 }, 11547 12283 "engines": { 11548 12284 "node": ">=6" 12285 + } 12286 + }, 12287 + "node_modules/parse-asn1": { 12288 + "version": "5.1.7", 12289 + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.7.tgz", 12290 + "integrity": "sha512-CTM5kuWR3sx9IFamcl5ErfPl6ea/N8IYwiJ+vpeB2g+1iknv7zBl5uPwbMbRVznRVbrNY6lGuDoE5b30grmbqg==", 12291 + "dev": true, 12292 + "license": "ISC", 12293 + "dependencies": { 12294 + "asn1.js": "^4.10.1", 12295 + "browserify-aes": "^1.2.0", 12296 + "evp_bytestokey": "^1.0.3", 12297 + "hash-base": "~3.0", 12298 + "pbkdf2": "^3.1.2", 12299 + "safe-buffer": "^5.2.1" 12300 + }, 12301 + "engines": { 12302 + "node": ">= 0.10" 11549 12303 } 11550 12304 }, 11551 12305 "node_modules/parse-gitignore": { ··· 11664 12418 "node": ">= 0.8" 11665 12419 } 11666 12420 }, 12421 + "node_modules/path-browserify": { 12422 + "version": "1.0.1", 12423 + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", 12424 + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", 12425 + "dev": true, 12426 + "license": "MIT" 12427 + }, 11667 12428 "node_modules/path-exists": { 11668 12429 "version": "4.0.0", 11669 12430 "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", ··· 11734 12495 "node": ">=16" 11735 12496 } 11736 12497 }, 12498 + "node_modules/pbkdf2": { 12499 + "version": "3.1.2", 12500 + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", 12501 + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", 12502 + "dev": true, 12503 + "license": "MIT", 12504 + "dependencies": { 12505 + "create-hash": "^1.1.2", 12506 + "create-hmac": "^1.1.4", 12507 + "ripemd160": "^2.0.1", 12508 + "safe-buffer": "^5.0.1", 12509 + "sha.js": "^2.4.8" 12510 + }, 12511 + "engines": { 12512 + "node": ">=0.12" 12513 + } 12514 + }, 11737 12515 "node_modules/picocolors": { 11738 12516 "version": "1.1.1", 11739 12517 "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", ··· 11973 12751 "url": "https://github.com/chalk/ansi-styles?sponsor=1" 11974 12752 } 11975 12753 }, 12754 + "node_modules/process": { 12755 + "version": "0.11.10", 12756 + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", 12757 + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", 12758 + "dev": true, 12759 + "license": "MIT", 12760 + "engines": { 12761 + "node": ">= 0.6.0" 12762 + } 12763 + }, 12764 + "node_modules/process-nextick-args": { 12765 + "version": "2.0.1", 12766 + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", 12767 + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", 12768 + "dev": true, 12769 + "license": "MIT" 12770 + }, 11976 12771 "node_modules/prop-types": { 11977 12772 "version": "15.8.1", 11978 12773 "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", ··· 12024 12819 "node": ">= 0.10" 12025 12820 } 12026 12821 }, 12822 + "node_modules/public-encrypt": { 12823 + "version": "4.0.3", 12824 + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", 12825 + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", 12826 + "dev": true, 12827 + "license": "MIT", 12828 + "dependencies": { 12829 + "bn.js": "^4.1.0", 12830 + "browserify-rsa": "^4.0.0", 12831 + "create-hash": "^1.1.0", 12832 + "parse-asn1": "^5.0.0", 12833 + "randombytes": "^2.0.1", 12834 + "safe-buffer": "^5.1.2" 12835 + } 12836 + }, 12837 + "node_modules/public-encrypt/node_modules/bn.js": { 12838 + "version": "4.12.2", 12839 + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", 12840 + "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==", 12841 + "dev": true, 12842 + "license": "MIT" 12843 + }, 12027 12844 "node_modules/pump": { 12028 12845 "version": "3.0.3", 12029 12846 "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.3.tgz", ··· 12087 12904 "url": "https://github.com/sponsors/ljharb" 12088 12905 } 12089 12906 }, 12907 + "node_modules/querystring-es3": { 12908 + "version": "0.2.1", 12909 + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", 12910 + "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", 12911 + "dev": true, 12912 + "engines": { 12913 + "node": ">=0.4.x" 12914 + } 12915 + }, 12090 12916 "node_modules/queue-microtask": { 12091 12917 "version": "1.2.3", 12092 12918 "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 12093 12919 "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 12094 - "dev": true, 12095 12920 "funding": [ 12096 12921 { 12097 12922 "type": "github", ··· 12166 12991 "version": "2.1.0", 12167 12992 "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", 12168 12993 "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", 12994 + "license": "MIT", 12995 + "dependencies": { 12996 + "safe-buffer": "^5.1.0" 12997 + } 12998 + }, 12999 + "node_modules/randomfill": { 13000 + "version": "1.0.4", 13001 + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", 13002 + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", 12169 13003 "dev": true, 12170 13004 "license": "MIT", 12171 13005 "dependencies": { 13006 + "randombytes": "^2.0.5", 12172 13007 "safe-buffer": "^5.1.0" 12173 13008 } 12174 13009 }, ··· 12243 13078 "version": "3.6.2", 12244 13079 "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", 12245 13080 "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", 12246 - "dev": true, 12247 13081 "license": "MIT", 12248 13082 "dependencies": { 12249 13083 "inherits": "^2.0.3", ··· 12451 13285 "engines": { 12452 13286 "iojs": ">=1.0.0", 12453 13287 "node": ">=0.10.0" 13288 + } 13289 + }, 13290 + "node_modules/ripemd160": { 13291 + "version": "2.0.2", 13292 + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", 13293 + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", 13294 + "dev": true, 13295 + "license": "MIT", 13296 + "dependencies": { 13297 + "hash-base": "^3.0.0", 13298 + "inherits": "^2.0.1" 12454 13299 } 12455 13300 }, 12456 13301 "node_modules/rollup": { ··· 12789 13634 "node": ">= 0.4" 12790 13635 } 12791 13636 }, 13637 + "node_modules/setimmediate": { 13638 + "version": "1.0.5", 13639 + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", 13640 + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", 13641 + "dev": true, 13642 + "license": "MIT" 13643 + }, 12792 13644 "node_modules/setprototypeof": { 12793 13645 "version": "1.2.0", 12794 13646 "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", 12795 13647 "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", 12796 13648 "license": "ISC" 12797 13649 }, 13650 + "node_modules/sha.js": { 13651 + "version": "2.4.11", 13652 + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", 13653 + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", 13654 + "dev": true, 13655 + "license": "(MIT AND BSD-3-Clause)", 13656 + "dependencies": { 13657 + "inherits": "^2.0.1", 13658 + "safe-buffer": "^5.0.1" 13659 + }, 13660 + "bin": { 13661 + "sha.js": "bin.js" 13662 + } 13663 + }, 12798 13664 "node_modules/shebang-command": { 12799 13665 "version": "2.0.0", 12800 13666 "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", ··· 12960 13826 "simple-concat": "^1.0.0" 12961 13827 } 12962 13828 }, 13829 + "node_modules/simple-peer": { 13830 + "version": "9.11.1", 13831 + "resolved": "https://registry.npmjs.org/simple-peer/-/simple-peer-9.11.1.tgz", 13832 + "integrity": "sha512-D1SaWpOW8afq1CZGWB8xTfrT3FekjQmPValrqncJMX7QFl8YwhrPTZvMCANLtgBwwdS+7zURyqxDDEmY558tTw==", 13833 + "funding": [ 13834 + { 13835 + "type": "github", 13836 + "url": "https://github.com/sponsors/feross" 13837 + }, 13838 + { 13839 + "type": "patreon", 13840 + "url": "https://www.patreon.com/feross" 13841 + }, 13842 + { 13843 + "type": "consulting", 13844 + "url": "https://feross.org/support" 13845 + } 13846 + ], 13847 + "license": "MIT", 13848 + "dependencies": { 13849 + "buffer": "^6.0.3", 13850 + "debug": "^4.3.2", 13851 + "err-code": "^3.0.1", 13852 + "get-browser-rtc": "^1.1.0", 13853 + "queue-microtask": "^1.2.3", 13854 + "randombytes": "^2.1.0", 13855 + "readable-stream": "^3.6.0" 13856 + } 13857 + }, 13858 + "node_modules/simple-peer/node_modules/buffer": { 13859 + "version": "6.0.3", 13860 + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", 13861 + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", 13862 + "funding": [ 13863 + { 13864 + "type": "github", 13865 + "url": "https://github.com/sponsors/feross" 13866 + }, 13867 + { 13868 + "type": "patreon", 13869 + "url": "https://www.patreon.com/feross" 13870 + }, 13871 + { 13872 + "type": "consulting", 13873 + "url": "https://feross.org/support" 13874 + } 13875 + ], 13876 + "license": "MIT", 13877 + "dependencies": { 13878 + "base64-js": "^1.3.1", 13879 + "ieee754": "^1.2.1" 13880 + } 13881 + }, 12963 13882 "node_modules/slash": { 12964 13883 "version": "3.0.0", 12965 13884 "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", ··· 13139 14058 "node": ">= 0.4" 13140 14059 } 13141 14060 }, 14061 + "node_modules/stream-browserify": { 14062 + "version": "3.0.0", 14063 + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz", 14064 + "integrity": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==", 14065 + "dev": true, 14066 + "license": "MIT", 14067 + "dependencies": { 14068 + "inherits": "~2.0.4", 14069 + "readable-stream": "^3.5.0" 14070 + } 14071 + }, 14072 + "node_modules/stream-http": { 14073 + "version": "3.2.0", 14074 + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.2.0.tgz", 14075 + "integrity": "sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==", 14076 + "dev": true, 14077 + "license": "MIT", 14078 + "dependencies": { 14079 + "builtin-status-codes": "^3.0.0", 14080 + "inherits": "^2.0.4", 14081 + "readable-stream": "^3.6.0", 14082 + "xtend": "^4.0.2" 14083 + } 14084 + }, 13142 14085 "node_modules/streamx": { 13143 14086 "version": "2.22.0", 13144 14087 "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.22.0.tgz", ··· 13157 14100 "version": "1.3.0", 13158 14101 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", 13159 14102 "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", 13160 - "dev": true, 13161 14103 "license": "MIT", 13162 14104 "dependencies": { 13163 14105 "safe-buffer": "~5.2.0" ··· 13777 14719 "license": "MIT", 13778 14720 "optional": true 13779 14721 }, 14722 + "node_modules/timers-browserify": { 14723 + "version": "2.0.12", 14724 + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", 14725 + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", 14726 + "dev": true, 14727 + "license": "MIT", 14728 + "dependencies": { 14729 + "setimmediate": "^1.0.4" 14730 + }, 14731 + "engines": { 14732 + "node": ">=0.6.0" 14733 + } 14734 + }, 13780 14735 "node_modules/tiny-invariant": { 13781 14736 "version": "1.3.3", 13782 14737 "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", ··· 14061 15016 "dev": true, 14062 15017 "license": "0BSD", 14063 15018 "optional": true 15019 + }, 15020 + "node_modules/tty-browserify": { 15021 + "version": "0.0.1", 15022 + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", 15023 + "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==", 15024 + "dev": true, 15025 + "license": "MIT" 14064 15026 }, 14065 15027 "node_modules/tunnel-agent": { 14066 15028 "version": "0.6.0", ··· 14451 15413 "punycode": "^2.1.0" 14452 15414 } 14453 15415 }, 15416 + "node_modules/url": { 15417 + "version": "0.11.4", 15418 + "resolved": "https://registry.npmjs.org/url/-/url-0.11.4.tgz", 15419 + "integrity": "sha512-oCwdVC7mTuWiPyjLUz/COz5TLk6wgp0RCsN+wHZ2Ekneac9w8uuV0njcbbie2ME+Vs+d6duwmYuR3HgQXs1fOg==", 15420 + "dev": true, 15421 + "license": "MIT", 15422 + "dependencies": { 15423 + "punycode": "^1.4.1", 15424 + "qs": "^6.12.3" 15425 + }, 15426 + "engines": { 15427 + "node": ">= 0.4" 15428 + } 15429 + }, 15430 + "node_modules/url/node_modules/punycode": { 15431 + "version": "1.4.1", 15432 + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", 15433 + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", 15434 + "dev": true, 15435 + "license": "MIT" 15436 + }, 14454 15437 "node_modules/ut_metadata": { 14455 15438 "version": "4.0.3", 14456 15439 "resolved": "https://registry.npmjs.org/ut_metadata/-/ut_metadata-4.0.3.tgz", ··· 14538 15521 "version": "1.0.2", 14539 15522 "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 14540 15523 "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", 14541 - "dev": true, 14542 15524 "license": "MIT" 14543 15525 }, 14544 15526 "node_modules/util/node_modules/inherits": { ··· 14774 15756 "url": "https://github.com/sponsors/jonschlinkert" 14775 15757 } 14776 15758 }, 15759 + "node_modules/vite-plugin-node-polyfills": { 15760 + "version": "0.23.0", 15761 + "resolved": "https://registry.npmjs.org/vite-plugin-node-polyfills/-/vite-plugin-node-polyfills-0.23.0.tgz", 15762 + "integrity": "sha512-4n+Ys+2bKHQohPBKigFlndwWQ5fFKwaGY6muNDMTb0fSQLyBzS+jjUNRZG9sKF0S/Go4ApG6LFnUGopjkILg3w==", 15763 + "dev": true, 15764 + "license": "MIT", 15765 + "dependencies": { 15766 + "@rollup/plugin-inject": "^5.0.5", 15767 + "node-stdlib-browser": "^1.2.0" 15768 + }, 15769 + "funding": { 15770 + "url": "https://github.com/sponsors/davidmyersdev" 15771 + }, 15772 + "peerDependencies": { 15773 + "vite": "^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0" 15774 + } 15775 + }, 14777 15776 "node_modules/vite-prerender-plugin": { 14778 15777 "version": "0.5.10", 14779 15778 "resolved": "https://registry.npmjs.org/vite-prerender-plugin/-/vite-prerender-plugin-0.5.10.tgz", ··· 14829 15828 "funding": { 14830 15829 "url": "https://github.com/sponsors/jonschlinkert" 14831 15830 } 15831 + }, 15832 + "node_modules/vm-browserify": { 15833 + "version": "1.1.2", 15834 + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", 15835 + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", 15836 + "dev": true, 15837 + "license": "MIT" 14832 15838 }, 14833 15839 "node_modules/vscode-uri": { 14834 15840 "version": "3.1.0", ··· 15403 16409 "integrity": "sha512-nquOebG4sngPmGPICTS5EnxqhKbCmz5Ox5hsszI2T6U5qdrJizBc+0ilYSEjTSzU0yZcmvppztXe/5Al5fUwdg==", 15404 16410 "dev": true, 15405 16411 "license": "Apache-2.0" 16412 + }, 16413 + "node_modules/xtend": { 16414 + "version": "4.0.2", 16415 + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", 16416 + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", 16417 + "dev": true, 16418 + "license": "MIT", 16419 + "engines": { 16420 + "node": ">=0.4" 16421 + } 15406 16422 }, 15407 16423 "node_modules/y18n": { 15408 16424 "version": "5.0.8",
+12 -1
package.json
··· 9 9 "build": "wireit", 10 10 "docs": "wireit", 11 11 "test": "wireit", 12 + "start:tests": "wireit", 12 13 "start:dev": "wireit", 13 14 "start:prod": "wireit" 14 15 }, ··· 23 24 "jose": "^6.0.11", 24 25 "nanoid": "^5.1.5", 25 26 "preact": "^10.26.9", 27 + "simple-peer": "^9.11.1", 26 28 "ws": "^8.18.2", 27 29 "zod": "~3.25" 28 30 }, ··· 42 44 "@types/express": "^5.0.3", 43 45 "@types/jest": "^29.5.14", 44 46 "@types/node": "^24.0.1", 47 + "@types/simple-peer": "^9.11.8", 45 48 "@types/ws": "^8.18.1", 46 49 "confusing-browser-globals": "^1.0.11", 47 50 "eslint": "^9.28.0", ··· 53 56 "identity-obj-proxy": "^3.0.0", 54 57 "jest": "^30.0.0", 55 58 "jest-environment-jsdom": "^30.0.0", 59 + "jest-fixed-jsdom": "^0.0.9", 56 60 "jsdoc": "^4.0.4", 57 61 "jsdom": "^26.1.0", 58 62 "parse-gitignore": "^2.0.0", ··· 62 66 "typescript-eslint-language-service": "^5.0.5", 63 67 "vite": "^6.3.5", 64 68 "vite-plugin-checker": "^0.9.3", 69 + "vite-plugin-node-polyfills": "^0.23.0", 65 70 "webtorrent": "^2.6.8", 66 71 "wireit": "^0.14.12", 67 72 "zod-schema-faker": "^2.0.0-beta.5" ··· 134 139 "service": true, 135 140 "command": "node --watch --watch-preserve-output src/cmd/server.js" 136 141 }, 142 + "start:tests": { 143 + "service": true, 144 + "command": "echo 'starting test services' && sleep 100d", 145 + "dependencies": [ 146 + "run:tests" 147 + ] 148 + }, 137 149 "start:dev": { 138 150 "service": true, 139 151 "command": "echo 'starting dev services' && sleep 100d", 140 152 "dependencies": [ 141 153 "lint", 142 154 "types", 143 - "run:tests", 144 155 "run:client", 145 156 "run:server" 146 157 ]
+8 -6
src/cmd/register-ident.js
··· 1 1 #!/usr/bin/env node 2 2 3 - /* eslint-disable jsdoc/require-jsdoc */ 4 - 5 3 import { generateSignableJwt, generateSigningJwkPair, jwkExport } from '#common/crypto/jwks.js' 6 4 import { IdentBrand, RealmBrand } from '#common/protocol.js' 7 5 8 - async function generateRegistrationJWT() { 6 + /** 7 + * @private 8 + * @param {string} realm the realm to register against 9 + */ 10 + async function generateRegistrationJWT(realm) { 9 11 const keypair = await generateSigningJwkPair() 10 - const realmid = RealmBrand.generate() 12 + const realmid = realm ?? RealmBrand.generate() 11 13 const identid = IdentBrand.generate() 12 14 13 15 const payload = { ··· 17 19 pubkey: await jwkExport.parseAsync(keypair.publicKey), 18 20 } 19 21 20 - const jwt = generateSignableJwt(payload) 22 + const jwt = await generateSignableJwt(payload) 21 23 .setIssuedAt() 22 24 .setExpirationTime('1m') 23 25 .sign(keypair.privateKey) ··· 33 35 // do not be alarmed 34 36 // this is only a test 35 37 36 - generateRegistrationJWT().catch(console.error) 38 + generateRegistrationJWT('realm-n7-qM0rOzsJ8N-iF').catch(console.error)
+1 -1
src/cmd/server.js
··· 11 11 args: process.argv.slice(2), 12 12 options: { 13 13 port: { type: 'string', default: '3001' }, 14 - host: { type: 'string', default: 'localhost' }, 14 + host: { type: 'string', default: '127.0.0.1' }, 15 15 }, 16 16 }) 17 17
+5 -2
vite.config.js
··· 1 1 import preact from '@preact/preset-vite' 2 2 import { resolve } from 'node:path' 3 3 import { defineConfig } from 'vite' 4 + import { nodePolyfills } from 'vite-plugin-node-polyfills' 4 5 // import checker from 'vite-plugin-checker' 5 6 6 7 // https://vite.dev/config/ ··· 18 19 // typescript: true, 19 20 // }), 20 21 preact(), 22 + nodePolyfills(), 21 23 ], 22 24 resolve: { 23 25 alias: { ··· 27 29 28 30 clearScreen: false, 29 31 server: { 32 + host: '127.0.0.1', 30 33 port: 4000, 31 34 proxy: { 32 - '/api': 'http://localhost:4001', 35 + '/api': 'http://127.0.0.1:4001', 33 36 '/stream': { 34 37 ws: true, 35 - target: 'ws://localhost:4001', 38 + target: 'ws://127.0.0.1:4001', 36 39 }, 37 40 }, 38 41 },