mirror of
https://iceshrimp.dev/limepotato/jormungandr-bite.git
synced 2024-11-25 03:17:38 -07: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": [
|
"workspaces": [
|
||||||
"packages/backend",
|
"packages/backend",
|
||||||
|
"packages/frontend",
|
||||||
"packages/client",
|
"packages/client",
|
||||||
"packages/sw",
|
"packages/sw",
|
||||||
"packages/iceshrimp-js"
|
"packages/iceshrimp-js"
|
||||||
|
@ -68,7 +69,7 @@
|
||||||
"gulp-terser": "2.1.0",
|
"gulp-terser": "2.1.0",
|
||||||
"install-peers": "^1.0.4",
|
"install-peers": "^1.0.4",
|
||||||
"start-server-and-test": "1.15.2",
|
"start-server-and-test": "1.15.2",
|
||||||
"typescript": "5.1.6",
|
"typescript": "^5.1.6",
|
||||||
"yaml": "^2.3.4"
|
"yaml": "^2.3.4"
|
||||||
},
|
},
|
||||||
"packageManager": "yarn@4.0.2",
|
"packageManager": "yarn@4.0.2",
|
||||||
|
|
|
@ -82,6 +82,7 @@
|
||||||
"koa": "2.14.2",
|
"koa": "2.14.2",
|
||||||
"koa-body": "^6.0.1",
|
"koa-body": "^6.0.1",
|
||||||
"koa-bodyparser": "4.4.1",
|
"koa-bodyparser": "4.4.1",
|
||||||
|
"koa-connect": "^2.1.0",
|
||||||
"koa-favicon": "2.1.0",
|
"koa-favicon": "2.1.0",
|
||||||
"koa-json-body": "5.3.0",
|
"koa-json-body": "5.3.0",
|
||||||
"koa-logger": "3.2.1",
|
"koa-logger": "3.2.1",
|
||||||
|
@ -124,6 +125,7 @@
|
||||||
"seedrandom": "^3.0.5",
|
"seedrandom": "^3.0.5",
|
||||||
"semver": "7.5.4",
|
"semver": "7.5.4",
|
||||||
"sharp": "0.32.1",
|
"sharp": "0.32.1",
|
||||||
|
"sirv": "^2.0.3",
|
||||||
"stringz": "2.1.0",
|
"stringz": "2.1.0",
|
||||||
"summaly": "2.7.0",
|
"summaly": "2.7.0",
|
||||||
"syslog-pro": "1.0.0",
|
"syslog-pro": "1.0.0",
|
||||||
|
@ -136,6 +138,7 @@
|
||||||
"typeorm": "0.3.17",
|
"typeorm": "0.3.17",
|
||||||
"ulid": "2.3.0",
|
"ulid": "2.3.0",
|
||||||
"uuid": "9.0.0",
|
"uuid": "9.0.0",
|
||||||
|
"vite": "^5.0.7",
|
||||||
"web-push": "3.6.3",
|
"web-push": "3.6.3",
|
||||||
"websocket": "1.0.34",
|
"websocket": "1.0.34",
|
||||||
"xev": "3.0.2"
|
"xev": "3.0.2"
|
||||||
|
@ -200,7 +203,7 @@
|
||||||
"ts-loader": "9.4.4",
|
"ts-loader": "9.4.4",
|
||||||
"ts-node": "10.9.1",
|
"ts-node": "10.9.1",
|
||||||
"tsconfig-paths": "4.2.0",
|
"tsconfig-paths": "4.2.0",
|
||||||
"typescript": "5.1.6",
|
"typescript": "^5.1.6",
|
||||||
"webpack": "^5.88.1",
|
"webpack": "^5.88.1",
|
||||||
"ws": "8.13.0"
|
"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 { RatelimitMiddleware } from "@/server/api/web/middleware/rate-limit.js";
|
||||||
import { AuthenticationMiddleware } from "@/server/api/web/middleware/auth.js";
|
import { AuthenticationMiddleware } from "@/server/api/web/middleware/auth.js";
|
||||||
import { ErrorHandlingMiddleware } from "@/server/api/web/middleware/error-handling.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 WebRouter = Router<WebState, WebContext>;
|
||||||
export type WebMiddleware = Middleware<WebState, WebContext>;
|
export type WebMiddleware = Middleware<WebState, WebContext>;
|
||||||
|
@ -33,6 +34,7 @@ export class WebAPI {
|
||||||
errorHandler: ErrorHandlingMiddleware,
|
errorHandler: ErrorHandlingMiddleware,
|
||||||
controllers: [
|
controllers: [
|
||||||
UserController,
|
UserController,
|
||||||
|
AuthController,
|
||||||
],
|
],
|
||||||
flow: [
|
flow: [
|
||||||
AuthenticationMiddleware,
|
AuthenticationMiddleware,
|
||||||
|
|
|
@ -28,6 +28,7 @@ import apiServer from "./api/index.js";
|
||||||
import fileServer from "./file/index.js";
|
import fileServer from "./file/index.js";
|
||||||
import proxyServer from "./proxy/index.js";
|
import proxyServer from "./proxy/index.js";
|
||||||
import webServer from "./web/index.js";
|
import webServer from "./web/index.js";
|
||||||
|
import webRewriteServer from "./web-rewrite/index.js";
|
||||||
import { initializeStreamingServer } from "./api/streaming.js";
|
import { initializeStreamingServer } from "./api/streaming.js";
|
||||||
import removeTrailingSlash from "koa-remove-trailing-slashes";
|
import removeTrailingSlash from "koa-remove-trailing-slashes";
|
||||||
import { koaBody } from "koa-body";
|
import { koaBody } from "koa-body";
|
||||||
|
@ -142,6 +143,7 @@ setupEndpointsAuthRoot(mastoRouter);
|
||||||
app.use(router.routes());
|
app.use(router.routes());
|
||||||
app.use(mastoRouter.routes());
|
app.use(mastoRouter.routes());
|
||||||
|
|
||||||
|
app.use(mount('/rewrite', webRewriteServer));
|
||||||
app.use(mount(webServer));
|
app.use(mount(webServer));
|
||||||
|
|
||||||
function createServer() {
|
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",
|
"tsc-alias": "1.8.7",
|
||||||
"tsconfig-paths": "4.2.0",
|
"tsconfig-paths": "4.2.0",
|
||||||
"twemoji-parser": "14.0.0",
|
"twemoji-parser": "14.0.0",
|
||||||
"typescript": "5.1.6",
|
"typescript": "^5.1.6",
|
||||||
"unicode-emoji-json": "^0.4.0",
|
"unicode-emoji-json": "^0.4.0",
|
||||||
"uuid": "9.0.0",
|
"uuid": "9.0.0",
|
||||||
"vanilla-tilt": "1.8.0",
|
"vanilla-tilt": "1.8.0",
|
||||||
"vite": "5.0.2",
|
"vite": "^5.0.2",
|
||||||
"vite-plugin-compression": "^0.5.1",
|
"vite-plugin-compression": "^0.5.1",
|
||||||
"vue": "^3.3.11",
|
"vue": "^3.3.11",
|
||||||
"vue-draggable-plus": "^0.2.2",
|
"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-jest": "^27.1.2",
|
||||||
"ts-node": "10.4.0",
|
"ts-node": "10.4.0",
|
||||||
"tsd": "^0.28.1",
|
"tsd": "^0.28.1",
|
||||||
"typescript": "5.1.6"
|
"typescript": "^5.1.6"
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
"built"
|
"built"
|
||||||
|
|
430
yarn.lock
430
yarn.lock
|
@ -800,156 +800,156 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@esbuild/android-arm64@npm:0.19.7":
|
"@esbuild/android-arm64@npm:0.19.8":
|
||||||
version: 0.19.7
|
version: 0.19.8
|
||||||
resolution: "@esbuild/android-arm64@npm:0.19.7"
|
resolution: "@esbuild/android-arm64@npm:0.19.8"
|
||||||
conditions: os=android & cpu=arm64
|
conditions: os=android & cpu=arm64
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@esbuild/android-arm@npm:0.19.7":
|
"@esbuild/android-arm@npm:0.19.8":
|
||||||
version: 0.19.7
|
version: 0.19.8
|
||||||
resolution: "@esbuild/android-arm@npm:0.19.7"
|
resolution: "@esbuild/android-arm@npm:0.19.8"
|
||||||
conditions: os=android & cpu=arm
|
conditions: os=android & cpu=arm
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@esbuild/android-x64@npm:0.19.7":
|
"@esbuild/android-x64@npm:0.19.8":
|
||||||
version: 0.19.7
|
version: 0.19.8
|
||||||
resolution: "@esbuild/android-x64@npm:0.19.7"
|
resolution: "@esbuild/android-x64@npm:0.19.8"
|
||||||
conditions: os=android & cpu=x64
|
conditions: os=android & cpu=x64
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@esbuild/darwin-arm64@npm:0.19.7":
|
"@esbuild/darwin-arm64@npm:0.19.8":
|
||||||
version: 0.19.7
|
version: 0.19.8
|
||||||
resolution: "@esbuild/darwin-arm64@npm:0.19.7"
|
resolution: "@esbuild/darwin-arm64@npm:0.19.8"
|
||||||
conditions: os=darwin & cpu=arm64
|
conditions: os=darwin & cpu=arm64
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@esbuild/darwin-x64@npm:0.19.7":
|
"@esbuild/darwin-x64@npm:0.19.8":
|
||||||
version: 0.19.7
|
version: 0.19.8
|
||||||
resolution: "@esbuild/darwin-x64@npm:0.19.7"
|
resolution: "@esbuild/darwin-x64@npm:0.19.8"
|
||||||
conditions: os=darwin & cpu=x64
|
conditions: os=darwin & cpu=x64
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@esbuild/freebsd-arm64@npm:0.19.7":
|
"@esbuild/freebsd-arm64@npm:0.19.8":
|
||||||
version: 0.19.7
|
version: 0.19.8
|
||||||
resolution: "@esbuild/freebsd-arm64@npm:0.19.7"
|
resolution: "@esbuild/freebsd-arm64@npm:0.19.8"
|
||||||
conditions: os=freebsd & cpu=arm64
|
conditions: os=freebsd & cpu=arm64
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@esbuild/freebsd-x64@npm:0.19.7":
|
"@esbuild/freebsd-x64@npm:0.19.8":
|
||||||
version: 0.19.7
|
version: 0.19.8
|
||||||
resolution: "@esbuild/freebsd-x64@npm:0.19.7"
|
resolution: "@esbuild/freebsd-x64@npm:0.19.8"
|
||||||
conditions: os=freebsd & cpu=x64
|
conditions: os=freebsd & cpu=x64
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@esbuild/linux-arm64@npm:0.19.7":
|
"@esbuild/linux-arm64@npm:0.19.8":
|
||||||
version: 0.19.7
|
version: 0.19.8
|
||||||
resolution: "@esbuild/linux-arm64@npm:0.19.7"
|
resolution: "@esbuild/linux-arm64@npm:0.19.8"
|
||||||
conditions: os=linux & cpu=arm64
|
conditions: os=linux & cpu=arm64
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@esbuild/linux-arm@npm:0.19.7":
|
"@esbuild/linux-arm@npm:0.19.8":
|
||||||
version: 0.19.7
|
version: 0.19.8
|
||||||
resolution: "@esbuild/linux-arm@npm:0.19.7"
|
resolution: "@esbuild/linux-arm@npm:0.19.8"
|
||||||
conditions: os=linux & cpu=arm
|
conditions: os=linux & cpu=arm
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@esbuild/linux-ia32@npm:0.19.7":
|
"@esbuild/linux-ia32@npm:0.19.8":
|
||||||
version: 0.19.7
|
version: 0.19.8
|
||||||
resolution: "@esbuild/linux-ia32@npm:0.19.7"
|
resolution: "@esbuild/linux-ia32@npm:0.19.8"
|
||||||
conditions: os=linux & cpu=ia32
|
conditions: os=linux & cpu=ia32
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@esbuild/linux-loong64@npm:0.19.7":
|
"@esbuild/linux-loong64@npm:0.19.8":
|
||||||
version: 0.19.7
|
version: 0.19.8
|
||||||
resolution: "@esbuild/linux-loong64@npm:0.19.7"
|
resolution: "@esbuild/linux-loong64@npm:0.19.8"
|
||||||
conditions: os=linux & cpu=loong64
|
conditions: os=linux & cpu=loong64
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@esbuild/linux-mips64el@npm:0.19.7":
|
"@esbuild/linux-mips64el@npm:0.19.8":
|
||||||
version: 0.19.7
|
version: 0.19.8
|
||||||
resolution: "@esbuild/linux-mips64el@npm:0.19.7"
|
resolution: "@esbuild/linux-mips64el@npm:0.19.8"
|
||||||
conditions: os=linux & cpu=mips64el
|
conditions: os=linux & cpu=mips64el
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@esbuild/linux-ppc64@npm:0.19.7":
|
"@esbuild/linux-ppc64@npm:0.19.8":
|
||||||
version: 0.19.7
|
version: 0.19.8
|
||||||
resolution: "@esbuild/linux-ppc64@npm:0.19.7"
|
resolution: "@esbuild/linux-ppc64@npm:0.19.8"
|
||||||
conditions: os=linux & cpu=ppc64
|
conditions: os=linux & cpu=ppc64
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@esbuild/linux-riscv64@npm:0.19.7":
|
"@esbuild/linux-riscv64@npm:0.19.8":
|
||||||
version: 0.19.7
|
version: 0.19.8
|
||||||
resolution: "@esbuild/linux-riscv64@npm:0.19.7"
|
resolution: "@esbuild/linux-riscv64@npm:0.19.8"
|
||||||
conditions: os=linux & cpu=riscv64
|
conditions: os=linux & cpu=riscv64
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@esbuild/linux-s390x@npm:0.19.7":
|
"@esbuild/linux-s390x@npm:0.19.8":
|
||||||
version: 0.19.7
|
version: 0.19.8
|
||||||
resolution: "@esbuild/linux-s390x@npm:0.19.7"
|
resolution: "@esbuild/linux-s390x@npm:0.19.8"
|
||||||
conditions: os=linux & cpu=s390x
|
conditions: os=linux & cpu=s390x
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@esbuild/linux-x64@npm:0.19.7":
|
"@esbuild/linux-x64@npm:0.19.8":
|
||||||
version: 0.19.7
|
version: 0.19.8
|
||||||
resolution: "@esbuild/linux-x64@npm:0.19.7"
|
resolution: "@esbuild/linux-x64@npm:0.19.8"
|
||||||
conditions: os=linux & cpu=x64
|
conditions: os=linux & cpu=x64
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@esbuild/netbsd-x64@npm:0.19.7":
|
"@esbuild/netbsd-x64@npm:0.19.8":
|
||||||
version: 0.19.7
|
version: 0.19.8
|
||||||
resolution: "@esbuild/netbsd-x64@npm:0.19.7"
|
resolution: "@esbuild/netbsd-x64@npm:0.19.8"
|
||||||
conditions: os=netbsd & cpu=x64
|
conditions: os=netbsd & cpu=x64
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@esbuild/openbsd-x64@npm:0.19.7":
|
"@esbuild/openbsd-x64@npm:0.19.8":
|
||||||
version: 0.19.7
|
version: 0.19.8
|
||||||
resolution: "@esbuild/openbsd-x64@npm:0.19.7"
|
resolution: "@esbuild/openbsd-x64@npm:0.19.8"
|
||||||
conditions: os=openbsd & cpu=x64
|
conditions: os=openbsd & cpu=x64
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@esbuild/sunos-x64@npm:0.19.7":
|
"@esbuild/sunos-x64@npm:0.19.8":
|
||||||
version: 0.19.7
|
version: 0.19.8
|
||||||
resolution: "@esbuild/sunos-x64@npm:0.19.7"
|
resolution: "@esbuild/sunos-x64@npm:0.19.8"
|
||||||
conditions: os=sunos & cpu=x64
|
conditions: os=sunos & cpu=x64
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@esbuild/win32-arm64@npm:0.19.7":
|
"@esbuild/win32-arm64@npm:0.19.8":
|
||||||
version: 0.19.7
|
version: 0.19.8
|
||||||
resolution: "@esbuild/win32-arm64@npm:0.19.7"
|
resolution: "@esbuild/win32-arm64@npm:0.19.8"
|
||||||
conditions: os=win32 & cpu=arm64
|
conditions: os=win32 & cpu=arm64
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@esbuild/win32-ia32@npm:0.19.7":
|
"@esbuild/win32-ia32@npm:0.19.8":
|
||||||
version: 0.19.7
|
version: 0.19.8
|
||||||
resolution: "@esbuild/win32-ia32@npm:0.19.7"
|
resolution: "@esbuild/win32-ia32@npm:0.19.8"
|
||||||
conditions: os=win32 & cpu=ia32
|
conditions: os=win32 & cpu=ia32
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@esbuild/win32-x64@npm:0.19.7":
|
"@esbuild/win32-x64@npm:0.19.8":
|
||||||
version: 0.19.7
|
version: 0.19.8
|
||||||
resolution: "@esbuild/win32-x64@npm:0.19.7"
|
resolution: "@esbuild/win32-x64@npm:0.19.8"
|
||||||
conditions: os=win32 & cpu=x64
|
conditions: os=win32 & cpu=x64
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
@ -2051,6 +2051,13 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
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":
|
"@redis/bloom@npm:1.2.0":
|
||||||
version: 1.2.0
|
version: 1.2.0
|
||||||
resolution: "@redis/bloom@npm:1.2.0"
|
resolution: "@redis/bloom@npm:1.2.0"
|
||||||
|
@ -3906,6 +3913,34 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
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":
|
"@vue/compiler-core@npm:3.3.11":
|
||||||
version: 3.3.11
|
version: 3.3.11
|
||||||
resolution: "@vue/compiler-core@npm:3.3.11"
|
resolution: "@vue/compiler-core@npm:3.3.11"
|
||||||
|
@ -3930,7 +3965,7 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
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
|
version: 3.3.11
|
||||||
resolution: "@vue/compiler-dom@npm:3.3.11"
|
resolution: "@vue/compiler-dom@npm:3.3.11"
|
||||||
dependencies:
|
dependencies:
|
||||||
|
@ -4017,6 +4052,35 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
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":
|
"@vue/reactivity-transform@npm:3.3.11":
|
||||||
version: 3.3.11
|
version: 3.3.11
|
||||||
resolution: "@vue/reactivity-transform@npm:3.3.11"
|
resolution: "@vue/reactivity-transform@npm:3.3.11"
|
||||||
|
@ -4085,7 +4149,7 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@vue/shared@npm:3.3.11":
|
"@vue/shared@npm:3.3.11, @vue/shared@npm:^3.3.0":
|
||||||
version: 3.3.11
|
version: 3.3.11
|
||||||
resolution: "@vue/shared@npm:3.3.11"
|
resolution: "@vue/shared@npm:3.3.11"
|
||||||
checksum: 78ec6715c7e51fe8a1805f4e7ab4a7ce6d14568a10e9d8bf332e63d9770cc36210fc4763b8935eadb5349e984d3ff276f481fd2e75c9a6ab69a0c96f3aedff9c
|
checksum: 78ec6715c7e51fe8a1805f4e7ab4a7ce6d14568a10e9d8bf332e63d9770cc36210fc4763b8935eadb5349e984d3ff276f481fd2e75c9a6ab69a0c96f3aedff9c
|
||||||
|
@ -5425,6 +5489,7 @@ __metadata:
|
||||||
koa: "npm:2.14.2"
|
koa: "npm:2.14.2"
|
||||||
koa-body: "npm:^6.0.1"
|
koa-body: "npm:^6.0.1"
|
||||||
koa-bodyparser: "npm:4.4.1"
|
koa-bodyparser: "npm:4.4.1"
|
||||||
|
koa-connect: "npm:^2.1.0"
|
||||||
koa-favicon: "npm:2.1.0"
|
koa-favicon: "npm:2.1.0"
|
||||||
koa-json-body: "npm:5.3.0"
|
koa-json-body: "npm:5.3.0"
|
||||||
koa-logger: "npm:3.2.1"
|
koa-logger: "npm:3.2.1"
|
||||||
|
@ -5469,6 +5534,7 @@ __metadata:
|
||||||
seedrandom: "npm:^3.0.5"
|
seedrandom: "npm:^3.0.5"
|
||||||
semver: "npm:7.5.4"
|
semver: "npm:7.5.4"
|
||||||
sharp: "npm:0.32.1"
|
sharp: "npm:0.32.1"
|
||||||
|
sirv: "npm:^2.0.3"
|
||||||
strict-event-emitter-types: "npm:2.0.0"
|
strict-event-emitter-types: "npm:2.0.0"
|
||||||
stringz: "npm:2.1.0"
|
stringz: "npm:2.1.0"
|
||||||
summaly: "npm:2.7.0"
|
summaly: "npm:2.7.0"
|
||||||
|
@ -5484,9 +5550,10 @@ __metadata:
|
||||||
tsconfig-paths: "npm:4.2.0"
|
tsconfig-paths: "npm:4.2.0"
|
||||||
twemoji-parser: "npm:14.0.0"
|
twemoji-parser: "npm:14.0.0"
|
||||||
typeorm: "npm:0.3.17"
|
typeorm: "npm:0.3.17"
|
||||||
typescript: "npm:5.1.6"
|
typescript: "npm:^5.1.6"
|
||||||
ulid: "npm:2.3.0"
|
ulid: "npm:2.3.0"
|
||||||
uuid: "npm:9.0.0"
|
uuid: "npm:9.0.0"
|
||||||
|
vite: "npm:^5.0.7"
|
||||||
web-push: "npm:3.6.3"
|
web-push: "npm:3.6.3"
|
||||||
webpack: "npm:^5.88.1"
|
webpack: "npm:^5.88.1"
|
||||||
websocket: "npm:1.0.34"
|
websocket: "npm:1.0.34"
|
||||||
|
@ -6637,11 +6704,11 @@ __metadata:
|
||||||
tsc-alias: "npm:1.8.7"
|
tsc-alias: "npm:1.8.7"
|
||||||
tsconfig-paths: "npm:4.2.0"
|
tsconfig-paths: "npm:4.2.0"
|
||||||
twemoji-parser: "npm:14.0.0"
|
twemoji-parser: "npm:14.0.0"
|
||||||
typescript: "npm:5.1.6"
|
typescript: "npm:^5.1.6"
|
||||||
unicode-emoji-json: "npm:^0.4.0"
|
unicode-emoji-json: "npm:^0.4.0"
|
||||||
uuid: "npm:9.0.0"
|
uuid: "npm:9.0.0"
|
||||||
vanilla-tilt: "npm:1.8.0"
|
vanilla-tilt: "npm:1.8.0"
|
||||||
vite: "npm:5.0.2"
|
vite: "npm:^5.0.2"
|
||||||
vite-plugin-compression: "npm:^0.5.1"
|
vite-plugin-compression: "npm:^0.5.1"
|
||||||
vue: "npm:^3.3.11"
|
vue: "npm:^3.3.11"
|
||||||
vue-draggable-plus: "npm:^0.2.2"
|
vue-draggable-plus: "npm:^0.2.2"
|
||||||
|
@ -7048,6 +7115,13 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
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":
|
"concat-map@npm:0.0.1":
|
||||||
version: 0.0.1
|
version: 0.0.1
|
||||||
resolution: "concat-map@npm:0.0.1"
|
resolution: "concat-map@npm:0.0.1"
|
||||||
|
@ -7559,6 +7633,13 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
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":
|
"debug@npm:2, debug@npm:^2.2.0, debug@npm:^2.3.3, debug@npm:^2.5.2":
|
||||||
version: 2.6.9
|
version: 2.6.9
|
||||||
resolution: "debug@npm:2.6.9"
|
resolution: "debug@npm:2.6.9"
|
||||||
|
@ -8510,31 +8591,31 @@ __metadata:
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"esbuild@npm:^0.19.3":
|
"esbuild@npm:^0.19.3":
|
||||||
version: 0.19.7
|
version: 0.19.8
|
||||||
resolution: "esbuild@npm:0.19.7"
|
resolution: "esbuild@npm:0.19.8"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@esbuild/android-arm": "npm:0.19.7"
|
"@esbuild/android-arm": "npm:0.19.8"
|
||||||
"@esbuild/android-arm64": "npm:0.19.7"
|
"@esbuild/android-arm64": "npm:0.19.8"
|
||||||
"@esbuild/android-x64": "npm:0.19.7"
|
"@esbuild/android-x64": "npm:0.19.8"
|
||||||
"@esbuild/darwin-arm64": "npm:0.19.7"
|
"@esbuild/darwin-arm64": "npm:0.19.8"
|
||||||
"@esbuild/darwin-x64": "npm:0.19.7"
|
"@esbuild/darwin-x64": "npm:0.19.8"
|
||||||
"@esbuild/freebsd-arm64": "npm:0.19.7"
|
"@esbuild/freebsd-arm64": "npm:0.19.8"
|
||||||
"@esbuild/freebsd-x64": "npm:0.19.7"
|
"@esbuild/freebsd-x64": "npm:0.19.8"
|
||||||
"@esbuild/linux-arm": "npm:0.19.7"
|
"@esbuild/linux-arm": "npm:0.19.8"
|
||||||
"@esbuild/linux-arm64": "npm:0.19.7"
|
"@esbuild/linux-arm64": "npm:0.19.8"
|
||||||
"@esbuild/linux-ia32": "npm:0.19.7"
|
"@esbuild/linux-ia32": "npm:0.19.8"
|
||||||
"@esbuild/linux-loong64": "npm:0.19.7"
|
"@esbuild/linux-loong64": "npm:0.19.8"
|
||||||
"@esbuild/linux-mips64el": "npm:0.19.7"
|
"@esbuild/linux-mips64el": "npm:0.19.8"
|
||||||
"@esbuild/linux-ppc64": "npm:0.19.7"
|
"@esbuild/linux-ppc64": "npm:0.19.8"
|
||||||
"@esbuild/linux-riscv64": "npm:0.19.7"
|
"@esbuild/linux-riscv64": "npm:0.19.8"
|
||||||
"@esbuild/linux-s390x": "npm:0.19.7"
|
"@esbuild/linux-s390x": "npm:0.19.8"
|
||||||
"@esbuild/linux-x64": "npm:0.19.7"
|
"@esbuild/linux-x64": "npm:0.19.8"
|
||||||
"@esbuild/netbsd-x64": "npm:0.19.7"
|
"@esbuild/netbsd-x64": "npm:0.19.8"
|
||||||
"@esbuild/openbsd-x64": "npm:0.19.7"
|
"@esbuild/openbsd-x64": "npm:0.19.8"
|
||||||
"@esbuild/sunos-x64": "npm:0.19.7"
|
"@esbuild/sunos-x64": "npm:0.19.8"
|
||||||
"@esbuild/win32-arm64": "npm:0.19.7"
|
"@esbuild/win32-arm64": "npm:0.19.8"
|
||||||
"@esbuild/win32-ia32": "npm:0.19.7"
|
"@esbuild/win32-ia32": "npm:0.19.8"
|
||||||
"@esbuild/win32-x64": "npm:0.19.7"
|
"@esbuild/win32-x64": "npm:0.19.8"
|
||||||
dependenciesMeta:
|
dependenciesMeta:
|
||||||
"@esbuild/android-arm":
|
"@esbuild/android-arm":
|
||||||
optional: true
|
optional: true
|
||||||
|
@ -8582,7 +8663,7 @@ __metadata:
|
||||||
optional: true
|
optional: true
|
||||||
bin:
|
bin:
|
||||||
esbuild: bin/esbuild
|
esbuild: bin/esbuild
|
||||||
checksum: 326b9d98a77c5f2fb9a535b292bdc67c88bdfb4a19d29a221d65fd69f4800faea1f34947e8e6bc25ca3bd5db01f61c6968fec91f8c335e21e29b50330d90bd89
|
checksum: 8c440db4689948626dbc4122a03575c378e86e630e5de3789464504cd474bf3a1fd7c9402ed79eb8aa2f83e5cfd75872c8607d6255a05e540065b42750e89afe
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
@ -10096,6 +10177,21 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
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":
|
"fs-constants@npm:^1.0.0":
|
||||||
version: 1.0.0
|
version: 1.0.0
|
||||||
resolution: "fs-constants@npm:1.0.0"
|
resolution: "fs-constants@npm:1.0.0"
|
||||||
|
@ -11014,7 +11110,7 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"he@npm:1.2.0":
|
"he@npm:1.2.0, he@npm:^1.2.0":
|
||||||
version: 1.2.0
|
version: 1.2.0
|
||||||
resolution: "he@npm:1.2.0"
|
resolution: "he@npm:1.2.0"
|
||||||
bin:
|
bin:
|
||||||
|
@ -11370,7 +11466,7 @@ __metadata:
|
||||||
ts-jest: "npm:^27.1.2"
|
ts-jest: "npm:^27.1.2"
|
||||||
ts-node: "npm:10.4.0"
|
ts-node: "npm:10.4.0"
|
||||||
tsd: "npm:^0.28.1"
|
tsd: "npm:^0.28.1"
|
||||||
typescript: "npm:5.1.6"
|
typescript: "npm:^5.1.6"
|
||||||
dependenciesMeta:
|
dependenciesMeta:
|
||||||
"@swc/core-android-arm64":
|
"@swc/core-android-arm64":
|
||||||
optional: true
|
optional: true
|
||||||
|
@ -11402,7 +11498,7 @@ __metadata:
|
||||||
js-yaml: "npm:4.1.0"
|
js-yaml: "npm:4.1.0"
|
||||||
seedrandom: "npm:^3.0.5"
|
seedrandom: "npm:^3.0.5"
|
||||||
start-server-and-test: "npm:1.15.2"
|
start-server-and-test: "npm:1.15.2"
|
||||||
typescript: "npm:5.1.6"
|
typescript: "npm:^5.1.6"
|
||||||
yaml: "npm:^2.3.4"
|
yaml: "npm:^2.3.4"
|
||||||
dependenciesMeta:
|
dependenciesMeta:
|
||||||
"@discordapp/twemoji@14.1.2":
|
"@discordapp/twemoji@14.1.2":
|
||||||
|
@ -13628,6 +13724,13 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
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":
|
"koa-convert@npm:^2.0.0":
|
||||||
version: 2.0.0
|
version: 2.0.0
|
||||||
resolution: "koa-convert@npm:2.0.0"
|
resolution: "koa-convert@npm:2.0.0"
|
||||||
|
@ -14725,7 +14828,7 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"minimatch@npm:^9.0.1":
|
"minimatch@npm:^9.0.1, minimatch@npm:^9.0.3":
|
||||||
version: 9.0.3
|
version: 9.0.3
|
||||||
resolution: "minimatch@npm:9.0.3"
|
resolution: "minimatch@npm:9.0.3"
|
||||||
dependencies:
|
dependencies:
|
||||||
|
@ -14944,6 +15047,13 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
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":
|
"ms@npm:2.0.0":
|
||||||
version: 2.0.0
|
version: 2.0.0
|
||||||
resolution: "ms@npm:2.0.0"
|
resolution: "ms@npm:2.0.0"
|
||||||
|
@ -15008,6 +15118,13 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
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":
|
"multer@npm:1.4.4-lts.1":
|
||||||
version: 1.4.4-lts.1
|
version: 1.4.4-lts.1
|
||||||
resolution: "multer@npm:1.4.4-lts.1"
|
resolution: "multer@npm:1.4.4-lts.1"
|
||||||
|
@ -16089,6 +16206,13 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
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":
|
"path-dirname@npm:^1.0.0":
|
||||||
version: 1.0.2
|
version: 1.0.2
|
||||||
resolution: "path-dirname@npm:1.0.2"
|
resolution: "path-dirname@npm:1.0.2"
|
||||||
|
@ -16838,17 +16962,6 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
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":
|
"postcss@npm:^8.4.32":
|
||||||
version: 8.4.32
|
version: 8.4.32
|
||||||
resolution: "postcss@npm:8.4.32"
|
resolution: "postcss@npm:8.4.32"
|
||||||
|
@ -18404,6 +18517,19 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
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":
|
"sax@npm:1.2.1":
|
||||||
version: 1.2.1
|
version: 1.2.1
|
||||||
resolution: "sax@npm:1.2.1"
|
resolution: "sax@npm:1.2.1"
|
||||||
|
@ -18717,6 +18843,17 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
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":
|
"sisteransi@npm:^1.0.5":
|
||||||
version: 1.0.5
|
version: 1.0.5
|
||||||
resolution: "sisteransi@npm:1.0.5"
|
resolution: "sisteransi@npm:1.0.5"
|
||||||
|
@ -20010,6 +20147,13 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
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":
|
"tough-cookie@npm:^4.0.0, tough-cookie@npm:^4.1.2":
|
||||||
version: 4.1.3
|
version: 4.1.3
|
||||||
resolution: "tough-cookie@npm:4.1.3"
|
resolution: "tough-cookie@npm:4.1.3"
|
||||||
|
@ -20547,13 +20691,13 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"typescript@npm:5.1.6":
|
"typescript@npm:^5.1.6, typescript@npm:^5.2.2":
|
||||||
version: 5.1.6
|
version: 5.3.3
|
||||||
resolution: "typescript@npm:5.1.6"
|
resolution: "typescript@npm:5.3.3"
|
||||||
bin:
|
bin:
|
||||||
tsc: bin/tsc
|
tsc: bin/tsc
|
||||||
tsserver: bin/tsserver
|
tsserver: bin/tsserver
|
||||||
checksum: f347cde665cf43dc4c1c7d9821c7d9bbec3c3914f4bdd82ee490e9fb9f6d99036ed8666463b6a192dd005eeef333c5087d5931bdd51ec853436ff9a670a7417e
|
checksum: 6e4e6a14a50c222b3d14d4ea2f729e79f972fa536ac1522b91202a9a65af3605c2928c4a790a4a50aa13694d461c479ba92cedaeb1e7b190aadaa4e4b96b8e18
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
@ -20567,13 +20711,13 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"typescript@patch:typescript@npm%3A5.1.6#optional!builtin<compat/typescript>":
|
"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.1.6
|
version: 5.3.3
|
||||||
resolution: "typescript@patch:typescript@npm%3A5.1.6#optional!builtin<compat/typescript>::version=5.1.6&hash=5da071"
|
resolution: "typescript@patch:typescript@npm%3A5.3.3#optional!builtin<compat/typescript>::version=5.3.3&hash=e012d7"
|
||||||
bin:
|
bin:
|
||||||
tsc: bin/tsc
|
tsc: bin/tsc
|
||||||
tsserver: bin/tsserver
|
tsserver: bin/tsserver
|
||||||
checksum: f5481fa3ba0eee8970f46708d13c05650a865ad093b586fc9573f425c64c57ca97e3308e110bb528deb3ccebe83f6fd7b5a8ac90018038da96326a9ccdf8e77c
|
checksum: c93786fcc9a70718ba1e3819bab56064ead5817004d1b8186f8ca66165f3a2d0100fee91fa64c840dcd45f994ca5d615d8e1f566d39a7470fc1e014dbb4cf15d
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
@ -21086,13 +21230,13 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"vite@npm:5.0.2":
|
"vite@npm:^5.0.0, vite@npm:^5.0.2, vite@npm:^5.0.7":
|
||||||
version: 5.0.2
|
version: 5.0.7
|
||||||
resolution: "vite@npm:5.0.2"
|
resolution: "vite@npm:5.0.7"
|
||||||
dependencies:
|
dependencies:
|
||||||
esbuild: "npm:^0.19.3"
|
esbuild: "npm:^0.19.3"
|
||||||
fsevents: "npm:~2.3.3"
|
fsevents: "npm:~2.3.3"
|
||||||
postcss: "npm:^8.4.31"
|
postcss: "npm:^8.4.32"
|
||||||
rollup: "npm:^4.2.0"
|
rollup: "npm:^4.2.0"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
"@types/node": ^18.0.0 || >=20.0.0
|
"@types/node": ^18.0.0 || >=20.0.0
|
||||||
|
@ -21122,7 +21266,7 @@ __metadata:
|
||||||
optional: true
|
optional: true
|
||||||
bin:
|
bin:
|
||||||
vite: bin/vite.js
|
vite: bin/vite.js
|
||||||
checksum: 74f1a6d49a02106796b5fcc04dbe4a92925fba413191718fb37485a29f606b7f80abd371a3ef6b598e8a04f05c09c0b9a5de6bf844dfecb7253798097ddaab35
|
checksum: 27186e5b907484ed17a9cb803bb2127995a1659e1da9eab36bcd7bfac5d11ed41f7136d9913cc27a8c8c49c3fee5c791dee135c5d37653ddfa0153b69dc3f930
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
@ -21188,6 +21332,42 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
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":
|
"vue@npm:^2.6.12":
|
||||||
version: 2.7.14
|
version: 2.7.14
|
||||||
resolution: "vue@npm:2.7.14"
|
resolution: "vue@npm:2.7.14"
|
||||||
|
@ -21198,7 +21378,7 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"vue@npm:^3.3.11":
|
"vue@npm:^3.3.11, vue@npm:^3.3.8":
|
||||||
version: 3.3.11
|
version: 3.3.11
|
||||||
resolution: "vue@npm:3.3.11"
|
resolution: "vue@npm:3.3.11"
|
||||||
dependencies:
|
dependencies:
|
||||||
|
|
Loading…
Reference in a new issue