From cfbbd92d359ed64a374428b22920064f2f41482e Mon Sep 17 00:00:00 2001 From: xshady Date: Thu, 17 Nov 2022 19:47:43 +0300 Subject: [PATCH 1/5] upgrade some npm packages --- .gitignore | 4 +- client/package.json | 8 +- frontend/package.json | 14 +- server/package.json | 8 +- server/yarn.lock | 272 +++++++++++++----------- yarn.lock | 466 +++++++++++++++--------------------------- 6 files changed, 332 insertions(+), 440 deletions(-) diff --git a/.gitignore b/.gitignore index db78892..6c8c1b8 100644 --- a/.gitignore +++ b/.gitignore @@ -261,4 +261,6 @@ fabric.properties # https://plugins.jetbrains.com/plugin/12206-codestream .idea/codestream.xml -# End of https://www.toptal.com/developers/gitignore/api/macos,node,webstorm \ No newline at end of file +# End of https://www.toptal.com/developers/gitignore/api/macos,node,webstorm + +.vscode diff --git a/client/package.json b/client/package.json index 8324c73..4014669 100644 --- a/client/package.json +++ b/client/package.json @@ -12,10 +12,10 @@ "author": "", "license": "ISC", "devDependencies": { - "@altv/types-client": "^1.9.0", - "@altv/types-natives": "^1.4.3", - "@altv/types-shared": "^1.0.8", - "esbuild": "^0.13.10" + "@altv/types-client": "^2.3.8", + "@altv/types-natives": "^1.4.5", + "@altv/types-shared": "^1.3.2", + "esbuild": "^0.15.14" }, "dependencies": { "util": "^0.12.4" diff --git a/frontend/package.json b/frontend/package.json index 0123ec2..7c0322d 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -40,18 +40,18 @@ ] }, "devDependencies": { + "@altv/types-client": "^2.3.8", + "@altv/types-natives": "^1.4.5", + "@altv/types-server": "^2.5.1", + "@altv/types-shared": "^1.3.2", + "@altv/types-webview": "^1.0.5", + "@craco/craco": "^6.4.0", "@types/node": "^12.0.0", "@types/react": "^17.0.0", "@types/react-dom": "^17.0.0", "monaco-editor-webpack-plugin": "^5.0.0", - "@altv/types-client": "^1.9.0", - "@altv/types-natives": "^1.4.3", - "@altv/types-server": "^2.0.7", - "@altv/types-shared": "^1.0.8", - "@altv/types-webview": "^1.0.2", - "@craco/craco": "^6.4.0", "raw-loader": "^4.0.2", "react-app-rewired": "^2.1.8", - "typescript": "^4.4.4" + "typescript": "^4.9.3" } } diff --git a/server/package.json b/server/package.json index fffa3c8..faf4ec2 100644 --- a/server/package.json +++ b/server/package.json @@ -12,11 +12,11 @@ "author": "", "license": "ISC", "dependencies": { - "esbuild": "^0.13.10", - "typescript": "^4.4.4" + "esbuild": "^0.15.14", + "typescript": "^4.9.3" }, "devDependencies": { - "@altv/types-client": "^1.9.0", - "@altv/types-server": "^2.0.7" + "@altv/types-client": "^2.3.8", + "@altv/types-server": "^2.5.1" } } diff --git a/server/yarn.lock b/server/yarn.lock index 25937d9..cafefa5 100644 --- a/server/yarn.lock +++ b/server/yarn.lock @@ -2,125 +2,155 @@ # yarn lockfile v1 -"@altv/types-client@^1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@altv/types-client/-/types-client-1.9.0.tgz#2b1167b1f6afcaf96481e08b614984e8440e3412" - integrity sha512-HhY6wshHsdhvwhbeZftJ/TiI/mRgd5cgm7bVHc2We8aGdlxsh0zHuhmFB97WHgUNZ2nL9AeEATgvCt7cOu1QSw== - -"@altv/types-server@^2.0.7": - version "2.0.7" - resolved "https://registry.yarnpkg.com/@altv/types-server/-/types-server-2.0.7.tgz#02e8b8c4dd91de6e7f79d7f3deffe0d29cf7469a" - integrity sha512-uYgYxSzZ+xXEZr6wTUUNB+qsVUW69+zV+pey/xGpAy1KlaAEQm780KCIt/inpon4TSJ30ACIU69dH/mW2Z2jJQ== - -esbuild-android-arm64@0.13.10: - version "0.13.10" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.13.10.tgz#3545c71bf01e8b36535681078cdb0191c8654452" - integrity sha512-1sCdVAq64yMp2Uhlu+97/enFxpmrj31QHtThz7K+/QGjbHa7JZdBdBsZCzWJuntKHZ+EU178tHYkvjaI9z5sGg== - -esbuild-darwin-64@0.13.10: - version "0.13.10" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.13.10.tgz#143e34d7f5d3860cc681c64c860f531e60496b5b" - integrity sha512-XlL+BYZ2h9cz3opHfFgSHGA+iy/mljBFIRU9q++f9SiBXEZTb4gTW/IENAD1l9oKH0FdO9rUpyAfV+lM4uAxrg== - -esbuild-darwin-arm64@0.13.10: - version "0.13.10" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.13.10.tgz#456a044b789d5d256af8d264314da5217ca9fcd1" - integrity sha512-RZMMqMTyActMrXKkW71IQO8B0tyQm0Bm+ZJQWNaHJchL5LlqazJi7rriwSocP+sKLszHhsyTEBBh6qPdw5g5yQ== - -esbuild-freebsd-64@0.13.10: - version "0.13.10" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.13.10.tgz#dcd829a4a95226716faae8a2f378f08688f921b6" - integrity sha512-pf4BEN9reF3jvZEZdxljVgOv5JS4kuYFCI78xk+2HWustbLvTP0b9XXfWI/OD0ZLWbyLYZYIA+VbVe4tdAklig== - -esbuild-freebsd-arm64@0.13.10: - version "0.13.10" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.13.10.tgz#116c254b3eb1b9d1dd6f12e0271967de4512ca09" - integrity sha512-j9PUcuNWmlxr4/ry4dK/s6zKh42Jhh/N5qnAAj7tx3gMbkIHW0JBoVSbbgp97p88X9xgKbXx4lG2sJDhDWmsYQ== - -esbuild-linux-32@0.13.10: - version "0.13.10" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.13.10.tgz#131971622c38e5aa014303a494a1b5c3cc90f2be" - integrity sha512-imtdHG5ru0xUUXuc2ofdtyw0fWlHYXV7JjF7oZHgmn0b+B4o4Nr6ZON3xxoo1IP8wIekW+7b9exIf/MYq0QV7w== - -esbuild-linux-64@0.13.10: - version "0.13.10" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.13.10.tgz#48826c388abd5dde3fc098a8ef38d8b548674f93" - integrity sha512-O7fzQIH2e7GC98dvoTH0rad5BVLm9yU3cRWfEmryCEIFTwbNEWCEWOfsePuoGOHRtSwoVY1hPc21CJE4/9rWxQ== - -esbuild-linux-arm64@0.13.10: - version "0.13.10" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.13.10.tgz#0be9ffc92e30641869c7fbca0ec5d30fa8cbddd6" - integrity sha512-bkGxN67S2n0PF4zhh87/92kBTsH2xXLuH6T5omReKhpXdJZF5SVDSk5XU/nngARzE+e6QK6isK060Dr5uobzNw== - -esbuild-linux-arm@0.13.10: - version "0.13.10" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.13.10.tgz#8c15bcaa41a022c834f049a71a7d1fbade507532" - integrity sha512-R2Jij4A0K8BcmBehvQeUteQEcf24Y2YZ6mizlNFuJOBPxe3vZNmkZ4mCE7Pf1tbcqA65qZx8J3WSHeGJl9EsJA== - -esbuild-linux-mips64le@0.13.10: - version "0.13.10" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.13.10.tgz#5bb33a2bc82e9c78ed724f345a8359610ddc9695" - integrity sha512-UDNO5snJYOLWrA2uOUxM/PVbzzh2TR7Zf2i8zCCuFlYgvAb/81XO+Tasp3YAElDpp4VGqqcpBXLtofa9nrnJGA== - -esbuild-linux-ppc64le@0.13.10: - version "0.13.10" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.13.10.tgz#18703cd0d52447d97486735b8e79fba7d81eac65" - integrity sha512-xu6J9rMWu1TcEGuEmoc8gsTrJCEPsf+QtxK4IiUZNde9r4Q4nlRVah4JVZP3hJapZgZJcxsse0XiKXh1UFdOeA== - -esbuild-netbsd-64@0.13.10: - version "0.13.10" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.13.10.tgz#3ecb06158aadb5b7396a5b7632069181b1591c56" - integrity sha512-d+Gr0ScMC2J83Bfx/ZvJHK0UAEMncctwgjRth9d4zppYGLk/xMfFKxv5z1ib8yZpQThafq8aPm8AqmFIJrEesw== - -esbuild-openbsd-64@0.13.10: - version "0.13.10" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.13.10.tgz#3a6950b1d955de921ac52f7af0b4865e89d6e4f1" - integrity sha512-OuCYc+bNKumBvxflga+nFzZvxsgmWQW+z4rMGIjM5XIW0nNbGgRc5p/0PSDv0rTdxAmwCpV69fezal0xjrDaaA== - -esbuild-sunos-64@0.13.10: - version "0.13.10" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.13.10.tgz#ad407f721a8b5727fca31958b5eab1b0232e2d73" - integrity sha512-gUkgivZK11bD56wDoLsnYrsOHD/zHzzLSdqKcIl3wRMulfHpRBpoX8gL0dbWr+8N9c+1HDdbNdvxSRmZ4RCVwg== - -esbuild-windows-32@0.13.10: - version "0.13.10" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.13.10.tgz#ddaaa0b6e172df6512edc7a91bd2456615cfa914" - integrity sha512-C1xJ54E56dGWRaYcTnRy7amVZ9n1/D/D2/qVw7e5EtS7p+Fv/yZxxgqyb1hMGKXgtFYX4jMpU5eWBF/AsYrn+A== - -esbuild-windows-64@0.13.10: - version "0.13.10" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.13.10.tgz#93d861abf36bf71b6e61f5cbd2e42762ce5cb83a" - integrity sha512-6+EXEXopEs3SvPFAHcps2Krp/FvqXXsOQV33cInmyilb0ZBEQew4MIoZtMIyB3YXoV6//dl3i6YbPrFZaWEinQ== - -esbuild-windows-arm64@0.13.10: - version "0.13.10" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.13.10.tgz#85a2d338aaa8b0cd1d8ecbe9150def9a608e8947" - integrity sha512-xTqM/XKhORo6u9S5I0dNJWEdWoemFjogLUTVLkQMVyUV3ZuMChahVA+bCqKHdyX55pCFxD/8v2fm3/sfFMWN+g== - -esbuild@^0.13.10: - version "0.13.10" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.13.10.tgz#e3d24d59f1d8b2130d746ca858efcb80e1d99b26" - integrity sha512-0NfCsnAh5XatHIx6Cu93wpR2v6opPoOMxONYhaAoZKzGYqAE+INcDeX2wqMdcndvPQdWCuuCmvlnsh0zmbHcSQ== +"@altv/types-client@^2.3.8": + version "2.3.8" + resolved "https://registry.yarnpkg.com/@altv/types-client/-/types-client-2.3.8.tgz#fc39dc9de1e6c0189388d272386c0b0f9306f976" + integrity sha512-wwNdkJeJhCXBYoRoJ903YaLh1aQs6fqfYHujL5pSf70E7HadzsxO9GQcRGFZQHusPw+XOKranUW7nkXzCS2jFA== + +"@altv/types-server@^2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@altv/types-server/-/types-server-2.5.1.tgz#29b0b355c33cd6ab789c2a13698d29ed13cec16f" + integrity sha512-4REyL1/8eC8XZOFP6zlYAI6POG1EoCAxc7KLwFDkAFoSfGy7gXIjtNWL83YkyzEUpSG47mAl9tgGWjJf3B8ExQ== + +"@esbuild/android-arm@0.15.14": + version "0.15.14" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.14.tgz#5d0027f920eeeac313c01fd6ecb8af50c306a466" + integrity sha512-+Rb20XXxRGisNu2WmNKk+scpanb7nL5yhuI1KR9wQFiC43ddPj/V1fmNyzlFC9bKiG4mYzxW7egtoHVcynr+OA== + +"@esbuild/linux-loong64@0.15.14": + version "0.15.14" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.14.tgz#1221684955c44385f8af34f7240088b7dc08d19d" + integrity sha512-eQi9rosGNVQFJyJWV0HCA5WZae/qWIQME7s8/j8DMvnylfBv62Pbu+zJ2eUDqNf2O4u3WB+OEXyfkpBoe194sg== + +esbuild-android-64@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.14.tgz#114e55b0d58fb7b45d7fa3d93516bd13fc8869cc" + integrity sha512-HuilVIb4rk9abT4U6bcFdU35UHOzcWVGLSjEmC58OVr96q5UiRqzDtWjPlCMugjhgUGKEs8Zf4ueIvYbOStbIg== + +esbuild-android-arm64@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.14.tgz#8541f38a9aacf88e574fb13f5ad4ca51a04c12bb" + integrity sha512-/QnxRVxsR2Vtf3XottAHj7hENAMW2wCs6S+OZcAbc/8nlhbAL/bCQRCVD78VtI5mdwqWkVi3wMqM94kScQCgqg== + +esbuild-darwin-64@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.14.tgz#b40b334db81ff1e3677a6712b23761748a157c57" + integrity sha512-ToNuf1uifu8hhwWvoZJGCdLIX/1zpo8cOGnT0XAhDQXiKOKYaotVNx7pOVB1f+wHoWwTLInrOmh3EmA7Fd+8Vg== + +esbuild-darwin-arm64@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.14.tgz#44b5c1477bb7bdb852dd905e906f68765e2828bc" + integrity sha512-KgGP+y77GszfYJgceO0Wi/PiRtYo5y2Xo9rhBUpxTPaBgWDJ14gqYN0+NMbu+qC2fykxXaipHxN4Scaj9tUS1A== + +esbuild-freebsd-64@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.14.tgz#8c57315d238690f34b6ed0c94e5cfc04c858247a" + integrity sha512-xr0E2n5lyWw3uFSwwUXHc0EcaBDtsal/iIfLioflHdhAe10KSctV978Te7YsfnsMKzcoGeS366+tqbCXdqDHQA== + +esbuild-freebsd-arm64@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.14.tgz#2e92acca09258daa849e635565f52469266f0b7b" + integrity sha512-8XH96sOQ4b1LhMlO10eEWOjEngmZ2oyw3pW4o8kvBcpF6pULr56eeYVP5radtgw54g3T8nKHDHYEI5AItvskZg== + +esbuild-linux-32@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.14.tgz#ca5ed3e9dff82df486ddde362d7e00775a597dfd" + integrity sha512-6ssnvwaTAi8AzKN8By2V0nS+WF5jTP7SfuK6sStGnDP7MCJo/4zHgM9oE1eQTS2jPmo3D673rckuCzRlig+HMA== + +esbuild-linux-64@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.14.tgz#42952e1d08a299d5f573c567639fb37b033befbf" + integrity sha512-ONySx3U0wAJOJuxGUlXBWxVKFVpWv88JEv0NZ6NlHknmDd1yCbf4AEdClSgLrqKQDXYywmw4gYDvdLsS6z0hcw== + +esbuild-linux-arm64@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.14.tgz#0c0d788099703327ec0ae70758cb2639ef6c5d88" + integrity sha512-kle2Ov6a1e5AjlHlMQl1e+c4myGTeggrRzArQFmWp6O6JoqqB9hT+B28EW4tjFWgV/NxUq46pWYpgaWXsXRPAg== + +esbuild-linux-arm@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.14.tgz#751a5ca5042cd60f669b07c3bcec3dd6c4f8151c" + integrity sha512-D2LImAIV3QzL7lHURyCHBkycVFbKwkDb1XEUWan+2fb4qfW7qAeUtul7ZIcIwFKZgPcl+6gKZmvLgPSj26RQ2Q== + +esbuild-linux-mips64le@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.14.tgz#da8ac35f2704de0b52bf53a99c12f604fbe9b916" + integrity sha512-FVdMYIzOLXUq+OE7XYKesuEAqZhmAIV6qOoYahvUp93oXy0MOVTP370ECbPfGXXUdlvc0TNgkJa3YhEwyZ6MRA== + +esbuild-linux-ppc64le@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.14.tgz#a315b5016917429080c3d32e03319f1ff876ac55" + integrity sha512-2NzH+iuzMDA+jjtPjuIz/OhRDf8tzbQ1tRZJI//aT25o1HKc0reMMXxKIYq/8nSHXiJSnYV4ODzTiv45s+h73w== + +esbuild-linux-riscv64@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.14.tgz#9f2e0a935e5086d398fc19c7ff5d217bfefe3e12" + integrity sha512-VqxvutZNlQxmUNS7Ac+aczttLEoHBJ9e3OYGqnULrfipRvG97qLrAv9EUY9iSrRKBqeEbSvS9bSfstZqwz0T4Q== + +esbuild-linux-s390x@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.14.tgz#53108112faff5a4e1bad17f7b0b0ffa1df4b7efb" + integrity sha512-+KVHEUshX5n6VP6Vp/AKv9fZIl5kr2ph8EUFmQUJnDpHwcfTSn2AQgYYm0HTBR2Mr4d0Wlr0FxF/Cs5pbFgiOw== + +esbuild-netbsd-64@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.14.tgz#5330efc41fe4f1c2bab5462bcfe7a4ffce7ba00a" + integrity sha512-6D/dr17piEgevIm1xJfZP2SjB9Z+g8ERhNnBdlZPBWZl+KSPUKLGF13AbvC+nzGh8IxOH2TyTIdRMvKMP0nEzQ== + +esbuild-openbsd-64@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.14.tgz#ee64944d863e937611fc31adf349e9bb4f5f7eac" + integrity sha512-rREQBIlMibBetgr2E9Lywt2Qxv2ZdpmYahR4IUlAQ1Efv/A5gYdO0/VIN3iowDbCNTLxp0bb57Vf0LFcffD6kA== + +esbuild-sunos-64@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.14.tgz#29b0b20de6fe6ef50f9fbe533ec20dc4b595f9aa" + integrity sha512-DNVjSp/BY4IfwtdUAvWGIDaIjJXY5KI4uD82+15v6k/w7px9dnaDaJJ2R6Mu+KCgr5oklmFc0KjBjh311Gxl9Q== + +esbuild-windows-32@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.14.tgz#05e9b159d664809f7a4a8a68ed048d193457b27d" + integrity sha512-pHBWrcA+/oLgvViuG9FO3kNPO635gkoVrRQwe6ZY1S0jdET07xe2toUvQoJQ8KT3/OkxqUasIty5hpuKFLD+eg== + +esbuild-windows-64@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.14.tgz#d5ae086728ab30b72969e40ed0a7a0d9082f2cdd" + integrity sha512-CszIGQVk/P8FOS5UgAH4hKc9zOaFo69fe+k1rqgBHx3CSK3Opyk5lwYriIamaWOVjBt7IwEP6NALz+tkVWdFog== + +esbuild-windows-arm64@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.14.tgz#8eb50ab9a0ecaf058593fbad17502749306f801d" + integrity sha512-KW9W4psdZceaS9A7Jsgl4WialOznSURvqX/oHZk3gOP7KbjtHLSsnmSvNdzagGJfxbAe30UVGXRe8q8nDsOSQw== + +esbuild@^0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.14.tgz#09202b811f1710363d5088a3401a351351c79875" + integrity sha512-pJN8j42fvWLFWwSMG4luuupl2Me7mxciUOsMegKvwCmhEbJ2covUdFnihxm0FMIBV+cbwbtMoHgMCCI+pj1btQ== optionalDependencies: - esbuild-android-arm64 "0.13.10" - esbuild-darwin-64 "0.13.10" - esbuild-darwin-arm64 "0.13.10" - esbuild-freebsd-64 "0.13.10" - esbuild-freebsd-arm64 "0.13.10" - esbuild-linux-32 "0.13.10" - esbuild-linux-64 "0.13.10" - esbuild-linux-arm "0.13.10" - esbuild-linux-arm64 "0.13.10" - esbuild-linux-mips64le "0.13.10" - esbuild-linux-ppc64le "0.13.10" - esbuild-netbsd-64 "0.13.10" - esbuild-openbsd-64 "0.13.10" - esbuild-sunos-64 "0.13.10" - esbuild-windows-32 "0.13.10" - esbuild-windows-64 "0.13.10" - esbuild-windows-arm64 "0.13.10" - -typescript@^4.4.4: - version "4.4.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.4.4.tgz#2cd01a1a1f160704d3101fd5a58ff0f9fcb8030c" - integrity sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA== + "@esbuild/android-arm" "0.15.14" + "@esbuild/linux-loong64" "0.15.14" + esbuild-android-64 "0.15.14" + esbuild-android-arm64 "0.15.14" + esbuild-darwin-64 "0.15.14" + esbuild-darwin-arm64 "0.15.14" + esbuild-freebsd-64 "0.15.14" + esbuild-freebsd-arm64 "0.15.14" + esbuild-linux-32 "0.15.14" + esbuild-linux-64 "0.15.14" + esbuild-linux-arm "0.15.14" + esbuild-linux-arm64 "0.15.14" + esbuild-linux-mips64le "0.15.14" + esbuild-linux-ppc64le "0.15.14" + esbuild-linux-riscv64 "0.15.14" + esbuild-linux-s390x "0.15.14" + esbuild-netbsd-64 "0.15.14" + esbuild-openbsd-64 "0.15.14" + esbuild-sunos-64 "0.15.14" + esbuild-windows-32 "0.15.14" + esbuild-windows-64 "0.15.14" + esbuild-windows-arm64 "0.15.14" + +typescript@^4.9.3: + version "4.9.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.3.tgz#3aea307c1746b8c384435d8ac36b8a2e580d85db" + integrity sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA== diff --git a/yarn.lock b/yarn.lock index f8f3de2..579deee 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,30 +2,30 @@ # yarn lockfile v1 -"@altv/types-client@^1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@altv/types-client/-/types-client-1.9.0.tgz#2b1167b1f6afcaf96481e08b614984e8440e3412" - integrity sha512-HhY6wshHsdhvwhbeZftJ/TiI/mRgd5cgm7bVHc2We8aGdlxsh0zHuhmFB97WHgUNZ2nL9AeEATgvCt7cOu1QSw== +"@altv/types-client@^2.3.8": + version "2.3.8" + resolved "https://registry.yarnpkg.com/@altv/types-client/-/types-client-2.3.8.tgz#fc39dc9de1e6c0189388d272386c0b0f9306f976" + integrity sha512-wwNdkJeJhCXBYoRoJ903YaLh1aQs6fqfYHujL5pSf70E7HadzsxO9GQcRGFZQHusPw+XOKranUW7nkXzCS2jFA== -"@altv/types-natives@^1.4.3": - version "1.4.3" - resolved "https://registry.yarnpkg.com/@altv/types-natives/-/types-natives-1.4.3.tgz#45b0e91bf35a06d25c7703c0593fc0097bdfd3ab" - integrity sha512-O/qHgF4QqjzXeLzkx2QbSo+F/aRw+K8GFJaBiGiWFUecEj2MrdrwzuFzmQvGHG8BgQ0RPJ/b6FRJZE8pzDFhVw== +"@altv/types-natives@^1.4.5": + version "1.4.5" + resolved "https://registry.yarnpkg.com/@altv/types-natives/-/types-natives-1.4.5.tgz#9580c84c8fbee0662da44e7083cd1026502912aa" + integrity sha512-5cy+NmZP5RzkTZbPtjz9tDR5lRMVbczwkaHDjPyJWAQm78/pKH/2gkt2/RcpC5BJ4mUkEZ5+VgJM0D2JhbjtuA== -"@altv/types-server@^2.0.7": - version "2.0.7" - resolved "https://registry.yarnpkg.com/@altv/types-server/-/types-server-2.0.7.tgz#02e8b8c4dd91de6e7f79d7f3deffe0d29cf7469a" - integrity sha512-uYgYxSzZ+xXEZr6wTUUNB+qsVUW69+zV+pey/xGpAy1KlaAEQm780KCIt/inpon4TSJ30ACIU69dH/mW2Z2jJQ== +"@altv/types-server@^2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@altv/types-server/-/types-server-2.5.1.tgz#29b0b355c33cd6ab789c2a13698d29ed13cec16f" + integrity sha512-4REyL1/8eC8XZOFP6zlYAI6POG1EoCAxc7KLwFDkAFoSfGy7gXIjtNWL83YkyzEUpSG47mAl9tgGWjJf3B8ExQ== -"@altv/types-shared@^1.0.8": - version "1.0.8" - resolved "https://registry.yarnpkg.com/@altv/types-shared/-/types-shared-1.0.8.tgz#3bc71ca75c76452c2602e2a1de673c1c20598363" - integrity sha512-MPDsyiDRvPimhMaqaqYEFcMLP62yxuoGzx8vW2tWuHg0Y9k+tNuLEo7n6C+6wP6/1bOOyMEBe/8oW/3yr21W2A== +"@altv/types-shared@^1.3.2": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@altv/types-shared/-/types-shared-1.3.2.tgz#934eb42953937e8e7abf009decf746370c699751" + integrity sha512-qf5ZU5gi7rt1+KBNd54LoyeBXWUPBTScVYP+WwrKX1JvveImcIXHjIM3v2516J6iwQFL4ad0vkKFmIsbvEn31g== -"@altv/types-webview@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@altv/types-webview/-/types-webview-1.0.2.tgz#806681664dd6361295577afa8ab6090fb123621e" - integrity sha512-3RceTutIDS/XV8YUn/AiSe61BERBb6LfCCQxIcN5bvlh26lPXC0naxtQTcG39pSgj8a5iiVT8LaRNdEZP6JBcA== +"@altv/types-webview@^1.0.5": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@altv/types-webview/-/types-webview-1.0.5.tgz#3965e983ae038967173e72883036c0c715115f87" + integrity sha512-g1bYnkLLxhJr6CBq0qFZoJtzs+20nEmHBMftlAGAgEJsyKR5HWf0NUi2mmUS50IpVEsULqgK+hx4uRZpXLmS7A== "@babel/code-frame@7.10.4": version "7.10.4" @@ -1182,7 +1182,7 @@ dependencies: regenerator-runtime "^0.13.4" -"@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.15.4", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": +"@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.13.10", "@babel/runtime@^7.15.4", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7": version "7.15.4" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.15.4.tgz#fd17d16bfdf878e6dd02d19753a39fa8a8d9c84a" integrity sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw== @@ -1367,6 +1367,16 @@ ts-node "^9" tslib "^2" +"@esbuild/android-arm@0.15.14": + version "0.15.14" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.14.tgz#5d0027f920eeeac313c01fd6ecb8af50c306a466" + integrity sha512-+Rb20XXxRGisNu2WmNKk+scpanb7nL5yhuI1KR9wQFiC43ddPj/V1fmNyzlFC9bKiG4mYzxW7egtoHVcynr+OA== + +"@esbuild/linux-loong64@0.15.14": + version "0.15.14" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.14.tgz#1221684955c44385f8af34f7240088b7dc08d19d" + integrity sha512-eQi9rosGNVQFJyJWV0HCA5WZae/qWIQME7s8/j8DMvnylfBv62Pbu+zJ2eUDqNf2O4u3WB+OEXyfkpBoe194sg== + "@eslint/eslintrc@^0.4.3": version "0.4.3" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" @@ -1620,17 +1630,6 @@ "@types/yargs" "^15.0.0" chalk "^4.0.0" -"@jest/types@^27.2.5": - version "27.2.5" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.2.5.tgz#420765c052605e75686982d24b061b4cbba22132" - integrity sha512-nmuM4VuDtCZcY+eTpw+0nvstwReMsjPoj7ZR80/BbixulhLaiX+fbv8oeLW8WZlJMcsGQsTmMKT/iTZu1Uy/lQ== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^16.0.0" - chalk "^4.0.0" - "@mui/core@5.0.0-alpha.53": version "5.0.0-alpha.53" resolved "https://registry.yarnpkg.com/@mui/core/-/core-5.0.0-alpha.53.tgz#ede1445be3bf5a93d25bdd8ead23afdfb1b68f8b" @@ -1924,60 +1923,11 @@ "@svgr/plugin-svgo" "^5.5.0" loader-utils "^2.0.0" -"@testing-library/dom@^7.28.1": - version "7.31.2" - resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-7.31.2.tgz#df361db38f5212b88555068ab8119f5d841a8c4a" - integrity sha512-3UqjCpey6HiTZT92vODYLPxTBWlM8ZOOjr3LX5F37/VRipW2M1kX6I/Cm4VXzteZqfGfagg8yXywpcOgQBlNsQ== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/runtime" "^7.12.5" - "@types/aria-query" "^4.2.0" - aria-query "^4.2.2" - chalk "^4.1.0" - dom-accessibility-api "^0.5.6" - lz-string "^1.4.4" - pretty-format "^26.6.2" - -"@testing-library/jest-dom@^5.11.4": - version "5.14.1" - resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-5.14.1.tgz#8501e16f1e55a55d675fe73eecee32cdaddb9766" - integrity sha512-dfB7HVIgTNCxH22M1+KU6viG5of2ldoA5ly8Ar8xkezKHKXjRvznCdbMbqjYGgO2xjRbwnR+rR8MLUIqF3kKbQ== - dependencies: - "@babel/runtime" "^7.9.2" - "@types/testing-library__jest-dom" "^5.9.1" - aria-query "^4.2.2" - chalk "^3.0.0" - css "^3.0.0" - css.escape "^1.5.1" - dom-accessibility-api "^0.5.6" - lodash "^4.17.15" - redent "^3.0.0" - -"@testing-library/react@^11.1.0": - version "11.2.7" - resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-11.2.7.tgz#b29e2e95c6765c815786c0bc1d5aed9cb2bf7818" - integrity sha512-tzRNp7pzd5QmbtXNG/mhdcl7Awfu/Iz1RaVHY75zTdOkmHCuzMhRL83gWHSgOAcjS3CCbyfwUHMZgRJb4kAfpA== - dependencies: - "@babel/runtime" "^7.12.5" - "@testing-library/dom" "^7.28.1" - -"@testing-library/user-event@^12.1.10": - version "12.8.3" - resolved "https://registry.yarnpkg.com/@testing-library/user-event/-/user-event-12.8.3.tgz#1aa3ed4b9f79340a1e1836bc7f57c501e838704a" - integrity sha512-IR0iWbFkgd56Bu5ZI/ej8yQwrkCv8Qydx6RzwbKz9faXazR/+5tvYKsZQgyXJiwgpcva127YO6JcWy7YlCfofQ== - dependencies: - "@babel/runtime" "^7.12.5" - "@tootallnate/once@1": version "1.1.2" resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== -"@types/aria-query@^4.2.0": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-4.2.2.tgz#ed4e0ad92306a704f9fb132a0cfcf77486dbe2bc" - integrity sha512-HnYpAE1Y6kRyKM/XkEuiRQhTHvkzMBurTHnpFLYLBGPIylZNPs9jJcuOOYWxPLJCSEtmZT0Y8rHDokKN7rRTig== - "@types/babel__core@^7.0.0", "@types/babel__core@^7.1.7": version "7.1.16" resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.16.tgz#bc12c74b7d65e82d29876b5d0baf5c625ac58702" @@ -2068,22 +2018,6 @@ dependencies: "@types/istanbul-lib-report" "*" -"@types/jest@*": - version "27.0.2" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-27.0.2.tgz#ac383c4d4aaddd29bbf2b916d8d105c304a5fcd7" - integrity sha512-4dRxkS/AFX0c5XW6IPMNOydLn2tEhNhJV7DnYK+0bjoJZ+QTmfucBlihX7aoEsh/ocYtkLC73UbnBXBXIxsULA== - dependencies: - jest-diff "^27.0.0" - pretty-format "^27.0.0" - -"@types/jest@^26.0.15": - version "26.0.24" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.24.tgz#943d11976b16739185913a1936e0de0c4a7d595a" - integrity sha512-E/X5Vib8BWqZNRlDxj9vYXhsDwPYbPINqKF9BsnSoon4RQ0D9moEuLD8txgyypFLH7J4+Lho9Nr/c8H0Fi+17w== - dependencies: - jest-diff "^26.0.0" - pretty-format "^26.0.0" - "@types/json-schema@*", "@types/json-schema@^7.0.3", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.7", "@types/json-schema@^7.0.8": version "7.0.9" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" @@ -2196,13 +2130,6 @@ resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.8.tgz#b94a4391c85666c7b73299fd3ad79d4faa435310" integrity sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ== -"@types/testing-library__jest-dom@^5.9.1": - version "5.14.1" - resolved "https://registry.yarnpkg.com/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.1.tgz#014162a5cee6571819d48e999980694e2f657c3c" - integrity sha512-Gk9vaXfbzc5zCXI9eYE9BI5BNHEp4D3FWjgqBE/ePGYElLAP+KvxBcsdkwfIVvezs605oiyd/VrpiHe3Oeg+Aw== - dependencies: - "@types/jest" "*" - "@types/uglify-js@*": version "3.13.1" resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.13.1.tgz#5e889e9e81e94245c75b6450600e1c5ea2878aea" @@ -2243,13 +2170,6 @@ dependencies: "@types/yargs-parser" "*" -"@types/yargs@^16.0.0": - version "16.0.4" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.4.tgz#26aad98dd2c2a38e421086ea9ad42b9e51642977" - integrity sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw== - dependencies: - "@types/yargs-parser" "*" - "@typescript-eslint/eslint-plugin@^4.5.0": version "4.33.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz#c24dc7c8069c7706bc40d99f6fa87edcb2005276" @@ -2687,11 +2607,6 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0: dependencies: color-convert "^2.0.1" -ansi-styles@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" - integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== - ansi-to-html@^0.7.2: version "0.7.2" resolved "https://registry.yarnpkg.com/ansi-to-html/-/ansi-to-html-0.7.2.tgz#a92c149e4184b571eb29a0135ca001a8e2d710cb" @@ -3612,14 +3527,6 @@ chalk@^1.1.1: strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" - integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - chalk@^4.0.0, chalk@^4.1.0: version "4.1.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" @@ -4257,11 +4164,6 @@ css-what@^5.0.0: resolved "https://registry.yarnpkg.com/css-what/-/css-what-5.1.0.tgz#3f7b707aadf633baf62c2ceb8579b545bb40f7fe" integrity sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw== -css.escape@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/css.escape/-/css.escape-1.5.1.tgz#42e27d4fa04ae32f931a4b4d4191fa9cddee97cb" - integrity sha1-QuJ9T6BK4y+TGktNQZH6nN3ul8s= - css@^2.0.0: version "2.2.4" resolved "https://registry.yarnpkg.com/css/-/css-2.2.4.tgz#c646755c73971f2bba6a601e2cf2fd71b1298929" @@ -4272,15 +4174,6 @@ css@^2.0.0: source-map-resolve "^0.5.2" urix "^0.1.0" -css@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/css/-/css-3.0.0.tgz#4447a4d58fdd03367c516ca9f64ae365cee4aa5d" - integrity sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ== - dependencies: - inherits "^2.0.4" - source-map "^0.6.1" - source-map-resolve "^0.6.0" - cssdb@^4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-4.4.0.tgz#3bf2f2a68c10f5c6a08abd92378331ee803cddb0" @@ -4604,11 +4497,6 @@ diff-sequences@^26.6.2: resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1" integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q== -diff-sequences@^27.0.6: - version "27.0.6" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.0.6.tgz#3305cb2e55a033924054695cc66019fd7f8e5723" - integrity sha512-ag6wfpBFyNXZ0p8pcuIDS//D8H062ZQJ3fzYxjpmeKjnz8W4pekL3AI8VohmyZmsWW2PWaHgjsmqR6L13101VQ== - diff@^4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" @@ -4664,11 +4552,6 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" -dom-accessibility-api@^0.5.6: - version "0.5.9" - resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.9.tgz#915f8531ba29a50e5c29389dbfb87a9642fef0d6" - integrity sha512-+KPF4o71fl6NrdnqIrJc6m44NA+Rhf1h7In2MRznejSQasWkjqmHOBUlk+pXJ77cVOSYyZeNHFwn/sjotB6+Sw== - dom-converter@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" @@ -4973,113 +4856,133 @@ es6-symbol@^3.1.1, es6-symbol@~3.1.3: d "^1.0.1" ext "^1.1.2" -esbuild-android-arm64@0.13.10: - version "0.13.10" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.13.10.tgz#3545c71bf01e8b36535681078cdb0191c8654452" - integrity sha512-1sCdVAq64yMp2Uhlu+97/enFxpmrj31QHtThz7K+/QGjbHa7JZdBdBsZCzWJuntKHZ+EU178tHYkvjaI9z5sGg== - -esbuild-darwin-64@0.13.10: - version "0.13.10" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.13.10.tgz#143e34d7f5d3860cc681c64c860f531e60496b5b" - integrity sha512-XlL+BYZ2h9cz3opHfFgSHGA+iy/mljBFIRU9q++f9SiBXEZTb4gTW/IENAD1l9oKH0FdO9rUpyAfV+lM4uAxrg== - -esbuild-darwin-arm64@0.13.10: - version "0.13.10" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.13.10.tgz#456a044b789d5d256af8d264314da5217ca9fcd1" - integrity sha512-RZMMqMTyActMrXKkW71IQO8B0tyQm0Bm+ZJQWNaHJchL5LlqazJi7rriwSocP+sKLszHhsyTEBBh6qPdw5g5yQ== - -esbuild-freebsd-64@0.13.10: - version "0.13.10" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.13.10.tgz#dcd829a4a95226716faae8a2f378f08688f921b6" - integrity sha512-pf4BEN9reF3jvZEZdxljVgOv5JS4kuYFCI78xk+2HWustbLvTP0b9XXfWI/OD0ZLWbyLYZYIA+VbVe4tdAklig== - -esbuild-freebsd-arm64@0.13.10: - version "0.13.10" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.13.10.tgz#116c254b3eb1b9d1dd6f12e0271967de4512ca09" - integrity sha512-j9PUcuNWmlxr4/ry4dK/s6zKh42Jhh/N5qnAAj7tx3gMbkIHW0JBoVSbbgp97p88X9xgKbXx4lG2sJDhDWmsYQ== - -esbuild-linux-32@0.13.10: - version "0.13.10" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.13.10.tgz#131971622c38e5aa014303a494a1b5c3cc90f2be" - integrity sha512-imtdHG5ru0xUUXuc2ofdtyw0fWlHYXV7JjF7oZHgmn0b+B4o4Nr6ZON3xxoo1IP8wIekW+7b9exIf/MYq0QV7w== - -esbuild-linux-64@0.13.10: - version "0.13.10" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.13.10.tgz#48826c388abd5dde3fc098a8ef38d8b548674f93" - integrity sha512-O7fzQIH2e7GC98dvoTH0rad5BVLm9yU3cRWfEmryCEIFTwbNEWCEWOfsePuoGOHRtSwoVY1hPc21CJE4/9rWxQ== - -esbuild-linux-arm64@0.13.10: - version "0.13.10" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.13.10.tgz#0be9ffc92e30641869c7fbca0ec5d30fa8cbddd6" - integrity sha512-bkGxN67S2n0PF4zhh87/92kBTsH2xXLuH6T5omReKhpXdJZF5SVDSk5XU/nngARzE+e6QK6isK060Dr5uobzNw== - -esbuild-linux-arm@0.13.10: - version "0.13.10" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.13.10.tgz#8c15bcaa41a022c834f049a71a7d1fbade507532" - integrity sha512-R2Jij4A0K8BcmBehvQeUteQEcf24Y2YZ6mizlNFuJOBPxe3vZNmkZ4mCE7Pf1tbcqA65qZx8J3WSHeGJl9EsJA== - -esbuild-linux-mips64le@0.13.10: - version "0.13.10" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.13.10.tgz#5bb33a2bc82e9c78ed724f345a8359610ddc9695" - integrity sha512-UDNO5snJYOLWrA2uOUxM/PVbzzh2TR7Zf2i8zCCuFlYgvAb/81XO+Tasp3YAElDpp4VGqqcpBXLtofa9nrnJGA== - -esbuild-linux-ppc64le@0.13.10: - version "0.13.10" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.13.10.tgz#18703cd0d52447d97486735b8e79fba7d81eac65" - integrity sha512-xu6J9rMWu1TcEGuEmoc8gsTrJCEPsf+QtxK4IiUZNde9r4Q4nlRVah4JVZP3hJapZgZJcxsse0XiKXh1UFdOeA== - -esbuild-netbsd-64@0.13.10: - version "0.13.10" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.13.10.tgz#3ecb06158aadb5b7396a5b7632069181b1591c56" - integrity sha512-d+Gr0ScMC2J83Bfx/ZvJHK0UAEMncctwgjRth9d4zppYGLk/xMfFKxv5z1ib8yZpQThafq8aPm8AqmFIJrEesw== - -esbuild-openbsd-64@0.13.10: - version "0.13.10" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.13.10.tgz#3a6950b1d955de921ac52f7af0b4865e89d6e4f1" - integrity sha512-OuCYc+bNKumBvxflga+nFzZvxsgmWQW+z4rMGIjM5XIW0nNbGgRc5p/0PSDv0rTdxAmwCpV69fezal0xjrDaaA== - -esbuild-sunos-64@0.13.10: - version "0.13.10" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.13.10.tgz#ad407f721a8b5727fca31958b5eab1b0232e2d73" - integrity sha512-gUkgivZK11bD56wDoLsnYrsOHD/zHzzLSdqKcIl3wRMulfHpRBpoX8gL0dbWr+8N9c+1HDdbNdvxSRmZ4RCVwg== - -esbuild-windows-32@0.13.10: - version "0.13.10" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.13.10.tgz#ddaaa0b6e172df6512edc7a91bd2456615cfa914" - integrity sha512-C1xJ54E56dGWRaYcTnRy7amVZ9n1/D/D2/qVw7e5EtS7p+Fv/yZxxgqyb1hMGKXgtFYX4jMpU5eWBF/AsYrn+A== - -esbuild-windows-64@0.13.10: - version "0.13.10" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.13.10.tgz#93d861abf36bf71b6e61f5cbd2e42762ce5cb83a" - integrity sha512-6+EXEXopEs3SvPFAHcps2Krp/FvqXXsOQV33cInmyilb0ZBEQew4MIoZtMIyB3YXoV6//dl3i6YbPrFZaWEinQ== - -esbuild-windows-arm64@0.13.10: - version "0.13.10" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.13.10.tgz#85a2d338aaa8b0cd1d8ecbe9150def9a608e8947" - integrity sha512-xTqM/XKhORo6u9S5I0dNJWEdWoemFjogLUTVLkQMVyUV3ZuMChahVA+bCqKHdyX55pCFxD/8v2fm3/sfFMWN+g== - -esbuild@^0.13.10: - version "0.13.10" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.13.10.tgz#e3d24d59f1d8b2130d746ca858efcb80e1d99b26" - integrity sha512-0NfCsnAh5XatHIx6Cu93wpR2v6opPoOMxONYhaAoZKzGYqAE+INcDeX2wqMdcndvPQdWCuuCmvlnsh0zmbHcSQ== +esbuild-android-64@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.14.tgz#114e55b0d58fb7b45d7fa3d93516bd13fc8869cc" + integrity sha512-HuilVIb4rk9abT4U6bcFdU35UHOzcWVGLSjEmC58OVr96q5UiRqzDtWjPlCMugjhgUGKEs8Zf4ueIvYbOStbIg== + +esbuild-android-arm64@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.14.tgz#8541f38a9aacf88e574fb13f5ad4ca51a04c12bb" + integrity sha512-/QnxRVxsR2Vtf3XottAHj7hENAMW2wCs6S+OZcAbc/8nlhbAL/bCQRCVD78VtI5mdwqWkVi3wMqM94kScQCgqg== + +esbuild-darwin-64@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.14.tgz#b40b334db81ff1e3677a6712b23761748a157c57" + integrity sha512-ToNuf1uifu8hhwWvoZJGCdLIX/1zpo8cOGnT0XAhDQXiKOKYaotVNx7pOVB1f+wHoWwTLInrOmh3EmA7Fd+8Vg== + +esbuild-darwin-arm64@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.14.tgz#44b5c1477bb7bdb852dd905e906f68765e2828bc" + integrity sha512-KgGP+y77GszfYJgceO0Wi/PiRtYo5y2Xo9rhBUpxTPaBgWDJ14gqYN0+NMbu+qC2fykxXaipHxN4Scaj9tUS1A== + +esbuild-freebsd-64@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.14.tgz#8c57315d238690f34b6ed0c94e5cfc04c858247a" + integrity sha512-xr0E2n5lyWw3uFSwwUXHc0EcaBDtsal/iIfLioflHdhAe10KSctV978Te7YsfnsMKzcoGeS366+tqbCXdqDHQA== + +esbuild-freebsd-arm64@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.14.tgz#2e92acca09258daa849e635565f52469266f0b7b" + integrity sha512-8XH96sOQ4b1LhMlO10eEWOjEngmZ2oyw3pW4o8kvBcpF6pULr56eeYVP5radtgw54g3T8nKHDHYEI5AItvskZg== + +esbuild-linux-32@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.14.tgz#ca5ed3e9dff82df486ddde362d7e00775a597dfd" + integrity sha512-6ssnvwaTAi8AzKN8By2V0nS+WF5jTP7SfuK6sStGnDP7MCJo/4zHgM9oE1eQTS2jPmo3D673rckuCzRlig+HMA== + +esbuild-linux-64@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.14.tgz#42952e1d08a299d5f573c567639fb37b033befbf" + integrity sha512-ONySx3U0wAJOJuxGUlXBWxVKFVpWv88JEv0NZ6NlHknmDd1yCbf4AEdClSgLrqKQDXYywmw4gYDvdLsS6z0hcw== + +esbuild-linux-arm64@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.14.tgz#0c0d788099703327ec0ae70758cb2639ef6c5d88" + integrity sha512-kle2Ov6a1e5AjlHlMQl1e+c4myGTeggrRzArQFmWp6O6JoqqB9hT+B28EW4tjFWgV/NxUq46pWYpgaWXsXRPAg== + +esbuild-linux-arm@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.14.tgz#751a5ca5042cd60f669b07c3bcec3dd6c4f8151c" + integrity sha512-D2LImAIV3QzL7lHURyCHBkycVFbKwkDb1XEUWan+2fb4qfW7qAeUtul7ZIcIwFKZgPcl+6gKZmvLgPSj26RQ2Q== + +esbuild-linux-mips64le@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.14.tgz#da8ac35f2704de0b52bf53a99c12f604fbe9b916" + integrity sha512-FVdMYIzOLXUq+OE7XYKesuEAqZhmAIV6qOoYahvUp93oXy0MOVTP370ECbPfGXXUdlvc0TNgkJa3YhEwyZ6MRA== + +esbuild-linux-ppc64le@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.14.tgz#a315b5016917429080c3d32e03319f1ff876ac55" + integrity sha512-2NzH+iuzMDA+jjtPjuIz/OhRDf8tzbQ1tRZJI//aT25o1HKc0reMMXxKIYq/8nSHXiJSnYV4ODzTiv45s+h73w== + +esbuild-linux-riscv64@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.14.tgz#9f2e0a935e5086d398fc19c7ff5d217bfefe3e12" + integrity sha512-VqxvutZNlQxmUNS7Ac+aczttLEoHBJ9e3OYGqnULrfipRvG97qLrAv9EUY9iSrRKBqeEbSvS9bSfstZqwz0T4Q== + +esbuild-linux-s390x@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.14.tgz#53108112faff5a4e1bad17f7b0b0ffa1df4b7efb" + integrity sha512-+KVHEUshX5n6VP6Vp/AKv9fZIl5kr2ph8EUFmQUJnDpHwcfTSn2AQgYYm0HTBR2Mr4d0Wlr0FxF/Cs5pbFgiOw== + +esbuild-netbsd-64@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.14.tgz#5330efc41fe4f1c2bab5462bcfe7a4ffce7ba00a" + integrity sha512-6D/dr17piEgevIm1xJfZP2SjB9Z+g8ERhNnBdlZPBWZl+KSPUKLGF13AbvC+nzGh8IxOH2TyTIdRMvKMP0nEzQ== + +esbuild-openbsd-64@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.14.tgz#ee64944d863e937611fc31adf349e9bb4f5f7eac" + integrity sha512-rREQBIlMibBetgr2E9Lywt2Qxv2ZdpmYahR4IUlAQ1Efv/A5gYdO0/VIN3iowDbCNTLxp0bb57Vf0LFcffD6kA== + +esbuild-sunos-64@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.14.tgz#29b0b20de6fe6ef50f9fbe533ec20dc4b595f9aa" + integrity sha512-DNVjSp/BY4IfwtdUAvWGIDaIjJXY5KI4uD82+15v6k/w7px9dnaDaJJ2R6Mu+KCgr5oklmFc0KjBjh311Gxl9Q== + +esbuild-windows-32@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.14.tgz#05e9b159d664809f7a4a8a68ed048d193457b27d" + integrity sha512-pHBWrcA+/oLgvViuG9FO3kNPO635gkoVrRQwe6ZY1S0jdET07xe2toUvQoJQ8KT3/OkxqUasIty5hpuKFLD+eg== + +esbuild-windows-64@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.14.tgz#d5ae086728ab30b72969e40ed0a7a0d9082f2cdd" + integrity sha512-CszIGQVk/P8FOS5UgAH4hKc9zOaFo69fe+k1rqgBHx3CSK3Opyk5lwYriIamaWOVjBt7IwEP6NALz+tkVWdFog== + +esbuild-windows-arm64@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.14.tgz#8eb50ab9a0ecaf058593fbad17502749306f801d" + integrity sha512-KW9W4psdZceaS9A7Jsgl4WialOznSURvqX/oHZk3gOP7KbjtHLSsnmSvNdzagGJfxbAe30UVGXRe8q8nDsOSQw== + +esbuild@^0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.14.tgz#09202b811f1710363d5088a3401a351351c79875" + integrity sha512-pJN8j42fvWLFWwSMG4luuupl2Me7mxciUOsMegKvwCmhEbJ2covUdFnihxm0FMIBV+cbwbtMoHgMCCI+pj1btQ== optionalDependencies: - esbuild-android-arm64 "0.13.10" - esbuild-darwin-64 "0.13.10" - esbuild-darwin-arm64 "0.13.10" - esbuild-freebsd-64 "0.13.10" - esbuild-freebsd-arm64 "0.13.10" - esbuild-linux-32 "0.13.10" - esbuild-linux-64 "0.13.10" - esbuild-linux-arm "0.13.10" - esbuild-linux-arm64 "0.13.10" - esbuild-linux-mips64le "0.13.10" - esbuild-linux-ppc64le "0.13.10" - esbuild-netbsd-64 "0.13.10" - esbuild-openbsd-64 "0.13.10" - esbuild-sunos-64 "0.13.10" - esbuild-windows-32 "0.13.10" - esbuild-windows-64 "0.13.10" - esbuild-windows-arm64 "0.13.10" + "@esbuild/android-arm" "0.15.14" + "@esbuild/linux-loong64" "0.15.14" + esbuild-android-64 "0.15.14" + esbuild-android-arm64 "0.15.14" + esbuild-darwin-64 "0.15.14" + esbuild-darwin-arm64 "0.15.14" + esbuild-freebsd-64 "0.15.14" + esbuild-freebsd-arm64 "0.15.14" + esbuild-linux-32 "0.15.14" + esbuild-linux-64 "0.15.14" + esbuild-linux-arm "0.15.14" + esbuild-linux-arm64 "0.15.14" + esbuild-linux-mips64le "0.15.14" + esbuild-linux-ppc64le "0.15.14" + esbuild-linux-riscv64 "0.15.14" + esbuild-linux-s390x "0.15.14" + esbuild-netbsd-64 "0.15.14" + esbuild-openbsd-64 "0.15.14" + esbuild-sunos-64 "0.15.14" + esbuild-windows-32 "0.15.14" + esbuild-windows-64 "0.15.14" + esbuild-windows-arm64 "0.15.14" escalade@^3.0.2, escalade@^3.1.1: version "3.1.1" @@ -7151,7 +7054,7 @@ jest-config@^26.6.3: micromatch "^4.0.2" pretty-format "^26.6.2" -jest-diff@^26.0.0, jest-diff@^26.6.2: +jest-diff@^26.6.2: version "26.6.2" resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394" integrity sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA== @@ -7161,16 +7064,6 @@ jest-diff@^26.0.0, jest-diff@^26.6.2: jest-get-type "^26.3.0" pretty-format "^26.6.2" -jest-diff@^27.0.0: - version "27.3.1" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.3.1.tgz#d2775fea15411f5f5aeda2a5e02c2f36440f6d55" - integrity sha512-PCeuAH4AWUo2O5+ksW4pL9v5xJAcIKPUPfIhZBcG1RKv/0+dvaWTQK1Nrau8d67dp65fOqbeMdoil+6PedyEPQ== - dependencies: - chalk "^4.0.0" - diff-sequences "^27.0.6" - jest-get-type "^27.3.1" - pretty-format "^27.3.1" - jest-docblock@^26.0.0: version "26.0.0" resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-26.0.0.tgz#3e2fa20899fc928cb13bd0ff68bd3711a36889b5" @@ -7219,11 +7112,6 @@ jest-get-type@^26.3.0: resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-26.3.0.tgz#e97dc3c3f53c2b406ca7afaed4493b1d099199e0" integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig== -jest-get-type@^27.3.1: - version "27.3.1" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.3.1.tgz#a8a2b0a12b50169773099eee60a0e6dd11423eff" - integrity sha512-+Ilqi8hgHSAdhlQ3s12CAVNd8H96ZkQBfYoXmArzZnOfAtVAJEiPDBirjByEblvG/4LPJmkL+nBqPO3A1YJAEg== - jest-haste-map@^26.6.2: version "26.6.2" resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.6.2.tgz#dd7e60fe7dc0e9f911a23d79c5ff7fb5c2cafeaa" @@ -7909,11 +7797,6 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" -lz-string@^1.4.4: - version "1.4.4" - resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.4.4.tgz#c0d8eaf36059f705796e1e344811cf4c498d3a26" - integrity sha1-wNjq82BZ9wV5bh40SBHPTEmNOiY= - magic-string@^0.25.0, magic-string@^0.25.7: version "0.25.7" resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051" @@ -9787,7 +9670,7 @@ pretty-error@^2.1.1: lodash "^4.17.20" renderkid "^2.0.4" -pretty-format@^26.0.0, pretty-format@^26.6.0, pretty-format@^26.6.2: +pretty-format@^26.6.0, pretty-format@^26.6.2: version "26.6.2" resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93" integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg== @@ -9797,16 +9680,6 @@ pretty-format@^26.0.0, pretty-format@^26.6.0, pretty-format@^26.6.2: ansi-styles "^4.0.0" react-is "^17.0.1" -pretty-format@^27.0.0, pretty-format@^27.3.1: - version "27.3.1" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.3.1.tgz#7e9486365ccdd4a502061fa761d3ab9ca1b78df5" - integrity sha512-DR/c+pvFc52nLimLROYjnXPtolawm+uWDxr4FjuLDLUn+ktWnSN851KoHwHzzqq6rfCOjkzN8FLgDrSub6UDuA== - dependencies: - "@jest/types" "^27.2.5" - ansi-regex "^5.0.1" - ansi-styles "^5.0.0" - react-is "^17.0.1" - process-nextick-args@~2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" @@ -11023,14 +10896,6 @@ source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: source-map-url "^0.4.0" urix "^0.1.0" -source-map-resolve@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.6.0.tgz#3d9df87e236b53f16d01e58150fc7711138e5ed2" - integrity sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w== - dependencies: - atob "^2.1.2" - decode-uri-component "^0.2.0" - source-map-support@^0.5.17, source-map-support@^0.5.6, source-map-support@~0.5.12, source-map-support@~0.5.20: version "0.5.20" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.20.tgz#12166089f8f5e5e8c56926b377633392dd2cb6c9" @@ -11874,10 +11739,10 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@^4.4.4: - version "4.4.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.4.4.tgz#2cd01a1a1f160704d3101fd5a58ff0f9fcb8030c" - integrity sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA== +typescript@^4.9.3: + version "4.9.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.3.tgz#3aea307c1746b8c384435d8ac36b8a2e580d85db" + integrity sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA== unbox-primitive@^1.0.1: version "1.0.1" @@ -12189,11 +12054,6 @@ wbuf@^1.1.0, wbuf@^1.7.3: dependencies: minimalistic-assert "^1.0.0" -web-vitals@^1.0.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/web-vitals/-/web-vitals-1.1.2.tgz#06535308168986096239aa84716e68b4c6ae6d1c" - integrity sha512-PFMKIY+bRSXlMxVAQ+m2aw9c/ioUYfDgrYot0YUa+/xa0sakubWhSDyxAKwzymvXVdF4CZI71g06W+mqhzu6ig== - webidl-conversions@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" From 94304ea5912f423f61e1dfa33ca3ac876d98a6bf Mon Sep 17 00:00:00 2001 From: xshady Date: Sun, 20 Nov 2022 00:44:48 +0300 Subject: [PATCH 2/5] fix webview local dev url --- client/WebView.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/client/WebView.ts b/client/WebView.ts index 5c2e2cf..60d57d8 100644 --- a/client/WebView.ts +++ b/client/WebView.ts @@ -1,7 +1,7 @@ import alt from "alt-client"; import GenericRPC from "../shared/RPC/RPC"; -const webview = new alt.WebView(process.env.NODE_ENV === 'production' ? 'http://resource/dist/frontend/index.html' : 'http://192.168.192.1:3000'); +const webview = new alt.WebView(process.env.NODE_ENV === 'production' ? 'http://resource/dist/frontend/index.html' : 'localhost:3000'); const webviewRPC = new GenericRPC(webview, { name: 'client-webview' @@ -20,4 +20,4 @@ webview.on('load', () => { webview.emit('ready'); }) -export { webview, webviewRPC }; \ No newline at end of file +export { webview, webviewRPC }; From c006c4ac646eb505e5d52241e3a2c23ff01cb403 Mon Sep 17 00:00:00 2001 From: xshady Date: Sun, 20 Nov 2022 00:50:09 +0300 Subject: [PATCH 3/5] add build scripts & altv-esbuild --- client/build.js | 15 +++++++++++++++ client/package.json | 8 ++++---- package.json | 1 + server/build.js | 16 ++++++++++++++++ server/package.json | 8 ++++---- shared/build.js | 22 ++++++++++++++++++++++ shared/tsconfig.json | 2 +- tsconfig.json | 7 ++++--- yarn.lock | 5 +++++ 9 files changed, 72 insertions(+), 12 deletions(-) create mode 100644 client/build.js create mode 100644 server/build.js create mode 100644 shared/build.js diff --git a/client/build.js b/client/build.js new file mode 100644 index 0000000..21f4f7b --- /dev/null +++ b/client/build.js @@ -0,0 +1,15 @@ +import { altvEsbuild } from "altv-esbuild"; +import esbuild from "esbuild"; +import { SHARED_BUILD_OPTIONS } from "../shared/build"; + +esbuild.build({ + ...SHARED_BUILD_OPTIONS.esbuild, + entryPoints: ["./index.ts"], + outfile: "../dist/client.js", + plugins: [ + altvEsbuild({ + mode: "client", + ...SHARED_BUILD_OPTIONS.altvEsbuild, + }), + ], +}); diff --git a/client/package.json b/client/package.json index 4014669..27d899c 100644 --- a/client/package.json +++ b/client/package.json @@ -4,9 +4,8 @@ "description": "", "main": "index.js", "scripts": { - "test": "echo \"Error: no test specified\" && exit 1", - "dev": "esbuild ./index.ts --format=esm --bundle --watch --external:alt-* --external:natives --outfile=../dist/client.js --define:process.env.NODE_ENV=\\\"development\\\" --define:process=\"{\\\"env\\\":{}}\"", - "build": "esbuild ./index.ts --format=esm --bundle --external:alt-* --external:natives --outfile=../dist/client.js --define:process.env.NODE_ENV=\\\"production\\\" --define:process=\"{\\\"env\\\":{}}\"" + "dev": "node --es-module-specifier-resolution=node build.js --dev", + "build": "node --es-module-specifier-resolution=node build.js" }, "keywords": [], "author": "", @@ -19,5 +18,6 @@ }, "dependencies": { "util": "^0.12.4" - } + }, + "type": "module" } diff --git a/package.json b/package.json index 02ce4ed..bafa00c 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,7 @@ "build": "concurrently npm:build-*" }, "devDependencies": { + "altv-esbuild": "^0.3.3", "concurrently": "^6.3.0" } } diff --git a/server/build.js b/server/build.js new file mode 100644 index 0000000..24ebedb --- /dev/null +++ b/server/build.js @@ -0,0 +1,16 @@ +import { altvEsbuild } from "altv-esbuild"; +import esbuild from "esbuild"; +import { SHARED_BUILD_OPTIONS } from "../shared/build"; + +esbuild.build({ + ...SHARED_BUILD_OPTIONS.esbuild, + platform: "node", + entryPoints: ["./index.ts"], + outfile: "../dist/server.js", + plugins: [ + altvEsbuild({ + ...SHARED_BUILD_OPTIONS.altvEsbuild, + mode: "server", + }), + ], +}); diff --git a/server/package.json b/server/package.json index faf4ec2..730a980 100644 --- a/server/package.json +++ b/server/package.json @@ -4,9 +4,8 @@ "description": "", "main": "index.js", "scripts": { - "test": "echo \"Error: no test specified\" && exit 1", - "dev": "esbuild ./index.ts --format=esm --bundle --watch --external:alt-* --outfile=../dist/server.js --define:process.env.NODE_ENV=\\\"development\\\" --define:process=\"{\\\"env\\\":{}}\"", - "build": "esbuild ./index.ts --format=esm --bundle --external:alt-* --outfile=../dist/server.js --define:process.env.NODE_ENV=\\\"production\\\" --define:process=\"{\\\"env\\\":{}}\"" + "dev": "node --es-module-specifier-resolution=node build.js --dev", + "build": "node --es-module-specifier-resolution=node build.js" }, "keywords": [], "author": "", @@ -18,5 +17,6 @@ "devDependencies": { "@altv/types-client": "^2.3.8", "@altv/types-server": "^2.5.1" - } + }, + "type": "module" } diff --git a/shared/build.js b/shared/build.js new file mode 100644 index 0000000..996567f --- /dev/null +++ b/shared/build.js @@ -0,0 +1,22 @@ +import process from "process"; + +const dev = (process.argv[2] === "--dev"); + +console.log("dev mode:", dev); + +export const SHARED_BUILD_OPTIONS = { + esbuild: { + format: "esm", + bundle: true, + watch: dev, + define: { + process: `{ "env": {} }`, + "process.env.NODE_ENV": `"${dev ? "development" : "production"}"`, + }, + }, + + altvEsbuild: { + dev: dev ? { hotReloadServerPort: 8878 } : false, + altvEnums: true, + }, +}; diff --git a/shared/tsconfig.json b/shared/tsconfig.json index 38a595e..b3c604e 100644 --- a/shared/tsconfig.json +++ b/shared/tsconfig.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "target": "es6", + "target": "ESNext", "allowJs": true, "skipLibCheck": true, "esModuleInterop": true, diff --git a/tsconfig.json b/tsconfig.json index 9773dc6..7d8ca5d 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -11,7 +11,7 @@ // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ /* Language and Environment */ - "target": "esnext", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ + "target": "ESNext", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ // "jsx": "preserve", /* Specify what JSX code is generated. */ // "experimentalDecorators": true, /* Enable experimental support for TC39 stage 2 draft decorators. */ @@ -24,7 +24,7 @@ // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ /* Modules */ - "module": "commonjs", /* Specify what module code is generated. */ + "module": "ESNext", /* Specify what module code is generated. */ // "rootDir": "./", /* Specify the root folder within your source files. */ // "moduleResolution": "node", /* Specify how TypeScript looks up a file from a given module specifier. */ // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ @@ -33,7 +33,8 @@ // "typeRoots": [], /* Specify multiple folders that act like `./node_modules/@types`. */ "typeRoots": [ "./node_modules/@types", - "./node_modules/@altv" + "./node_modules/@altv", + "./node_modules/altv-esbuild/altv-enums/types", ], // "types": [], /* Specify type package names to be included without being referenced in a source file. */ // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ diff --git a/yarn.lock b/yarn.lock index 579deee..762a86e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2546,6 +2546,11 @@ alphanum-sort@^1.0.0: resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= +altv-esbuild@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/altv-esbuild/-/altv-esbuild-0.3.3.tgz#85230b4064e6cd97b7c88a46471c45fc4f176419" + integrity sha512-4hwCmeb/rDgl6bf2Xg/aRrMnQzKO6M5n1sSG9HPdMRmiePVfj/hMjTBkKTwfX7q3kJSGgPYZ9lJ/Phu77KVQGA== + amdefine@>=0.0.4: version "1.0.1" resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" From 9a9c96b1db7ffff3da51e24c39fc2e577931392c Mon Sep 17 00:00:00 2001 From: xshady Date: Sun, 20 Nov 2022 00:55:07 +0300 Subject: [PATCH 4/5] fix clientside error, use altv-enums --- client/controllers/CodeEditorController.ts | 9 +++++---- client/controllers/FlyController.ts | 4 ++-- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/client/controllers/CodeEditorController.ts b/client/controllers/CodeEditorController.ts index db2d29d..7e119bc 100644 --- a/client/controllers/CodeEditorController.ts +++ b/client/controllers/CodeEditorController.ts @@ -8,6 +8,7 @@ import ControlsController from "./ControlsController"; import Utils from "../utils/Utils"; import AsyncFunction = Utils.AsyncFunction; import {codeHelpers} from "../../shared/codeHelpers"; +import { KeyCode } from "altv-enums"; export default class CodeEditorController { static readonly instance = new CodeEditorController(); @@ -129,8 +130,8 @@ export default class CodeEditorController { return await serverRPC.request('codeEditor:eval', code, id); } - private onKeydown = (key: number) => { - if (key === 117) { + private onKeydown = (key: KeyCode) => { + if (key === KeyCode.F6) { this._state = !this._state; if (this._state) { ControlsController.instance.block('codeEditor'); @@ -141,8 +142,8 @@ export default class CodeEditorController { } webview.emit('toggle', 'codeEditor', this._state); } - if (key === 116) { + if (key === KeyCode.F5) { webview.emit('codeEditor:halfTransparent', (this._opacity = !this._opacity)); } }; -} \ No newline at end of file +} diff --git a/client/controllers/FlyController.ts b/client/controllers/FlyController.ts index 8406511..7592591 100644 --- a/client/controllers/FlyController.ts +++ b/client/controllers/FlyController.ts @@ -29,7 +29,7 @@ export default class FlyController { onGameEntityCreate = (entity: alt.Entity) => { if (!(entity instanceof alt.Player)) return; - natives.freezeEntityPosition(entity.id, entity.getStreamSyncedMeta('fly')); + natives.freezeEntityPosition(entity.id, !!entity.getStreamSyncedMeta('fly')); } onStreamSyncedMetaChange = (entity: alt.Entity, key: string, value: any) => { @@ -195,4 +195,4 @@ export default class FlyController { natives.setCamCoord(this._cam, newPos.x, newPos.y, newPos.z); natives.setCamRot(this._cam, rot.x, rot.y, rot.z, 2); } -} \ No newline at end of file +} From e7d529c92faf73741750218a9bfc4e411cefc8d7 Mon Sep 17 00:00:00 2001 From: xshady Date: Fri, 25 Nov 2022 00:15:53 +0300 Subject: [PATCH 5/5] add test hot reload implementation --- .gitignore | 1 + client/build.js | 18 +- client/controllers/CodeEditorController.ts | 17 ++ .../src/windows/codeEditor/CodeEditor.tsx | 12 ++ server/build.js | 20 +- server/controllers/HotReload.ts | 174 ++++++++++++++++++ .../altv-dev-tools-hr-client/resource.cfg | 3 + .../altv-dev-tools-hr-server/resource.cfg | 2 + server/hotReload/build.js | 52 ++++++ server/hotReload/client-server-restart-src.js | 4 + server/index.ts | 25 ++- shared/build.js | 24 +-- 12 files changed, 317 insertions(+), 35 deletions(-) create mode 100644 server/controllers/HotReload.ts create mode 100644 server/hotReload/altv-dev-tools-hr-client/resource.cfg create mode 100644 server/hotReload/altv-dev-tools-hr-server/resource.cfg create mode 100644 server/hotReload/build.js create mode 100644 server/hotReload/client-server-restart-src.js diff --git a/.gitignore b/.gitignore index 6c8c1b8..875f617 100644 --- a/.gitignore +++ b/.gitignore @@ -264,3 +264,4 @@ fabric.properties # End of https://www.toptal.com/developers/gitignore/api/macos,node,webstorm .vscode +server/hotReload/altv-dev-tools-hr-*/*.js diff --git a/client/build.js b/client/build.js index 21f4f7b..81de12a 100644 --- a/client/build.js +++ b/client/build.js @@ -3,13 +3,13 @@ import esbuild from "esbuild"; import { SHARED_BUILD_OPTIONS } from "../shared/build"; esbuild.build({ - ...SHARED_BUILD_OPTIONS.esbuild, - entryPoints: ["./index.ts"], - outfile: "../dist/client.js", - plugins: [ - altvEsbuild({ - mode: "client", - ...SHARED_BUILD_OPTIONS.altvEsbuild, - }), - ], + ...SHARED_BUILD_OPTIONS.esbuild, + entryPoints: ["./index.ts"], + outfile: "../dist/client.js", + plugins: [ + altvEsbuild({ + mode: "client", + ...SHARED_BUILD_OPTIONS.altvEsbuild, + }), + ], }); diff --git a/client/controllers/CodeEditorController.ts b/client/controllers/CodeEditorController.ts index 7e119bc..658c8ed 100644 --- a/client/controllers/CodeEditorController.ts +++ b/client/controllers/CodeEditorController.ts @@ -27,10 +27,19 @@ export default class CodeEditorController { }) alt.on('keydown', this.onKeydown); + + // TEST + new alt.Utils.ConsoleCommand("hotreload", () => { + this.hotReloadEnabled = !this.hotReloadEnabled; + alt.log("hotReloadEnabled:", this.hotReloadEnabled); + + alt.emitServer("codeEditor:toggleHotReload", this.hotReloadEnabled); + }); } private _state = false; private _opacity = false; + private hotReloadEnabled = false; private static readonly inspectSettings = { colors: true, @@ -109,6 +118,14 @@ export default class CodeEditorController { // endregion private static async evalClientCode(id: number, code: string) { + if (CodeEditorController.instance.hotReloadEnabled) { + console.log("evalClientCode with hotreload"); + return await serverRPC.request('codeEditor:evalClient', code); + } + + // TEST + console.log("evalClientCode without hotreload"); + try { const res = await new AsyncFunction('alt', 'console', 'native', 'natives', 'game', ...Object.keys(codeHelpers), code) ( diff --git a/frontend/src/windows/codeEditor/CodeEditor.tsx b/frontend/src/windows/codeEditor/CodeEditor.tsx index 3bcd753..73493c4 100644 --- a/frontend/src/windows/codeEditor/CodeEditor.tsx +++ b/frontend/src/windows/codeEditor/CodeEditor.tsx @@ -72,6 +72,7 @@ class CodeEditor extends React.Component { private _ref = React.createRef(); private files: File[] = []; private actionId = 0; + private interv = -1; componentDidMount() { document.addEventListener('keydown', this.onKeyPress); @@ -85,6 +86,15 @@ class CodeEditor extends React.Component { highlightSeparators: true } })) + + let prevCode = ''; + this.interv = window.setInterval(() => { + const currentCode = this.getCurrentCode(); + if (prevCode === currentCode) return; + + prevCode = currentCode; + this.execute(); + }, 300); } componentWillUnmount() { @@ -92,6 +102,8 @@ class CodeEditor extends React.Component { document.addEventListener('keydown', this.onKeyPress); window.alt.off('log', this.log); window.alt.off('codeEditor:halfTransparent', this.changeOpacity); + + if(this.interv > -1) window.clearInterval(this.interv); } private converter = new Convert({ diff --git a/server/build.js b/server/build.js index 24ebedb..d7fb49a 100644 --- a/server/build.js +++ b/server/build.js @@ -3,14 +3,14 @@ import esbuild from "esbuild"; import { SHARED_BUILD_OPTIONS } from "../shared/build"; esbuild.build({ - ...SHARED_BUILD_OPTIONS.esbuild, - platform: "node", - entryPoints: ["./index.ts"], - outfile: "../dist/server.js", - plugins: [ - altvEsbuild({ - ...SHARED_BUILD_OPTIONS.altvEsbuild, - mode: "server", - }), - ], + ...SHARED_BUILD_OPTIONS.esbuild, + platform: "node", + entryPoints: ["./index.ts"], + outfile: "../dist/server.js", + plugins: [ + altvEsbuild({ + ...SHARED_BUILD_OPTIONS.altvEsbuild, + mode: "server", + }), + ], }); diff --git a/server/controllers/HotReload.ts b/server/controllers/HotReload.ts new file mode 100644 index 0000000..032b3a2 --- /dev/null +++ b/server/controllers/HotReload.ts @@ -0,0 +1,174 @@ +import alt from "alt-server"; +import process from "process"; +import childProcess from "child_process"; +import path from "path"; +import fs from "fs"; + +type ScriptType = "client" | "server"; +type KillProcess = () => void; + +interface IResource { + readonly name: string; + readonly srcPath: string; + killBuildProcess: KillProcess | null; +} + +export default class HotReloadController { + public static readonly instance = new HotReloadController(); + + public readonly PLAYER_HOT_RELOAD_ENABLED = Symbol("PLAYER_HOT_RELOAD_ENABLED"); + private readonly BUILD_SCRIPT_PATH: string; + private readonly BUILD_SCRIPT_DIRNAME: string; + private readonly resources: Record; + + private constructor() { + const resourcePath = (alt.Resource.current as alt.Resource).path; + this.BUILD_SCRIPT_PATH = path.join(resourcePath, "server/hotReload/build.js"); + this.BUILD_SCRIPT_DIRNAME = path.dirname(this.BUILD_SCRIPT_PATH); + + const resourceBase = path + .join(path.basename(resourcePath), "server/hotReload/altv-dev-tools-hr-") + .replaceAll("\\", "/"); + + this.resources = { + client: { + name: resourceBase + "client", + srcPath: path.join(this.BUILD_SCRIPT_DIRNAME, "altv-dev-tools-hr-client/src.js"), + killBuildProcess: null + }, + server: { + name: resourceBase + "server", + srcPath: path.join(this.BUILD_SCRIPT_DIRNAME, "altv-dev-tools-hr-server/src.js"), + killBuildProcess: null + }, + }; + + console.log("this.resources", this.resources); + } + + public toggleForPlayer(player: alt.Player, toggle: boolean) { + (player as unknown as Record)[this.PLAYER_HOT_RELOAD_ENABLED] = toggle; + + if (toggle) { + for(const scriptType of Object.keys(this.resources) as ScriptType[]) { + fs.writeFileSync(this.resources[scriptType].srcPath, ""); + this.createBuildProcess(scriptType); + } + } + else { + for(const scriptType of Object.keys(this.resources) as ScriptType[]) { + this.deleteBuildProcess(scriptType); + } + } + + setTimeout(() => { + for(const scriptType of Object.keys(this.resources) as ScriptType[]) { + this.toggleResource(scriptType, toggle); + } + }, 1000); + } + + + public evalForPlayer(player: alt.Player, scriptType: ScriptType, code: string): boolean { + if (!this.isEnabledForPlayer(player)) return false; + + console.log("evalForPlayer", player.name, scriptType, "code:", code.slice(0, 20)); + + // TEST + const banner = scriptType === "server" + ? "import alt from 'alt-server';\n" + : "import alt from 'alt-client'; import native from 'natives';\n" + + fs.writeFileSync(this.resources[scriptType].srcPath, banner + code); + + return true; + } + + private isEnabledForPlayer(player: alt.Player): boolean { + return (player as unknown as Record)[this.PLAYER_HOT_RELOAD_ENABLED]; + } + + private createBuildProcess(scriptType: ScriptType) { + this.deleteBuildProcess(scriptType); + + console.log("createBuildProcess", scriptType); + console.log("BUILD_SCRIPT_PATH:", this.BUILD_SCRIPT_PATH); + + const proc = this.forkChildProcess( + this.BUILD_SCRIPT_PATH, + [scriptType], + { + cwd: this.BUILD_SCRIPT_DIRNAME, + }, + ); + + proc.stdout?.on("data", (data) => { + console.log("proc", scriptType, "stdout", data.toString().slice(0, -1)); + }); + + proc.stderr?.on("data", (data) => { + console.log("proc", scriptType, "stderr", data.toString()); + }); + + proc.on("exit", () => { + console.log("proc", scriptType, "exit"); + }); + + const resourceStopHandler = () => { + console.log("resourceStopHandler kill proc", scriptType); + proc.kill(); + }; + + alt.on("resourceStop", resourceStopHandler); + + this.resources[scriptType].killBuildProcess = () => { + proc.kill(); + // TODO: should be fixed in altv types + (alt as unknown as typeof import("alt-shared")).off("resourceStop", resourceStopHandler); + }; + } + + private deleteBuildProcess(scriptType: ScriptType) { + console.log("deleteBuildProcess", scriptType); + + this.resources[scriptType].killBuildProcess?.(); + this.resources[scriptType].killBuildProcess = null; + } + + // thanks to vadzz we have working child_process.fork + private forkChildProcess( + modulePath: string, + args: string[] = [], + options: childProcess.SpawnOptions = {} + ): childProcess.ChildProcess { + if (options.stdio === undefined) { + options.stdio = ['pipe', 'pipe', 'pipe', 'ipc']; + } + + return childProcess.spawn('node', [modulePath, ...args], options); + } + + private isResourceStarted(name: string) { + // temp workaround + // TODO: use resource.valid after 13.0 release + let started = true; + try { + alt.Resource.getByName(name)?.isStarted; + } + catch { + started = false; + } + return started; + } + + private toggleResource(scriptType: ScriptType, toggle: boolean) { + console.log("toggleResource", scriptType); + + const { name } = this.resources[scriptType]; + + if (this.isResourceStarted(name) !== toggle) { + console.log("resource started !==", toggle); + alt[`${toggle ? "start" : "stop"}Resource`](name); + } + } +} diff --git a/server/hotReload/altv-dev-tools-hr-client/resource.cfg b/server/hotReload/altv-dev-tools-hr-client/resource.cfg new file mode 100644 index 0000000..7f67cf6 --- /dev/null +++ b/server/hotReload/altv-dev-tools-hr-client/resource.cfg @@ -0,0 +1,3 @@ +type: js +main: dist-server.js +client-main: dist.js diff --git a/server/hotReload/altv-dev-tools-hr-server/resource.cfg b/server/hotReload/altv-dev-tools-hr-server/resource.cfg new file mode 100644 index 0000000..dd652b7 --- /dev/null +++ b/server/hotReload/altv-dev-tools-hr-server/resource.cfg @@ -0,0 +1,2 @@ +type: js +main: dist.js diff --git a/server/hotReload/build.js b/server/hotReload/build.js new file mode 100644 index 0000000..f664f07 --- /dev/null +++ b/server/hotReload/build.js @@ -0,0 +1,52 @@ +import { altvEsbuild } from "altv-esbuild"; +import esbuild from "esbuild"; +import process from "process"; + +const [, , mode] = process.argv; + +// TEST +console.log("mode:", mode); + +const DEV_OPTIONS = { + hotReloadServerPort: mode === "server" ? 8880 : 8881, + playersReconnect: false, + restartCommand: false, +}; + +esbuild.build({ + logLevel: "info", + watch: true, + format: "esm", + bundle: true, + entryPoints: [`./altv-dev-tools-hr-${mode}/src.js`], + outfile: `./altv-dev-tools-hr-${mode}/dist.js`, + plugins: [ + altvEsbuild({ + mode, + dev: DEV_OPTIONS, + // TODO: add altv-enums module support + // altvEnums: true, + }), + ], +}); + +// if mode is client we need serverside script in client resource (altv-dev-tools-hr-client) +// for restarting resource, because we cant use alt.restartResource on clientside +if (mode === "client") { + console.log("building server script for clientside-only resource"); + esbuild.build({ + logLevel: "info", + platform: "node", + format: "esm", + watch: true, + bundle: true, + entryPoints: [`./client-server-restart-src.js`], + outfile: `./altv-dev-tools-hr-client/dist-server.js`, + plugins: [ + altvEsbuild({ + mode: "server", + dev: DEV_OPTIONS, + }), + ], + }); +} diff --git a/server/hotReload/client-server-restart-src.js b/server/hotReload/client-server-restart-src.js new file mode 100644 index 0000000..dbb50f3 --- /dev/null +++ b/server/hotReload/client-server-restart-src.js @@ -0,0 +1,4 @@ +// placeholder for clientside-only resource + +// if mode is client we need serverside script in client resource (altv-dev-tools-hr-client) +// for restarting resource, because we cant use alt.restartResource on clientside diff --git a/server/index.ts b/server/index.ts index 3acc67c..91e3729 100644 --- a/server/index.ts +++ b/server/index.ts @@ -1,7 +1,8 @@ import alt, { Player } from 'alt-server'; import util from "util"; -import {codeHelpers} from "../shared/codeHelpers"; -import {Vector3} from "alt-client"; +import { codeHelpers } from "../shared/codeHelpers"; +import { Vector3 } from "alt-client"; +import HotReloadController from './controllers/HotReload'; const colorizeError = (text: string) => '\x1b[31;1m[Error] ' + text + '\x1b[0m'; const colorizeWarning = (text: string) => '\x1b[33;1m[Warning] ' + text + '\x1b[0m'; @@ -61,6 +62,12 @@ const patchConsole = (player: alt.Player, id: number) => { } alt.onClient('codeEditor:eval', async (player, promiseId, code, id) => { + if (HotReloadController.instance.evalForPlayer(player, "server", code)) { + console.log("hot reload server evaled"); + alt.emitClient(player, "$repl", promiseId, "hot reload test"); + return; + } + try { const res = await new AsyncFunction('alt', 'player', 'console', ...Object.keys(codeHelpers), code)( patchAlt(player, id), player, patchConsole(player, id), ...Object.values(codeHelpers) @@ -70,13 +77,23 @@ alt.onClient('codeEditor:eval', async (player, promiseId, code, id) => { if (e instanceof Error) { return alt.emitClient(player, "$repl", promiseId, colorizeError(String(e.stack))); } - return alt.emitClient(player, "$repl", promiseId, colorizeError(util.inspect(e, {...inspectSettings, colors: false}))); + return alt.emitClient(player, "$repl", promiseId, colorizeError(util.inspect(e, { ...inspectSettings, colors: false }))); } }); +alt.onClient("codeEditor:evalClient", (player, promiseId, code: string) => { + HotReloadController.instance.evalForPlayer(player, "client", code); + alt.emitClient(player, "$repl", promiseId, "hot reload test"); +}); + +alt.onClient("codeEditor:toggleHotReload", (player, toggle: boolean) => { + HotReloadController.instance.toggleForPlayer(player, toggle); +}); + alt.onClient('qaTools:spawn', (player: Player, vector: Vector3) => { player.spawn(vector); }); + alt.onClient('qaTools:fly', (player: Player, state: boolean) => { player.setStreamSyncedMeta('fly', state); -}); \ No newline at end of file +}); diff --git a/shared/build.js b/shared/build.js index 996567f..1e811de 100644 --- a/shared/build.js +++ b/shared/build.js @@ -5,18 +5,18 @@ const dev = (process.argv[2] === "--dev"); console.log("dev mode:", dev); export const SHARED_BUILD_OPTIONS = { - esbuild: { - format: "esm", - bundle: true, - watch: dev, - define: { - process: `{ "env": {} }`, - "process.env.NODE_ENV": `"${dev ? "development" : "production"}"`, + esbuild: { + format: "esm", + bundle: true, + watch: dev, + define: { + process: `{ "env": {} }`, + "process.env.NODE_ENV": `"${dev ? "development" : "production"}"`, + }, }, - }, - altvEsbuild: { - dev: dev ? { hotReloadServerPort: 8878 } : false, - altvEnums: true, - }, + altvEsbuild: { + dev: dev ? { hotReloadServerPort: 8878 } : false, + altvEnums: true, + }, };