diff --git a/package-lock.json b/package-lock.json index 21fe856..bcda8ab 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "cs2-react-hud", - "version": "1.0.4", + "version": "1.0.6", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "cs2-react-hud", - "version": "1.0.4", + "version": "1.0.6", "license": "MIT", "dependencies": { "csgogsi": "^3.0.5", @@ -62,13 +62,14 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.28.6.tgz", + "integrity": "sha512-JYgintcMjRiCvS8mMECzaEn+m3PfoQiyqukOMCCVQtoJGYJw8j/8LBJEiqkHLkfwCcs74E3pbAUFNg7d9VNJ+Q==", "dev": true, "dependencies": { - "@babel/highlight": "^7.22.13", - "chalk": "^2.4.2" + "@babel/helper-validator-identifier": "^7.28.5", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" }, "engines": { "node": ">=6.9.0" @@ -261,18 +262,18 @@ } }, "node_modules/@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", "dev": true, "engines": { "node": ">=6.9.0" @@ -288,38 +289,26 @@ } }, "node_modules/@babel/helpers": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.15.tgz", - "integrity": "sha512-7pAjK0aSdxOwR+CcYAqgWOGy5dcfvzsTIfFTb2odQqW47MDfv14UaJDY6eng8ylM2EaeKXdxaSWESbkmaQHTmw==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.6.tgz", + "integrity": "sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==", "dev": true, "dependencies": { - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.22.15", - "@babel/types": "^7.22.15" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.13.tgz", - "integrity": "sha512-C/BaXcnnvBCmHTpz/VGZ8jgtE2aYlW4hxDhseJAWZb7gqGM/qtCK6iZUb0TyKFf7BOUsBH7Q7fkRsDRhg1XklQ==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.22.5", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" + "@babel/template": "^7.28.6", + "@babel/types": "^7.28.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", - "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.6.tgz", + "integrity": "sha512-TeR9zWR18BvbfPmGbLampPMW+uW1NZnJlRuuHso8i87QZNq2JRF9i6RgxRqtEq+wQGsS19NNTWr2duhnE49mfQ==", "dev": true, + "dependencies": { + "@babel/types": "^7.28.6" + }, "bin": { "parser": "bin/babel-parser.js" }, @@ -358,14 +347,14 @@ } }, "node_modules/@babel/template": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", + "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" + "@babel/code-frame": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -393,14 +382,13 @@ } }, "node_modules/@babel/types": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", - "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.6.tgz", + "integrity": "sha512-0ZrskXVEHSWIqZM/sQZ4EV3jZJXRkio/WCxaqKZP1g//CEWEPSfeZFcms4XeKBCHU0ZKnIkdJeU/kF+eRp5lBg==", "dev": true, "dependencies": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" }, "engines": { "node": ">=6.9.0" @@ -1751,9 +1739,9 @@ } }, "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "dependencies": { "balanced-match": "^1.0.0", @@ -1761,12 +1749,12 @@ } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" @@ -1909,20 +1897,6 @@ } ] }, - "node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/chokidar": { "version": "3.5.3", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", @@ -2187,9 +2161,9 @@ } }, "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, "dependencies": { "path-key": "^3.1.0", @@ -2306,27 +2280,27 @@ } }, "node_modules/engine.io-client": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.5.2.tgz", - "integrity": "sha512-CQZqbrpEYnrpGqC07a9dJDz4gePZUgTPMU3NKJPSeQOyw27Tst4Pl3FemKoFGAlHzgZmKjoRmiJvbWfhCXUlIg==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.5.4.tgz", + "integrity": "sha512-GeZeeRjpD2qf49cZQ0Wvh/8NJNfeXkXXcoGh+F77oEAgo9gUHwT1fCRxSNU+YEEaysOJTnsFHmM5oAcPy4ntvQ==", "dependencies": { "@socket.io/component-emitter": "~3.1.0", "debug": "~4.3.1", "engine.io-parser": "~5.2.1", - "ws": "~8.11.0", + "ws": "~8.17.1", "xmlhttprequest-ssl": "~2.0.0" } }, "node_modules/engine.io-client/node_modules/ws": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", - "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", + "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", "engines": { "node": ">=10.0.0" }, "peerDependencies": { "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" + "utf-8-validate": ">=5.0.2" }, "peerDependenciesMeta": { "bufferutil": { @@ -2417,15 +2391,6 @@ "node": ">=6" } }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/eslint": { "version": "8.49.0", "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.49.0.tgz", @@ -2768,9 +2733,9 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, "dependencies": { "to-regex-range": "^5.0.1" @@ -2937,15 +2902,6 @@ "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true }, - "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", @@ -3113,9 +3069,9 @@ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", "dev": true, "dependencies": { "argparse": "^2.0.1" @@ -3194,21 +3150,21 @@ } }, "node_modules/jwa": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", - "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.2.tgz", + "integrity": "sha512-eeH5JO+21J78qMvTIDdBXidBd6nG2kZjg5Ohz/1fpa28Z4CcsWUzJ1ZZyFq/3z3N17aZy+ZuBoHljASbL1WfOw==", "dependencies": { - "buffer-equal-constant-time": "1.0.1", + "buffer-equal-constant-time": "^1.0.1", "ecdsa-sig-formatter": "1.0.11", "safe-buffer": "^5.0.1" } }, "node_modules/jws": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", - "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.3.tgz", + "integrity": "sha512-byiJ0FLRdLdSVSReO/U4E7RoEyOCKnEnEPMjq3HxWtvzLsV08/i5RQKsFVNkCldrCaPr2vDNAOMsfs8T/Hze7g==", "dependencies": { - "jwa": "^1.4.1", + "jwa": "^1.4.2", "safe-buffer": "^5.0.1" } }, @@ -3383,12 +3339,12 @@ } }, "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, "dependencies": { - "braces": "^3.0.2", + "braces": "^3.0.3", "picomatch": "^2.3.1" }, "engines": { @@ -3413,9 +3369,9 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "node_modules/nanoid": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", "dev": true, "funding": [ { @@ -3633,9 +3589,9 @@ } }, "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", "dev": true }, "node_modules/picomatch": { @@ -3856,9 +3812,9 @@ } }, "node_modules/rollup": { - "version": "3.29.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.1.tgz", - "integrity": "sha512-c+ebvQz0VIH4KhhCpDsI+Bik0eT8ZFEVZEYw0cGMVqIP8zc+gnwl7iXCamTw7vzv2MeuZFZfdx5JJIq+ehzDlg==", + "version": "3.29.5", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.5.tgz", + "integrity": "sha512-GVsDdsbJzzy4S/v3dqWPJ7EfvZJfCHiDqe80IyrF59LYuP+e6U1LJoUqeuqRbwAWoMNoXivMNeNAOf5E22VA1w==", "dev": true, "bin": { "rollup": "dist/bin/rollup" @@ -4163,18 +4119,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/svg-parser": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", @@ -4241,15 +4185,6 @@ "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", "dev": true }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -4389,9 +4324,9 @@ } }, "node_modules/vite": { - "version": "4.5.3", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.3.tgz", - "integrity": "sha512-kQL23kMeX92v3ph7IauVkXkikdDRsYMGTVl5KY2E9OY4ONLvkHf04MDTbnfo6NKxZiDLWzVpP5oTa8hQD8U3dg==", + "version": "4.5.14", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.14.tgz", + "integrity": "sha512-+v57oAaoYNnO3hIu5Z/tJRZjq5aHM2zDve9YZ8HngVHbhk66RStobhb1sqPMIPEleV6cNKYK4eGrAbE9Ulbl2g==", "dev": true, "dependencies": { "esbuild": "^0.18.10", @@ -4543,9 +4478,9 @@ "dev": true }, "node_modules/ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", "engines": { "node": ">=8.3.0" }, diff --git a/src/API/index.ts b/src/API/index.ts index 82fd2ee..f2e87ac 100644 --- a/src/API/index.ts +++ b/src/API/index.ts @@ -1,5 +1,4 @@ import * as I from './types'; -import { MapConfig } from '../HUD/Radar/LexoRadar/maps'; const query = new URLSearchParams(window.location.search); @@ -8,7 +7,7 @@ export const variant = query.get("variant") || "default"; export const isDev = !query.get("isProd"); -export const config = {apiAddress:isDev ? `http://localhost:${port}/` : '/'} +export const config = { apiAddress: isDev ? `http://localhost:${port}/` : '/' } export const apiUrl = config.apiAddress; export async function apiV2(url: string, method = 'GET', body?: any) { @@ -33,11 +32,11 @@ const api = { getCurrent: async (): Promise => apiV2(`match/current`) }, camera: { - get: (): Promise<{ availablePlayers: ({steamid:string, label: string})[], uuid: string }> => apiV2('camera'), + get: (): Promise<{ availablePlayers: ({ steamid: string, label: string })[], uuid: string }> => apiV2('camera'), toggleVmix: (status?: boolean) => new Promise(r => { const controller = new AbortController(); const signal = controller.signal; - // let finished = false; + // let finished = false; const timeoutId = setTimeout(() => { controller.abort(); r(false); @@ -55,14 +54,14 @@ const api = { get: (): Promise => apiV2(`teams`), }, players: { - get: async (steamids?: string[]): Promise => apiV2(steamids ? `players?steamids=${steamids.join(';')}` :`players`), - getAvatarURLs: async (steamid: string): Promise<{custom: string, steam: string}> => apiV2(`players/avatar/steamid/${steamid}`) + get: async (steamids?: string[]): Promise => apiV2(steamids ? `players?steamids=${steamids.join(';')}` : `players`), + getAvatarURLs: async (steamid: string): Promise<{ custom: string, steam: string }> => apiV2(`players/avatar/steamid/${steamid}`) }, tournaments: { get: () => apiV2('tournament') }, maps: { - get: (): Promise<{ [key: string] : MapConfig}> => apiV2('radar/maps') + get: (): Promise => apiV2('game-maps/cs2') } } diff --git a/src/API/types.ts b/src/API/types.ts index ad811f9..305fb33 100644 --- a/src/API/types.ts +++ b/src/API/types.ts @@ -159,3 +159,28 @@ export type Knife = | "knife_ursus"// | "knife_widowmaker"// | "knife_canis";// + +export interface GameMapRadar { + id: number; + lhmId: string; + originHeight?: number; + originX?: number; + originY?: number; + pxPerUX?: number; + pxPerUY?: number; + radar: string; + visibleOverHeight: number | null; + visibleUnderHeight: number | null; +} + +export interface GameMap { + _id: string; + name: string; + lhmId: string; + game: string; + image?: string; + radars: GameMapRadar[]; + verticalImage?: string; + inVetoPool: boolean; + isActive: boolean; +} diff --git a/src/HUD/Radar/LexoRadar/maps/de_ancient/index.ts b/src/HUD/Radar/LexoRadar/maps/de_ancient/index.ts deleted file mode 100644 index 9bf4045..0000000 --- a/src/HUD/Radar/LexoRadar/maps/de_ancient/index.ts +++ /dev/null @@ -1,15 +0,0 @@ -import radar from './radar.png' - -const config = { - "config": { - "origin": { - "x": 583.2590342775677, - "y": 428.92222042149115 - }, - "pxPerUX": 0.1983512056034216, - "pxPerUY": -0.20108163914549304 - }, - "file":radar -} - -export default config; \ No newline at end of file diff --git a/src/HUD/Radar/LexoRadar/maps/de_ancient/radar.png b/src/HUD/Radar/LexoRadar/maps/de_ancient/radar.png deleted file mode 100644 index 6df892e..0000000 Binary files a/src/HUD/Radar/LexoRadar/maps/de_ancient/radar.png and /dev/null differ diff --git a/src/HUD/Radar/LexoRadar/maps/de_cache/index.ts b/src/HUD/Radar/LexoRadar/maps/de_cache/index.ts deleted file mode 100644 index 1d38d30..0000000 --- a/src/HUD/Radar/LexoRadar/maps/de_cache/index.ts +++ /dev/null @@ -1,15 +0,0 @@ -import radar from './radar.png' - -const config = { - "config": { - "origin": { - "x": 361.7243823603619, - "y": 579.553558767951 - }, - "pxPerUX": 0.1830927328891829, - "pxPerUY": -0.17650705879909936 - }, - "file":radar -} - -export default config; \ No newline at end of file diff --git a/src/HUD/Radar/LexoRadar/maps/de_cache/radar.png b/src/HUD/Radar/LexoRadar/maps/de_cache/radar.png deleted file mode 100644 index 40c6839..0000000 Binary files a/src/HUD/Radar/LexoRadar/maps/de_cache/radar.png and /dev/null differ diff --git a/src/HUD/Radar/LexoRadar/maps/de_dust2/index.ts b/src/HUD/Radar/LexoRadar/maps/de_dust2/index.ts deleted file mode 100644 index 8acb235..0000000 --- a/src/HUD/Radar/LexoRadar/maps/de_dust2/index.ts +++ /dev/null @@ -1,15 +0,0 @@ -import radar from './radar.png' - -const config = { - "config": { - "origin": { - "x": 563.1339320329055, - "y": 736.9535330430065 - }, - "pxPerUX": 0.2278315639654376, - "pxPerUY": -0.22776482548619972 - }, - "file":radar -} - -export default config; \ No newline at end of file diff --git a/src/HUD/Radar/LexoRadar/maps/de_dust2/radar.png b/src/HUD/Radar/LexoRadar/maps/de_dust2/radar.png deleted file mode 100644 index cb98891..0000000 Binary files a/src/HUD/Radar/LexoRadar/maps/de_dust2/radar.png and /dev/null differ diff --git a/src/HUD/Radar/LexoRadar/maps/de_inferno/index.ts b/src/HUD/Radar/LexoRadar/maps/de_inferno/index.ts deleted file mode 100644 index 8b6bd8c..0000000 --- a/src/HUD/Radar/LexoRadar/maps/de_inferno/index.ts +++ /dev/null @@ -1,15 +0,0 @@ -import radar from './radar.png' - -const config = { - "config": { - "origin": { - "x": 426.51386123945593, - "y": 790.7266981544722 - }, - "pxPerUX": 0.2041685571162696, - "pxPerUY": -0.20465735943851654 - }, - "file":radar -} - -export default config; \ No newline at end of file diff --git a/src/HUD/Radar/LexoRadar/maps/de_inferno/radar.png b/src/HUD/Radar/LexoRadar/maps/de_inferno/radar.png deleted file mode 100644 index 65fbbb1..0000000 Binary files a/src/HUD/Radar/LexoRadar/maps/de_inferno/radar.png and /dev/null differ diff --git a/src/HUD/Radar/LexoRadar/maps/de_mirage/index.ts b/src/HUD/Radar/LexoRadar/maps/de_mirage/index.ts deleted file mode 100644 index ac1d7c9..0000000 --- a/src/HUD/Radar/LexoRadar/maps/de_mirage/index.ts +++ /dev/null @@ -1,15 +0,0 @@ -import radar from './radar.png' - -const config = { - "config": { - "origin": { - "x": 645.7196725473384, - "y": 340.2921393569175 - }, - "pxPerUX": 0.20118507589946494, - "pxPerUY": -0.20138282875746794 - }, - "file": radar -} - -export default config; \ No newline at end of file diff --git a/src/HUD/Radar/LexoRadar/maps/de_mirage/radar.png b/src/HUD/Radar/LexoRadar/maps/de_mirage/radar.png deleted file mode 100644 index ac1a19c..0000000 Binary files a/src/HUD/Radar/LexoRadar/maps/de_mirage/radar.png and /dev/null differ diff --git a/src/HUD/Radar/LexoRadar/maps/de_nuke/index.ts b/src/HUD/Radar/LexoRadar/maps/de_nuke/index.ts deleted file mode 100644 index b0c7414..0000000 --- a/src/HUD/Radar/LexoRadar/maps/de_nuke/index.ts +++ /dev/null @@ -1,37 +0,0 @@ -import radar from './radar.png' - -const high = { - "origin": { - "x": 473.1284773048749, - "y": 165.7329003801045 - }, - "pxPerUX": 0.14376095926926907, - "pxPerUY": -0.14736670935219626 -}; - -const low = { - "origin": { - "x": 473.66746071612374, - "y": 638.302101754172 - }, - "pxPerUX": 0.1436068746398272, - "pxPerUY": -0.14533406508526941 -}; - -const config = { - configs: [ - { - id: 'high', - config: high, - isVisible: (height: number) => height >= -450, - }, - { - id: 'low', - config: low, - isVisible: (height: number) => height < -450, - }, - ], - file: radar -} - -export default config; \ No newline at end of file diff --git a/src/HUD/Radar/LexoRadar/maps/de_nuke/radar.png b/src/HUD/Radar/LexoRadar/maps/de_nuke/radar.png deleted file mode 100644 index 3e620f7..0000000 Binary files a/src/HUD/Radar/LexoRadar/maps/de_nuke/radar.png and /dev/null differ diff --git a/src/HUD/Radar/LexoRadar/maps/de_overpass/index.ts b/src/HUD/Radar/LexoRadar/maps/de_overpass/index.ts deleted file mode 100644 index fa8aa24..0000000 --- a/src/HUD/Radar/LexoRadar/maps/de_overpass/index.ts +++ /dev/null @@ -1,15 +0,0 @@ -import radar from './radar.png' - -const config = { - "config": { - "origin": { - "x": 927.3988878244819, - "y": 343.8221009185496 - }, - "pxPerUX": 0.1923720959212443, - "pxPerUY": -0.19427507725530338 - }, - "file":radar -} - -export default config; \ No newline at end of file diff --git a/src/HUD/Radar/LexoRadar/maps/de_overpass/radar.png b/src/HUD/Radar/LexoRadar/maps/de_overpass/radar.png deleted file mode 100644 index 6cd0d66..0000000 Binary files a/src/HUD/Radar/LexoRadar/maps/de_overpass/radar.png and /dev/null differ diff --git a/src/HUD/Radar/LexoRadar/maps/de_train/index.ts b/src/HUD/Radar/LexoRadar/maps/de_train/index.ts deleted file mode 100644 index 14e3828..0000000 --- a/src/HUD/Radar/LexoRadar/maps/de_train/index.ts +++ /dev/null @@ -1,15 +0,0 @@ -import radar from './radar.png' - -const config = { - "config": { - "origin": { - "x": 557.7279495268139, - "y": 507.83243734804853 - }, - "pxPerUX": 0.22712933753943218, - "pxPerUY": -0.23013108811174968 - }, - "file":radar -} - -export default config; \ No newline at end of file diff --git a/src/HUD/Radar/LexoRadar/maps/de_train/radar.png b/src/HUD/Radar/LexoRadar/maps/de_train/radar.png deleted file mode 100644 index ef80c65..0000000 Binary files a/src/HUD/Radar/LexoRadar/maps/de_train/radar.png and /dev/null differ diff --git a/src/HUD/Radar/LexoRadar/maps/de_vertigo/index.ts b/src/HUD/Radar/LexoRadar/maps/de_vertigo/index.ts deleted file mode 100644 index cad07f1..0000000 --- a/src/HUD/Radar/LexoRadar/maps/de_vertigo/index.ts +++ /dev/null @@ -1,51 +0,0 @@ -import radar from './radar.png' - -const high = { - "origin": { - "x": 784.4793452283254, - "y": 255.42597837029027 - }, - "pxPerUX": 0.19856123172015677, - "pxPerUY": -0.19820052722907044 -}; - -const low = { - "origin": { - "x": 780.5145858437052, - "y": 695.4259783702903 - }, - "pxPerUX": 0.1989615567841087, - "pxPerUY": -0.19820052722907044 -}; - -const config = { - configs: [ - { - id: 'high', - config: high, - isVisible: (height: number) => height >= 11700, - }, - { - id: 'low', - config: low, - isVisible: (height: number) => height < 11700, - }, - ], - file: radar -} - -export default config; -/* -import radar from './radar.png' - -export default { - "config": { - "origin": { - "x": 971.5536135341899, - "y": 424.5618319055844 - }, - "pxPerUX": 0.34708183044632246, - "pxPerUY": -0.3450882697407333 - }, - "file":radar -}*/ \ No newline at end of file diff --git a/src/HUD/Radar/LexoRadar/maps/de_vertigo/radar.png b/src/HUD/Radar/LexoRadar/maps/de_vertigo/radar.png deleted file mode 100644 index e96726d..0000000 Binary files a/src/HUD/Radar/LexoRadar/maps/de_vertigo/radar.png and /dev/null differ diff --git a/src/HUD/Radar/LexoRadar/maps/index.ts b/src/HUD/Radar/LexoRadar/maps/index.ts index 170721d..3e8c237 100644 --- a/src/HUD/Radar/LexoRadar/maps/index.ts +++ b/src/HUD/Radar/LexoRadar/maps/index.ts @@ -1,68 +1,125 @@ -import de_mirage from './de_mirage'; -import de_cache from './de_cache'; -import de_dust2 from './de_dust2'; -import de_inferno from './de_inferno'; -import de_train from './de_train'; -import de_overpass from './de_overpass'; -import de_nuke from './de_nuke'; -import de_vertigo from './de_vertigo'; -import de_ancient from './de_ancient'; -import api from '../../../../API'; -import { Player } from 'csgogsi'; +import { Player } from "csgogsi"; +import api, { apiUrl } from "../../../../API"; +import { GameMapRadar } from "../../../../API/types"; export type ZoomAreas = { threshold: (players: Player[]) => boolean; - origin: number[], - zoom: number -} + origin: number[]; + zoom: number; +}; + export interface ScaleConfig { origin: { - x:number, - y:number - }, - pxPerUX: number, - pxPerUY: number, - originHeight?: number + x: number; + y: number; + }; + pxPerUX: number; + pxPerUY: number; + originHeight?: number; } +type RadarFile = string; interface SingleLayer { - config: ScaleConfig, - file: string - zooms?: ZoomAreas[] + config: ScaleConfig; + file: RadarFile; + zooms?: ZoomAreas[]; } interface DoubleLayer { configs: { - id: string, - config: ScaleConfig, - isVisible: (height: number) => boolean - }[], - file: string - zooms?: ZoomAreas[] + id: string; + config: ScaleConfig; + isVisible: (height: number) => boolean; + }[]; + file: RadarFile; + zooms?: ZoomAreas[]; } export type MapConfig = SingleLayer | DoubleLayer; -const maps: { [key: string] : MapConfig} = { - de_mirage, - de_cache, - de_inferno, - de_dust2, - de_train, - de_overpass, - de_nuke, - de_vertigo, - de_ancient -} +const maps: { [key: string]: MapConfig } = {}; -api.maps.get().then(fallbackMaps => { - const mapNames = Object.keys(fallbackMaps); - for(const mapName of mapNames){ - if(mapName in maps){ - continue; - } - maps[mapName] = fallbackMaps[mapName]; - } -}).catch(() => {}); +api.maps + .get() + .then((newMaps) => { + newMaps.forEach((map) => { + const mainRadar: GameMapRadar | null = + map.radars.find((radar) => radar.lhmId === "default") || + map.radars[0] || + null; + const hasMultipleRadars = map.radars.length > 1; + if (!mainRadar) return; -export default maps; \ No newline at end of file + if (!hasMultipleRadars) { + maps[map.lhmId] = { + config: { + origin: { + x: mainRadar.originX || 0, + y: mainRadar.originY || 0, + }, + pxPerUX: mainRadar.pxPerUX || 0, + pxPerUY: mainRadar.pxPerUY || 0, + }, + file: `${apiUrl}api/game-maps/cs2/image/${map.lhmId}/radar`, + }; + } else { + maps[map.lhmId] = { + configs: map.radars.map((m: any) => ({ + id: m.lhmId, + config: { + origin: { + x: m.originX || 0, + y: m.originY || 0, + }, + pxPerUX: m.pxPerUX || 0, + pxPerUY: m.pxPerUY || 0, + }, + isVisible: (height: number) => + (m.visibleUnderHeight !== null + ? m.visibleUnderHeight < height + : true) && + (m.visibleOverHeight !== null + ? m.visibleOverHeight > height + : true), + })), + file: `${apiUrl}api/game-maps/cs2/image/${map.lhmId}/radar`, + }; + } + + if (map.lhmId === "de_vertigo") { + maps[map.lhmId].zooms = [ + { + threshold: (players: Player[]) => { + const alivePlayers = players.filter( + (player) => player.state.health + ); + return ( + alivePlayers.length > 0 && + alivePlayers.every((player) => player.position[2] < 11700) + ); + }, + origin: [472, 1130], + zoom: 2, + }, + { + threshold: (players: Player[]) => { + const alivePlayers = players.filter( + (player) => player.state.health + ); + return ( + alivePlayers.length > 0 && + players + .filter((player) => player.state.health) + .every((player) => player.position[2] >= 11700) + ); + }, + origin: [528, 15], + zoom: 1.75, + }, + ]; + } + }); + }) + .catch(() => { }); + +export default maps;