diff --git a/.pnp.cjs b/.pnp.cjs index 7176c277f..9978b7b52 100755 --- a/.pnp.cjs +++ b/.pnp.cjs @@ -21,6 +21,10 @@ const RAW_RUNTIME_STATE = "name": "client",\ "reference": "workspace:packages/client"\ },\ + {\ + "name": "frontend",\ + "reference": "workspace:packages/frontend"\ + },\ {\ "name": "iceshrimp-js",\ "reference": "workspace:packages/iceshrimp-js"\ @@ -35,6 +39,7 @@ const RAW_RUNTIME_STATE = "fallbackExclusionList": [\ ["backend", ["workspace:packages/backend"]],\ ["client", ["workspace:packages/client"]],\ + ["frontend", ["workspace:packages/frontend"]],\ ["iceshrimp", ["workspace:."]],\ ["iceshrimp-js", ["workspace:packages/iceshrimp-js"]],\ ["sw", ["workspace:packages/sw"]]\ @@ -67,7 +72,7 @@ const RAW_RUNTIME_STATE = ["js-yaml", "npm:4.1.0"],\ ["seedrandom", "npm:3.0.5"],\ ["start-server-and-test", "npm:1.15.2"],\ - ["typescript", "patch:typescript@npm%3A5.1.6#optional!builtin::version=5.1.6&hash=5da071"],\ + ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"],\ ["yaml", "npm:2.3.4"]\ ],\ "linkType": "SOFT"\ @@ -1324,199 +1329,199 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["@esbuild/android-arm", [\ - ["npm:0.19.7", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-android-arm-npm-0.19.7-98ad97cf86/node_modules/@esbuild/android-arm/",\ + ["npm:0.19.8", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-android-arm-npm-0.19.8-0f6bf856b4/node_modules/@esbuild/android-arm/",\ "packageDependencies": [\ - ["@esbuild/android-arm", "npm:0.19.7"]\ + ["@esbuild/android-arm", "npm:0.19.8"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@esbuild/android-arm64", [\ - ["npm:0.19.7", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-android-arm64-npm-0.19.7-d3ac7bb45d/node_modules/@esbuild/android-arm64/",\ + ["npm:0.19.8", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-android-arm64-npm-0.19.8-30dcd72187/node_modules/@esbuild/android-arm64/",\ "packageDependencies": [\ - ["@esbuild/android-arm64", "npm:0.19.7"]\ + ["@esbuild/android-arm64", "npm:0.19.8"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@esbuild/android-x64", [\ - ["npm:0.19.7", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-android-x64-npm-0.19.7-81c58d1bb6/node_modules/@esbuild/android-x64/",\ + ["npm:0.19.8", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-android-x64-npm-0.19.8-d9dba94411/node_modules/@esbuild/android-x64/",\ "packageDependencies": [\ - ["@esbuild/android-x64", "npm:0.19.7"]\ + ["@esbuild/android-x64", "npm:0.19.8"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@esbuild/darwin-arm64", [\ - ["npm:0.19.7", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-darwin-arm64-npm-0.19.7-74c4d85f69/node_modules/@esbuild/darwin-arm64/",\ + ["npm:0.19.8", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-darwin-arm64-npm-0.19.8-b1920f84ba/node_modules/@esbuild/darwin-arm64/",\ "packageDependencies": [\ - ["@esbuild/darwin-arm64", "npm:0.19.7"]\ + ["@esbuild/darwin-arm64", "npm:0.19.8"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@esbuild/darwin-x64", [\ - ["npm:0.19.7", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-darwin-x64-npm-0.19.7-e9b1213810/node_modules/@esbuild/darwin-x64/",\ + ["npm:0.19.8", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-darwin-x64-npm-0.19.8-36f500fc51/node_modules/@esbuild/darwin-x64/",\ "packageDependencies": [\ - ["@esbuild/darwin-x64", "npm:0.19.7"]\ + ["@esbuild/darwin-x64", "npm:0.19.8"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@esbuild/freebsd-arm64", [\ - ["npm:0.19.7", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-freebsd-arm64-npm-0.19.7-9a41b34812/node_modules/@esbuild/freebsd-arm64/",\ + ["npm:0.19.8", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-freebsd-arm64-npm-0.19.8-cb340a06d6/node_modules/@esbuild/freebsd-arm64/",\ "packageDependencies": [\ - ["@esbuild/freebsd-arm64", "npm:0.19.7"]\ + ["@esbuild/freebsd-arm64", "npm:0.19.8"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@esbuild/freebsd-x64", [\ - ["npm:0.19.7", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-freebsd-x64-npm-0.19.7-e9501e5202/node_modules/@esbuild/freebsd-x64/",\ + ["npm:0.19.8", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-freebsd-x64-npm-0.19.8-7e90399f78/node_modules/@esbuild/freebsd-x64/",\ "packageDependencies": [\ - ["@esbuild/freebsd-x64", "npm:0.19.7"]\ + ["@esbuild/freebsd-x64", "npm:0.19.8"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@esbuild/linux-arm", [\ - ["npm:0.19.7", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-linux-arm-npm-0.19.7-59d5df4ea0/node_modules/@esbuild/linux-arm/",\ + ["npm:0.19.8", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-linux-arm-npm-0.19.8-6f4c357b4e/node_modules/@esbuild/linux-arm/",\ "packageDependencies": [\ - ["@esbuild/linux-arm", "npm:0.19.7"]\ + ["@esbuild/linux-arm", "npm:0.19.8"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@esbuild/linux-arm64", [\ - ["npm:0.19.7", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-linux-arm64-npm-0.19.7-39e9cc6148/node_modules/@esbuild/linux-arm64/",\ + ["npm:0.19.8", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-linux-arm64-npm-0.19.8-2687227d41/node_modules/@esbuild/linux-arm64/",\ "packageDependencies": [\ - ["@esbuild/linux-arm64", "npm:0.19.7"]\ + ["@esbuild/linux-arm64", "npm:0.19.8"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@esbuild/linux-ia32", [\ - ["npm:0.19.7", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-linux-ia32-npm-0.19.7-6e5173e1e0/node_modules/@esbuild/linux-ia32/",\ + ["npm:0.19.8", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-linux-ia32-npm-0.19.8-dcaf95d96a/node_modules/@esbuild/linux-ia32/",\ "packageDependencies": [\ - ["@esbuild/linux-ia32", "npm:0.19.7"]\ + ["@esbuild/linux-ia32", "npm:0.19.8"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@esbuild/linux-loong64", [\ - ["npm:0.19.7", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-linux-loong64-npm-0.19.7-d89e299dc5/node_modules/@esbuild/linux-loong64/",\ + ["npm:0.19.8", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-linux-loong64-npm-0.19.8-9299fc5889/node_modules/@esbuild/linux-loong64/",\ "packageDependencies": [\ - ["@esbuild/linux-loong64", "npm:0.19.7"]\ + ["@esbuild/linux-loong64", "npm:0.19.8"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@esbuild/linux-mips64el", [\ - ["npm:0.19.7", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-linux-mips64el-npm-0.19.7-1cb867e259/node_modules/@esbuild/linux-mips64el/",\ + ["npm:0.19.8", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-linux-mips64el-npm-0.19.8-c7a9999c11/node_modules/@esbuild/linux-mips64el/",\ "packageDependencies": [\ - ["@esbuild/linux-mips64el", "npm:0.19.7"]\ + ["@esbuild/linux-mips64el", "npm:0.19.8"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@esbuild/linux-ppc64", [\ - ["npm:0.19.7", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-linux-ppc64-npm-0.19.7-cdbe183254/node_modules/@esbuild/linux-ppc64/",\ + ["npm:0.19.8", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-linux-ppc64-npm-0.19.8-c6069ca15a/node_modules/@esbuild/linux-ppc64/",\ "packageDependencies": [\ - ["@esbuild/linux-ppc64", "npm:0.19.7"]\ + ["@esbuild/linux-ppc64", "npm:0.19.8"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@esbuild/linux-riscv64", [\ - ["npm:0.19.7", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-linux-riscv64-npm-0.19.7-b316bea2d1/node_modules/@esbuild/linux-riscv64/",\ + ["npm:0.19.8", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-linux-riscv64-npm-0.19.8-c4bc076f39/node_modules/@esbuild/linux-riscv64/",\ "packageDependencies": [\ - ["@esbuild/linux-riscv64", "npm:0.19.7"]\ + ["@esbuild/linux-riscv64", "npm:0.19.8"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@esbuild/linux-s390x", [\ - ["npm:0.19.7", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-linux-s390x-npm-0.19.7-78a28cdaef/node_modules/@esbuild/linux-s390x/",\ + ["npm:0.19.8", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-linux-s390x-npm-0.19.8-9dd9364d5e/node_modules/@esbuild/linux-s390x/",\ "packageDependencies": [\ - ["@esbuild/linux-s390x", "npm:0.19.7"]\ + ["@esbuild/linux-s390x", "npm:0.19.8"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@esbuild/linux-x64", [\ - ["npm:0.19.7", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-linux-x64-npm-0.19.7-f4cf76f770/node_modules/@esbuild/linux-x64/",\ + ["npm:0.19.8", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-linux-x64-npm-0.19.8-231d24e5e4/node_modules/@esbuild/linux-x64/",\ "packageDependencies": [\ - ["@esbuild/linux-x64", "npm:0.19.7"]\ + ["@esbuild/linux-x64", "npm:0.19.8"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@esbuild/netbsd-x64", [\ - ["npm:0.19.7", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-netbsd-x64-npm-0.19.7-4ae85395e8/node_modules/@esbuild/netbsd-x64/",\ + ["npm:0.19.8", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-netbsd-x64-npm-0.19.8-11565a66d4/node_modules/@esbuild/netbsd-x64/",\ "packageDependencies": [\ - ["@esbuild/netbsd-x64", "npm:0.19.7"]\ + ["@esbuild/netbsd-x64", "npm:0.19.8"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@esbuild/openbsd-x64", [\ - ["npm:0.19.7", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-openbsd-x64-npm-0.19.7-e97b0baf3d/node_modules/@esbuild/openbsd-x64/",\ + ["npm:0.19.8", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-openbsd-x64-npm-0.19.8-590ec8cced/node_modules/@esbuild/openbsd-x64/",\ "packageDependencies": [\ - ["@esbuild/openbsd-x64", "npm:0.19.7"]\ + ["@esbuild/openbsd-x64", "npm:0.19.8"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@esbuild/sunos-x64", [\ - ["npm:0.19.7", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-sunos-x64-npm-0.19.7-80997c2d8a/node_modules/@esbuild/sunos-x64/",\ + ["npm:0.19.8", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-sunos-x64-npm-0.19.8-c23b4c9353/node_modules/@esbuild/sunos-x64/",\ "packageDependencies": [\ - ["@esbuild/sunos-x64", "npm:0.19.7"]\ + ["@esbuild/sunos-x64", "npm:0.19.8"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@esbuild/win32-arm64", [\ - ["npm:0.19.7", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-win32-arm64-npm-0.19.7-2d8d66e2cf/node_modules/@esbuild/win32-arm64/",\ + ["npm:0.19.8", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-win32-arm64-npm-0.19.8-b89744d857/node_modules/@esbuild/win32-arm64/",\ "packageDependencies": [\ - ["@esbuild/win32-arm64", "npm:0.19.7"]\ + ["@esbuild/win32-arm64", "npm:0.19.8"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@esbuild/win32-ia32", [\ - ["npm:0.19.7", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-win32-ia32-npm-0.19.7-f2ffcce4ea/node_modules/@esbuild/win32-ia32/",\ + ["npm:0.19.8", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-win32-ia32-npm-0.19.8-a38c60f916/node_modules/@esbuild/win32-ia32/",\ "packageDependencies": [\ - ["@esbuild/win32-ia32", "npm:0.19.7"]\ + ["@esbuild/win32-ia32", "npm:0.19.8"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@esbuild/win32-x64", [\ - ["npm:0.19.7", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-win32-x64-npm-0.19.7-d531b57a58/node_modules/@esbuild/win32-x64/",\ + ["npm:0.19.8", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-win32-x64-npm-0.19.8-e04c7b26a4/node_modules/@esbuild/win32-x64/",\ "packageDependencies": [\ - ["@esbuild/win32-x64", "npm:0.19.7"]\ + ["@esbuild/win32-x64", "npm:0.19.8"]\ ],\ "linkType": "HARD"\ }]\ @@ -1624,7 +1629,7 @@ const RAW_RUNTIME_STATE = ["eslint-plugin-yml", "virtual:a47359453d05960acfdb0e9ea5a0a6b96ac556b27d2d094c5fc0c7a7c1749650640c69033df2c650c35d7c667cef5718018dde3071a14b8d540a6db06a046973#npm:1.8.0"],\ ["jsonc-eslint-parser", "npm:2.3.0"],\ ["prettier", "npm:3.0.0"],\ - ["typescript", "patch:typescript@npm%3A5.1.6#optional!builtin::version=5.1.6&hash=5da071"],\ + ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"],\ ["vue-eslint-parser", "virtual:e08418ef59deeef07c44e8084933240f44dc1c0a2f11df6c1122cde5bb698f75d16f72b69df01637f13c248e9f40c9a0743e0787a4299c44674d46800adefa34#npm:9.3.1"],\ ["yaml-eslint-parser", "npm:1.2.2"]\ ],\ @@ -1669,7 +1674,7 @@ const RAW_RUNTIME_STATE = ["eslint-plugin-prettier", "virtual:e08418ef59deeef07c44e8084933240f44dc1c0a2f11df6c1122cde5bb698f75d16f72b69df01637f13c248e9f40c9a0743e0787a4299c44674d46800adefa34#npm:4.2.1"],\ ["eslint-plugin-tsdoc", "npm:0.2.17"],\ ["prettier", "npm:3.0.0"],\ - ["typescript", "patch:typescript@npm%3A5.1.6#optional!builtin::version=5.1.6&hash=5da071"]\ + ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"]\ ],\ "packagePeers": [\ "@types/eslint",\ @@ -1696,7 +1701,7 @@ const RAW_RUNTIME_STATE = ["eslint-plugin-prettier", "virtual:e0e8263c43cf16085b2522c108420341539e4d9a00312aaf37527b43f97708919abfc484199eb33fec4b04571df6e28e29523ae785da626693f7cc26f4ce57f7#npm:5.0.0"],\ ["eslint-plugin-tsdoc", "npm:0.2.17"],\ ["prettier", "npm:3.0.0"],\ - ["typescript", "patch:typescript@npm%3A5.1.6#optional!builtin::version=5.1.6&hash=5da071"]\ + ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"]\ ],\ "packagePeers": [\ "@types/eslint",\ @@ -1738,7 +1743,7 @@ const RAW_RUNTIME_STATE = ["eslint-plugin-vue-scoped-css", "virtual:e08418ef59deeef07c44e8084933240f44dc1c0a2f11df6c1122cde5bb698f75d16f72b69df01637f13c248e9f40c9a0743e0787a4299c44674d46800adefa34#npm:2.5.0"],\ ["local-pkg", "npm:0.4.3"],\ ["prettier", "npm:3.0.0"],\ - ["typescript", "patch:typescript@npm%3A5.1.6#optional!builtin::version=5.1.6&hash=5da071"],\ + ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"],\ ["vue-eslint-parser", "virtual:e08418ef59deeef07c44e8084933240f44dc1c0a2f11df6c1122cde5bb698f75d16f72b69df01637f13c248e9f40c9a0743e0787a4299c44674d46800adefa34#npm:9.3.1"]\ ],\ "packagePeers": [\ @@ -1778,7 +1783,7 @@ const RAW_RUNTIME_STATE = ["eslint-plugin-vue", "virtual:e08418ef59deeef07c44e8084933240f44dc1c0a2f11df6c1122cde5bb698f75d16f72b69df01637f13c248e9f40c9a0743e0787a4299c44674d46800adefa34#npm:9.15.1"],\ ["eslint-plugin-vue-scoped-css", "virtual:e08418ef59deeef07c44e8084933240f44dc1c0a2f11df6c1122cde5bb698f75d16f72b69df01637f13c248e9f40c9a0743e0787a4299c44674d46800adefa34#npm:2.5.0"],\ ["prettier", "npm:3.0.0"],\ - ["typescript", "patch:typescript@npm%3A5.1.6#optional!builtin::version=5.1.6&hash=5da071"],\ + ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"],\ ["vue-eslint-parser", "virtual:e08418ef59deeef07c44e8084933240f44dc1c0a2f11df6c1122cde5bb698f75d16f72b69df01637f13c248e9f40c9a0743e0787a4299c44674d46800adefa34#npm:9.3.1"]\ ],\ "packagePeers": [\ @@ -2896,6 +2901,15 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["@polka/url", [\ + ["npm:1.0.0-next.24", {\ + "packageLocation": "./.yarn/cache/@polka-url-npm-1.0.0-next.24-058e984602-00baec4458.zip/node_modules/@polka/url/",\ + "packageDependencies": [\ + ["@polka/url", "npm:1.0.0-next.24"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["@redis/bloom", [\ ["npm:1.2.0", {\ "packageLocation": "./.yarn/cache/@redis-bloom-npm-1.2.0-c3ffcb341a-a16408f729.zip/node_modules/@redis/bloom/",\ @@ -4888,7 +4902,7 @@ const RAW_RUNTIME_STATE = ["natural-compare-lite", "npm:1.4.0"],\ ["semver", "npm:7.5.4"],\ ["tsutils", "virtual:d8c483f88a6065b498e6e0fc3a962a33c3eeb9fbe05ba30d5d2b593085dc15628873487fa52ca2d8f6ae5f96f3679ddd42df2375f86d9e5f7c79f9530cbe38c7#npm:3.21.0"],\ - ["typescript", "patch:typescript@npm%3A5.1.6#optional!builtin::version=5.1.6&hash=5da071"]\ + ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"]\ ],\ "packagePeers": [\ "@types/eslint",\ @@ -4921,7 +4935,7 @@ const RAW_RUNTIME_STATE = ["natural-compare-lite", "npm:1.4.0"],\ ["semver", "npm:7.5.4"],\ ["ts-api-utils", "virtual:3b6679253154e85050836479386972d2dff7aa3c98cee4eebd492aaca13f5cb7343b2734c50ad896888a02f5e031359a5da525c02d6f92779f3f9dd7e752126a#npm:1.0.1"],\ - ["typescript", "patch:typescript@npm%3A5.1.6#optional!builtin::version=5.1.6&hash=5da071"]\ + ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"]\ ],\ "packagePeers": [\ "@types/eslint",\ @@ -4960,7 +4974,7 @@ const RAW_RUNTIME_STATE = ["@typescript-eslint/typescript-estree", "virtual:b8a8e61bd56111fe5b42ef698d4b06734eb27130dc91c0bb828f4984137c8d04ffd7317532cd84566b52db4763d5d3711b9902080f51e743c25e129b3f641136#npm:5.62.0"],\ ["debug", "virtual:ac3d8e680759ce54399273724d44e041d6c9b73454d191d411a8c44bb27e22f02aaf6ed9d3ad0ac1c298eac4833cff369c9c7b84c573016112c4f84be2cd8543#npm:4.3.4"],\ ["eslint", "npm:8.45.0"],\ - ["typescript", "patch:typescript@npm%3A5.1.6#optional!builtin::version=5.1.6&hash=5da071"]\ + ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"]\ ],\ "packagePeers": [\ "@types/eslint",\ @@ -4982,7 +4996,7 @@ const RAW_RUNTIME_STATE = ["@typescript-eslint/visitor-keys", "npm:6.2.0"],\ ["debug", "virtual:ac3d8e680759ce54399273724d44e041d6c9b73454d191d411a8c44bb27e22f02aaf6ed9d3ad0ac1c298eac4833cff369c9c7b84c573016112c4f84be2cd8543#npm:4.3.4"],\ ["eslint", "npm:8.45.0"],\ - ["typescript", "patch:typescript@npm%3A5.1.6#optional!builtin::version=5.1.6&hash=5da071"]\ + ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"]\ ],\ "packagePeers": [\ "@types/eslint",\ @@ -5039,7 +5053,7 @@ const RAW_RUNTIME_STATE = ["debug", "virtual:ac3d8e680759ce54399273724d44e041d6c9b73454d191d411a8c44bb27e22f02aaf6ed9d3ad0ac1c298eac4833cff369c9c7b84c573016112c4f84be2cd8543#npm:4.3.4"],\ ["eslint", "npm:8.45.0"],\ ["ts-api-utils", "virtual:3b6679253154e85050836479386972d2dff7aa3c98cee4eebd492aaca13f5cb7343b2734c50ad896888a02f5e031359a5da525c02d6f92779f3f9dd7e752126a#npm:1.0.1"],\ - ["typescript", "patch:typescript@npm%3A5.1.6#optional!builtin::version=5.1.6&hash=5da071"]\ + ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"]\ ],\ "packagePeers": [\ "@types/eslint",\ @@ -5060,7 +5074,7 @@ const RAW_RUNTIME_STATE = ["debug", "virtual:ac3d8e680759ce54399273724d44e041d6c9b73454d191d411a8c44bb27e22f02aaf6ed9d3ad0ac1c298eac4833cff369c9c7b84c573016112c4f84be2cd8543#npm:4.3.4"],\ ["eslint", "npm:8.45.0"],\ ["tsutils", "virtual:d8c483f88a6065b498e6e0fc3a962a33c3eeb9fbe05ba30d5d2b593085dc15628873487fa52ca2d8f6ae5f96f3679ddd42df2375f86d9e5f7c79f9530cbe38c7#npm:3.21.0"],\ - ["typescript", "patch:typescript@npm%3A5.1.6#optional!builtin::version=5.1.6&hash=5da071"]\ + ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"]\ ],\ "packagePeers": [\ "@types/eslint",\ @@ -5114,7 +5128,7 @@ const RAW_RUNTIME_STATE = ["is-glob", "npm:4.0.3"],\ ["semver", "npm:7.5.4"],\ ["ts-api-utils", "virtual:3b6679253154e85050836479386972d2dff7aa3c98cee4eebd492aaca13f5cb7343b2734c50ad896888a02f5e031359a5da525c02d6f92779f3f9dd7e752126a#npm:1.0.1"],\ - ["typescript", "patch:typescript@npm%3A5.1.6#optional!builtin::version=5.1.6&hash=5da071"]\ + ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"]\ ],\ "packagePeers": [\ "@types/typescript",\ @@ -5174,7 +5188,7 @@ const RAW_RUNTIME_STATE = ["is-glob", "npm:4.0.3"],\ ["semver", "npm:7.5.4"],\ ["tsutils", "virtual:d8c483f88a6065b498e6e0fc3a962a33c3eeb9fbe05ba30d5d2b593085dc15628873487fa52ca2d8f6ae5f96f3679ddd42df2375f86d9e5f7c79f9530cbe38c7#npm:3.21.0"],\ - ["typescript", "patch:typescript@npm%3A5.1.6#optional!builtin::version=5.1.6&hash=5da071"]\ + ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"]\ ],\ "packagePeers": [\ "@types/typescript",\ @@ -5274,7 +5288,7 @@ const RAW_RUNTIME_STATE = ["@vitejs/plugin-vue", "virtual:658502eb4296e93abedc18b6aa9b26978f434f08d98e21ebb0e725354b8bb54b62db9c4a1893e460c694ff7500ff5cbafa4457b0dfd26b5838868666c861e990#npm:4.5.0"],\ ["@types/vite", null],\ ["@types/vue", null],\ - ["vite", "virtual:658502eb4296e93abedc18b6aa9b26978f434f08d98e21ebb0e725354b8bb54b62db9c4a1893e460c694ff7500ff5cbafa4457b0dfd26b5838868666c861e990#npm:5.0.2"],\ + ["vite", "virtual:658502eb4296e93abedc18b6aa9b26978f434f08d98e21ebb0e725354b8bb54b62db9c4a1893e460c694ff7500ff5cbafa4457b0dfd26b5838868666c861e990#npm:5.0.7"],\ ["vue", "virtual:658502eb4296e93abedc18b6aa9b26978f434f08d98e21ebb0e725354b8bb54b62db9c4a1893e460c694ff7500ff5cbafa4457b0dfd26b5838868666c861e990#npm:3.3.11"]\ ],\ "packagePeers": [\ @@ -5284,6 +5298,54 @@ const RAW_RUNTIME_STATE = "vue"\ ],\ "linkType": "HARD"\ + }],\ + ["virtual:a315446cd0626d69c81bb371962241fad2e843699b8251d1a49a3231d7821af7bdb2285677102303361c3219ca15ceeabaa438b7b5ead02c2587180fe2eace6b#npm:4.5.0", {\ + "packageLocation": "./.yarn/__virtual__/@vitejs-plugin-vue-virtual-d0f5c5e6a3/0/cache/@vitejs-plugin-vue-npm-4.5.0-1314dce78f-15be17e579.zip/node_modules/@vitejs/plugin-vue/",\ + "packageDependencies": [\ + ["@vitejs/plugin-vue", "virtual:a315446cd0626d69c81bb371962241fad2e843699b8251d1a49a3231d7821af7bdb2285677102303361c3219ca15ceeabaa438b7b5ead02c2587180fe2eace6b#npm:4.5.0"],\ + ["@types/vite", null],\ + ["@types/vue", null],\ + ["vite", "virtual:a315446cd0626d69c81bb371962241fad2e843699b8251d1a49a3231d7821af7bdb2285677102303361c3219ca15ceeabaa438b7b5ead02c2587180fe2eace6b#npm:5.0.7"],\ + ["vue", "virtual:658502eb4296e93abedc18b6aa9b26978f434f08d98e21ebb0e725354b8bb54b62db9c4a1893e460c694ff7500ff5cbafa4457b0dfd26b5838868666c861e990#npm:3.3.11"]\ + ],\ + "packagePeers": [\ + "@types/vite",\ + "@types/vue",\ + "vite",\ + "vue"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@volar/language-core", [\ + ["npm:1.11.1", {\ + "packageLocation": "./.yarn/cache/@volar-language-core-npm-1.11.1-e30e50203f-2fef58727b.zip/node_modules/@volar/language-core/",\ + "packageDependencies": [\ + ["@volar/language-core", "npm:1.11.1"],\ + ["@volar/source-map", "npm:1.11.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@volar/source-map", [\ + ["npm:1.11.1", {\ + "packageLocation": "./.yarn/cache/@volar-source-map-npm-1.11.1-19e27a8f3b-b90c32b23b.zip/node_modules/@volar/source-map/",\ + "packageDependencies": [\ + ["@volar/source-map", "npm:1.11.1"],\ + ["muggle-string", "npm:0.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@volar/typescript", [\ + ["npm:1.11.1", {\ + "packageLocation": "./.yarn/cache/@volar-typescript-npm-1.11.1-9a11b85d7c-714eeb3472.zip/node_modules/@volar/typescript/",\ + "packageDependencies": [\ + ["@volar/typescript", "npm:1.11.1"],\ + ["@volar/language-core", "npm:1.11.1"],\ + ["path-browserify", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["@vue/compiler-core", [\ @@ -5396,6 +5458,46 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["@vue/devtools-api", [\ + ["npm:6.5.1", {\ + "packageLocation": "./.yarn/cache/@vue-devtools-api-npm-6.5.1-a00bfbc22f-e94443ce37.zip/node_modules/@vue/devtools-api/",\ + "packageDependencies": [\ + ["@vue/devtools-api", "npm:6.5.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@vue/language-core", [\ + ["npm:1.8.25", {\ + "packageLocation": "./.yarn/cache/@vue-language-core-npm-1.8.25-60dd634fe2-680d233742.zip/node_modules/@vue/language-core/",\ + "packageDependencies": [\ + ["@vue/language-core", "npm:1.8.25"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:7475df7693108d919e594ded967428b6725b8e71cdeee0775b5228dc8569757d7d3fda1c363044afacb24930b8904652792286c1343278eb7b630c9c5b73fc93#npm:1.8.25", {\ + "packageLocation": "./.yarn/__virtual__/@vue-language-core-virtual-8a3b6211d6/0/cache/@vue-language-core-npm-1.8.25-60dd634fe2-680d233742.zip/node_modules/@vue/language-core/",\ + "packageDependencies": [\ + ["@vue/language-core", "virtual:7475df7693108d919e594ded967428b6725b8e71cdeee0775b5228dc8569757d7d3fda1c363044afacb24930b8904652792286c1343278eb7b630c9c5b73fc93#npm:1.8.25"],\ + ["@types/typescript", null],\ + ["@volar/language-core", "npm:1.11.1"],\ + ["@volar/source-map", "npm:1.11.1"],\ + ["@vue/compiler-dom", "npm:3.3.11"],\ + ["@vue/shared", "npm:3.3.11"],\ + ["computeds", "npm:0.0.1"],\ + ["minimatch", "npm:9.0.3"],\ + ["muggle-string", "npm:0.3.1"],\ + ["path-browserify", "npm:1.0.1"],\ + ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"],\ + ["vue-template-compiler", "npm:2.7.15"]\ + ],\ + "packagePeers": [\ + "@types/typescript",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["@vue/reactivity", [\ ["npm:3.3.11", {\ "packageLocation": "./.yarn/cache/@vue-reactivity-npm-3.3.11-5aa6345ab2-32081c87db.zip/node_modules/@vue/reactivity/",\ @@ -7115,6 +7217,7 @@ const RAW_RUNTIME_STATE = ["koa", "npm:2.14.2"],\ ["koa-body", "npm:6.0.1"],\ ["koa-bodyparser", "npm:4.4.1"],\ + ["koa-connect", "npm:2.1.0"],\ ["koa-favicon", "npm:2.1.0"],\ ["koa-json-body", "npm:5.3.0"],\ ["koa-logger", "npm:3.2.1"],\ @@ -7159,6 +7262,7 @@ const RAW_RUNTIME_STATE = ["seedrandom", "npm:3.0.5"],\ ["semver", "npm:7.5.4"],\ ["sharp", "npm:0.32.1"],\ + ["sirv", "npm:2.0.3"],\ ["strict-event-emitter-types", "npm:2.0.0"],\ ["stringz", "npm:2.1.0"],\ ["summaly", "npm:2.7.0"],\ @@ -7174,9 +7278,10 @@ const RAW_RUNTIME_STATE = ["tsconfig-paths", "npm:4.2.0"],\ ["twemoji-parser", "npm:14.0.0"],\ ["typeorm", "virtual:aa59773ac87791c4813d53447077fcf8a847d6de5a301d34dc31286584b1dbb26d30d3adb5b4c41c1e8aea04371e926fda05c09c6253647c432e11d872a304ba#npm:0.3.17"],\ - ["typescript", "patch:typescript@npm%3A5.1.6#optional!builtin::version=5.1.6&hash=5da071"],\ + ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"],\ ["ulid", "npm:2.3.0"],\ ["uuid", "npm:9.0.0"],\ + ["vite", "virtual:aa59773ac87791c4813d53447077fcf8a847d6de5a301d34dc31286584b1dbb26d30d3adb5b4c41c1e8aea04371e926fda05c09c6253647c432e11d872a304ba#npm:5.0.7"],\ ["web-push", "npm:3.6.3"],\ ["webpack", "virtual:aa59773ac87791c4813d53447077fcf8a847d6de5a301d34dc31286584b1dbb26d30d3adb5b4c41c1e8aea04371e926fda05c09c6253647c432e11d872a304ba#npm:5.88.2"],\ ["websocket", "npm:1.0.34"],\ @@ -8490,11 +8595,11 @@ const RAW_RUNTIME_STATE = ["tsc-alias", "npm:1.8.7"],\ ["tsconfig-paths", "npm:4.2.0"],\ ["twemoji-parser", "npm:14.0.0"],\ - ["typescript", "patch:typescript@npm%3A5.1.6#optional!builtin::version=5.1.6&hash=5da071"],\ + ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"],\ ["unicode-emoji-json", "npm:0.4.0"],\ ["uuid", "npm:9.0.0"],\ ["vanilla-tilt", "npm:1.8.0"],\ - ["vite", "virtual:658502eb4296e93abedc18b6aa9b26978f434f08d98e21ebb0e725354b8bb54b62db9c4a1893e460c694ff7500ff5cbafa4457b0dfd26b5838868666c861e990#npm:5.0.2"],\ + ["vite", "virtual:658502eb4296e93abedc18b6aa9b26978f434f08d98e21ebb0e725354b8bb54b62db9c4a1893e460c694ff7500ff5cbafa4457b0dfd26b5838868666c861e990#npm:5.0.7"],\ ["vite-plugin-compression", "virtual:658502eb4296e93abedc18b6aa9b26978f434f08d98e21ebb0e725354b8bb54b62db9c4a1893e460c694ff7500ff5cbafa4457b0dfd26b5838868666c861e990#npm:0.5.1"],\ ["vue", "virtual:658502eb4296e93abedc18b6aa9b26978f434f08d98e21ebb0e725354b8bb54b62db9c4a1893e460c694ff7500ff5cbafa4457b0dfd26b5838868666c861e990#npm:3.3.11"],\ ["vue-draggable-plus", "virtual:658502eb4296e93abedc18b6aa9b26978f434f08d98e21ebb0e725354b8bb54b62db9c4a1893e460c694ff7500ff5cbafa4457b0dfd26b5838868666c861e990#npm:0.2.2"],\ @@ -8939,6 +9044,15 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["computeds", [\ + ["npm:0.0.1", {\ + "packageLocation": "./.yarn/cache/computeds-npm-0.0.1-bef3a1eb28-738625ccec.zip/node_modules/computeds/",\ + "packageDependencies": [\ + ["computeds", "npm:0.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["concat-map", [\ ["npm:0.0.1", {\ "packageLocation": "./.yarn/cache/concat-map-npm-0.0.1-85a921b7ee-9680699c8e.zip/node_modules/concat-map/",\ @@ -9722,6 +9836,15 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["de-indent", [\ + ["npm:1.0.2", {\ + "packageLocation": "./.yarn/cache/de-indent-npm-1.0.2-66cccde30f-30bf43744d.zip/node_modules/de-indent/",\ + "packageDependencies": [\ + ["de-indent", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["debug", [\ ["npm:2.6.9", {\ "packageLocation": "./.yarn/cache/debug-npm-2.6.9-7d4cb597dc-e07005f2b4.zip/node_modules/debug/",\ @@ -10824,32 +10947,32 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["esbuild", [\ - ["npm:0.19.7", {\ - "packageLocation": "./.yarn/unplugged/esbuild-npm-0.19.7-b3b0b2fa14/node_modules/esbuild/",\ + ["npm:0.19.8", {\ + "packageLocation": "./.yarn/unplugged/esbuild-npm-0.19.8-209f9c6f87/node_modules/esbuild/",\ "packageDependencies": [\ - ["esbuild", "npm:0.19.7"],\ - ["@esbuild/android-arm", "npm:0.19.7"],\ - ["@esbuild/android-arm64", "npm:0.19.7"],\ - ["@esbuild/android-x64", "npm:0.19.7"],\ - ["@esbuild/darwin-arm64", "npm:0.19.7"],\ - ["@esbuild/darwin-x64", "npm:0.19.7"],\ - ["@esbuild/freebsd-arm64", "npm:0.19.7"],\ - ["@esbuild/freebsd-x64", "npm:0.19.7"],\ - ["@esbuild/linux-arm", "npm:0.19.7"],\ - ["@esbuild/linux-arm64", "npm:0.19.7"],\ - ["@esbuild/linux-ia32", "npm:0.19.7"],\ - ["@esbuild/linux-loong64", "npm:0.19.7"],\ - ["@esbuild/linux-mips64el", "npm:0.19.7"],\ - ["@esbuild/linux-ppc64", "npm:0.19.7"],\ - ["@esbuild/linux-riscv64", "npm:0.19.7"],\ - ["@esbuild/linux-s390x", "npm:0.19.7"],\ - ["@esbuild/linux-x64", "npm:0.19.7"],\ - ["@esbuild/netbsd-x64", "npm:0.19.7"],\ - ["@esbuild/openbsd-x64", "npm:0.19.7"],\ - ["@esbuild/sunos-x64", "npm:0.19.7"],\ - ["@esbuild/win32-arm64", "npm:0.19.7"],\ - ["@esbuild/win32-ia32", "npm:0.19.7"],\ - ["@esbuild/win32-x64", "npm:0.19.7"]\ + ["esbuild", "npm:0.19.8"],\ + ["@esbuild/android-arm", "npm:0.19.8"],\ + ["@esbuild/android-arm64", "npm:0.19.8"],\ + ["@esbuild/android-x64", "npm:0.19.8"],\ + ["@esbuild/darwin-arm64", "npm:0.19.8"],\ + ["@esbuild/darwin-x64", "npm:0.19.8"],\ + ["@esbuild/freebsd-arm64", "npm:0.19.8"],\ + ["@esbuild/freebsd-x64", "npm:0.19.8"],\ + ["@esbuild/linux-arm", "npm:0.19.8"],\ + ["@esbuild/linux-arm64", "npm:0.19.8"],\ + ["@esbuild/linux-ia32", "npm:0.19.8"],\ + ["@esbuild/linux-loong64", "npm:0.19.8"],\ + ["@esbuild/linux-mips64el", "npm:0.19.8"],\ + ["@esbuild/linux-ppc64", "npm:0.19.8"],\ + ["@esbuild/linux-riscv64", "npm:0.19.8"],\ + ["@esbuild/linux-s390x", "npm:0.19.8"],\ + ["@esbuild/linux-x64", "npm:0.19.8"],\ + ["@esbuild/netbsd-x64", "npm:0.19.8"],\ + ["@esbuild/openbsd-x64", "npm:0.19.8"],\ + ["@esbuild/sunos-x64", "npm:0.19.8"],\ + ["@esbuild/win32-arm64", "npm:0.19.8"],\ + ["@esbuild/win32-ia32", "npm:0.19.8"],\ + ["@esbuild/win32-x64", "npm:0.19.8"]\ ],\ "linkType": "HARD"\ }]\ @@ -12765,6 +12888,23 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["frontend", [\ + ["workspace:packages/frontend", {\ + "packageLocation": "./packages/frontend/",\ + "packageDependencies": [\ + ["frontend", "workspace:packages/frontend"],\ + ["@vitejs/plugin-vue", "virtual:a315446cd0626d69c81bb371962241fad2e843699b8251d1a49a3231d7821af7bdb2285677102303361c3219ca15ceeabaa438b7b5ead02c2587180fe2eace6b#npm:4.5.0"],\ + ["idb-keyval", "npm:6.2.1"],\ + ["sass", "npm:1.69.5"],\ + ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"],\ + ["vite", "virtual:a315446cd0626d69c81bb371962241fad2e843699b8251d1a49a3231d7821af7bdb2285677102303361c3219ca15ceeabaa438b7b5ead02c2587180fe2eace6b#npm:5.0.7"],\ + ["vue", "virtual:658502eb4296e93abedc18b6aa9b26978f434f08d98e21ebb0e725354b8bb54b62db9c4a1893e460c694ff7500ff5cbafa4457b0dfd26b5838868666c861e990#npm:3.3.11"],\ + ["vue-router", "virtual:a315446cd0626d69c81bb371962241fad2e843699b8251d1a49a3231d7821af7bdb2285677102303361c3219ca15ceeabaa438b7b5ead02c2587180fe2eace6b#npm:4.2.5"],\ + ["vue-tsc", "virtual:a315446cd0626d69c81bb371962241fad2e843699b8251d1a49a3231d7821af7bdb2285677102303361c3219ca15ceeabaa438b7b5ead02c2587180fe2eace6b#npm:1.8.25"]\ + ],\ + "linkType": "SOFT"\ + }]\ + ]],\ ["fs-constants", [\ ["npm:1.0.0", {\ "packageLocation": "./.yarn/cache/fs-constants-npm-1.0.0-59576b2177-18f5b71837.zip/node_modules/fs-constants/",\ @@ -14104,7 +14244,7 @@ const RAW_RUNTIME_STATE = ["js-yaml", "npm:4.1.0"],\ ["seedrandom", "npm:3.0.5"],\ ["start-server-and-test", "npm:1.15.2"],\ - ["typescript", "patch:typescript@npm%3A5.1.6#optional!builtin::version=5.1.6&hash=5da071"],\ + ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"],\ ["yaml", "npm:2.3.4"]\ ],\ "linkType": "SOFT"\ @@ -14132,7 +14272,7 @@ const RAW_RUNTIME_STATE = ["ts-jest", "virtual:21a30884d94fbf67bcf4a1714713cc91d32809a34424c4ce678841dfdc63b58647c5e18570d56e36b3c762ee72f81c251599477127a715978fa6e1d8b9e5d952#npm:27.1.5"],\ ["ts-node", "virtual:21a30884d94fbf67bcf4a1714713cc91d32809a34424c4ce678841dfdc63b58647c5e18570d56e36b3c762ee72f81c251599477127a715978fa6e1d8b9e5d952#npm:10.4.0"],\ ["tsd", "npm:0.28.1"],\ - ["typescript", "patch:typescript@npm%3A5.1.6#optional!builtin::version=5.1.6&hash=5da071"]\ + ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"]\ ],\ "linkType": "SOFT"\ }]\ @@ -16653,6 +16793,15 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["koa-connect", [\ + ["npm:2.1.0", {\ + "packageLocation": "./.yarn/cache/koa-connect-npm-2.1.0-6088d6d945-71ab70c306.zip/node_modules/koa-connect/",\ + "packageDependencies": [\ + ["koa-connect", "npm:2.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["koa-convert", [\ ["npm:2.0.0", {\ "packageLocation": "./.yarn/cache/koa-convert-npm-2.0.0-d709eca55c-7385b33919.zip/node_modules/koa-convert/",\ @@ -18104,6 +18253,15 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["mrmime", [\ + ["npm:1.0.1", {\ + "packageLocation": "./.yarn/cache/mrmime-npm-1.0.1-d0aa4f5ddf-a157e833ff.zip/node_modules/mrmime/",\ + "packageDependencies": [\ + ["mrmime", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["ms", [\ ["npm:2.0.0", {\ "packageLocation": "./.yarn/cache/ms-npm-2.0.0-9e1101a471-0e6a22b8b7.zip/node_modules/ms/",\ @@ -18154,6 +18312,15 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["muggle-string", [\ + ["npm:0.3.1", {\ + "packageLocation": "./.yarn/cache/muggle-string-npm-0.3.1-417964904f-f2357f906e.zip/node_modules/muggle-string/",\ + "packageDependencies": [\ + ["muggle-string", "npm:0.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["multer", [\ ["npm:1.4.4-lts.1", {\ "packageLocation": "./.yarn/cache/multer-npm-1.4.4-lts.1-23fbed83c0-b961837647.zip/node_modules/multer/",\ @@ -19334,6 +19501,15 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["path-browserify", [\ + ["npm:1.0.1", {\ + "packageLocation": "./.yarn/cache/path-browserify-npm-1.0.1-f975d99a99-7e7368a520.zip/node_modules/path-browserify/",\ + "packageDependencies": [\ + ["path-browserify", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["path-dirname", [\ ["npm:1.0.2", {\ "packageLocation": "./.yarn/cache/path-dirname-npm-1.0.2-d158cba006-0d2f6604ae.zip/node_modules/path-dirname/",\ @@ -19834,16 +20010,6 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ - ["npm:8.4.31", {\ - "packageLocation": "./.yarn/cache/postcss-npm-8.4.31-385051a82b-1a6653e721.zip/node_modules/postcss/",\ - "packageDependencies": [\ - ["postcss", "npm:8.4.31"],\ - ["nanoid", "npm:3.3.6"],\ - ["picocolors", "npm:1.0.0"],\ - ["source-map-js", "npm:1.0.2"]\ - ],\ - "linkType": "HARD"\ - }],\ ["npm:8.4.32", {\ "packageLocation": "./.yarn/cache/postcss-npm-8.4.32-2004ba88b8-2808486412.zip/node_modules/postcss/",\ "packageDependencies": [\ @@ -21882,6 +22048,16 @@ const RAW_RUNTIME_STATE = ["source-map-js", "npm:1.0.2"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:1.69.5", {\ + "packageLocation": "./.yarn/cache/sass-npm-1.69.5-3f0210c9f9-b320ab2206.zip/node_modules/sass/",\ + "packageDependencies": [\ + ["sass", "npm:1.69.5"],\ + ["chokidar", "npm:3.5.3"],\ + ["immutable", "npm:4.3.1"],\ + ["source-map-js", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["sax", [\ @@ -22217,6 +22393,18 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["sirv", [\ + ["npm:2.0.3", {\ + "packageLocation": "./.yarn/cache/sirv-npm-2.0.3-775c1726af-dbfbff7355.zip/node_modules/sirv/",\ + "packageDependencies": [\ + ["sirv", "npm:2.0.3"],\ + ["@polka/url", "npm:1.0.0-next.24"],\ + ["mrmime", "npm:1.0.1"],\ + ["totalist", "npm:3.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["sisteransi", [\ ["npm:1.0.5", {\ "packageLocation": "./.yarn/cache/sisteransi-npm-1.0.5-af60cc0cfa-aba6438f46.zip/node_modules/sisteransi/",\ @@ -23720,6 +23908,15 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["totalist", [\ + ["npm:3.0.1", {\ + "packageLocation": "./.yarn/cache/totalist-npm-3.0.1-91e71f3baa-5132d562cf.zip/node_modules/totalist/",\ + "packageDependencies": [\ + ["totalist", "npm:3.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["tough-cookie", [\ ["npm:2.5.0", {\ "packageLocation": "./.yarn/cache/tough-cookie-npm-2.5.0-79a2fe43fe-024cb13a4d.zip/node_modules/tough-cookie/",\ @@ -23821,7 +24018,7 @@ const RAW_RUNTIME_STATE = "packageDependencies": [\ ["ts-api-utils", "virtual:3b6679253154e85050836479386972d2dff7aa3c98cee4eebd492aaca13f5cb7343b2734c50ad896888a02f5e031359a5da525c02d6f92779f3f9dd7e752126a#npm:1.0.1"],\ ["@types/typescript", null],\ - ["typescript", "patch:typescript@npm%3A5.1.6#optional!builtin::version=5.1.6&hash=5da071"]\ + ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"]\ ],\ "packagePeers": [\ "@types/typescript",\ @@ -23858,7 +24055,7 @@ const RAW_RUNTIME_STATE = ["lodash.memoize", "npm:4.1.2"],\ ["make-error", "npm:1.3.6"],\ ["semver", "npm:7.5.4"],\ - ["typescript", "patch:typescript@npm%3A5.1.6#optional!builtin::version=5.1.6&hash=5da071"],\ + ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"],\ ["yargs-parser", "npm:20.2.9"]\ ],\ "packagePeers": [\ @@ -23894,7 +24091,7 @@ const RAW_RUNTIME_STATE = ["enhanced-resolve", "npm:5.15.0"],\ ["micromatch", "npm:4.0.5"],\ ["semver", "npm:7.5.4"],\ - ["typescript", "patch:typescript@npm%3A5.1.6#optional!builtin::version=5.1.6&hash=5da071"],\ + ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"],\ ["webpack", "virtual:aa59773ac87791c4813d53447077fcf8a847d6de5a301d34dc31286584b1dbb26d30d3adb5b4c41c1e8aea04371e926fda05c09c6253647c432e11d872a304ba#npm:5.88.2"]\ ],\ "packagePeers": [\ @@ -23942,7 +24139,7 @@ const RAW_RUNTIME_STATE = ["create-require", "npm:1.1.1"],\ ["diff", "npm:4.0.2"],\ ["make-error", "npm:1.3.6"],\ - ["typescript", "patch:typescript@npm%3A5.1.6#optional!builtin::version=5.1.6&hash=5da071"],\ + ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"],\ ["yn", "npm:3.1.1"]\ ],\ "packagePeers": [\ @@ -23977,7 +24174,7 @@ const RAW_RUNTIME_STATE = ["create-require", "npm:1.1.1"],\ ["diff", "npm:4.0.2"],\ ["make-error", "npm:1.3.6"],\ - ["typescript", "patch:typescript@npm%3A5.1.6#optional!builtin::version=5.1.6&hash=5da071"],\ + ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"],\ ["v8-compile-cache-lib", "npm:3.0.1"],\ ["yn", "npm:3.1.1"]\ ],\ @@ -24107,7 +24304,7 @@ const RAW_RUNTIME_STATE = ["tsutils", "virtual:d8c483f88a6065b498e6e0fc3a962a33c3eeb9fbe05ba30d5d2b593085dc15628873487fa52ca2d8f6ae5f96f3679ddd42df2375f86d9e5f7c79f9530cbe38c7#npm:3.21.0"],\ ["@types/typescript", null],\ ["tslib", "npm:1.14.1"],\ - ["typescript", "patch:typescript@npm%3A5.1.6#optional!builtin::version=5.1.6&hash=5da071"]\ + ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"]\ ],\ "packagePeers": [\ "@types/typescript",\ @@ -24406,10 +24603,10 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ - ["patch:typescript@npm%3A5.1.6#optional!builtin::version=5.1.6&hash=5da071", {\ - "packageLocation": "./.yarn/cache/typescript-patch-97a611e52a-f5481fa3ba.zip/node_modules/typescript/",\ + ["patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7", {\ + "packageLocation": "./.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/",\ "packageDependencies": [\ - ["typescript", "patch:typescript@npm%3A5.1.6#optional!builtin::version=5.1.6&hash=5da071"]\ + ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"]\ ],\ "linkType": "HARD"\ }]\ @@ -24968,17 +25165,17 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["vite", [\ - ["npm:5.0.2", {\ - "packageLocation": "./.yarn/cache/vite-npm-5.0.2-e1256a9c0b-74f1a6d49a.zip/node_modules/vite/",\ + ["npm:5.0.7", {\ + "packageLocation": "./.yarn/cache/vite-npm-5.0.7-583fea8b6f-27186e5b90.zip/node_modules/vite/",\ "packageDependencies": [\ - ["vite", "npm:5.0.2"]\ + ["vite", "npm:5.0.7"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:658502eb4296e93abedc18b6aa9b26978f434f08d98e21ebb0e725354b8bb54b62db9c4a1893e460c694ff7500ff5cbafa4457b0dfd26b5838868666c861e990#npm:5.0.2", {\ - "packageLocation": "./.yarn/__virtual__/vite-virtual-7bc0b24b5d/0/cache/vite-npm-5.0.2-e1256a9c0b-74f1a6d49a.zip/node_modules/vite/",\ + ["virtual:658502eb4296e93abedc18b6aa9b26978f434f08d98e21ebb0e725354b8bb54b62db9c4a1893e460c694ff7500ff5cbafa4457b0dfd26b5838868666c861e990#npm:5.0.7", {\ + "packageLocation": "./.yarn/__virtual__/vite-virtual-fc18f8711c/0/cache/vite-npm-5.0.7-583fea8b6f-27186e5b90.zip/node_modules/vite/",\ "packageDependencies": [\ - ["vite", "virtual:658502eb4296e93abedc18b6aa9b26978f434f08d98e21ebb0e725354b8bb54b62db9c4a1893e460c694ff7500ff5cbafa4457b0dfd26b5838868666c861e990#npm:5.0.2"],\ + ["vite", "virtual:658502eb4296e93abedc18b6aa9b26978f434f08d98e21ebb0e725354b8bb54b62db9c4a1893e460c694ff7500ff5cbafa4457b0dfd26b5838868666c861e990#npm:5.0.7"],\ ["@types/less", null],\ ["@types/lightningcss", null],\ ["@types/node", null],\ @@ -24986,11 +25183,11 @@ const RAW_RUNTIME_STATE = ["@types/stylus", null],\ ["@types/sugarss", null],\ ["@types/terser", null],\ - ["esbuild", "npm:0.19.7"],\ + ["esbuild", "npm:0.19.8"],\ ["fsevents", "patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1"],\ ["less", null],\ ["lightningcss", null],\ - ["postcss", "npm:8.4.31"],\ + ["postcss", "npm:8.4.32"],\ ["rollup", "npm:4.6.1"],\ ["sass", "npm:1.63.6"],\ ["stylus", null],\ @@ -25013,6 +25210,84 @@ const RAW_RUNTIME_STATE = "terser"\ ],\ "linkType": "HARD"\ + }],\ + ["virtual:a315446cd0626d69c81bb371962241fad2e843699b8251d1a49a3231d7821af7bdb2285677102303361c3219ca15ceeabaa438b7b5ead02c2587180fe2eace6b#npm:5.0.7", {\ + "packageLocation": "./.yarn/__virtual__/vite-virtual-663367e7f5/0/cache/vite-npm-5.0.7-583fea8b6f-27186e5b90.zip/node_modules/vite/",\ + "packageDependencies": [\ + ["vite", "virtual:a315446cd0626d69c81bb371962241fad2e843699b8251d1a49a3231d7821af7bdb2285677102303361c3219ca15ceeabaa438b7b5ead02c2587180fe2eace6b#npm:5.0.7"],\ + ["@types/less", null],\ + ["@types/lightningcss", null],\ + ["@types/node", null],\ + ["@types/sass", null],\ + ["@types/stylus", null],\ + ["@types/sugarss", null],\ + ["@types/terser", null],\ + ["esbuild", "npm:0.19.8"],\ + ["fsevents", "patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1"],\ + ["less", null],\ + ["lightningcss", null],\ + ["postcss", "npm:8.4.32"],\ + ["rollup", "npm:4.6.1"],\ + ["sass", "npm:1.69.5"],\ + ["stylus", null],\ + ["sugarss", null],\ + ["terser", null]\ + ],\ + "packagePeers": [\ + "@types/less",\ + "@types/lightningcss",\ + "@types/node",\ + "@types/sass",\ + "@types/stylus",\ + "@types/sugarss",\ + "@types/terser",\ + "less",\ + "lightningcss",\ + "sass",\ + "stylus",\ + "sugarss",\ + "terser"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:aa59773ac87791c4813d53447077fcf8a847d6de5a301d34dc31286584b1dbb26d30d3adb5b4c41c1e8aea04371e926fda05c09c6253647c432e11d872a304ba#npm:5.0.7", {\ + "packageLocation": "./.yarn/__virtual__/vite-virtual-500e48b417/0/cache/vite-npm-5.0.7-583fea8b6f-27186e5b90.zip/node_modules/vite/",\ + "packageDependencies": [\ + ["vite", "virtual:aa59773ac87791c4813d53447077fcf8a847d6de5a301d34dc31286584b1dbb26d30d3adb5b4c41c1e8aea04371e926fda05c09c6253647c432e11d872a304ba#npm:5.0.7"],\ + ["@types/less", null],\ + ["@types/lightningcss", null],\ + ["@types/node", "npm:18.11.18"],\ + ["@types/sass", null],\ + ["@types/stylus", null],\ + ["@types/sugarss", null],\ + ["@types/terser", null],\ + ["esbuild", "npm:0.19.8"],\ + ["fsevents", "patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1"],\ + ["less", null],\ + ["lightningcss", null],\ + ["postcss", "npm:8.4.32"],\ + ["rollup", "npm:4.6.1"],\ + ["sass", null],\ + ["stylus", null],\ + ["sugarss", null],\ + ["terser", null]\ + ],\ + "packagePeers": [\ + "@types/less",\ + "@types/lightningcss",\ + "@types/node",\ + "@types/sass",\ + "@types/stylus",\ + "@types/sugarss",\ + "@types/terser",\ + "less",\ + "lightningcss",\ + "sass",\ + "stylus",\ + "sugarss",\ + "terser"\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["vite-plugin-compression", [\ @@ -25031,7 +25306,7 @@ const RAW_RUNTIME_STATE = ["chalk", "npm:4.1.2"],\ ["debug", "virtual:ac3d8e680759ce54399273724d44e041d6c9b73454d191d411a8c44bb27e22f02aaf6ed9d3ad0ac1c298eac4833cff369c9c7b84c573016112c4f84be2cd8543#npm:4.3.4"],\ ["fs-extra", "npm:10.1.0"],\ - ["vite", "virtual:658502eb4296e93abedc18b6aa9b26978f434f08d98e21ebb0e725354b8bb54b62db9c4a1893e460c694ff7500ff5cbafa4457b0dfd26b5838868666c861e990#npm:5.0.2"]\ + ["vite", "virtual:658502eb4296e93abedc18b6aa9b26978f434f08d98e21ebb0e725354b8bb54b62db9c4a1893e460c694ff7500ff5cbafa4457b0dfd26b5838868666c861e990#npm:5.0.7"]\ ],\ "packagePeers": [\ "@types/vite",\ @@ -25076,7 +25351,7 @@ const RAW_RUNTIME_STATE = ["@vue/runtime-dom", "npm:3.3.11"],\ ["@vue/server-renderer", "virtual:c3c2410ff212d9208fb78ee76f31c5793f8be93a1e2272a8a8e5128884c0402d3c5fc4ec8c7307815539c4832d23d2216e1da5a10ea3a2403095f1e69e6da97a#npm:3.3.11"],\ ["@vue/shared", "npm:3.3.11"],\ - ["typescript", "patch:typescript@npm%3A5.1.6#optional!builtin::version=5.1.6&hash=5da071"]\ + ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"]\ ],\ "packagePeers": [\ "@types/typescript",\ @@ -25179,6 +25454,65 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["vue-router", [\ + ["npm:4.2.5", {\ + "packageLocation": "./.yarn/cache/vue-router-npm-4.2.5-3479f41e41-491ebb273c.zip/node_modules/vue-router/",\ + "packageDependencies": [\ + ["vue-router", "npm:4.2.5"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a315446cd0626d69c81bb371962241fad2e843699b8251d1a49a3231d7821af7bdb2285677102303361c3219ca15ceeabaa438b7b5ead02c2587180fe2eace6b#npm:4.2.5", {\ + "packageLocation": "./.yarn/__virtual__/vue-router-virtual-94157c6d8e/0/cache/vue-router-npm-4.2.5-3479f41e41-491ebb273c.zip/node_modules/vue-router/",\ + "packageDependencies": [\ + ["vue-router", "virtual:a315446cd0626d69c81bb371962241fad2e843699b8251d1a49a3231d7821af7bdb2285677102303361c3219ca15ceeabaa438b7b5ead02c2587180fe2eace6b#npm:4.2.5"],\ + ["@types/vue", null],\ + ["@vue/devtools-api", "npm:6.5.1"],\ + ["vue", "virtual:658502eb4296e93abedc18b6aa9b26978f434f08d98e21ebb0e725354b8bb54b62db9c4a1893e460c694ff7500ff5cbafa4457b0dfd26b5838868666c861e990#npm:3.3.11"]\ + ],\ + "packagePeers": [\ + "@types/vue",\ + "vue"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["vue-template-compiler", [\ + ["npm:2.7.15", {\ + "packageLocation": "./.yarn/cache/vue-template-compiler-npm-2.7.15-28e79f8ad6-450634ed5b.zip/node_modules/vue-template-compiler/",\ + "packageDependencies": [\ + ["vue-template-compiler", "npm:2.7.15"],\ + ["de-indent", "npm:1.0.2"],\ + ["he", "npm:1.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["vue-tsc", [\ + ["npm:1.8.25", {\ + "packageLocation": "./.yarn/cache/vue-tsc-npm-1.8.25-981d5060ca-a2be9afcc2.zip/node_modules/vue-tsc/",\ + "packageDependencies": [\ + ["vue-tsc", "npm:1.8.25"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a315446cd0626d69c81bb371962241fad2e843699b8251d1a49a3231d7821af7bdb2285677102303361c3219ca15ceeabaa438b7b5ead02c2587180fe2eace6b#npm:1.8.25", {\ + "packageLocation": "./.yarn/__virtual__/vue-tsc-virtual-7475df7693/0/cache/vue-tsc-npm-1.8.25-981d5060ca-a2be9afcc2.zip/node_modules/vue-tsc/",\ + "packageDependencies": [\ + ["vue-tsc", "virtual:a315446cd0626d69c81bb371962241fad2e843699b8251d1a49a3231d7821af7bdb2285677102303361c3219ca15ceeabaa438b7b5ead02c2587180fe2eace6b#npm:1.8.25"],\ + ["@types/typescript", null],\ + ["@volar/typescript", "npm:1.11.1"],\ + ["@vue/language-core", "virtual:7475df7693108d919e594ded967428b6725b8e71cdeee0775b5228dc8569757d7d3fda1c363044afacb24930b8904652792286c1343278eb7b630c9c5b73fc93#npm:1.8.25"],\ + ["semver", "npm:7.5.4"],\ + ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"]\ + ],\ + "packagePeers": [\ + "@types/typescript",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["vuedraggable", [\ ["npm:4.1.0", {\ "packageLocation": "./.yarn/cache/vuedraggable-npm-4.1.0-785593d488-87d4faba83.zip/node_modules/vuedraggable/",\ diff --git a/.yarn/cache/@esbuild-darwin-arm64-npm-0.19.7-74c4d85f69-10.zip b/.yarn/cache/@esbuild-darwin-arm64-npm-0.19.7-74c4d85f69-10.zip deleted file mode 100644 index 50a9ee56d..000000000 --- a/.yarn/cache/@esbuild-darwin-arm64-npm-0.19.7-74c4d85f69-10.zip +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c24f20ae8ec61bc1b13673bb22e1970908c5be686906934aefaaa8b84c1cc9dd -size 3920523 diff --git a/.yarn/cache/@esbuild-darwin-arm64-npm-0.19.8-b1920f84ba-10.zip b/.yarn/cache/@esbuild-darwin-arm64-npm-0.19.8-b1920f84ba-10.zip new file mode 100644 index 000000000..59a0cc60f --- /dev/null +++ b/.yarn/cache/@esbuild-darwin-arm64-npm-0.19.8-b1920f84ba-10.zip @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c17ca192f3d6073f96a69a7d49edf15b71727d8adf866756ac9d89ea80ef32a +size 3920036 diff --git a/.yarn/cache/@esbuild-darwin-x64-npm-0.19.7-e9b1213810-10.zip b/.yarn/cache/@esbuild-darwin-x64-npm-0.19.7-e9b1213810-10.zip deleted file mode 100644 index 43eff6be4..000000000 --- a/.yarn/cache/@esbuild-darwin-x64-npm-0.19.7-e9b1213810-10.zip +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f73da40864770462d8ed089f2b8a5cf1b3aad9027f86ef57343a6c09f52c9b7e -size 4117300 diff --git a/.yarn/cache/@esbuild-darwin-x64-npm-0.19.8-36f500fc51-10.zip b/.yarn/cache/@esbuild-darwin-x64-npm-0.19.8-36f500fc51-10.zip new file mode 100644 index 000000000..1d5557d12 --- /dev/null +++ b/.yarn/cache/@esbuild-darwin-x64-npm-0.19.8-36f500fc51-10.zip @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9244be2e1e3edd606105fb65dd0250a1dad995a9732a2a16573988da5c0855bd +size 4117004 diff --git a/.yarn/cache/@esbuild-linux-arm64-npm-0.19.7-39e9cc6148-10.zip b/.yarn/cache/@esbuild-linux-arm64-npm-0.19.7-39e9cc6148-10.zip deleted file mode 100644 index 413e32d9f..000000000 --- a/.yarn/cache/@esbuild-linux-arm64-npm-0.19.7-39e9cc6148-10.zip +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3208bf29d80e5c0dda870df4a49443f9abcc2c93821edc864a2b1d44397c87a9 -size 3606304 diff --git a/.yarn/cache/@esbuild-linux-arm64-npm-0.19.8-2687227d41-10.zip b/.yarn/cache/@esbuild-linux-arm64-npm-0.19.8-2687227d41-10.zip new file mode 100644 index 000000000..f0ca72d88 --- /dev/null +++ b/.yarn/cache/@esbuild-linux-arm64-npm-0.19.8-2687227d41-10.zip @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d2e73aed27983efac82cd39695ab35161bf55fc635137eb4e1123906a10fa54c +size 3606336 diff --git a/.yarn/cache/@esbuild-linux-x64-npm-0.19.7-f4cf76f770-10.zip b/.yarn/cache/@esbuild-linux-x64-npm-0.19.7-f4cf76f770-10.zip deleted file mode 100644 index 1ffb20538..000000000 --- a/.yarn/cache/@esbuild-linux-x64-npm-0.19.7-f4cf76f770-10.zip +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:05ddba2fb70642fff372cfd8c6328025da31afeef9a04f4bfbd2453edd673213 -size 3994550 diff --git a/.yarn/cache/@esbuild-linux-x64-npm-0.19.8-231d24e5e4-10.zip b/.yarn/cache/@esbuild-linux-x64-npm-0.19.8-231d24e5e4-10.zip new file mode 100644 index 000000000..36880d731 --- /dev/null +++ b/.yarn/cache/@esbuild-linux-x64-npm-0.19.8-231d24e5e4-10.zip @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a1b2d056936ce10c8213f524cea87e597c11b3e09c46f82dbf55a0e23f2860c8 +size 3993787 diff --git a/.yarn/cache/@polka-url-npm-1.0.0-next.24-058e984602-00baec4458.zip b/.yarn/cache/@polka-url-npm-1.0.0-next.24-058e984602-00baec4458.zip new file mode 100644 index 000000000..fee3c55df --- /dev/null +++ b/.yarn/cache/@polka-url-npm-1.0.0-next.24-058e984602-00baec4458.zip @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6eef1ed2d3db174acedb2926e2ab4a0f9a9d0352731f3d084a4d59b17461a743 +size 3289 diff --git a/.yarn/cache/@volar-language-core-npm-1.11.1-e30e50203f-2fef58727b.zip b/.yarn/cache/@volar-language-core-npm-1.11.1-e30e50203f-2fef58727b.zip new file mode 100644 index 000000000..d11703cc7 --- /dev/null +++ b/.yarn/cache/@volar-language-core-npm-1.11.1-e30e50203f-2fef58727b.zip @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:64466fa174848e3b6499a85f9b7d4610c2242872c2dd0cea6341000693aa859e +size 8524 diff --git a/.yarn/cache/@volar-source-map-npm-1.11.1-19e27a8f3b-b90c32b23b.zip b/.yarn/cache/@volar-source-map-npm-1.11.1-19e27a8f3b-b90c32b23b.zip new file mode 100644 index 000000000..0a810bcc1 --- /dev/null +++ b/.yarn/cache/@volar-source-map-npm-1.11.1-19e27a8f3b-b90c32b23b.zip @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5570bd4608fbe379ad1a190b995e86f70744a3dc5d1826b1ca652c1e27c9411b +size 4038 diff --git a/.yarn/cache/@volar-typescript-npm-1.11.1-9a11b85d7c-714eeb3472.zip b/.yarn/cache/@volar-typescript-npm-1.11.1-9a11b85d7c-714eeb3472.zip new file mode 100644 index 000000000..c9f48c0da --- /dev/null +++ b/.yarn/cache/@volar-typescript-npm-1.11.1-9a11b85d7c-714eeb3472.zip @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a824482b1b155d96c6aaa8a42a03c009f9eaec6e00d145adc3e6632d712052b4 +size 36118 diff --git a/.yarn/cache/@vue-devtools-api-npm-6.5.1-a00bfbc22f-e94443ce37.zip b/.yarn/cache/@vue-devtools-api-npm-6.5.1-a00bfbc22f-e94443ce37.zip new file mode 100644 index 000000000..ab40cd2b6 --- /dev/null +++ b/.yarn/cache/@vue-devtools-api-npm-6.5.1-a00bfbc22f-e94443ce37.zip @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bbdf219deb812e54c09e388235d781d5a59c3d63f33c75fe7c56a45ff8eec86d +size 19055 diff --git a/.yarn/cache/@vue-language-core-npm-1.8.25-60dd634fe2-680d233742.zip b/.yarn/cache/@vue-language-core-npm-1.8.25-60dd634fe2-680d233742.zip new file mode 100644 index 000000000..597ba654b --- /dev/null +++ b/.yarn/cache/@vue-language-core-npm-1.8.25-60dd634fe2-680d233742.zip @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:52f38e31b2d1512cfcbdc16eac153e8b326e5747cb7210959a017ff878fb271c +size 73479 diff --git a/.yarn/cache/computeds-npm-0.0.1-bef3a1eb28-738625ccec.zip b/.yarn/cache/computeds-npm-0.0.1-bef3a1eb28-738625ccec.zip new file mode 100644 index 000000000..dfec4dc16 --- /dev/null +++ b/.yarn/cache/computeds-npm-0.0.1-bef3a1eb28-738625ccec.zip @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:837e61b580fc9dd7876b46f9b6c5f46b330fbeb6e551f9497b373faecff49ebb +size 9717 diff --git a/.yarn/cache/de-indent-npm-1.0.2-66cccde30f-30bf43744d.zip b/.yarn/cache/de-indent-npm-1.0.2-66cccde30f-30bf43744d.zip new file mode 100644 index 000000000..c5f7378c9 --- /dev/null +++ b/.yarn/cache/de-indent-npm-1.0.2-66cccde30f-30bf43744d.zip @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:63c189289d48c6ecd901f37cbf42bfd0fd23fa27770bec1e856b3b220de4a04a +size 1730 diff --git a/.yarn/cache/esbuild-npm-0.19.7-b3b0b2fa14-326b9d98a7.zip b/.yarn/cache/esbuild-npm-0.19.7-b3b0b2fa14-326b9d98a7.zip deleted file mode 100644 index 886749ce8..000000000 --- a/.yarn/cache/esbuild-npm-0.19.7-b3b0b2fa14-326b9d98a7.zip +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0694bc3fb9d7a2c4aa5f58683ca1b4d006d39415d49bbb7aa7e119520f51053d -size 33334 diff --git a/.yarn/cache/esbuild-npm-0.19.8-209f9c6f87-8c440db468.zip b/.yarn/cache/esbuild-npm-0.19.8-209f9c6f87-8c440db468.zip new file mode 100644 index 000000000..6eb88b097 --- /dev/null +++ b/.yarn/cache/esbuild-npm-0.19.8-209f9c6f87-8c440db468.zip @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4fe4c656f21dcf55221806bd6392c008c67d99f2aaa736f49073e72b3745a0b7 +size 33332 diff --git a/.yarn/cache/koa-connect-npm-2.1.0-6088d6d945-71ab70c306.zip b/.yarn/cache/koa-connect-npm-2.1.0-6088d6d945-71ab70c306.zip new file mode 100644 index 000000000..49df7cbfb --- /dev/null +++ b/.yarn/cache/koa-connect-npm-2.1.0-6088d6d945-71ab70c306.zip @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eda49f880b77221a1f90bfc498cb7ea3a92da7a86314ef8cee173b60ec2c7081 +size 10060 diff --git a/.yarn/cache/mrmime-npm-1.0.1-d0aa4f5ddf-a157e833ff.zip b/.yarn/cache/mrmime-npm-1.0.1-d0aa4f5ddf-a157e833ff.zip new file mode 100644 index 000000000..5fb987fdd --- /dev/null +++ b/.yarn/cache/mrmime-npm-1.0.1-d0aa4f5ddf-a157e833ff.zip @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e5d09ad46af4b006ffb07ac7e6d68e904af4df093b08c07f4109821c65136bb8 +size 9725 diff --git a/.yarn/cache/muggle-string-npm-0.3.1-417964904f-f2357f906e.zip b/.yarn/cache/muggle-string-npm-0.3.1-417964904f-f2357f906e.zip new file mode 100644 index 000000000..1837cb8a0 --- /dev/null +++ b/.yarn/cache/muggle-string-npm-0.3.1-417964904f-f2357f906e.zip @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b10a359773579dbdda80211e4db6b6bc6259d4b1306238e1386bd7c62d416878 +size 7599 diff --git a/.yarn/cache/path-browserify-npm-1.0.1-f975d99a99-7e7368a520.zip b/.yarn/cache/path-browserify-npm-1.0.1-f975d99a99-7e7368a520.zip new file mode 100644 index 000000000..3c5feceff --- /dev/null +++ b/.yarn/cache/path-browserify-npm-1.0.1-f975d99a99-7e7368a520.zip @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:54312ed04a68f71a46621e200b8aad12b69404d99ae68d042605d541dd9ed11e +size 18788 diff --git a/.yarn/cache/postcss-npm-8.4.31-385051a82b-1a6653e721.zip b/.yarn/cache/postcss-npm-8.4.31-385051a82b-1a6653e721.zip deleted file mode 100644 index 353d8b51d..000000000 --- a/.yarn/cache/postcss-npm-8.4.31-385051a82b-1a6653e721.zip +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2963dd084a6d009b5957916e1314bc42c756f89e980c4fad58ee51402b1bb1f8 -size 66277 diff --git a/.yarn/cache/sass-npm-1.69.5-3f0210c9f9-b320ab2206.zip b/.yarn/cache/sass-npm-1.69.5-3f0210c9f9-b320ab2206.zip new file mode 100644 index 000000000..6b8e024fa --- /dev/null +++ b/.yarn/cache/sass-npm-1.69.5-3f0210c9f9-b320ab2206.zip @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d05de10c6767ec57798aa406aeec5a5f59a25076ba620f4f9d137a8a782ee111 +size 810833 diff --git a/.yarn/cache/sirv-npm-2.0.3-775c1726af-dbfbff7355.zip b/.yarn/cache/sirv-npm-2.0.3-775c1726af-dbfbff7355.zip new file mode 100644 index 000000000..4be92f1eb --- /dev/null +++ b/.yarn/cache/sirv-npm-2.0.3-775c1726af-dbfbff7355.zip @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:90dda5309d94812a158bdf7402fd32e90a92e7bcd9c597a888990e19dc00c871 +size 9239 diff --git a/.yarn/cache/totalist-npm-3.0.1-91e71f3baa-5132d562cf.zip b/.yarn/cache/totalist-npm-3.0.1-91e71f3baa-5132d562cf.zip new file mode 100644 index 000000000..6e7524e0f --- /dev/null +++ b/.yarn/cache/totalist-npm-3.0.1-91e71f3baa-5132d562cf.zip @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4400aaf792f8ba4a2a4008441b3673d63bcb9dad1779b829c915bc686a5ab343 +size 5550 diff --git a/.yarn/cache/typescript-npm-5.1.6-b157762de3-f347cde665.zip b/.yarn/cache/typescript-npm-5.1.6-b157762de3-f347cde665.zip deleted file mode 100644 index d3a83f75d..000000000 --- a/.yarn/cache/typescript-npm-5.1.6-b157762de3-f347cde665.zip +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:10004d16961ea2bea13ce6bda00506f34a58f979db07770447e6f16e537040b6 -size 7217116 diff --git a/.yarn/cache/typescript-npm-5.3.3-6b23a5da18-6e4e6a14a5.zip b/.yarn/cache/typescript-npm-5.3.3-6b23a5da18-6e4e6a14a5.zip new file mode 100644 index 000000000..0fb0a71de --- /dev/null +++ b/.yarn/cache/typescript-npm-5.3.3-6b23a5da18-6e4e6a14a5.zip @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bcee86acfd02f7173ae6b8311e8acd5a28ec448c4f0a7f8b26cdc1a1e6484cb3 +size 5833656 diff --git a/.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip b/.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip new file mode 100644 index 000000000..4e809b10c --- /dev/null +++ b/.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9e0213d9cab33cb73a8cd70ecf0a218466f8e2f5d80cb3a1c834a6bfe503f243 +size 5840598 diff --git a/.yarn/cache/typescript-patch-97a611e52a-f5481fa3ba.zip b/.yarn/cache/typescript-patch-97a611e52a-f5481fa3ba.zip deleted file mode 100644 index 83f89565b..000000000 --- a/.yarn/cache/typescript-patch-97a611e52a-f5481fa3ba.zip +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ae649692037b3b8fdfec240367c1943916babaa3413393ad8193c999043e69c0 -size 7226258 diff --git a/.yarn/cache/vite-npm-5.0.2-e1256a9c0b-74f1a6d49a.zip b/.yarn/cache/vite-npm-5.0.2-e1256a9c0b-74f1a6d49a.zip deleted file mode 100644 index d264fa10e..000000000 --- a/.yarn/cache/vite-npm-5.0.2-e1256a9c0b-74f1a6d49a.zip +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e8c3d996aa220c786d815e952a2db8b223b062e176039ea27fc1dd53d780022b -size 796426 diff --git a/.yarn/cache/vite-npm-5.0.7-583fea8b6f-27186e5b90.zip b/.yarn/cache/vite-npm-5.0.7-583fea8b6f-27186e5b90.zip new file mode 100644 index 000000000..693080995 --- /dev/null +++ b/.yarn/cache/vite-npm-5.0.7-583fea8b6f-27186e5b90.zip @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2975df7d3e56cfe243be5ffbee304fd6fecbe18d94bc408d37a8c33bd36e53fe +size 809977 diff --git a/.yarn/cache/vue-router-npm-4.2.5-3479f41e41-491ebb273c.zip b/.yarn/cache/vue-router-npm-4.2.5-3479f41e41-491ebb273c.zip new file mode 100644 index 000000000..da96048eb --- /dev/null +++ b/.yarn/cache/vue-router-npm-4.2.5-3479f41e41-491ebb273c.zip @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:23fa6b2320dcb93cbefbe7045e0220f4c00f00235a60f1b5dd8a0803b1a00445 +size 207243 diff --git a/.yarn/cache/vue-template-compiler-npm-2.7.15-28e79f8ad6-450634ed5b.zip b/.yarn/cache/vue-template-compiler-npm-2.7.15-28e79f8ad6-450634ed5b.zip new file mode 100644 index 000000000..0b973e646 --- /dev/null +++ b/.yarn/cache/vue-template-compiler-npm-2.7.15-28e79f8ad6-450634ed5b.zip @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7bdbed711de26694e6acd3f7e379a2bcfe1a05c1619adf989c10773c8b6658c7 +size 159050 diff --git a/.yarn/cache/vue-tsc-npm-1.8.25-981d5060ca-a2be9afcc2.zip b/.yarn/cache/vue-tsc-npm-1.8.25-981d5060ca-a2be9afcc2.zip new file mode 100644 index 000000000..de7889bbf --- /dev/null +++ b/.yarn/cache/vue-tsc-npm-1.8.25-981d5060ca-a2be9afcc2.zip @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:df3cf497c661176895908a10bb5d124b1567d231e4c9681bc2fbdebf7830346e +size 6126 diff --git a/package.json b/package.json index c06a66c61..7477b8ca1 100644 --- a/package.json +++ b/package.json @@ -37,6 +37,7 @@ }, "workspaces": [ "packages/backend", + "packages/frontend", "packages/client", "packages/sw", "packages/iceshrimp-js" @@ -68,7 +69,7 @@ "gulp-terser": "2.1.0", "install-peers": "^1.0.4", "start-server-and-test": "1.15.2", - "typescript": "5.1.6", + "typescript": "^5.1.6", "yaml": "^2.3.4" }, "packageManager": "yarn@4.0.2", diff --git a/packages/backend/package.json b/packages/backend/package.json index e4414e1e6..76ad27ae5 100644 --- a/packages/backend/package.json +++ b/packages/backend/package.json @@ -82,6 +82,7 @@ "koa": "2.14.2", "koa-body": "^6.0.1", "koa-bodyparser": "4.4.1", + "koa-connect": "^2.1.0", "koa-favicon": "2.1.0", "koa-json-body": "5.3.0", "koa-logger": "3.2.1", @@ -124,6 +125,7 @@ "seedrandom": "^3.0.5", "semver": "7.5.4", "sharp": "0.32.1", + "sirv": "^2.0.3", "stringz": "2.1.0", "summaly": "2.7.0", "syslog-pro": "1.0.0", @@ -136,6 +138,7 @@ "typeorm": "0.3.17", "ulid": "2.3.0", "uuid": "9.0.0", + "vite": "^5.0.7", "web-push": "3.6.3", "websocket": "1.0.34", "xev": "3.0.2" @@ -200,7 +203,7 @@ "ts-loader": "9.4.4", "ts-node": "10.9.1", "tsconfig-paths": "4.2.0", - "typescript": "5.1.6", + "typescript": "^5.1.6", "webpack": "^5.88.1", "ws": "8.13.0" } diff --git a/packages/backend/src/server/api/web/controllers/auth.ts b/packages/backend/src/server/api/web/controllers/auth.ts new file mode 100644 index 000000000..cc4704c34 --- /dev/null +++ b/packages/backend/src/server/api/web/controllers/auth.ts @@ -0,0 +1,18 @@ +import { Controller, CurrentUser, Get } from "@iceshrimp/koa-openapi"; +import type { ILocalUser } from "@/models/entities/user.js"; +import { UserHandler } from "@/server/api/web/handlers/user.js"; +import { AuthResponse } from "@/server/api/web/entities/auth.js"; + +@Controller('/auth') +export class AuthController { + @Get('/') + async getAuth( + @CurrentUser() me: ILocalUser | null, + ): Promise { + const user = me ? await UserHandler.getUser(me, me.id) : null; + return { + authenticated: !!me, + user: user, + }; + } +} diff --git a/packages/backend/src/server/api/web/entities/auth.ts b/packages/backend/src/server/api/web/entities/auth.ts new file mode 100644 index 000000000..339263040 --- /dev/null +++ b/packages/backend/src/server/api/web/entities/auth.ts @@ -0,0 +1,6 @@ +import { UserResponse } from "@/server/api/web/entities/user.js"; + +export type AuthResponse = { + authenticated: boolean; + user: UserResponse | null; +} diff --git a/packages/backend/src/server/api/web/index.ts b/packages/backend/src/server/api/web/index.ts index bf0bc55be..4d2d995d8 100644 --- a/packages/backend/src/server/api/web/index.ts +++ b/packages/backend/src/server/api/web/index.ts @@ -7,6 +7,7 @@ import { UserController } from "@/server/api/web/controllers/user.js"; import { RatelimitMiddleware } from "@/server/api/web/middleware/rate-limit.js"; import { AuthenticationMiddleware } from "@/server/api/web/middleware/auth.js"; import { ErrorHandlingMiddleware } from "@/server/api/web/middleware/error-handling.js"; +import { AuthController } from "@/server/api/web/controllers/auth.js"; export type WebRouter = Router; export type WebMiddleware = Middleware; @@ -33,6 +34,7 @@ export class WebAPI { errorHandler: ErrorHandlingMiddleware, controllers: [ UserController, + AuthController, ], flow: [ AuthenticationMiddleware, diff --git a/packages/backend/src/server/index.ts b/packages/backend/src/server/index.ts index 929efd73b..fc64f92c3 100644 --- a/packages/backend/src/server/index.ts +++ b/packages/backend/src/server/index.ts @@ -28,6 +28,7 @@ import apiServer from "./api/index.js"; import fileServer from "./file/index.js"; import proxyServer from "./proxy/index.js"; import webServer from "./web/index.js"; +import webRewriteServer from "./web-rewrite/index.js"; import { initializeStreamingServer } from "./api/streaming.js"; import removeTrailingSlash from "koa-remove-trailing-slashes"; import { koaBody } from "koa-body"; @@ -142,6 +143,7 @@ setupEndpointsAuthRoot(mastoRouter); app.use(router.routes()); app.use(mastoRouter.routes()); +app.use(mount('/rewrite', webRewriteServer)); app.use(mount(webServer)); function createServer() { diff --git a/packages/backend/src/server/web-rewrite/index.ts b/packages/backend/src/server/web-rewrite/index.ts new file mode 100644 index 000000000..fb5cb67a3 --- /dev/null +++ b/packages/backend/src/server/web-rewrite/index.ts @@ -0,0 +1,32 @@ +import { fileURLToPath } from "node:url"; +import { dirname } from "node:path"; +import Koa from "koa"; +import Router from "@koa/router"; +import c2k from "koa-connect"; + +const _filename = fileURLToPath(import.meta.url); +const _dirname = dirname(_filename); + +const app = new Koa(); +const router = new Router(); + +const isProduction = false; + +if (isProduction) { + const { default: sirv } = await import('sirv'); + app.use(c2k(sirv(`${_dirname}/../../../../frontend/dist`))); +} else { + const { createServer } = await import('vite'); + const server = await createServer({ + root: `${_dirname}/../../../../frontend`, + server: { middlewareMode: true }, + base: '/rewrite' + }); + + app.use(c2k(server.middlewares)); +} + +app.use(router.routes()); +app.use(router.allowedMethods()); + +export default app; diff --git a/packages/client/package.json b/packages/client/package.json index 5f10ffb22..55b2096fa 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -87,11 +87,11 @@ "tsc-alias": "1.8.7", "tsconfig-paths": "4.2.0", "twemoji-parser": "14.0.0", - "typescript": "5.1.6", + "typescript": "^5.1.6", "unicode-emoji-json": "^0.4.0", "uuid": "9.0.0", "vanilla-tilt": "1.8.0", - "vite": "5.0.2", + "vite": "^5.0.2", "vite-plugin-compression": "^0.5.1", "vue": "^3.3.11", "vue-draggable-plus": "^0.2.2", diff --git a/packages/frontend/.gitignore b/packages/frontend/.gitignore new file mode 100644 index 000000000..a547bf36d --- /dev/null +++ b/packages/frontend/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/packages/frontend/.vscode/extensions.json b/packages/frontend/.vscode/extensions.json new file mode 100644 index 000000000..c0a6e5a48 --- /dev/null +++ b/packages/frontend/.vscode/extensions.json @@ -0,0 +1,3 @@ +{ + "recommendations": ["Vue.volar", "Vue.vscode-typescript-vue-plugin"] +} diff --git a/packages/frontend/README.md b/packages/frontend/README.md new file mode 100644 index 000000000..ef72fd524 --- /dev/null +++ b/packages/frontend/README.md @@ -0,0 +1,18 @@ +# Vue 3 + TypeScript + Vite + +This template should help get you started developing with Vue 3 and TypeScript in Vite. The template uses Vue 3 ` + + diff --git a/packages/frontend/package.json b/packages/frontend/package.json new file mode 100644 index 000000000..cb1c0d138 --- /dev/null +++ b/packages/frontend/package.json @@ -0,0 +1,21 @@ +{ + "name": "frontend", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vue-tsc && vite build", + "preview": "vite preview" + }, + "devDependencies": { + "@vitejs/plugin-vue": "^4.5.0", + "idb-keyval": "^6.2.1", + "sass": "^1.69.5", + "typescript": "^5.2.2", + "vite": "^5.0.0", + "vue": "^3.3.8", + "vue-router": "^4.2.5", + "vue-tsc": "^1.8.22" + } +} diff --git a/packages/frontend/src/App.vue b/packages/frontend/src/App.vue new file mode 100644 index 000000000..228cc24d4 --- /dev/null +++ b/packages/frontend/src/App.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/packages/frontend/src/assets/vite.svg b/packages/frontend/src/assets/vite.svg new file mode 100644 index 000000000..bf6ee7552 --- /dev/null +++ b/packages/frontend/src/assets/vite.svg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4a748afd443918bb16591c834c401dae33e87861ab5dbad0811c3a3b4a9214fb +size 1497 diff --git a/packages/frontend/src/assets/vue.svg b/packages/frontend/src/assets/vue.svg new file mode 100644 index 000000000..f2caefbeb --- /dev/null +++ b/packages/frontend/src/assets/vue.svg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5532db34f1c52841881bab8aeca6c3e8d092bd21a689a65f4d8f8cf8041eef9d +size 496 diff --git a/packages/frontend/src/components/AccountPicker.vue b/packages/frontend/src/components/AccountPicker.vue new file mode 100644 index 000000000..bb669d60d --- /dev/null +++ b/packages/frontend/src/components/AccountPicker.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/packages/frontend/src/components/AuthDebug.vue b/packages/frontend/src/components/AuthDebug.vue new file mode 100644 index 000000000..847105c27 --- /dev/null +++ b/packages/frontend/src/components/AuthDebug.vue @@ -0,0 +1,24 @@ + + + + + diff --git a/packages/frontend/src/components/HelloWorld.vue b/packages/frontend/src/components/HelloWorld.vue new file mode 100644 index 000000000..7b25f3f2b --- /dev/null +++ b/packages/frontend/src/components/HelloWorld.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/packages/frontend/src/entities/keyval.ts b/packages/frontend/src/entities/keyval.ts new file mode 100644 index 000000000..c0f53f3ad --- /dev/null +++ b/packages/frontend/src/entities/keyval.ts @@ -0,0 +1,4 @@ +export type KvAccount = { + id: string; + token: string; +} diff --git a/packages/frontend/src/helpers/api.ts b/packages/frontend/src/helpers/api.ts new file mode 100644 index 000000000..a30b8fae2 --- /dev/null +++ b/packages/frontend/src/helpers/api.ts @@ -0,0 +1,22 @@ +import { get as kvGet } from "idb-keyval"; +import { KvAccount } from "../entities/keyval.ts"; + +export async function api(endpoint: string, body?: object) { + const token = (await getCurrentAccount())?.token ?? null; + const request = { + method: body ? 'POST' : 'GET', + headers: token ? { authorization: `Bearer ${token}` } : undefined, + body: body ? JSON.stringify(body) : undefined + }; + + return fetch(endpoint, request).then(res => res.json()); +} + +//FIXME: cache this somewhere? +async function getCurrentAccount(): Promise { + const currentAccountId = localStorage.getItem('accountId'); + if (currentAccountId === null) return null; + const accounts = await kvGet("accounts"); + if (!accounts) return null; + return accounts.find(p => p.id === currentAccountId) ?? null; +} diff --git a/packages/frontend/src/main.ts b/packages/frontend/src/main.ts new file mode 100644 index 000000000..8b0b77cfe --- /dev/null +++ b/packages/frontend/src/main.ts @@ -0,0 +1,18 @@ +import { createApp } from 'vue'; +import { createRouter, createWebHistory } from 'vue-router'; +import './style.css'; +import AppSkeleton from "./App.vue"; +import AuthPage from "./pages/auth.vue"; + +const routes = [ + { path: '/', component: AuthPage } +]; + +const router = createRouter({ + history: createWebHistory('/rewrite'), + routes, +}) + +const app = createApp(AppSkeleton); +app.use(router); +app.mount('#app') diff --git a/packages/frontend/src/pages/auth.vue b/packages/frontend/src/pages/auth.vue new file mode 100644 index 000000000..27f35a4d3 --- /dev/null +++ b/packages/frontend/src/pages/auth.vue @@ -0,0 +1,14 @@ + + + + + diff --git a/packages/frontend/src/style.css b/packages/frontend/src/style.css new file mode 100644 index 000000000..bb131d6b8 --- /dev/null +++ b/packages/frontend/src/style.css @@ -0,0 +1,79 @@ +:root { + font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif; + line-height: 1.5; + font-weight: 400; + + color-scheme: light dark; + color: rgba(255, 255, 255, 0.87); + background-color: #242424; + + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +a { + font-weight: 500; + color: #646cff; + text-decoration: inherit; +} +a:hover { + color: #535bf2; +} + +body { + margin: 0; + display: flex; + place-items: center; + min-width: 320px; + min-height: 100vh; +} + +h1 { + font-size: 3.2em; + line-height: 1.1; +} + +button { + border-radius: 8px; + border: 1px solid transparent; + padding: 0.6em 1.2em; + font-size: 1em; + font-weight: 500; + font-family: inherit; + background-color: #1a1a1a; + cursor: pointer; + transition: border-color 0.25s; +} +button:hover { + border-color: #646cff; +} +button:focus, +button:focus-visible { + outline: 4px auto -webkit-focus-ring-color; +} + +.card { + padding: 2em; +} + +#app { + max-width: 1280px; + margin: 0 auto; + padding: 2rem; + text-align: center; +} + +@media (prefers-color-scheme: light) { + :root { + color: #213547; + background-color: #ffffff; + } + a:hover { + color: #747bff; + } + button { + background-color: #f9f9f9; + } +} diff --git a/packages/frontend/src/vite-env.d.ts b/packages/frontend/src/vite-env.d.ts new file mode 100644 index 000000000..147c96868 --- /dev/null +++ b/packages/frontend/src/vite-env.d.ts @@ -0,0 +1,6 @@ +/// +declare module '*.vue' { + import type { DefineComponent } from 'vue' + const component: DefineComponent<{}, {}, any> + export default component +} diff --git a/packages/frontend/tsconfig.json b/packages/frontend/tsconfig.json new file mode 100644 index 000000000..9e03e6049 --- /dev/null +++ b/packages/frontend/tsconfig.json @@ -0,0 +1,25 @@ +{ + "compilerOptions": { + "target": "ES2020", + "useDefineForClassFields": true, + "module": "ESNext", + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "preserve", + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true + }, + "include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue"], + "references": [{ "path": "./tsconfig.node.json" }] +} diff --git a/packages/frontend/tsconfig.node.json b/packages/frontend/tsconfig.node.json new file mode 100644 index 000000000..42872c59f --- /dev/null +++ b/packages/frontend/tsconfig.node.json @@ -0,0 +1,10 @@ +{ + "compilerOptions": { + "composite": true, + "skipLibCheck": true, + "module": "ESNext", + "moduleResolution": "bundler", + "allowSyntheticDefaultImports": true + }, + "include": ["vite.config.ts"] +} diff --git a/packages/frontend/vite.config.ts b/packages/frontend/vite.config.ts new file mode 100644 index 000000000..05c17402a --- /dev/null +++ b/packages/frontend/vite.config.ts @@ -0,0 +1,7 @@ +import { defineConfig } from 'vite' +import vue from '@vitejs/plugin-vue' + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [vue()], +}) diff --git a/packages/iceshrimp-js/package.json b/packages/iceshrimp-js/package.json index f00b5796a..aebb3b175 100644 --- a/packages/iceshrimp-js/package.json +++ b/packages/iceshrimp-js/package.json @@ -35,7 +35,7 @@ "ts-jest": "^27.1.2", "ts-node": "10.4.0", "tsd": "^0.28.1", - "typescript": "5.1.6" + "typescript": "^5.1.6" }, "files": [ "built" diff --git a/yarn.lock b/yarn.lock index 8bb672d77..0281d4d32 100644 --- a/yarn.lock +++ b/yarn.lock @@ -800,156 +800,156 @@ __metadata: languageName: node linkType: hard -"@esbuild/android-arm64@npm:0.19.7": - version: 0.19.7 - resolution: "@esbuild/android-arm64@npm:0.19.7" +"@esbuild/android-arm64@npm:0.19.8": + version: 0.19.8 + resolution: "@esbuild/android-arm64@npm:0.19.8" conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@esbuild/android-arm@npm:0.19.7": - version: 0.19.7 - resolution: "@esbuild/android-arm@npm:0.19.7" +"@esbuild/android-arm@npm:0.19.8": + version: 0.19.8 + resolution: "@esbuild/android-arm@npm:0.19.8" conditions: os=android & cpu=arm languageName: node linkType: hard -"@esbuild/android-x64@npm:0.19.7": - version: 0.19.7 - resolution: "@esbuild/android-x64@npm:0.19.7" +"@esbuild/android-x64@npm:0.19.8": + version: 0.19.8 + resolution: "@esbuild/android-x64@npm:0.19.8" conditions: os=android & cpu=x64 languageName: node linkType: hard -"@esbuild/darwin-arm64@npm:0.19.7": - version: 0.19.7 - resolution: "@esbuild/darwin-arm64@npm:0.19.7" +"@esbuild/darwin-arm64@npm:0.19.8": + version: 0.19.8 + resolution: "@esbuild/darwin-arm64@npm:0.19.8" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@esbuild/darwin-x64@npm:0.19.7": - version: 0.19.7 - resolution: "@esbuild/darwin-x64@npm:0.19.7" +"@esbuild/darwin-x64@npm:0.19.8": + version: 0.19.8 + resolution: "@esbuild/darwin-x64@npm:0.19.8" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@esbuild/freebsd-arm64@npm:0.19.7": - version: 0.19.7 - resolution: "@esbuild/freebsd-arm64@npm:0.19.7" +"@esbuild/freebsd-arm64@npm:0.19.8": + version: 0.19.8 + resolution: "@esbuild/freebsd-arm64@npm:0.19.8" conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard -"@esbuild/freebsd-x64@npm:0.19.7": - version: 0.19.7 - resolution: "@esbuild/freebsd-x64@npm:0.19.7" +"@esbuild/freebsd-x64@npm:0.19.8": + version: 0.19.8 + resolution: "@esbuild/freebsd-x64@npm:0.19.8" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"@esbuild/linux-arm64@npm:0.19.7": - version: 0.19.7 - resolution: "@esbuild/linux-arm64@npm:0.19.7" +"@esbuild/linux-arm64@npm:0.19.8": + version: 0.19.8 + resolution: "@esbuild/linux-arm64@npm:0.19.8" conditions: os=linux & cpu=arm64 languageName: node linkType: hard -"@esbuild/linux-arm@npm:0.19.7": - version: 0.19.7 - resolution: "@esbuild/linux-arm@npm:0.19.7" +"@esbuild/linux-arm@npm:0.19.8": + version: 0.19.8 + resolution: "@esbuild/linux-arm@npm:0.19.8" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@esbuild/linux-ia32@npm:0.19.7": - version: 0.19.7 - resolution: "@esbuild/linux-ia32@npm:0.19.7" +"@esbuild/linux-ia32@npm:0.19.8": + version: 0.19.8 + resolution: "@esbuild/linux-ia32@npm:0.19.8" conditions: os=linux & cpu=ia32 languageName: node linkType: hard -"@esbuild/linux-loong64@npm:0.19.7": - version: 0.19.7 - resolution: "@esbuild/linux-loong64@npm:0.19.7" +"@esbuild/linux-loong64@npm:0.19.8": + version: 0.19.8 + resolution: "@esbuild/linux-loong64@npm:0.19.8" conditions: os=linux & cpu=loong64 languageName: node linkType: hard -"@esbuild/linux-mips64el@npm:0.19.7": - version: 0.19.7 - resolution: "@esbuild/linux-mips64el@npm:0.19.7" +"@esbuild/linux-mips64el@npm:0.19.8": + version: 0.19.8 + resolution: "@esbuild/linux-mips64el@npm:0.19.8" conditions: os=linux & cpu=mips64el languageName: node linkType: hard -"@esbuild/linux-ppc64@npm:0.19.7": - version: 0.19.7 - resolution: "@esbuild/linux-ppc64@npm:0.19.7" +"@esbuild/linux-ppc64@npm:0.19.8": + version: 0.19.8 + resolution: "@esbuild/linux-ppc64@npm:0.19.8" conditions: os=linux & cpu=ppc64 languageName: node linkType: hard -"@esbuild/linux-riscv64@npm:0.19.7": - version: 0.19.7 - resolution: "@esbuild/linux-riscv64@npm:0.19.7" +"@esbuild/linux-riscv64@npm:0.19.8": + version: 0.19.8 + resolution: "@esbuild/linux-riscv64@npm:0.19.8" conditions: os=linux & cpu=riscv64 languageName: node linkType: hard -"@esbuild/linux-s390x@npm:0.19.7": - version: 0.19.7 - resolution: "@esbuild/linux-s390x@npm:0.19.7" +"@esbuild/linux-s390x@npm:0.19.8": + version: 0.19.8 + resolution: "@esbuild/linux-s390x@npm:0.19.8" conditions: os=linux & cpu=s390x languageName: node linkType: hard -"@esbuild/linux-x64@npm:0.19.7": - version: 0.19.7 - resolution: "@esbuild/linux-x64@npm:0.19.7" +"@esbuild/linux-x64@npm:0.19.8": + version: 0.19.8 + resolution: "@esbuild/linux-x64@npm:0.19.8" conditions: os=linux & cpu=x64 languageName: node linkType: hard -"@esbuild/netbsd-x64@npm:0.19.7": - version: 0.19.7 - resolution: "@esbuild/netbsd-x64@npm:0.19.7" +"@esbuild/netbsd-x64@npm:0.19.8": + version: 0.19.8 + resolution: "@esbuild/netbsd-x64@npm:0.19.8" conditions: os=netbsd & cpu=x64 languageName: node linkType: hard -"@esbuild/openbsd-x64@npm:0.19.7": - version: 0.19.7 - resolution: "@esbuild/openbsd-x64@npm:0.19.7" +"@esbuild/openbsd-x64@npm:0.19.8": + version: 0.19.8 + resolution: "@esbuild/openbsd-x64@npm:0.19.8" conditions: os=openbsd & cpu=x64 languageName: node linkType: hard -"@esbuild/sunos-x64@npm:0.19.7": - version: 0.19.7 - resolution: "@esbuild/sunos-x64@npm:0.19.7" +"@esbuild/sunos-x64@npm:0.19.8": + version: 0.19.8 + resolution: "@esbuild/sunos-x64@npm:0.19.8" conditions: os=sunos & cpu=x64 languageName: node linkType: hard -"@esbuild/win32-arm64@npm:0.19.7": - version: 0.19.7 - resolution: "@esbuild/win32-arm64@npm:0.19.7" +"@esbuild/win32-arm64@npm:0.19.8": + version: 0.19.8 + resolution: "@esbuild/win32-arm64@npm:0.19.8" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@esbuild/win32-ia32@npm:0.19.7": - version: 0.19.7 - resolution: "@esbuild/win32-ia32@npm:0.19.7" +"@esbuild/win32-ia32@npm:0.19.8": + version: 0.19.8 + resolution: "@esbuild/win32-ia32@npm:0.19.8" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@esbuild/win32-x64@npm:0.19.7": - version: 0.19.7 - resolution: "@esbuild/win32-x64@npm:0.19.7" +"@esbuild/win32-x64@npm:0.19.8": + version: 0.19.8 + resolution: "@esbuild/win32-x64@npm:0.19.8" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -2051,6 +2051,13 @@ __metadata: languageName: node linkType: hard +"@polka/url@npm:^1.0.0-next.20": + version: 1.0.0-next.24 + resolution: "@polka/url@npm:1.0.0-next.24" + checksum: 00baec4458ac86ca27edf7ce807ccfad97cd1d4b67bdedaf3401a9e755757588f3331e891290d1deea52d88df2bf2387caf8d94a6835b614d5b37b638a688273 + languageName: node + linkType: hard + "@redis/bloom@npm:1.2.0": version: 1.2.0 resolution: "@redis/bloom@npm:1.2.0" @@ -3906,6 +3913,34 @@ __metadata: languageName: node linkType: hard +"@volar/language-core@npm:1.11.1, @volar/language-core@npm:~1.11.1": + version: 1.11.1 + resolution: "@volar/language-core@npm:1.11.1" + dependencies: + "@volar/source-map": "npm:1.11.1" + checksum: 2fef58727bb3058b7bbd350fea6c38ded6608c65f7f672ffd825f0ba48307e4c5eded634e0c3b37d2ebbdd2e7ab32bc974eeb54f455c0390f85971ebeef3a6ca + languageName: node + linkType: hard + +"@volar/source-map@npm:1.11.1, @volar/source-map@npm:~1.11.1": + version: 1.11.1 + resolution: "@volar/source-map@npm:1.11.1" + dependencies: + muggle-string: "npm:^0.3.1" + checksum: b90c32b23bbb86a3c47a20a9f7e6293c01b2e65390973e0c849c80ee0ff740ffa76b4d547fdb9b76b2b91a7bdeb2d8d0b1772d4f4d70e2a85784abe0385672f1 + languageName: node + linkType: hard + +"@volar/typescript@npm:~1.11.1": + version: 1.11.1 + resolution: "@volar/typescript@npm:1.11.1" + dependencies: + "@volar/language-core": "npm:1.11.1" + path-browserify: "npm:^1.0.1" + checksum: 714eeb3472902617555b9b4959722a215b391160fe4fdf2f8f4abcb075edbd24a5a633db0c36acd175daeddac5f1b35c33f5fc8788e1e251d91385aad27deda9 + languageName: node + linkType: hard + "@vue/compiler-core@npm:3.3.11": version: 3.3.11 resolution: "@vue/compiler-core@npm:3.3.11" @@ -3930,7 +3965,7 @@ __metadata: languageName: node linkType: hard -"@vue/compiler-dom@npm:3.3.11": +"@vue/compiler-dom@npm:3.3.11, @vue/compiler-dom@npm:^3.3.0": version: 3.3.11 resolution: "@vue/compiler-dom@npm:3.3.11" dependencies: @@ -4017,6 +4052,35 @@ __metadata: languageName: node linkType: hard +"@vue/devtools-api@npm:^6.5.0": + version: 6.5.1 + resolution: "@vue/devtools-api@npm:6.5.1" + checksum: e94443ce376ebecd279bfddaff6d2756cf1725e9f6f94cc41ffba48bf0e2ee17f29f194b8b81eef1c4d3743608e3079b5aab940fcf10de7df7cc9dbad6d2942d + languageName: node + linkType: hard + +"@vue/language-core@npm:1.8.25": + version: 1.8.25 + resolution: "@vue/language-core@npm:1.8.25" + dependencies: + "@volar/language-core": "npm:~1.11.1" + "@volar/source-map": "npm:~1.11.1" + "@vue/compiler-dom": "npm:^3.3.0" + "@vue/shared": "npm:^3.3.0" + computeds: "npm:^0.0.1" + minimatch: "npm:^9.0.3" + muggle-string: "npm:^0.3.1" + path-browserify: "npm:^1.0.1" + vue-template-compiler: "npm:^2.7.14" + peerDependencies: + typescript: "*" + peerDependenciesMeta: + typescript: + optional: true + checksum: 680d2337423a2a2f0cbe70c1c6663c3498fcec6bae7688e83d21d3c1f2a6785fb4a71492fdb318f1f4ef962d0ea985dd22978140dff7f90ac1e1d0dfed2d17ba + languageName: node + linkType: hard + "@vue/reactivity-transform@npm:3.3.11": version: 3.3.11 resolution: "@vue/reactivity-transform@npm:3.3.11" @@ -4085,7 +4149,7 @@ __metadata: languageName: node linkType: hard -"@vue/shared@npm:3.3.11": +"@vue/shared@npm:3.3.11, @vue/shared@npm:^3.3.0": version: 3.3.11 resolution: "@vue/shared@npm:3.3.11" checksum: 78ec6715c7e51fe8a1805f4e7ab4a7ce6d14568a10e9d8bf332e63d9770cc36210fc4763b8935eadb5349e984d3ff276f481fd2e75c9a6ab69a0c96f3aedff9c @@ -5425,6 +5489,7 @@ __metadata: koa: "npm:2.14.2" koa-body: "npm:^6.0.1" koa-bodyparser: "npm:4.4.1" + koa-connect: "npm:^2.1.0" koa-favicon: "npm:2.1.0" koa-json-body: "npm:5.3.0" koa-logger: "npm:3.2.1" @@ -5469,6 +5534,7 @@ __metadata: seedrandom: "npm:^3.0.5" semver: "npm:7.5.4" sharp: "npm:0.32.1" + sirv: "npm:^2.0.3" strict-event-emitter-types: "npm:2.0.0" stringz: "npm:2.1.0" summaly: "npm:2.7.0" @@ -5484,9 +5550,10 @@ __metadata: tsconfig-paths: "npm:4.2.0" twemoji-parser: "npm:14.0.0" typeorm: "npm:0.3.17" - typescript: "npm:5.1.6" + typescript: "npm:^5.1.6" ulid: "npm:2.3.0" uuid: "npm:9.0.0" + vite: "npm:^5.0.7" web-push: "npm:3.6.3" webpack: "npm:^5.88.1" websocket: "npm:1.0.34" @@ -6637,11 +6704,11 @@ __metadata: tsc-alias: "npm:1.8.7" tsconfig-paths: "npm:4.2.0" twemoji-parser: "npm:14.0.0" - typescript: "npm:5.1.6" + typescript: "npm:^5.1.6" unicode-emoji-json: "npm:^0.4.0" uuid: "npm:9.0.0" vanilla-tilt: "npm:1.8.0" - vite: "npm:5.0.2" + vite: "npm:^5.0.2" vite-plugin-compression: "npm:^0.5.1" vue: "npm:^3.3.11" vue-draggable-plus: "npm:^0.2.2" @@ -7048,6 +7115,13 @@ __metadata: languageName: node linkType: hard +"computeds@npm:^0.0.1": + version: 0.0.1 + resolution: "computeds@npm:0.0.1" + checksum: 738625ccec6e483124d0ac79ec5474ab5c9df103ea05afc1fd840eed7d9004e3d6009b7bc806df564d66ad915c1ee1fb017bd91b2b32606a252ea9870b6a4026 + languageName: node + linkType: hard + "concat-map@npm:0.0.1": version: 0.0.1 resolution: "concat-map@npm:0.0.1" @@ -7559,6 +7633,13 @@ __metadata: languageName: node linkType: hard +"de-indent@npm:^1.0.2": + version: 1.0.2 + resolution: "de-indent@npm:1.0.2" + checksum: 30bf43744dca005f9252dbb34ed95dcb3c30dfe52bfed84973b89c29eccff04e27769f222a34c61a93354acf47457785e9032e6184be390ed1d324fb9ab3f427 + languageName: node + linkType: hard + "debug@npm:2, debug@npm:^2.2.0, debug@npm:^2.3.3, debug@npm:^2.5.2": version: 2.6.9 resolution: "debug@npm:2.6.9" @@ -8510,31 +8591,31 @@ __metadata: linkType: hard "esbuild@npm:^0.19.3": - version: 0.19.7 - resolution: "esbuild@npm:0.19.7" + version: 0.19.8 + resolution: "esbuild@npm:0.19.8" dependencies: - "@esbuild/android-arm": "npm:0.19.7" - "@esbuild/android-arm64": "npm:0.19.7" - "@esbuild/android-x64": "npm:0.19.7" - "@esbuild/darwin-arm64": "npm:0.19.7" - "@esbuild/darwin-x64": "npm:0.19.7" - "@esbuild/freebsd-arm64": "npm:0.19.7" - "@esbuild/freebsd-x64": "npm:0.19.7" - "@esbuild/linux-arm": "npm:0.19.7" - "@esbuild/linux-arm64": "npm:0.19.7" - "@esbuild/linux-ia32": "npm:0.19.7" - "@esbuild/linux-loong64": "npm:0.19.7" - "@esbuild/linux-mips64el": "npm:0.19.7" - "@esbuild/linux-ppc64": "npm:0.19.7" - "@esbuild/linux-riscv64": "npm:0.19.7" - "@esbuild/linux-s390x": "npm:0.19.7" - "@esbuild/linux-x64": "npm:0.19.7" - "@esbuild/netbsd-x64": "npm:0.19.7" - "@esbuild/openbsd-x64": "npm:0.19.7" - "@esbuild/sunos-x64": "npm:0.19.7" - "@esbuild/win32-arm64": "npm:0.19.7" - "@esbuild/win32-ia32": "npm:0.19.7" - "@esbuild/win32-x64": "npm:0.19.7" + "@esbuild/android-arm": "npm:0.19.8" + "@esbuild/android-arm64": "npm:0.19.8" + "@esbuild/android-x64": "npm:0.19.8" + "@esbuild/darwin-arm64": "npm:0.19.8" + "@esbuild/darwin-x64": "npm:0.19.8" + "@esbuild/freebsd-arm64": "npm:0.19.8" + "@esbuild/freebsd-x64": "npm:0.19.8" + "@esbuild/linux-arm": "npm:0.19.8" + "@esbuild/linux-arm64": "npm:0.19.8" + "@esbuild/linux-ia32": "npm:0.19.8" + "@esbuild/linux-loong64": "npm:0.19.8" + "@esbuild/linux-mips64el": "npm:0.19.8" + "@esbuild/linux-ppc64": "npm:0.19.8" + "@esbuild/linux-riscv64": "npm:0.19.8" + "@esbuild/linux-s390x": "npm:0.19.8" + "@esbuild/linux-x64": "npm:0.19.8" + "@esbuild/netbsd-x64": "npm:0.19.8" + "@esbuild/openbsd-x64": "npm:0.19.8" + "@esbuild/sunos-x64": "npm:0.19.8" + "@esbuild/win32-arm64": "npm:0.19.8" + "@esbuild/win32-ia32": "npm:0.19.8" + "@esbuild/win32-x64": "npm:0.19.8" dependenciesMeta: "@esbuild/android-arm": optional: true @@ -8582,7 +8663,7 @@ __metadata: optional: true bin: esbuild: bin/esbuild - checksum: 326b9d98a77c5f2fb9a535b292bdc67c88bdfb4a19d29a221d65fd69f4800faea1f34947e8e6bc25ca3bd5db01f61c6968fec91f8c335e21e29b50330d90bd89 + checksum: 8c440db4689948626dbc4122a03575c378e86e630e5de3789464504cd474bf3a1fd7c9402ed79eb8aa2f83e5cfd75872c8607d6255a05e540065b42750e89afe languageName: node linkType: hard @@ -10096,6 +10177,21 @@ __metadata: languageName: node linkType: hard +"frontend@workspace:packages/frontend": + version: 0.0.0-use.local + resolution: "frontend@workspace:packages/frontend" + dependencies: + "@vitejs/plugin-vue": "npm:^4.5.0" + idb-keyval: "npm:^6.2.1" + sass: "npm:^1.69.5" + typescript: "npm:^5.2.2" + vite: "npm:^5.0.0" + vue: "npm:^3.3.8" + vue-router: "npm:^4.2.5" + vue-tsc: "npm:^1.8.22" + languageName: unknown + linkType: soft + "fs-constants@npm:^1.0.0": version: 1.0.0 resolution: "fs-constants@npm:1.0.0" @@ -11014,7 +11110,7 @@ __metadata: languageName: node linkType: hard -"he@npm:1.2.0": +"he@npm:1.2.0, he@npm:^1.2.0": version: 1.2.0 resolution: "he@npm:1.2.0" bin: @@ -11370,7 +11466,7 @@ __metadata: ts-jest: "npm:^27.1.2" ts-node: "npm:10.4.0" tsd: "npm:^0.28.1" - typescript: "npm:5.1.6" + typescript: "npm:^5.1.6" dependenciesMeta: "@swc/core-android-arm64": optional: true @@ -11402,7 +11498,7 @@ __metadata: js-yaml: "npm:4.1.0" seedrandom: "npm:^3.0.5" start-server-and-test: "npm:1.15.2" - typescript: "npm:5.1.6" + typescript: "npm:^5.1.6" yaml: "npm:^2.3.4" dependenciesMeta: "@discordapp/twemoji@14.1.2": @@ -13628,6 +13724,13 @@ __metadata: languageName: node linkType: hard +"koa-connect@npm:^2.1.0": + version: 2.1.0 + resolution: "koa-connect@npm:2.1.0" + checksum: 71ab70c30612518fa915a77fde8bcc7f3ac59d38d419cb780c4dc5ba5954a4ce6332d738d0d15b0b73d792957bbacd9fbcabdea13def6865db2bd47a55604132 + languageName: node + linkType: hard + "koa-convert@npm:^2.0.0": version: 2.0.0 resolution: "koa-convert@npm:2.0.0" @@ -14725,7 +14828,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^9.0.1": +"minimatch@npm:^9.0.1, minimatch@npm:^9.0.3": version: 9.0.3 resolution: "minimatch@npm:9.0.3" dependencies: @@ -14944,6 +15047,13 @@ __metadata: languageName: node linkType: hard +"mrmime@npm:^1.0.0": + version: 1.0.1 + resolution: "mrmime@npm:1.0.1" + checksum: a157e833ffe76648ab2107319deeff024b80b136ec66c60fae9d339009a1bb72c57ec1feecfd6a905dfd3df29e2299e850bff84b69cad790cc9bd9ab075834d1 + languageName: node + linkType: hard + "ms@npm:2.0.0": version: 2.0.0 resolution: "ms@npm:2.0.0" @@ -15008,6 +15118,13 @@ __metadata: languageName: node linkType: hard +"muggle-string@npm:^0.3.1": + version: 0.3.1 + resolution: "muggle-string@npm:0.3.1" + checksum: f2357f906e0160b7df0179c77838cf859f3ca23cb74eca7c043b9fc9e1e416d91497c80fbe2f3c9aeb003c14ad15857fc4e94f1631e8a6695b07e4135626d305 + languageName: node + linkType: hard + "multer@npm:1.4.4-lts.1": version: 1.4.4-lts.1 resolution: "multer@npm:1.4.4-lts.1" @@ -16089,6 +16206,13 @@ __metadata: languageName: node linkType: hard +"path-browserify@npm:^1.0.1": + version: 1.0.1 + resolution: "path-browserify@npm:1.0.1" + checksum: 7e7368a5207e7c6b9051ef045711d0dc3c2b6203e96057e408e6e74d09f383061010d2be95cb8593fe6258a767c3e9fc6b2bfc7ce8d48ae8c3d9f6994cca9ad8 + languageName: node + linkType: hard + "path-dirname@npm:^1.0.0": version: 1.0.2 resolution: "path-dirname@npm:1.0.2" @@ -16838,17 +16962,6 @@ __metadata: languageName: node linkType: hard -"postcss@npm:^8.4.31": - version: 8.4.31 - resolution: "postcss@npm:8.4.31" - dependencies: - nanoid: "npm:^3.3.6" - picocolors: "npm:^1.0.0" - source-map-js: "npm:^1.0.2" - checksum: 1a6653e72105907377f9d4f2cd341d8d90e3fde823a5ddea1e2237aaa56933ea07853f0f2758c28892a1d70c53bbaca200eb8b80f8ed55f13093003dbec5afa0 - languageName: node - linkType: hard - "postcss@npm:^8.4.32": version: 8.4.32 resolution: "postcss@npm:8.4.32" @@ -18404,6 +18517,19 @@ __metadata: languageName: node linkType: hard +"sass@npm:^1.69.5": + version: 1.69.5 + resolution: "sass@npm:1.69.5" + dependencies: + chokidar: "npm:>=3.0.0 <4.0.0" + immutable: "npm:^4.0.0" + source-map-js: "npm:>=0.6.2 <2.0.0" + bin: + sass: sass.js + checksum: b320ab22061b3c7fe8cee43b13329b281dd7d86691b8b7c55dec3e47d3ede988989dac56db4dff57ee847d10252a26b611be1b0a5f7c3a0f6a6405ef37a6d018 + languageName: node + linkType: hard + "sax@npm:1.2.1": version: 1.2.1 resolution: "sax@npm:1.2.1" @@ -18717,6 +18843,17 @@ __metadata: languageName: node linkType: hard +"sirv@npm:^2.0.3": + version: 2.0.3 + resolution: "sirv@npm:2.0.3" + dependencies: + "@polka/url": "npm:^1.0.0-next.20" + mrmime: "npm:^1.0.0" + totalist: "npm:^3.0.0" + checksum: dbfbff7355c1433df4f18683b5efe3b22eebac745e7ae30e38ba9d2bf468765a8a81993b78198dfd9bc809330fce85c67e74bccd262ca5871ecb92046fcf4560 + languageName: node + linkType: hard + "sisteransi@npm:^1.0.5": version: 1.0.5 resolution: "sisteransi@npm:1.0.5" @@ -20010,6 +20147,13 @@ __metadata: languageName: node linkType: hard +"totalist@npm:^3.0.0": + version: 3.0.1 + resolution: "totalist@npm:3.0.1" + checksum: 5132d562cf88ff93fd710770a92f31dbe67cc19b5c6ccae2efc0da327f0954d211bbfd9456389655d726c624f284b4a23112f56d1da931ca7cfabbe1f45e778a + languageName: node + linkType: hard + "tough-cookie@npm:^4.0.0, tough-cookie@npm:^4.1.2": version: 4.1.3 resolution: "tough-cookie@npm:4.1.3" @@ -20547,13 +20691,13 @@ __metadata: languageName: node linkType: hard -"typescript@npm:5.1.6": - version: 5.1.6 - resolution: "typescript@npm:5.1.6" +"typescript@npm:^5.1.6, typescript@npm:^5.2.2": + version: 5.3.3 + resolution: "typescript@npm:5.3.3" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: f347cde665cf43dc4c1c7d9821c7d9bbec3c3914f4bdd82ee490e9fb9f6d99036ed8666463b6a192dd005eeef333c5087d5931bdd51ec853436ff9a670a7417e + checksum: 6e4e6a14a50c222b3d14d4ea2f729e79f972fa536ac1522b91202a9a65af3605c2928c4a790a4a50aa13694d461c479ba92cedaeb1e7b190aadaa4e4b96b8e18 languageName: node linkType: hard @@ -20567,13 +20711,13 @@ __metadata: languageName: node linkType: hard -"typescript@patch:typescript@npm%3A5.1.6#optional!builtin": - version: 5.1.6 - resolution: "typescript@patch:typescript@npm%3A5.1.6#optional!builtin::version=5.1.6&hash=5da071" +"typescript@patch:typescript@npm%3A^5.1.6#optional!builtin, typescript@patch:typescript@npm%3A^5.2.2#optional!builtin": + version: 5.3.3 + resolution: "typescript@patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: f5481fa3ba0eee8970f46708d13c05650a865ad093b586fc9573f425c64c57ca97e3308e110bb528deb3ccebe83f6fd7b5a8ac90018038da96326a9ccdf8e77c + checksum: c93786fcc9a70718ba1e3819bab56064ead5817004d1b8186f8ca66165f3a2d0100fee91fa64c840dcd45f994ca5d615d8e1f566d39a7470fc1e014dbb4cf15d languageName: node linkType: hard @@ -21086,13 +21230,13 @@ __metadata: languageName: node linkType: hard -"vite@npm:5.0.2": - version: 5.0.2 - resolution: "vite@npm:5.0.2" +"vite@npm:^5.0.0, vite@npm:^5.0.2, vite@npm:^5.0.7": + version: 5.0.7 + resolution: "vite@npm:5.0.7" dependencies: esbuild: "npm:^0.19.3" fsevents: "npm:~2.3.3" - postcss: "npm:^8.4.31" + postcss: "npm:^8.4.32" rollup: "npm:^4.2.0" peerDependencies: "@types/node": ^18.0.0 || >=20.0.0 @@ -21122,7 +21266,7 @@ __metadata: optional: true bin: vite: bin/vite.js - checksum: 74f1a6d49a02106796b5fcc04dbe4a92925fba413191718fb37485a29f606b7f80abd371a3ef6b598e8a04f05c09c0b9a5de6bf844dfecb7253798097ddaab35 + checksum: 27186e5b907484ed17a9cb803bb2127995a1659e1da9eab36bcd7bfac5d11ed41f7136d9913cc27a8c8c49c3fee5c791dee135c5d37653ddfa0153b69dc3f930 languageName: node linkType: hard @@ -21188,6 +21332,42 @@ __metadata: languageName: node linkType: hard +"vue-router@npm:^4.2.5": + version: 4.2.5 + resolution: "vue-router@npm:4.2.5" + dependencies: + "@vue/devtools-api": "npm:^6.5.0" + peerDependencies: + vue: ^3.2.0 + checksum: 491ebb273cf9b668a0a0da5886a45d6ca34a5192ca58aceaecba222223748f35f7dc6519f0d2bfe065aaf0be95564cccea22096b60a805d67b0e020fc9f882c8 + languageName: node + linkType: hard + +"vue-template-compiler@npm:^2.7.14": + version: 2.7.15 + resolution: "vue-template-compiler@npm:2.7.15" + dependencies: + de-indent: "npm:^1.0.2" + he: "npm:^1.2.0" + checksum: 450634ed5baf652b1d25f74d13b4ee061d4da83292731406bfbd8a212e286f59def3c762eac05b9fa8769df9ee42a1960ec7c2431ea30999cfc75eb314cc16b9 + languageName: node + linkType: hard + +"vue-tsc@npm:^1.8.22": + version: 1.8.25 + resolution: "vue-tsc@npm:1.8.25" + dependencies: + "@volar/typescript": "npm:~1.11.1" + "@vue/language-core": "npm:1.8.25" + semver: "npm:^7.5.4" + peerDependencies: + typescript: "*" + bin: + vue-tsc: bin/vue-tsc.js + checksum: a2be9afcc26ad036238cfc200b471ea5597a05482c86a76afa3fafbaca2cc0fe94108ee7f1ac87f3847a622fcf16fab2d234f9086fdefdb6a6b26d3f278d274d + languageName: node + linkType: hard + "vue@npm:^2.6.12": version: 2.7.14 resolution: "vue@npm:2.7.14" @@ -21198,7 +21378,7 @@ __metadata: languageName: node linkType: hard -"vue@npm:^3.3.11": +"vue@npm:^3.3.11, vue@npm:^3.3.8": version: 3.3.11 resolution: "vue@npm:3.3.11" dependencies: