mirror of
https://iceshrimp.dev/crimekillz/iceshrimp-161sh.git
synced 2024-11-25 13:39:06 +01:00
[frontend] Web client groundwork
This commit is contained in:
parent
b6523bc87f
commit
e2a56a0061
66 changed files with 1301 additions and 297 deletions
BIN
.yarn/cache/@esbuild-darwin-arm64-npm-0.19.7-74c4d85f69-10.zip
(Stored with Git LFS)
vendored
BIN
.yarn/cache/@esbuild-darwin-arm64-npm-0.19.7-74c4d85f69-10.zip
(Stored with Git LFS)
vendored
Binary file not shown.
BIN
.yarn/cache/@esbuild-darwin-arm64-npm-0.19.8-b1920f84ba-10.zip
(Stored with Git LFS)
vendored
Normal file
BIN
.yarn/cache/@esbuild-darwin-arm64-npm-0.19.8-b1920f84ba-10.zip
(Stored with Git LFS)
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/@esbuild-darwin-x64-npm-0.19.7-e9b1213810-10.zip
(Stored with Git LFS)
vendored
BIN
.yarn/cache/@esbuild-darwin-x64-npm-0.19.7-e9b1213810-10.zip
(Stored with Git LFS)
vendored
Binary file not shown.
BIN
.yarn/cache/@esbuild-darwin-x64-npm-0.19.8-36f500fc51-10.zip
(Stored with Git LFS)
vendored
Normal file
BIN
.yarn/cache/@esbuild-darwin-x64-npm-0.19.8-36f500fc51-10.zip
(Stored with Git LFS)
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/@esbuild-linux-arm64-npm-0.19.7-39e9cc6148-10.zip
(Stored with Git LFS)
vendored
BIN
.yarn/cache/@esbuild-linux-arm64-npm-0.19.7-39e9cc6148-10.zip
(Stored with Git LFS)
vendored
Binary file not shown.
BIN
.yarn/cache/@esbuild-linux-arm64-npm-0.19.8-2687227d41-10.zip
(Stored with Git LFS)
vendored
Normal file
BIN
.yarn/cache/@esbuild-linux-arm64-npm-0.19.8-2687227d41-10.zip
(Stored with Git LFS)
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/@esbuild-linux-x64-npm-0.19.7-f4cf76f770-10.zip
(Stored with Git LFS)
vendored
BIN
.yarn/cache/@esbuild-linux-x64-npm-0.19.7-f4cf76f770-10.zip
(Stored with Git LFS)
vendored
Binary file not shown.
BIN
.yarn/cache/@esbuild-linux-x64-npm-0.19.8-231d24e5e4-10.zip
(Stored with Git LFS)
vendored
Normal file
BIN
.yarn/cache/@esbuild-linux-x64-npm-0.19.8-231d24e5e4-10.zip
(Stored with Git LFS)
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/@polka-url-npm-1.0.0-next.24-058e984602-00baec4458.zip
(Stored with Git LFS)
vendored
Normal file
BIN
.yarn/cache/@polka-url-npm-1.0.0-next.24-058e984602-00baec4458.zip
(Stored with Git LFS)
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/@volar-language-core-npm-1.11.1-e30e50203f-2fef58727b.zip
(Stored with Git LFS)
vendored
Normal file
BIN
.yarn/cache/@volar-language-core-npm-1.11.1-e30e50203f-2fef58727b.zip
(Stored with Git LFS)
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/@volar-source-map-npm-1.11.1-19e27a8f3b-b90c32b23b.zip
(Stored with Git LFS)
vendored
Normal file
BIN
.yarn/cache/@volar-source-map-npm-1.11.1-19e27a8f3b-b90c32b23b.zip
(Stored with Git LFS)
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/@volar-typescript-npm-1.11.1-9a11b85d7c-714eeb3472.zip
(Stored with Git LFS)
vendored
Normal file
BIN
.yarn/cache/@volar-typescript-npm-1.11.1-9a11b85d7c-714eeb3472.zip
(Stored with Git LFS)
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/@vue-devtools-api-npm-6.5.1-a00bfbc22f-e94443ce37.zip
(Stored with Git LFS)
vendored
Normal file
BIN
.yarn/cache/@vue-devtools-api-npm-6.5.1-a00bfbc22f-e94443ce37.zip
(Stored with Git LFS)
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/@vue-language-core-npm-1.8.25-60dd634fe2-680d233742.zip
(Stored with Git LFS)
vendored
Normal file
BIN
.yarn/cache/@vue-language-core-npm-1.8.25-60dd634fe2-680d233742.zip
(Stored with Git LFS)
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/computeds-npm-0.0.1-bef3a1eb28-738625ccec.zip
(Stored with Git LFS)
vendored
Normal file
BIN
.yarn/cache/computeds-npm-0.0.1-bef3a1eb28-738625ccec.zip
(Stored with Git LFS)
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/de-indent-npm-1.0.2-66cccde30f-30bf43744d.zip
(Stored with Git LFS)
vendored
Normal file
BIN
.yarn/cache/de-indent-npm-1.0.2-66cccde30f-30bf43744d.zip
(Stored with Git LFS)
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/esbuild-npm-0.19.7-b3b0b2fa14-326b9d98a7.zip
(Stored with Git LFS)
vendored
BIN
.yarn/cache/esbuild-npm-0.19.7-b3b0b2fa14-326b9d98a7.zip
(Stored with Git LFS)
vendored
Binary file not shown.
BIN
.yarn/cache/esbuild-npm-0.19.8-209f9c6f87-8c440db468.zip
(Stored with Git LFS)
vendored
Normal file
BIN
.yarn/cache/esbuild-npm-0.19.8-209f9c6f87-8c440db468.zip
(Stored with Git LFS)
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/koa-connect-npm-2.1.0-6088d6d945-71ab70c306.zip
(Stored with Git LFS)
vendored
Normal file
BIN
.yarn/cache/koa-connect-npm-2.1.0-6088d6d945-71ab70c306.zip
(Stored with Git LFS)
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/mrmime-npm-1.0.1-d0aa4f5ddf-a157e833ff.zip
(Stored with Git LFS)
vendored
Normal file
BIN
.yarn/cache/mrmime-npm-1.0.1-d0aa4f5ddf-a157e833ff.zip
(Stored with Git LFS)
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/muggle-string-npm-0.3.1-417964904f-f2357f906e.zip
(Stored with Git LFS)
vendored
Normal file
BIN
.yarn/cache/muggle-string-npm-0.3.1-417964904f-f2357f906e.zip
(Stored with Git LFS)
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/path-browserify-npm-1.0.1-f975d99a99-7e7368a520.zip
(Stored with Git LFS)
vendored
Normal file
BIN
.yarn/cache/path-browserify-npm-1.0.1-f975d99a99-7e7368a520.zip
(Stored with Git LFS)
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/postcss-npm-8.4.31-385051a82b-1a6653e721.zip
(Stored with Git LFS)
vendored
BIN
.yarn/cache/postcss-npm-8.4.31-385051a82b-1a6653e721.zip
(Stored with Git LFS)
vendored
Binary file not shown.
BIN
.yarn/cache/sass-npm-1.69.5-3f0210c9f9-b320ab2206.zip
(Stored with Git LFS)
vendored
Normal file
BIN
.yarn/cache/sass-npm-1.69.5-3f0210c9f9-b320ab2206.zip
(Stored with Git LFS)
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/sirv-npm-2.0.3-775c1726af-dbfbff7355.zip
(Stored with Git LFS)
vendored
Normal file
BIN
.yarn/cache/sirv-npm-2.0.3-775c1726af-dbfbff7355.zip
(Stored with Git LFS)
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/totalist-npm-3.0.1-91e71f3baa-5132d562cf.zip
(Stored with Git LFS)
vendored
Normal file
BIN
.yarn/cache/totalist-npm-3.0.1-91e71f3baa-5132d562cf.zip
(Stored with Git LFS)
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/typescript-npm-5.1.6-b157762de3-f347cde665.zip
(Stored with Git LFS)
vendored
BIN
.yarn/cache/typescript-npm-5.1.6-b157762de3-f347cde665.zip
(Stored with Git LFS)
vendored
Binary file not shown.
BIN
.yarn/cache/typescript-npm-5.3.3-6b23a5da18-6e4e6a14a5.zip
(Stored with Git LFS)
vendored
Normal file
BIN
.yarn/cache/typescript-npm-5.3.3-6b23a5da18-6e4e6a14a5.zip
(Stored with Git LFS)
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip
(Stored with Git LFS)
vendored
Normal file
BIN
.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip
(Stored with Git LFS)
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/typescript-patch-97a611e52a-f5481fa3ba.zip
(Stored with Git LFS)
vendored
BIN
.yarn/cache/typescript-patch-97a611e52a-f5481fa3ba.zip
(Stored with Git LFS)
vendored
Binary file not shown.
BIN
.yarn/cache/vite-npm-5.0.2-e1256a9c0b-74f1a6d49a.zip
(Stored with Git LFS)
vendored
BIN
.yarn/cache/vite-npm-5.0.2-e1256a9c0b-74f1a6d49a.zip
(Stored with Git LFS)
vendored
Binary file not shown.
BIN
.yarn/cache/vite-npm-5.0.7-583fea8b6f-27186e5b90.zip
(Stored with Git LFS)
vendored
Normal file
BIN
.yarn/cache/vite-npm-5.0.7-583fea8b6f-27186e5b90.zip
(Stored with Git LFS)
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/vue-router-npm-4.2.5-3479f41e41-491ebb273c.zip
(Stored with Git LFS)
vendored
Normal file
BIN
.yarn/cache/vue-router-npm-4.2.5-3479f41e41-491ebb273c.zip
(Stored with Git LFS)
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/vue-template-compiler-npm-2.7.15-28e79f8ad6-450634ed5b.zip
(Stored with Git LFS)
vendored
Normal file
BIN
.yarn/cache/vue-template-compiler-npm-2.7.15-28e79f8ad6-450634ed5b.zip
(Stored with Git LFS)
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/vue-tsc-npm-1.8.25-981d5060ca-a2be9afcc2.zip
(Stored with Git LFS)
vendored
Normal file
BIN
.yarn/cache/vue-tsc-npm-1.8.25-981d5060ca-a2be9afcc2.zip
(Stored with Git LFS)
vendored
Normal file
Binary file not shown.
|
@ -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",
|
||||
|
|
|
@ -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"
|
||||
}
|
||||
|
|
18
packages/backend/src/server/api/web/controllers/auth.ts
Normal file
18
packages/backend/src/server/api/web/controllers/auth.ts
Normal file
|
@ -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<AuthResponse> {
|
||||
const user = me ? await UserHandler.getUser(me, me.id) : null;
|
||||
return {
|
||||
authenticated: !!me,
|
||||
user: user,
|
||||
};
|
||||
}
|
||||
}
|
6
packages/backend/src/server/api/web/entities/auth.ts
Normal file
6
packages/backend/src/server/api/web/entities/auth.ts
Normal file
|
@ -0,0 +1,6 @@
|
|||
import { UserResponse } from "@/server/api/web/entities/user.js";
|
||||
|
||||
export type AuthResponse = {
|
||||
authenticated: boolean;
|
||||
user: UserResponse | null;
|
||||
}
|
|
@ -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<WebState, WebContext>;
|
||||
export type WebMiddleware = Middleware<WebState, WebContext>;
|
||||
|
@ -33,6 +34,7 @@ export class WebAPI {
|
|||
errorHandler: ErrorHandlingMiddleware,
|
||||
controllers: [
|
||||
UserController,
|
||||
AuthController,
|
||||
],
|
||||
flow: [
|
||||
AuthenticationMiddleware,
|
||||
|
|
|
@ -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() {
|
||||
|
|
32
packages/backend/src/server/web-rewrite/index.ts
Normal file
32
packages/backend/src/server/web-rewrite/index.ts
Normal file
|
@ -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;
|
|
@ -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",
|
||||
|
|
24
packages/frontend/.gitignore
vendored
Normal file
24
packages/frontend/.gitignore
vendored
Normal file
|
@ -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?
|
3
packages/frontend/.vscode/extensions.json
vendored
Normal file
3
packages/frontend/.vscode/extensions.json
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"recommendations": ["Vue.volar", "Vue.vscode-typescript-vue-plugin"]
|
||||
}
|
18
packages/frontend/README.md
Normal file
18
packages/frontend/README.md
Normal file
|
@ -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 `<script setup>` SFCs, check out the [script setup docs](https://v3.vuejs.org/api/sfc-script-setup.html#sfc-script-setup) to learn more.
|
||||
|
||||
## Recommended IDE Setup
|
||||
|
||||
- [VS Code](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin).
|
||||
|
||||
## Type Support For `.vue` Imports in TS
|
||||
|
||||
TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types.
|
||||
|
||||
If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps:
|
||||
|
||||
1. Disable the built-in TypeScript Extension
|
||||
1. Run `Extensions: Show Built-in Extensions` from VSCode's command palette
|
||||
2. Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)`
|
||||
2. Reload the VSCode window by running `Developer: Reload Window` from the command palette.
|
13
packages/frontend/index.html
Normal file
13
packages/frontend/index.html
Normal file
|
@ -0,0 +1,13 @@
|
|||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<link rel="icon" type="image/svg+xml" href="/src/assets/vite.svg" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Iceshrimp</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
<script type="module" src="/src/main.ts"></script>
|
||||
</body>
|
||||
</html>
|
21
packages/frontend/package.json
Normal file
21
packages/frontend/package.json
Normal file
|
@ -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"
|
||||
}
|
||||
}
|
13
packages/frontend/src/App.vue
Normal file
13
packages/frontend/src/App.vue
Normal file
|
@ -0,0 +1,13 @@
|
|||
<script setup lang="ts">
|
||||
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<router-view>
|
||||
|
||||
</router-view>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
BIN
packages/frontend/src/assets/vite.svg
(Stored with Git LFS)
Normal file
BIN
packages/frontend/src/assets/vite.svg
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
packages/frontend/src/assets/vue.svg
(Stored with Git LFS)
Normal file
BIN
packages/frontend/src/assets/vue.svg
(Stored with Git LFS)
Normal file
Binary file not shown.
30
packages/frontend/src/components/AccountPicker.vue
Normal file
30
packages/frontend/src/components/AccountPicker.vue
Normal file
|
@ -0,0 +1,30 @@
|
|||
<script setup lang="ts">
|
||||
import { onMounted, ref } from "vue";
|
||||
import { KvAccount } from "../entities/keyval.ts";
|
||||
import { get as kvGet } from "idb-keyval";
|
||||
|
||||
const test = ref<string[]>([]);
|
||||
const aref = ref<HTMLSelectElement>();
|
||||
|
||||
onMounted(async () => {
|
||||
const accounts = await kvGet<KvAccount[] | null>("accounts");
|
||||
console.log(accounts);
|
||||
if (!accounts) return;
|
||||
test.value.push(...accounts.map(p => p.id));
|
||||
});
|
||||
|
||||
async function submit() {
|
||||
localStorage.setItem('accountId', aref.value!.value);
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<select ref="aref">
|
||||
<option v-for="item in test">{{ item }}</option>
|
||||
</select>
|
||||
<button @click="submit">Submit</button>
|
||||
</template>
|
||||
|
||||
<style scoped lang="scss">
|
||||
|
||||
</style>
|
24
packages/frontend/src/components/AuthDebug.vue
Normal file
24
packages/frontend/src/components/AuthDebug.vue
Normal file
|
@ -0,0 +1,24 @@
|
|||
<script setup lang="ts">
|
||||
import { api } from "../helpers/api.ts";
|
||||
import { onMounted, ref } from "vue";
|
||||
|
||||
const field = ref<HTMLElement>();
|
||||
|
||||
onMounted(() => {
|
||||
api('/api/iceshrimp/v1/auth').then(res => {
|
||||
field.value!.textContent = JSON.stringify(res, null, 2);
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<pre class="auth" ref="field">
|
||||
|
||||
</pre>
|
||||
</template>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.auth {
|
||||
text-align: left;
|
||||
}
|
||||
</style>
|
38
packages/frontend/src/components/HelloWorld.vue
Normal file
38
packages/frontend/src/components/HelloWorld.vue
Normal file
|
@ -0,0 +1,38 @@
|
|||
<script setup lang="ts">
|
||||
import { ref } from 'vue'
|
||||
|
||||
defineProps<{ msg: string }>()
|
||||
|
||||
const count = ref(0)
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<h1>{{ msg }}</h1>
|
||||
|
||||
<div class="card">
|
||||
<button type="button" @click="count++">count is {{ count }}</button>
|
||||
<p>
|
||||
Edit
|
||||
<code>components/HelloWorld.vue</code> to test HMR
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
Check out
|
||||
<a href="https://vuejs.org/guide/quick-start.html#local" target="_blank"
|
||||
>create-vue</a
|
||||
>, the official Vue + Vite starter
|
||||
</p>
|
||||
<p>
|
||||
Install
|
||||
<a href="https://github.com/vuejs/language-tools" target="_blank">Volar</a>
|
||||
in your IDE for a better DX
|
||||
</p>
|
||||
<p class="read-the-docs">Click on the Vite and Vue logos to learn more</p>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
.read-the-docs {
|
||||
color: #888;
|
||||
}
|
||||
</style>
|
4
packages/frontend/src/entities/keyval.ts
Normal file
4
packages/frontend/src/entities/keyval.ts
Normal file
|
@ -0,0 +1,4 @@
|
|||
export type KvAccount = {
|
||||
id: string;
|
||||
token: string;
|
||||
}
|
22
packages/frontend/src/helpers/api.ts
Normal file
22
packages/frontend/src/helpers/api.ts
Normal file
|
@ -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<KvAccount | null> {
|
||||
const currentAccountId = localStorage.getItem('accountId');
|
||||
if (currentAccountId === null) return null;
|
||||
const accounts = await kvGet<KvAccount[] | null>("accounts");
|
||||
if (!accounts) return null;
|
||||
return accounts.find(p => p.id === currentAccountId) ?? null;
|
||||
}
|
18
packages/frontend/src/main.ts
Normal file
18
packages/frontend/src/main.ts
Normal file
|
@ -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')
|
14
packages/frontend/src/pages/auth.vue
Normal file
14
packages/frontend/src/pages/auth.vue
Normal file
|
@ -0,0 +1,14 @@
|
|||
<script setup lang="ts">
|
||||
|
||||
import AuthDebug from "../components/AuthDebug.vue";
|
||||
import AccountPicker from "../components/AccountPicker.vue";
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<AccountPicker/>
|
||||
<AuthDebug/>
|
||||
</template>
|
||||
|
||||
<style scoped lang="scss">
|
||||
|
||||
</style>
|
79
packages/frontend/src/style.css
Normal file
79
packages/frontend/src/style.css
Normal file
|
@ -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;
|
||||
}
|
||||
}
|
6
packages/frontend/src/vite-env.d.ts
vendored
Normal file
6
packages/frontend/src/vite-env.d.ts
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
/// <reference types="vite/client" />
|
||||
declare module '*.vue' {
|
||||
import type { DefineComponent } from 'vue'
|
||||
const component: DefineComponent<{}, {}, any>
|
||||
export default component
|
||||
}
|
25
packages/frontend/tsconfig.json
Normal file
25
packages/frontend/tsconfig.json
Normal file
|
@ -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" }]
|
||||
}
|
10
packages/frontend/tsconfig.node.json
Normal file
10
packages/frontend/tsconfig.node.json
Normal file
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"compilerOptions": {
|
||||
"composite": true,
|
||||
"skipLibCheck": true,
|
||||
"module": "ESNext",
|
||||
"moduleResolution": "bundler",
|
||||
"allowSyntheticDefaultImports": true
|
||||
},
|
||||
"include": ["vite.config.ts"]
|
||||
}
|
7
packages/frontend/vite.config.ts
Normal file
7
packages/frontend/vite.config.ts
Normal file
|
@ -0,0 +1,7 @@
|
|||
import { defineConfig } from 'vite'
|
||||
import vue from '@vitejs/plugin-vue'
|
||||
|
||||
// https://vitejs.dev/config/
|
||||
export default defineConfig({
|
||||
plugins: [vue()],
|
||||
})
|
|
@ -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"
|
||||
|
|
430
yarn.lock
430
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<compat/typescript>":
|
||||
version: 5.1.6
|
||||
resolution: "typescript@patch:typescript@npm%3A5.1.6#optional!builtin<compat/typescript>::version=5.1.6&hash=5da071"
|
||||
"typescript@patch:typescript@npm%3A^5.1.6#optional!builtin<compat/typescript>, typescript@patch:typescript@npm%3A^5.2.2#optional!builtin<compat/typescript>":
|
||||
version: 5.3.3
|
||||
resolution: "typescript@patch:typescript@npm%3A5.3.3#optional!builtin<compat/typescript>::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:
|
||||
|
|
Loading…
Reference in a new issue