diff --git a/.firebase/hosting.ZnJvbnRlbmQvZGlzdA.cache b/.firebase/hosting.ZnJvbnRlbmQvZGlzdA.cache index 3b9b720..1b64438 100644 --- a/.firebase/hosting.ZnJvbnRlbmQvZGlzdA.cache +++ b/.firebase/hosting.ZnJvbnRlbmQvZGlzdA.cache @@ -1,27 +1,26 @@ -filemap.js,1692120772182,b2265636c7f61a4adeffa57de0bad4d36755cb794446b2134b8f6cdaf8ccaf64 -404.html,1692120786990,b7bab6b83fa074653ff28c8d2a64135d3434575f70a12ab3d3ba8080461b9537 -index.html,1692120773586,ff0001da2a8e11f93d7a35313c22990abb229ca71a17a5671f746a28af4f7ec5 -uv.config.js,1692120772190,a3e16666e0c7ca53f5c897119b0f7de197a7e5ccc53edd9497190f8e1f92c70e -sw.js,1692120772182,53d6f1acf64c6b04f47e4a563c6bda37a4e7a967255162269f1b6e388ecb75eb -assets/index-40fc4048.css,1692120773620,d7f37173053fdf61f31b75c6546bae86ece214407335b991932175f66726d409 -dynamic/dynamic.config.js,1692120772173,e6349c825846ace5396b36d6a448166c0d7f94c863e015edc688900ac91ca5b4 -uv/sw.js,1692120772183,de6735d15c11b5c42bb82007d30288db1672aab1f2f7768409647295addaa077 -uv/uv.client.js,1692120772188,2c2023aab2dbf4e46aa7a71e2375c500f6287a5c1971b364eea96c2533863f6c -uv/uv.config.js,1692120772189,ee0662337aea967ef2b519cdb76ca556bfc11c2a4fd729cbaa6e6fac68bf707e -uv/uv.handler.js,1692120772189,e1bfe6f3c0ef92129cd6210a32ce815f7a13e5166b14b21ebc515c4bacab7a47 -uv/uv.sw.js,1692120772189,4d6870a941269ba331153b2eead1d8ca4beaa4692f1f0f4a128ba358c0bd70e3 -uv/uv.sw.js.map,1692120772190,ecf0aff96fc2dfa6e46c2434ee825906bbbf10d3988a163a18a16993015c25a6 -uv/uv.handler.js.map,1692120772189,a333fb9a2e776a1a8e213e682edc3f55101b873cf12ecdd80c5f67d69282d47a -uv/uv.client.js.map,1692120772188,0eca026b21a3bf0e5dde9c8bc9bd436a383238467715a730209693f95745ddaa -dynamic/dynamic.html.js,1692120772177,86a345ae1b4cbc8e4ed9e5a2963f59d4e61112f54a66a4828f55fdf8326a13b2 -dynamic/dynamic.worker.js,1692120772180,73753cc94736abd9140f57f3f61185a6141b03ba6d3f5134ebdddcfe2e923e57 -dynamic/dynamic.client.js,1692120772170,457d8407bc75402b516a9397550d2d0e083cebf180ecda71ebc7d00588f57083 -dynamic/dynamic.handler.js,1692120772174,1611dd5c7df5e93ffd9eaa49ad128fc06e95134bb60726715d559e9f35626c14 -dynamic/dynamic.html.js.map,1692120772178,e01117579f8eca4ec5c1746bdd1de6f51a7a3e495ae14f7fc54d99acc64169e4 -dynamic/dynamic.worker.js.map,1692120772181,78c249d3269cfe446f0d508b534151bfe6f4accebdc00186f6befadce8a7ddf5 -uv/uv.bundle.js,1692120772184,111b01ce7e0bb7884a3348e39721a674ce7d008973d5d1d9fa9c34fa1845f436 -dynamic/dynamic.client.js.map,1692120772171,d8e4c863a2b498e629905beb27d39b6c4e9059803a3836c2d5951e285effe3db -dynamic/dynamic.handler.js.map,1692120772175,1ef1cd560879f2844cde581e37d928123509d291100226130aa8d170c51d6203 -assets/index-6f25d148.js,1692120773622,d25c62441574e9b3d03dd00cef49b5b91423bb6152ec64dbc8d9ab51d4bc9ffb -uv/uv.bundle.js.map,1692120772185,d626ec0e7024d7d434dd441022351653ea9f313653ff88fc6331d08db32ede40 -assets/index-6f25d148.js.map,1692120773628,3055d212fe81a1ba94bc345b1a0ca7bad3c15eaa9ab005caf0052d2f049a3e61 +index.html,1692234735999,ba4ff34e2e746690557cd9bdc8cfa5ffb6fcf9d2c346b2bc2ed0ebe5019e03e0 +uv.config.js,1692234734643,a3e16666e0c7ca53f5c897119b0f7de197a7e5ccc53edd9497190f8e1f92c70e +sw.js,1692234734628,53d6f1acf64c6b04f47e4a563c6bda37a4e7a967255162269f1b6e388ecb75eb +assets/index-70f9f7bb.css,1692234735998,52cd8519722619bb8501d8fd4428c1daf13fa0694e26e1a3da94316820052c45 +dynamic/dynamic.config.js,1692234734609,80511a1f154430126fdb196cb715c18bc7aa5d5e04dec89bcdcca851f1b4dbdf +uv/sw.js,1692234734629,de6735d15c11b5c42bb82007d30288db1672aab1f2f7768409647295addaa077 +uv/uv.config.js,1692234734642,ee0662337aea967ef2b519cdb76ca556bfc11c2a4fd729cbaa6e6fac68bf707e +uv/uv.client.js,1692234734639,2c2023aab2dbf4e46aa7a71e2375c500f6287a5c1971b364eea96c2533863f6c +uv/uv.handler.js,1692234734642,e1bfe6f3c0ef92129cd6210a32ce815f7a13e5166b14b21ebc515c4bacab7a47 +uv/uv.sw.js,1692234734642,4d6870a941269ba331153b2eead1d8ca4beaa4692f1f0f4a128ba358c0bd70e3 +uv/uv.sw.js.map,1692234734643,ecf0aff96fc2dfa6e46c2434ee825906bbbf10d3988a163a18a16993015c25a6 +uv/uv.handler.js.map,1692234734642,a333fb9a2e776a1a8e213e682edc3f55101b873cf12ecdd80c5f67d69282d47a +uv/uv.client.js.map,1692234734641,0eca026b21a3bf0e5dde9c8bc9bd436a383238467715a730209693f95745ddaa +dynamic/dynamic.html.js,1692234734617,86a345ae1b4cbc8e4ed9e5a2963f59d4e61112f54a66a4828f55fdf8326a13b2 +dynamic/dynamic.client.js,1692234734606,7a2b7a5039de9cfe3354a21c61a94fee39ad195d533597a7bda59719d23de09d +dynamic/dynamic.worker.js,1692234734622,e504e028a5e01fc6f1569ffacc4e673704269a7b2a6724a28c4d1a6ccce7d486 +dynamic/dynamic.handler.js,1692234734611,fa81bb7c3368be4ba691c08be8dd06b8a85e31f7a51522d648df50ebc752b93b +dynamic/dynamic.html.js.map,1692234734620,38ae7dd3466f1de2f0d93174fbb1988d35c2920d24780b9562493f24f263ac0b +uv/uv.bundle.js,1692234734630,111b01ce7e0bb7884a3348e39721a674ce7d008973d5d1d9fa9c34fa1845f436 +dynamic/dynamic.worker.js.map,1692234734625,0490450b5e009236ecaa676f75eff1ba08264d77a0307b3974b3c9bc90e60448 +dynamic/dynamic.handler.js.map,1692234734614,b1b18e29577cd7af3265b20e1e0363861477ad9d66f0f61e92ab321ae7e5b0d9 +dynamic/dynamic.client.js.map,1692234734608,e7a294bc94dfe088dca2fe2e38a17ca0c3edf8145cabb6658875bbb89d72d07c +assets/index-01d2b66d.js,1692234736001,0c0a5897a011c1e8e2726d115b4985f2661a81627a1a16b519652b84946e759f +uv/uv.bundle.js.map,1692234734636,d626ec0e7024d7d434dd441022351653ea9f313653ff88fc6331d08db32ede40 +assets/index-01d2b66d.js.map,1692234736009,d06a984de020aa9cf0e875186f75938be30c6375a7b75511d6c5f3ac8e5f9e45 +filemap.js,1692234772667,937cb396ebb3a63077f4f45faa2d8779e93352668e97091dfba17c7db39c9854 diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5cd72e8..7244a7f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -413,6 +413,9 @@ importers: nexe: specifier: 4.0.0-rc.2 version: 4.0.0-rc.2 + pkg: + specifier: ^5.8.1 + version: 5.8.1 protocol: specifier: workspace:* version: link:../protocol @@ -568,6 +571,15 @@ packages: semver: 6.3.1 dev: true + /@babel/generator@7.18.2: + resolution: {integrity: sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.10 + '@jridgewell/gen-mapping': 0.3.3 + jsesc: 2.5.2 + dev: false + /@babel/generator@7.22.10: resolution: {integrity: sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A==} engines: {node: '>=6.9.0'} @@ -782,6 +794,14 @@ packages: chalk: 2.4.2 js-tokens: 4.0.0 + /@babel/parser@7.18.4: + resolution: {integrity: sha512-FDge0dFazETFcxGw/EXzOkN8uJp0PC7Qbm+Pe9T+av2zlBpOgunFHkQPPn+eRuClU73JF+98D531UgayY89tow==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.22.10 + dev: false + /@babel/parser@7.22.10: resolution: {integrity: sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ==} engines: {node: '>=6.0.0'} @@ -1926,6 +1946,15 @@ packages: transitivePeerDependencies: - supports-color + /@babel/types@7.19.0: + resolution: {integrity: sha512-YuGopBq3ke25BVSiS6fgF49Ul9gH1x70Bcr6bqRLjWCkcX8Hre1/5+z+IiWOIerRMSSEfGZVB9z9kyq7wVs9YA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.22.5 + '@babel/helper-validator-identifier': 7.22.5 + to-fast-properties: 2.0.0 + dev: false + /@babel/types@7.22.10: resolution: {integrity: sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg==} engines: {node: '>=6.9.0'} @@ -5024,7 +5053,6 @@ packages: transitivePeerDependencies: - supports-color dev: false - optional: true /ajv-formats@2.1.1(ajv@8.12.0): resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} @@ -5325,6 +5353,11 @@ packages: resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} dev: false + /at-least-node@1.0.0: + resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} + engines: {node: '>= 4.0.0'} + dev: false + /atomic-sleep@1.0.0: resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} engines: {node: '>=8.0.0'} @@ -6283,6 +6316,11 @@ packages: hasBin: true dev: false + /detect-libc@2.0.2: + resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} + engines: {node: '>=8'} + dev: false + /didyoumean@1.2.2: resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} dev: false @@ -7021,6 +7059,11 @@ packages: signal-exit: 3.0.7 strip-final-newline: 3.0.0 + /expand-template@2.0.3: + resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} + engines: {node: '>=6'} + dev: false + /express-ws@5.0.2(express@4.18.2): resolution: {integrity: sha512-0uvmuk61O9HXgLhGl3QhNSEtRsQevtmbL94/eILaliEADZBHZOQUAiHFrGPrgsjikohyrmSG5g+sCfASTt0lkQ==} engines: {node: '>=4.5.0'} @@ -7528,6 +7571,16 @@ packages: universalify: 0.1.2 dev: false + /fs-extra@9.1.0: + resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} + engines: {node: '>=10'} + dependencies: + at-least-node: 1.0.0 + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.0 + dev: false + /fs-minipass@1.2.7: resolution: {integrity: sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==} dependencies: @@ -7672,6 +7725,10 @@ packages: get-intrinsic: 1.2.1 dev: true + /github-from-package@0.0.0: + resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} + dev: false + /glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -8013,7 +8070,6 @@ packages: transitivePeerDependencies: - supports-color dev: false - optional: true /human-signals@2.1.0: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} @@ -8225,6 +8281,12 @@ packages: dependencies: has: 1.0.3 + /is-core-module@2.9.0: + resolution: {integrity: sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==} + dependencies: + has: 1.0.3 + dev: false + /is-date-object@1.0.5: resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} engines: {node: '>= 0.4'} @@ -8739,7 +8801,6 @@ packages: universalify: 2.0.0 optionalDependencies: graceful-fs: 4.2.11 - dev: true /jsonwebtoken@9.0.1: resolution: {integrity: sha512-K8wx7eJ5TPvEjuiVSkv167EVboBDv9PZdDoF7BgeQnBLVvZWW9clr2PsQHVJDTKaEIH5JBIwHujGcHp7GgI2eg==} @@ -9587,6 +9648,10 @@ packages: minipass: 2.9.0 dev: false + /mkdirp-classic@0.5.3: + resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} + dev: false + /mkdirp@0.5.6: resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} hasBin: true @@ -9636,6 +9701,10 @@ packages: hasBin: true dev: false + /napi-build-utils@1.0.2: + resolution: {integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==} + dev: false + /natural-compare-lite@1.4.0: resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} dev: true @@ -9690,6 +9759,13 @@ packages: engines: {node: '>=12.0.0'} dev: false + /node-abi@3.47.0: + resolution: {integrity: sha512-2s6B2CWZM//kPgwnuI0KrYwNjfdByE25zvAaEpq9IH4zcNsarH8Ihu/UuX6XMPEogDAxkuUFeZn60pXNHAqn3A==} + engines: {node: '>=10'} + dependencies: + semver: 7.5.4 + dev: false + /node-abort-controller@3.1.1: resolution: {integrity: sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==} @@ -10326,6 +10402,51 @@ packages: find-up: 4.1.0 dev: true + /pkg-fetch@3.4.2: + resolution: {integrity: sha512-0+uijmzYcnhC0hStDjm/cl2VYdrmVVBpe7Q8k9YBojxmR5tG8mvR9/nooQq3QSXiQqORDVOTY3XqMEqJVIzkHA==} + hasBin: true + dependencies: + chalk: 4.1.2 + fs-extra: 9.1.0 + https-proxy-agent: 5.0.1 + node-fetch: 2.6.12 + progress: 2.0.3 + semver: 7.5.4 + tar-fs: 2.1.1 + yargs: 16.2.0 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + + /pkg@5.8.1: + resolution: {integrity: sha512-CjBWtFStCfIiT4Bde9QpJy0KeH19jCfwZRJqHFDFXfhUklCx8JoFmMj3wgnEYIwGmZVNkhsStPHEOnrtrQhEXA==} + hasBin: true + peerDependencies: + node-notifier: '>=9.0.1' + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@babel/generator': 7.18.2 + '@babel/parser': 7.18.4 + '@babel/types': 7.19.0 + chalk: 4.1.2 + fs-extra: 9.1.0 + globby: 11.1.0 + into-stream: 6.0.0 + is-core-module: 2.9.0 + minimist: 1.2.8 + multistream: 4.1.0 + pkg-fetch: 3.4.2 + prebuild-install: 7.1.1 + resolve: 1.22.4 + stream-meter: 1.0.4 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + /postcss-import@15.1.0(postcss@8.4.27): resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} engines: {node: '>=14.0.0'} @@ -10396,6 +10517,25 @@ packages: source-map-js: 1.0.2 dev: false + /prebuild-install@7.1.1: + resolution: {integrity: sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==} + engines: {node: '>=10'} + hasBin: true + dependencies: + detect-libc: 2.0.2 + expand-template: 2.0.3 + github-from-package: 0.0.0 + minimist: 1.2.8 + mkdirp-classic: 0.5.3 + napi-build-utils: 1.0.2 + node-abi: 3.47.0 + pump: 3.0.0 + rc: 1.2.8 + simple-get: 4.0.1 + tar-fs: 2.1.1 + tunnel-agent: 0.6.0 + dev: false + /prelude-ls@1.1.2: resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==} engines: {node: '>= 0.8.0'} @@ -10456,6 +10596,11 @@ packages: engines: {node: '>= 0.6.0'} dev: false + /progress@2.0.3: + resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} + engines: {node: '>=0.4.0'} + dev: false + /promise@8.3.0: resolution: {integrity: sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==} dependencies: @@ -11305,6 +11450,18 @@ packages: engines: {node: '>=14'} dev: true + /simple-concat@1.0.1: + resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} + dev: false + + /simple-get@4.0.1: + resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==} + dependencies: + decompress-response: 6.0.0 + once: 1.4.0 + simple-concat: 1.0.1 + dev: false + /simple-update-notifier@2.0.0: resolution: {integrity: sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==} engines: {node: '>=10'} @@ -11456,6 +11613,12 @@ packages: dev: false optional: true + /stream-meter@1.0.4: + resolution: {integrity: sha512-4sOEtrbgFotXwnEuzzsQBYEV1elAeFSO8rSGeTwabuX1RRn/kEq9JVH7I0MRBhKVRR0sJkr0M0QCH7yOLf9fhQ==} + dependencies: + readable-stream: 2.3.8 + dev: false + /stream-shift@1.0.1: resolution: {integrity: sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==} dev: false @@ -11784,6 +11947,15 @@ packages: resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} engines: {node: '>=6'} + /tar-fs@2.1.1: + resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==} + dependencies: + chownr: 1.1.4 + mkdirp-classic: 0.5.3 + pump: 3.0.0 + tar-stream: 2.2.0 + dev: false + /tar-stream@1.6.2: resolution: {integrity: sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==} engines: {node: '>= 0.8.0'} @@ -11797,6 +11969,17 @@ packages: xtend: 4.0.2 dev: false + /tar-stream@2.2.0: + resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} + engines: {node: '>=6'} + dependencies: + bl: 4.1.0 + end-of-stream: 1.4.4 + fs-constants: 1.0.0 + inherits: 2.0.4 + readable-stream: 3.6.2 + dev: false + /tar@4.4.19: resolution: {integrity: sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==} engines: {node: '>=4.5'} @@ -12237,7 +12420,6 @@ packages: /universalify@2.0.0: resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} engines: {node: '>= 10.0.0'} - dev: true /unpipe@1.0.0: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} diff --git a/server/package.json b/server/package.json index 9c642b2..07f8f46 100644 --- a/server/package.json +++ b/server/package.json @@ -27,6 +27,7 @@ "ipaddr.js": "^2.1.0", "isomorphic-ws": "^5.0.0", "nexe": "4.0.0-rc.2", + "pkg": "^5.8.1", "protocol": "workspace:*", "tracker-list": "workspace:*", "ts-node": "^10.9.1", diff --git a/tracker/src/main.ts b/tracker/src/main.ts index 8e3b186..76e5060 100644 --- a/tracker/src/main.ts +++ b/tracker/src/main.ts @@ -79,8 +79,12 @@ app.ws("/join", (ws, _req) => { members[id] = ws; ws.onclose = () => { + console.log(`${_req.ip} disconnected`); delete members[id]; }; + setInterval(() => { + ws.ping() + }, 10000); }); setInterval(() => {