podcast manager

fix some stuff for running tests

+1050 -18
+1 -1
jest.config.js
··· 46 47 // if node_modules are ESM, we need to _include_ them from 48 transformIgnorePatterns: [ 49 - 'node_modules/(?!(preact|@preact)/)', 50 ], 51 52 collectCoverageFrom: [
··· 46 47 // if node_modules are ESM, we need to _include_ them from 48 transformIgnorePatterns: [ 49 + 'node_modules/(?!(nanoid|jose|preact|@preact)/)', 50 ], 51 52 collectCoverageFrom: [
+1023 -7
package-lock.json
··· 12 "jose": "^6.0.11", 13 "nanoid": "^5.1.5", 14 "preact": "^10.26.9", 15 "ws": "^8.18.2", 16 "zod": "~3.25" 17 }, ··· 31 "@types/express": "^5.0.3", 32 "@types/jest": "^29.5.14", 33 "@types/node": "^24.0.1", 34 "@types/ws": "^8.18.1", 35 "confusing-browser-globals": "^1.0.11", 36 "eslint": "^9.28.0", ··· 42 "identity-obj-proxy": "^3.0.0", 43 "jest": "^30.0.0", 44 "jest-environment-jsdom": "^30.0.0", 45 "jsdoc": "^4.0.4", 46 "jsdom": "^26.1.0", 47 "parse-gitignore": "^2.0.0", ··· 51 "typescript-eslint-language-service": "^5.0.5", 52 "vite": "^6.3.5", 53 "vite-plugin-checker": "^0.9.3", 54 "webtorrent": "^2.6.8", 55 "wireit": "^0.14.12", 56 "zod-schema-faker": "^2.0.0-beta.5" ··· 2383 "vite": ">=2.0.0" 2384 } 2385 }, 2386 "node_modules/@rollup/pluginutils": { 2387 "version": "4.2.1", 2388 "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz", ··· 3405 "@types/send": "*" 3406 } 3407 }, 3408 "node_modules/@types/stack-utils": { 3409 "version": "2.0.3", 3410 "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", ··· 4242 "url": "https://github.com/sponsors/ljharb" 4243 } 4244 }, 4245 "node_modules/async": { 4246 "version": "3.2.6", 4247 "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", ··· 4541 "version": "1.5.1", 4542 "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", 4543 "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", 4544 - "dev": true, 4545 "funding": [ 4546 { 4547 "type": "github", ··· 4804 "dev": true, 4805 "license": "MIT" 4806 }, 4807 "node_modules/body-parser": { 4808 "version": "2.2.0", 4809 "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.0.tgz", ··· 4854 "node": ">=8" 4855 } 4856 }, 4857 "node_modules/browserslist": { 4858 "version": "4.25.0", 4859 "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.0.tgz", ··· 4942 "dev": true, 4943 "license": "MIT" 4944 }, 4945 "node_modules/bufferutil": { 4946 "version": "4.0.9", 4947 "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.9.tgz", ··· 4955 "engines": { 4956 "node": ">=6.14.2" 4957 } 4958 }, 4959 "node_modules/bytes": { 4960 "version": "3.1.2", ··· 5249 "node": ">=8" 5250 } 5251 }, 5252 "node_modules/cjs-module-lexer": { 5253 "version": "2.1.0", 5254 "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-2.1.0.tgz", ··· 5406 "dev": true, 5407 "license": "MIT" 5408 }, 5409 "node_modules/content-disposition": { 5410 "version": "1.0.0", 5411 "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.0.tgz", ··· 5452 "node": ">=6.6.0" 5453 } 5454 }, 5455 "node_modules/cpus": { 5456 "version": "1.0.3", 5457 "resolved": "https://registry.npmjs.org/cpus/-/cpus-1.0.3.tgz", ··· 5473 ], 5474 "license": "MIT" 5475 }, 5476 "node_modules/create-torrent": { 5477 "version": "6.1.0", 5478 "resolved": "https://registry.npmjs.org/create-torrent/-/create-torrent-6.1.0.tgz", ··· 5538 }, 5539 "engines": { 5540 "node": ">= 8" 5541 } 5542 }, 5543 "node_modules/css-select": { ··· 5991 "node": ">=6" 5992 } 5993 }, 5994 "node_modules/detect-libc": { 5995 "version": "2.0.4", 5996 "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz", ··· 6035 "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 6036 } 6037 }, 6038 "node_modules/doctrine": { 6039 "version": "2.1.0", 6040 "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", ··· 6068 }, 6069 "funding": { 6070 "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" 6071 } 6072 }, 6073 "node_modules/domelementtype": { ··· 6174 "dev": true, 6175 "license": "ISC" 6176 }, 6177 "node_modules/emittery": { 6178 "version": "0.13.1", 6179 "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", ··· 6230 "version": "3.0.1", 6231 "resolved": "https://registry.npmjs.org/err-code/-/err-code-3.0.1.tgz", 6232 "integrity": "sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA==", 6233 - "dev": true, 6234 "license": "MIT" 6235 }, 6236 "node_modules/error-ex": { ··· 6835 "node": ">=6" 6836 } 6837 }, 6838 "node_modules/execa": { 6839 "version": "5.1.1", 6840 "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", ··· 7399 "node": ">=6.9.0" 7400 } 7401 }, 7402 "node_modules/get-caller-file": { 7403 "version": "2.0.5", 7404 "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", ··· 7682 }, 7683 "funding": { 7684 "url": "https://github.com/sponsors/ljharb" 7685 } 7686 }, 7687 "node_modules/hasown": { ··· 7706 "he": "bin/he" 7707 } 7708 }, 7709 "node_modules/html-encoding-sniffer": { 7710 "version": "4.0.0", 7711 "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz", ··· 7772 "node": ">= 14" 7773 } 7774 }, 7775 "node_modules/https-proxy-agent": { 7776 "version": "7.0.6", 7777 "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", ··· 7825 "version": "1.2.1", 7826 "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", 7827 "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", 7828 - "dev": true, 7829 "funding": [ 7830 { 7831 "type": "github", ··· 8290 "url": "https://github.com/sponsors/ljharb" 8291 } 8292 }, 8293 "node_modules/is-negative-zero": { 8294 "version": "2.0.3", 8295 "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", ··· 8514 "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", 8515 "dev": true, 8516 "license": "ISC" 8517 }, 8518 "node_modules/istanbul-lib-coverage": { 8519 "version": "3.2.2", ··· 8923 }, 8924 "engines": { 8925 "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" 8926 } 8927 }, 8928 "node_modules/jest-get-type": { ··· 9974 "node": ">= 0.4" 9975 } 9976 }, 9977 "node_modules/mdast-util-find-and-replace": { 9978 "version": "3.0.2", 9979 "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz", ··· 10903 "node": ">=8.6" 10904 } 10905 }, 10906 "node_modules/mime": { 10907 "version": "3.0.0", 10908 "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", ··· 10970 "node": ">=4" 10971 } 10972 }, 10973 "node_modules/minimatch": { 10974 "version": "9.0.5", 10975 "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", ··· 11246 "dev": true, 11247 "license": "MIT" 11248 }, 11249 "node_modules/normalize-path": { 11250 "version": "3.0.0", 11251 "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", ··· 11468 "node": ">= 0.8.0" 11469 } 11470 }, 11471 "node_modules/own-keys": { 11472 "version": "1.0.1", 11473 "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", ··· 11535 "dev": true, 11536 "license": "BlueOak-1.0.0" 11537 }, 11538 "node_modules/parent-module": { 11539 "version": "1.0.1", 11540 "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", ··· 11546 }, 11547 "engines": { 11548 "node": ">=6" 11549 } 11550 }, 11551 "node_modules/parse-gitignore": { ··· 11664 "node": ">= 0.8" 11665 } 11666 }, 11667 "node_modules/path-exists": { 11668 "version": "4.0.0", 11669 "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", ··· 11734 "node": ">=16" 11735 } 11736 }, 11737 "node_modules/picocolors": { 11738 "version": "1.1.1", 11739 "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", ··· 11973 "url": "https://github.com/chalk/ansi-styles?sponsor=1" 11974 } 11975 }, 11976 "node_modules/prop-types": { 11977 "version": "15.8.1", 11978 "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", ··· 12024 "node": ">= 0.10" 12025 } 12026 }, 12027 "node_modules/pump": { 12028 "version": "3.0.3", 12029 "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.3.tgz", ··· 12087 "url": "https://github.com/sponsors/ljharb" 12088 } 12089 }, 12090 "node_modules/queue-microtask": { 12091 "version": "1.2.3", 12092 "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 12093 "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 12094 - "dev": true, 12095 "funding": [ 12096 { 12097 "type": "github", ··· 12166 "version": "2.1.0", 12167 "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", 12168 "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", 12169 "dev": true, 12170 "license": "MIT", 12171 "dependencies": { 12172 "safe-buffer": "^5.1.0" 12173 } 12174 }, ··· 12243 "version": "3.6.2", 12244 "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", 12245 "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", 12246 - "dev": true, 12247 "license": "MIT", 12248 "dependencies": { 12249 "inherits": "^2.0.3", ··· 12451 "engines": { 12452 "iojs": ">=1.0.0", 12453 "node": ">=0.10.0" 12454 } 12455 }, 12456 "node_modules/rollup": { ··· 12789 "node": ">= 0.4" 12790 } 12791 }, 12792 "node_modules/setprototypeof": { 12793 "version": "1.2.0", 12794 "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", 12795 "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", 12796 "license": "ISC" 12797 }, 12798 "node_modules/shebang-command": { 12799 "version": "2.0.0", 12800 "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", ··· 12960 "simple-concat": "^1.0.0" 12961 } 12962 }, 12963 "node_modules/slash": { 12964 "version": "3.0.0", 12965 "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", ··· 13139 "node": ">= 0.4" 13140 } 13141 }, 13142 "node_modules/streamx": { 13143 "version": "2.22.0", 13144 "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.22.0.tgz", ··· 13157 "version": "1.3.0", 13158 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", 13159 "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", 13160 - "dev": true, 13161 "license": "MIT", 13162 "dependencies": { 13163 "safe-buffer": "~5.2.0" ··· 13777 "license": "MIT", 13778 "optional": true 13779 }, 13780 "node_modules/tiny-invariant": { 13781 "version": "1.3.3", 13782 "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", ··· 14061 "dev": true, 14062 "license": "0BSD", 14063 "optional": true 14064 }, 14065 "node_modules/tunnel-agent": { 14066 "version": "0.6.0", ··· 14451 "punycode": "^2.1.0" 14452 } 14453 }, 14454 "node_modules/ut_metadata": { 14455 "version": "4.0.3", 14456 "resolved": "https://registry.npmjs.org/ut_metadata/-/ut_metadata-4.0.3.tgz", ··· 14538 "version": "1.0.2", 14539 "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 14540 "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", 14541 - "dev": true, 14542 "license": "MIT" 14543 }, 14544 "node_modules/util/node_modules/inherits": { ··· 14774 "url": "https://github.com/sponsors/jonschlinkert" 14775 } 14776 }, 14777 "node_modules/vite-prerender-plugin": { 14778 "version": "0.5.10", 14779 "resolved": "https://registry.npmjs.org/vite-prerender-plugin/-/vite-prerender-plugin-0.5.10.tgz", ··· 14829 "funding": { 14830 "url": "https://github.com/sponsors/jonschlinkert" 14831 } 14832 }, 14833 "node_modules/vscode-uri": { 14834 "version": "3.1.0", ··· 15403 "integrity": "sha512-nquOebG4sngPmGPICTS5EnxqhKbCmz5Ox5hsszI2T6U5qdrJizBc+0ilYSEjTSzU0yZcmvppztXe/5Al5fUwdg==", 15404 "dev": true, 15405 "license": "Apache-2.0" 15406 }, 15407 "node_modules/y18n": { 15408 "version": "5.0.8",
··· 12 "jose": "^6.0.11", 13 "nanoid": "^5.1.5", 14 "preact": "^10.26.9", 15 + "simple-peer": "^9.11.1", 16 "ws": "^8.18.2", 17 "zod": "~3.25" 18 }, ··· 32 "@types/express": "^5.0.3", 33 "@types/jest": "^29.5.14", 34 "@types/node": "^24.0.1", 35 + "@types/simple-peer": "^9.11.8", 36 "@types/ws": "^8.18.1", 37 "confusing-browser-globals": "^1.0.11", 38 "eslint": "^9.28.0", ··· 44 "identity-obj-proxy": "^3.0.0", 45 "jest": "^30.0.0", 46 "jest-environment-jsdom": "^30.0.0", 47 + "jest-fixed-jsdom": "^0.0.9", 48 "jsdoc": "^4.0.4", 49 "jsdom": "^26.1.0", 50 "parse-gitignore": "^2.0.0", ··· 54 "typescript-eslint-language-service": "^5.0.5", 55 "vite": "^6.3.5", 56 "vite-plugin-checker": "^0.9.3", 57 + "vite-plugin-node-polyfills": "^0.23.0", 58 "webtorrent": "^2.6.8", 59 "wireit": "^0.14.12", 60 "zod-schema-faker": "^2.0.0-beta.5" ··· 2387 "vite": ">=2.0.0" 2388 } 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 + }, 2449 "node_modules/@rollup/pluginutils": { 2450 "version": "4.2.1", 2451 "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz", ··· 3468 "@types/send": "*" 3469 } 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 + }, 3481 "node_modules/@types/stack-utils": { 3482 "version": "2.0.3", 3483 "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", ··· 4315 "url": "https://github.com/sponsors/ljharb" 4316 } 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 + }, 4365 "node_modules/async": { 4366 "version": "3.2.6", 4367 "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", ··· 4661 "version": "1.5.1", 4662 "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", 4663 "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", 4664 "funding": [ 4665 { 4666 "type": "github", ··· 4923 "dev": true, 4924 "license": "MIT" 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 + }, 4933 "node_modules/body-parser": { 4934 "version": "2.2.0", 4935 "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.0.tgz", ··· 4980 "node": ">=8" 4981 } 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 + }, 5155 "node_modules/browserslist": { 5156 "version": "4.25.0", 5157 "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.0.tgz", ··· 5240 "dev": true, 5241 "license": "MIT" 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 + }, 5250 "node_modules/bufferutil": { 5251 "version": "4.0.9", 5252 "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.9.tgz", ··· 5260 "engines": { 5261 "node": ">=6.14.2" 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" 5270 }, 5271 "node_modules/bytes": { 5272 "version": "3.1.2", ··· 5561 "node": ">=8" 5562 } 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 + }, 5578 "node_modules/cjs-module-lexer": { 5579 "version": "2.1.0", 5580 "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-2.1.0.tgz", ··· 5732 "dev": true, 5733 "license": "MIT" 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 + }, 5748 "node_modules/content-disposition": { 5749 "version": "1.0.0", 5750 "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.0.tgz", ··· 5791 "node": ">=6.6.0" 5792 } 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 + }, 5801 "node_modules/cpus": { 5802 "version": "1.0.3", 5803 "resolved": "https://registry.npmjs.org/cpus/-/cpus-1.0.3.tgz", ··· 5819 ], 5820 "license": "MIT" 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 + }, 5876 "node_modules/create-torrent": { 5877 "version": "6.1.0", 5878 "resolved": "https://registry.npmjs.org/create-torrent/-/create-torrent-6.1.0.tgz", ··· 5938 }, 5939 "engines": { 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" 5968 } 5969 }, 5970 "node_modules/css-select": { ··· 6418 "node": ">=6" 6419 } 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 + }, 6432 "node_modules/detect-libc": { 6433 "version": "2.0.4", 6434 "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz", ··· 6473 "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 6474 } 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 + }, 6495 "node_modules/doctrine": { 6496 "version": "2.1.0", 6497 "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", ··· 6525 }, 6526 "funding": { 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" 6541 } 6542 }, 6543 "node_modules/domelementtype": { ··· 6644 "dev": true, 6645 "license": "ISC" 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 + }, 6670 "node_modules/emittery": { 6671 "version": "0.13.1", 6672 "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", ··· 6723 "version": "3.0.1", 6724 "resolved": "https://registry.npmjs.org/err-code/-/err-code-3.0.1.tgz", 6725 "integrity": "sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA==", 6726 "license": "MIT" 6727 }, 6728 "node_modules/error-ex": { ··· 7327 "node": ">=6" 7328 } 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 + }, 7351 "node_modules/execa": { 7352 "version": "5.1.1", 7353 "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", ··· 7912 "node": ">=6.9.0" 7913 } 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 + }, 7921 "node_modules/get-caller-file": { 7922 "version": "2.0.5", 7923 "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", ··· 8201 }, 8202 "funding": { 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" 8229 } 8230 }, 8231 "node_modules/hasown": { ··· 8250 "he": "bin/he" 8251 } 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 + }, 8265 "node_modules/html-encoding-sniffer": { 8266 "version": "4.0.0", 8267 "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz", ··· 8328 "node": ">= 14" 8329 } 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 + }, 8338 "node_modules/https-proxy-agent": { 8339 "version": "7.0.6", 8340 "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", ··· 8388 "version": "1.2.1", 8389 "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", 8390 "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", 8391 "funding": [ 8392 { 8393 "type": "github", ··· 8852 "url": "https://github.com/sponsors/ljharb" 8853 } 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 + }, 8872 "node_modules/is-negative-zero": { 8873 "version": "2.0.3", 8874 "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", ··· 9093 "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", 9094 "dev": true, 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 + } 9106 }, 9107 "node_modules/istanbul-lib-coverage": { 9108 "version": "3.2.2", ··· 9512 }, 9513 "engines": { 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" 9528 } 9529 }, 9530 "node_modules/jest-get-type": { ··· 10576 "node": ">= 0.4" 10577 } 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 + }, 10591 "node_modules/mdast-util-find-and-replace": { 10592 "version": "3.0.2", 10593 "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz", ··· 11517 "node": ">=8.6" 11518 } 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 + }, 11541 "node_modules/mime": { 11542 "version": "3.0.0", 11543 "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", ··· 11605 "node": ">=4" 11606 } 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 + }, 11622 "node_modules/minimatch": { 11623 "version": "9.0.5", 11624 "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", ··· 11895 "dev": true, 11896 "license": "MIT" 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 + }, 11971 "node_modules/normalize-path": { 11972 "version": "3.0.0", 11973 "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", ··· 12190 "node": ">= 0.8.0" 12191 } 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 + }, 12200 "node_modules/own-keys": { 12201 "version": "1.0.1", 12202 "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", ··· 12264 "dev": true, 12265 "license": "BlueOak-1.0.0" 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 + }, 12274 "node_modules/parent-module": { 12275 "version": "1.0.1", 12276 "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", ··· 12282 }, 12283 "engines": { 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" 12303 } 12304 }, 12305 "node_modules/parse-gitignore": { ··· 12418 "node": ">= 0.8" 12419 } 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 + }, 12428 "node_modules/path-exists": { 12429 "version": "4.0.0", 12430 "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", ··· 12495 "node": ">=16" 12496 } 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 + }, 12515 "node_modules/picocolors": { 12516 "version": "1.1.1", 12517 "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", ··· 12751 "url": "https://github.com/chalk/ansi-styles?sponsor=1" 12752 } 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 + }, 12771 "node_modules/prop-types": { 12772 "version": "15.8.1", 12773 "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", ··· 12819 "node": ">= 0.10" 12820 } 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 + }, 12844 "node_modules/pump": { 12845 "version": "3.0.3", 12846 "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.3.tgz", ··· 12904 "url": "https://github.com/sponsors/ljharb" 12905 } 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 + }, 12916 "node_modules/queue-microtask": { 12917 "version": "1.2.3", 12918 "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 12919 "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 12920 "funding": [ 12921 { 12922 "type": "github", ··· 12991 "version": "2.1.0", 12992 "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", 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==", 13003 "dev": true, 13004 "license": "MIT", 13005 "dependencies": { 13006 + "randombytes": "^2.0.5", 13007 "safe-buffer": "^5.1.0" 13008 } 13009 }, ··· 13078 "version": "3.6.2", 13079 "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", 13080 "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", 13081 "license": "MIT", 13082 "dependencies": { 13083 "inherits": "^2.0.3", ··· 13285 "engines": { 13286 "iojs": ">=1.0.0", 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" 13299 } 13300 }, 13301 "node_modules/rollup": { ··· 13634 "node": ">= 0.4" 13635 } 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 + }, 13644 "node_modules/setprototypeof": { 13645 "version": "1.2.0", 13646 "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", 13647 "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", 13648 "license": "ISC" 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 + }, 13664 "node_modules/shebang-command": { 13665 "version": "2.0.0", 13666 "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", ··· 13826 "simple-concat": "^1.0.0" 13827 } 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 + }, 13882 "node_modules/slash": { 13883 "version": "3.0.0", 13884 "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", ··· 14058 "node": ">= 0.4" 14059 } 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 + }, 14085 "node_modules/streamx": { 14086 "version": "2.22.0", 14087 "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.22.0.tgz", ··· 14100 "version": "1.3.0", 14101 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", 14102 "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", 14103 "license": "MIT", 14104 "dependencies": { 14105 "safe-buffer": "~5.2.0" ··· 14719 "license": "MIT", 14720 "optional": true 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 + }, 14735 "node_modules/tiny-invariant": { 14736 "version": "1.3.3", 14737 "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", ··· 15016 "dev": true, 15017 "license": "0BSD", 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" 15026 }, 15027 "node_modules/tunnel-agent": { 15028 "version": "0.6.0", ··· 15413 "punycode": "^2.1.0" 15414 } 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 + }, 15437 "node_modules/ut_metadata": { 15438 "version": "4.0.3", 15439 "resolved": "https://registry.npmjs.org/ut_metadata/-/ut_metadata-4.0.3.tgz", ··· 15521 "version": "1.0.2", 15522 "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 15523 "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", 15524 "license": "MIT" 15525 }, 15526 "node_modules/util/node_modules/inherits": { ··· 15756 "url": "https://github.com/sponsors/jonschlinkert" 15757 } 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 + }, 15776 "node_modules/vite-prerender-plugin": { 15777 "version": "0.5.10", 15778 "resolved": "https://registry.npmjs.org/vite-prerender-plugin/-/vite-prerender-plugin-0.5.10.tgz", ··· 15828 "funding": { 15829 "url": "https://github.com/sponsors/jonschlinkert" 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" 15838 }, 15839 "node_modules/vscode-uri": { 15840 "version": "3.1.0", ··· 16409 "integrity": "sha512-nquOebG4sngPmGPICTS5EnxqhKbCmz5Ox5hsszI2T6U5qdrJizBc+0ilYSEjTSzU0yZcmvppztXe/5Al5fUwdg==", 16410 "dev": true, 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 + } 16422 }, 16423 "node_modules/y18n": { 16424 "version": "5.0.8",
+12 -1
package.json
··· 9 "build": "wireit", 10 "docs": "wireit", 11 "test": "wireit", 12 "start:dev": "wireit", 13 "start:prod": "wireit" 14 }, ··· 23 "jose": "^6.0.11", 24 "nanoid": "^5.1.5", 25 "preact": "^10.26.9", 26 "ws": "^8.18.2", 27 "zod": "~3.25" 28 }, ··· 42 "@types/express": "^5.0.3", 43 "@types/jest": "^29.5.14", 44 "@types/node": "^24.0.1", 45 "@types/ws": "^8.18.1", 46 "confusing-browser-globals": "^1.0.11", 47 "eslint": "^9.28.0", ··· 53 "identity-obj-proxy": "^3.0.0", 54 "jest": "^30.0.0", 55 "jest-environment-jsdom": "^30.0.0", 56 "jsdoc": "^4.0.4", 57 "jsdom": "^26.1.0", 58 "parse-gitignore": "^2.0.0", ··· 62 "typescript-eslint-language-service": "^5.0.5", 63 "vite": "^6.3.5", 64 "vite-plugin-checker": "^0.9.3", 65 "webtorrent": "^2.6.8", 66 "wireit": "^0.14.12", 67 "zod-schema-faker": "^2.0.0-beta.5" ··· 134 "service": true, 135 "command": "node --watch --watch-preserve-output src/cmd/server.js" 136 }, 137 "start:dev": { 138 "service": true, 139 "command": "echo 'starting dev services' && sleep 100d", 140 "dependencies": [ 141 "lint", 142 "types", 143 - "run:tests", 144 "run:client", 145 "run:server" 146 ]
··· 9 "build": "wireit", 10 "docs": "wireit", 11 "test": "wireit", 12 + "start:tests": "wireit", 13 "start:dev": "wireit", 14 "start:prod": "wireit" 15 }, ··· 24 "jose": "^6.0.11", 25 "nanoid": "^5.1.5", 26 "preact": "^10.26.9", 27 + "simple-peer": "^9.11.1", 28 "ws": "^8.18.2", 29 "zod": "~3.25" 30 }, ··· 44 "@types/express": "^5.0.3", 45 "@types/jest": "^29.5.14", 46 "@types/node": "^24.0.1", 47 + "@types/simple-peer": "^9.11.8", 48 "@types/ws": "^8.18.1", 49 "confusing-browser-globals": "^1.0.11", 50 "eslint": "^9.28.0", ··· 56 "identity-obj-proxy": "^3.0.0", 57 "jest": "^30.0.0", 58 "jest-environment-jsdom": "^30.0.0", 59 + "jest-fixed-jsdom": "^0.0.9", 60 "jsdoc": "^4.0.4", 61 "jsdom": "^26.1.0", 62 "parse-gitignore": "^2.0.0", ··· 66 "typescript-eslint-language-service": "^5.0.5", 67 "vite": "^6.3.5", 68 "vite-plugin-checker": "^0.9.3", 69 + "vite-plugin-node-polyfills": "^0.23.0", 70 "webtorrent": "^2.6.8", 71 "wireit": "^0.14.12", 72 "zod-schema-faker": "^2.0.0-beta.5" ··· 139 "service": true, 140 "command": "node --watch --watch-preserve-output src/cmd/server.js" 141 }, 142 + "start:tests": { 143 + "service": true, 144 + "command": "echo 'starting test services' && sleep 100d", 145 + "dependencies": [ 146 + "run:tests" 147 + ] 148 + }, 149 "start:dev": { 150 "service": true, 151 "command": "echo 'starting dev services' && sleep 100d", 152 "dependencies": [ 153 "lint", 154 "types", 155 "run:client", 156 "run:server" 157 ]
+8 -6
src/cmd/register-ident.js
··· 1 #!/usr/bin/env node 2 3 - /* eslint-disable jsdoc/require-jsdoc */ 4 - 5 import { generateSignableJwt, generateSigningJwkPair, jwkExport } from '#common/crypto/jwks.js' 6 import { IdentBrand, RealmBrand } from '#common/protocol.js' 7 8 - async function generateRegistrationJWT() { 9 const keypair = await generateSigningJwkPair() 10 - const realmid = RealmBrand.generate() 11 const identid = IdentBrand.generate() 12 13 const payload = { ··· 17 pubkey: await jwkExport.parseAsync(keypair.publicKey), 18 } 19 20 - const jwt = generateSignableJwt(payload) 21 .setIssuedAt() 22 .setExpirationTime('1m') 23 .sign(keypair.privateKey) ··· 33 // do not be alarmed 34 // this is only a test 35 36 - generateRegistrationJWT().catch(console.error)
··· 1 #!/usr/bin/env node 2 3 import { generateSignableJwt, generateSigningJwkPair, jwkExport } from '#common/crypto/jwks.js' 4 import { IdentBrand, RealmBrand } from '#common/protocol.js' 5 6 + /** 7 + * @private 8 + * @param {string} realm the realm to register against 9 + */ 10 + async function generateRegistrationJWT(realm) { 11 const keypair = await generateSigningJwkPair() 12 + const realmid = realm ?? RealmBrand.generate() 13 const identid = IdentBrand.generate() 14 15 const payload = { ··· 19 pubkey: await jwkExport.parseAsync(keypair.publicKey), 20 } 21 22 + const jwt = await generateSignableJwt(payload) 23 .setIssuedAt() 24 .setExpirationTime('1m') 25 .sign(keypair.privateKey) ··· 35 // do not be alarmed 36 // this is only a test 37 38 + generateRegistrationJWT('realm-n7-qM0rOzsJ8N-iF').catch(console.error)
+1 -1
src/cmd/server.js
··· 11 args: process.argv.slice(2), 12 options: { 13 port: { type: 'string', default: '3001' }, 14 - host: { type: 'string', default: 'localhost' }, 15 }, 16 }) 17
··· 11 args: process.argv.slice(2), 12 options: { 13 port: { type: 'string', default: '3001' }, 14 + host: { type: 'string', default: '127.0.0.1' }, 15 }, 16 }) 17
+5 -2
vite.config.js
··· 1 import preact from '@preact/preset-vite' 2 import { resolve } from 'node:path' 3 import { defineConfig } from 'vite' 4 // import checker from 'vite-plugin-checker' 5 6 // https://vite.dev/config/ ··· 18 // typescript: true, 19 // }), 20 preact(), 21 ], 22 resolve: { 23 alias: { ··· 27 28 clearScreen: false, 29 server: { 30 port: 4000, 31 proxy: { 32 - '/api': 'http://localhost:4001', 33 '/stream': { 34 ws: true, 35 - target: 'ws://localhost:4001', 36 }, 37 }, 38 },
··· 1 import preact from '@preact/preset-vite' 2 import { resolve } from 'node:path' 3 import { defineConfig } from 'vite' 4 + import { nodePolyfills } from 'vite-plugin-node-polyfills' 5 // import checker from 'vite-plugin-checker' 6 7 // https://vite.dev/config/ ··· 19 // typescript: true, 20 // }), 21 preact(), 22 + nodePolyfills(), 23 ], 24 resolve: { 25 alias: { ··· 29 30 clearScreen: false, 31 server: { 32 + host: '127.0.0.1', 33 port: 4000, 34 proxy: { 35 + '/api': 'http://127.0.0.1:4001', 36 '/stream': { 37 ws: true, 38 + target: 'ws://127.0.0.1:4001', 39 }, 40 }, 41 },