a LOTTTA more migration hoopla shii

This commit is contained in:
user
2026-02-28 16:20:47 +02:00
parent 4d107c8cab
commit 2c8cd1fd15
18 changed files with 208 additions and 81 deletions

View File

@@ -6,15 +6,14 @@
"scripts": { "scripts": {
"dev": "vite dev --port 5173", "dev": "vite dev --port 5173",
"build": "NODE_ENV=build vite build", "build": "NODE_ENV=build vite build",
"prod": "HOST=0.0.0.0 PORT=3000 bun run ./build/index.js", "prod": "HOST=0.0.0.0 PORT=3000 node ./build/index.js",
"preview": "vite preview", "preview": "vite preview",
"prepare": "svelte-kit sync || echo ''", "prepare": "svelte-kit sync || echo ''",
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
"format": "prettier --write .", "format": "prettier --write .",
"lint": "prettier --check .", "lint": "prettier --check .",
"test:unit": "vitest", "test:unit": "vitest"
"test": "bun run test:unit -- --run"
}, },
"dependencies": { "dependencies": {
"@pkg/db": "workspace:*", "@pkg/db": "workspace:*",

View File

@@ -0,0 +1,20 @@
{
"name": "@apps/processor",
"type": "module",
"scripts": {
"dev": "tsx watch src/index.ts",
"build": "tsc",
"start": "node dist/index.js"
},
"dependencies": {
"@pkg/logger": "workspace:*",
"@pkg/logic": "workspace:*",
"@hono/node-server": "^1.19.9",
"hono": "^4.11.1"
},
"devDependencies": {
"@types/node": "^25.3.2",
"tsx": "^4.21.0",
"typescript": "^5.9.3"
}
}

View File

@@ -0,0 +1,18 @@
import { serve } from "@hono/node-server";
import { Hono } from "hono";
const app = new Hono();
app.get("/", (c) => {
return c.text("Hello Hono!");
});
serve(
{
fetch: app.fetch,
port: 3000,
},
(info) => {
console.log(`Server is running on http://localhost:${info.port}`);
},
);

View File

@@ -0,0 +1,16 @@
{
"compilerOptions": {
"target": "ESNext",
"module": "NodeNext",
"strict": true,
"verbatimModuleSyntax": true,
"skipLibCheck": true,
"types": [
"node"
],
"jsx": "react-jsx",
"jsxImportSource": "hono/jsx",
"outDir": "./dist"
},
"exclude": ["node_modules"]
}

View File

@@ -1,22 +1,22 @@
FROM node:25.6.1 AS production FROM node:25.6.1 AS production
RUN npm i -g bun RUN npm i -g pnpm
WORKDIR /app WORKDIR /app
COPY package.json bun.lock turbo.json ./ COPY package.json pnpm-lock.yaml pnpm-workspace.yaml turbo.json ./
COPY apps/main/package.json ./apps/main/package.json COPY apps/main/package.json ./apps/main/package.json
COPY packages ./packages COPY packages ./packages
RUN bun install RUN pnpm install
COPY apps/main ./apps/main COPY apps/main ./apps/main
RUN bun install RUN pnpm install
RUN bun run build RUN pnpm run build
COPY scripts ./scripts COPY scripts ./scripts

View File

@@ -1,16 +1,16 @@
FROM node:23.11.0 AS base FROM node:25.6.1 AS production
RUN npm i -g bun RUN npm i -g pnpm
FROM base AS primary FROM base AS primary
WORKDIR /app WORKDIR /app
COPY package.json bun.lock turbo.json ./ COPY package.json pnpm-lock.yaml pnpm-workspace.yaml turbo.json ./
COPY packages/db packages/db COPY packages/db packages/db
RUN bun install RUN pnpm install
COPY scripts scripts COPY scripts scripts

View File

@@ -1,20 +1,20 @@
FROM oven/bun:1.3.5-alpine FROM node:25.6.1-alpine AS production
RUN apk add --no-cache xh RUN apk add --no-cache xh
WORKDIR /app WORKDIR /app
COPY package.json bun.lock turbo.json ./ COPY package.json pnpm-lock.yaml pnpm-workspace.yaml turbo.json ./
COPY apps/processor/package.json ./apps/processor/package.json COPY apps/processor/package.json ./apps/processor/package.json
COPY packages ./packages COPY packages ./packages
RUN bun install RUN pnpm install
COPY apps/processor ./apps/processor COPY apps/processor ./apps/processor
RUN bun install RUN pnpm install
COPY scripts ./scripts COPY scripts ./scripts

View File

@@ -9,7 +9,7 @@
"scripts": { "scripts": {
"build": "turbo build", "build": "turbo build",
"dev": "turbo dev --concurrency=8", "dev": "turbo dev --concurrency=8",
"auth:schemagen": "source .env && cd packages/logic && bun run auth:schemagen", "auth:schemagen": "source .env && cd packages/logic && pnpm run auth:schemagen",
"db:migrate": "./scripts/migrate.sh", "db:migrate": "./scripts/migrate.sh",
"prod": "turbo prod", "prod": "turbo prod",
"test": "turbo test" "test": "turbo test"

View File

@@ -1,5 +1,5 @@
{ {
"name": "@pkg/redis", "name": "@pkg/keystore",
"module": "index.ts", "module": "index.ts",
"type": "module", "type": "module",
"private": true, "private": true,

View File

@@ -1,7 +1,7 @@
import { errAsync, okAsync, ResultAsync } from "neverthrow"; import { errAsync, okAsync, ResultAsync } from "neverthrow";
import { FlowExecCtx } from "@core/flow.execution.context"; import { FlowExecCtx } from "@core/flow.execution.context";
import { UserRepository } from "@domains/user/repository"; import { UserRepository } from "@domains/user/repository";
import { getRedisInstance, Redis } from "@pkg/redis"; import { getRedisInstance, Redis } from "@pkg/keystore";
import { TwofaRepository } from "./repository"; import { TwofaRepository } from "./repository";
import { auth } from "../auth/config.base"; import { auth } from "../auth/config.base";
import type { TwoFaSession } from "./data"; import type { TwoFaSession } from "./data";
@@ -17,6 +17,7 @@ export class TwofaController {
private twofaRepo: TwofaRepository, private twofaRepo: TwofaRepository,
private userRepo: UserRepository, private userRepo: UserRepository,
private store: Redis, private store: Redis,
private secret: string,
) {} ) {}
checkTotp(secret: string, code: string) { checkTotp(secret: string, code: string) {
@@ -42,7 +43,7 @@ export class TwofaController {
.andThen((enabled) => .andThen((enabled) =>
enabled enabled
? errAsync(twofaErrors.alreadyEnabled(fctx)) ? errAsync(twofaErrors.alreadyEnabled(fctx))
: this.twofaRepo.setup(fctx, user.id), : this.twofaRepo.setup(fctx, user.id, this.secret),
) )
.map((secret) => { .map((secret) => {
const appName = settings.appName; const appName = settings.appName;
@@ -345,5 +346,6 @@ export function getTwofaController() {
new TwofaRepository(db, _redis), new TwofaRepository(db, _redis),
new UserRepository(db), new UserRepository(db),
_redis, _redis,
settings.twoFaSecret,
); );
} }

View File

@@ -3,13 +3,15 @@ import { FlowExecCtx } from "@core/flow.execution.context";
import { hashString, verifyHash } from "@/core/hash.utils"; import { hashString, verifyHash } from "@/core/hash.utils";
import { twoFactor, twofaSessions } from "@pkg/db/schema"; import { twoFactor, twofaSessions } from "@pkg/db/schema";
import { TwoFactor, type TwoFaSession } from "./data"; import { TwoFactor, type TwoFaSession } from "./data";
import { crypto } from "@otplib/plugin-crypto-noble";
import { base32 } from "@otplib/plugin-base32-scure";
import { and, Database, eq, gt, lt } from "@pkg/db"; import { and, Database, eq, gt, lt } from "@pkg/db";
import { generateSecret, verify } from "otplib"; import { generate, verify } from "@otplib/totp";
import { settings } from "@core/settings"; import { settings } from "@core/settings";
import type { Err } from "@pkg/result"; import type { Err } from "@pkg/result";
import { twofaErrors } from "./errors"; import { twofaErrors } from "./errors";
import { Redis } from "@pkg/keystore";
import { logger } from "@pkg/logger"; import { logger } from "@pkg/logger";
import { Redis } from "@pkg/redis";
import { nanoid } from "nanoid"; import { nanoid } from "nanoid";
type TwoFaSetup = { type TwoFaSetup = {
@@ -30,7 +32,7 @@ export class TwofaRepository {
) {} ) {}
checkTotp(secret: string, code: string) { checkTotp(secret: string, code: string) {
const checked = verify({ secret, token: code }); const checked = verify({ secret, token: code, crypto, base32 });
logger.debug("TOTP check result", { checked }); logger.debug("TOTP check result", { checked });
return checked; return checked;
} }
@@ -98,14 +100,22 @@ export class TwofaRepository {
}); });
} }
setup(fctx: FlowExecCtx, userId: string): ResultAsync<string, Err> { setup(
fctx: FlowExecCtx,
userId: string,
secret: string,
): ResultAsync<string, Err> {
logger.info("Starting 2FA setup", { ...fctx, userId }); logger.info("Starting 2FA setup", { ...fctx, userId });
return ResultAsync.fromSafePromise( return ResultAsync.fromSafePromise(
(async () => { (async () => {
const secret = generateSecret(); const token = await generate({
const payload = {
secret, secret,
crypto,
base32,
});
const payload = {
secret: token,
lastUsedCode: "", lastUsedCode: "",
tries: 0, tries: 0,
} as TwoFaSetup; } as TwoFaSetup;

View File

@@ -10,7 +10,7 @@ import { AuthController, getAuthController } from "./controller";
import { drizzleAdapter } from "better-auth/adapters/drizzle"; import { drizzleAdapter } from "better-auth/adapters/drizzle";
import { FlowExecCtx } from "@/core/flow.execution.context"; import { FlowExecCtx } from "@/core/flow.execution.context";
import { UserRoleMap } from "@domains/user/data"; import { UserRoleMap } from "@domains/user/data";
import { getRedisInstance } from "@pkg/redis"; import { getRedisInstance } from "@pkg/keystore";
import { APIError } from "better-auth/api"; import { APIError } from "better-auth/api";
import { settings } from "@core/settings"; import { settings } from "@core/settings";
import { betterAuth } from "better-auth"; import { betterAuth } from "better-auth";

View File

@@ -1,13 +1,16 @@
{ {
"name": "@pkg/logic", "name": "@pkg/logic",
"scripts": { "scripts": {
"auth:schemagen": "bun x @better-auth/cli generate --config ./domains/auth/config.base.ts --output ../../packages/db/schema/better.auth.schema.ts" "auth:schemagen": "pnpm dlx @better-auth/cli generate --config ./domains/auth/config.base.ts --output ../../packages/db/schema/better.auth.schema.ts"
}, },
"dependencies": { "dependencies": {
"@hono/standard-validator": "^0.2.1", "@hono/standard-validator": "^0.2.1",
"@otplib/plugin-base32-scure": "^13.3.0",
"@otplib/plugin-crypto-noble": "^13.3.0",
"@otplib/totp": "^13.3.0",
"@pkg/db": "workspace:*", "@pkg/db": "workspace:*",
"@pkg/logger": "workspace:*", "@pkg/logger": "workspace:*",
"@pkg/redis": "workspace:*", "@pkg/keystore": "workspace:*",
"@pkg/result": "workspace:*", "@pkg/result": "workspace:*",
"@pkg/settings": "workspace:*", "@pkg/settings": "workspace:*",
"@types/pdfkit": "^0.14.0", "@types/pdfkit": "^0.14.0",

View File

@@ -22,6 +22,7 @@ export const settingsSchema = v.object({
betterAuthUrl: v.string(), betterAuthUrl: v.string(),
betterAuthSecret: v.string(), betterAuthSecret: v.string(),
twoFaSecret: v.string(),
twofaSessionExpiryMinutes: v.optional(v.number()), twofaSessionExpiryMinutes: v.optional(v.number()),
twofaRequiredHours: v.optional(v.number()), twofaRequiredHours: v.optional(v.number()),
@@ -107,6 +108,7 @@ function loadSettings(): Settings {
betterAuthUrl: getEnv("BETTER_AUTH_URL"), betterAuthUrl: getEnv("BETTER_AUTH_URL"),
betterAuthSecret: getEnv("BETTER_AUTH_SECRET"), betterAuthSecret: getEnv("BETTER_AUTH_SECRET"),
twoFaSecret: getEnv("TWOFA_SECRET"),
twofaSessionExpiryMinutes: getEnvNumber( twofaSessionExpiryMinutes: getEnvNumber(
"TWOFA_SESSION_EXPIRY_MINUTES", "TWOFA_SESSION_EXPIRY_MINUTES",
10, 10,

157
pnpm-lock.yaml generated
View File

@@ -46,7 +46,7 @@ importers:
version: 6.0.18(svelte@5.53.6) version: 6.0.18(svelte@5.53.6)
better-auth: better-auth:
specifier: ^1.4.20 specifier: ^1.4.20
version: 1.4.20(@sveltejs/kit@2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.6)(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.6)(vitest@4.0.18(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)) version: 1.4.20(@sveltejs/kit@2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)))(svelte@5.53.6)(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)))(svelte@5.53.6)(vitest@4.0.18(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0))
date-fns: date-fns:
specifier: ^4.1.0 specifier: ^4.1.0
version: 4.1.0 version: 4.1.0
@@ -80,13 +80,13 @@ importers:
version: 0.561.0(svelte@5.53.6) version: 0.561.0(svelte@5.53.6)
'@sveltejs/adapter-node': '@sveltejs/adapter-node':
specifier: ^5.5.4 specifier: ^5.5.4
version: 5.5.4(@sveltejs/kit@2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.6)(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1))) version: 5.5.4(@sveltejs/kit@2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)))(svelte@5.53.6)(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)))
'@sveltejs/kit': '@sveltejs/kit':
specifier: ^2.53.4 specifier: ^2.53.4
version: 2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.6)(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)) version: 2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)))(svelte@5.53.6)(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0))
'@sveltejs/vite-plugin-svelte': '@sveltejs/vite-plugin-svelte':
specifier: ^6.2.4 specifier: ^6.2.4
version: 6.2.4(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)) version: 6.2.4(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0))
'@tailwindcss/forms': '@tailwindcss/forms':
specifier: ^0.5.10 specifier: ^0.5.10
version: 0.5.11(tailwindcss@4.2.1) version: 0.5.11(tailwindcss@4.2.1)
@@ -95,7 +95,7 @@ importers:
version: 0.5.19(tailwindcss@4.2.1) version: 0.5.19(tailwindcss@4.2.1)
'@tailwindcss/vite': '@tailwindcss/vite':
specifier: ^4.1.18 specifier: ^4.1.18
version: 4.2.1(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)) version: 4.2.1(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0))
'@tanstack/table-core': '@tanstack/table-core':
specifier: ^8.21.3 specifier: ^8.21.3
version: 8.21.3 version: 8.21.3
@@ -104,7 +104,7 @@ importers:
version: 1.5.6 version: 1.5.6
bits-ui: bits-ui:
specifier: ^2.14.4 specifier: ^2.14.4
version: 2.16.2(@internationalized/date@3.11.0)(@sveltejs/kit@2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.6)(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.6) version: 2.16.2(@internationalized/date@3.11.0)(@sveltejs/kit@2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)))(svelte@5.53.6)(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)))(svelte@5.53.6)
clsx: clsx:
specifier: ^2.1.1 specifier: ^2.1.1
version: 2.1.1 version: 2.1.1
@@ -113,7 +113,7 @@ importers:
version: 8.6.0(svelte@5.53.6) version: 8.6.0(svelte@5.53.6)
formsnap: formsnap:
specifier: ^2.0.1 specifier: ^2.0.1
version: 2.0.1(svelte@5.53.6)(sveltekit-superforms@2.30.0(@sveltejs/kit@2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.6)(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.6)(typescript@5.9.3)) version: 2.0.1(svelte@5.53.6)(sveltekit-superforms@2.30.0(@sveltejs/kit@2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)))(svelte@5.53.6)(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)))(svelte@5.53.6)(typescript@5.9.3))
layerchart: layerchart:
specifier: 2.0.0-next.43 specifier: 2.0.0-next.43
version: 2.0.0-next.43(svelte@5.53.6) version: 2.0.0-next.43(svelte@5.53.6)
@@ -143,7 +143,7 @@ importers:
version: 1.0.7(svelte@5.53.6) version: 1.0.7(svelte@5.53.6)
sveltekit-superforms: sveltekit-superforms:
specifier: ^2.30.0 specifier: ^2.30.0
version: 2.30.0(@sveltejs/kit@2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.6)(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.6)(typescript@5.9.3) version: 2.30.0(@sveltejs/kit@2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)))(svelte@5.53.6)(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)))(svelte@5.53.6)(typescript@5.9.3)
tailwind-merge: tailwind-merge:
specifier: ^3.4.0 specifier: ^3.4.0
version: 3.5.0 version: 3.5.0
@@ -167,10 +167,35 @@ importers:
version: 1.0.0-next.7(svelte@5.53.6) version: 1.0.0-next.7(svelte@5.53.6)
vite: vite:
specifier: ^7.2.6 specifier: ^7.2.6
version: 7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1) version: 7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)
vitest: vitest:
specifier: ^4.0.15 specifier: ^4.0.15
version: 4.0.18(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1) version: 4.0.18(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)
apps/processor:
dependencies:
'@hono/node-server':
specifier: ^1.19.9
version: 1.19.9(hono@4.12.3)
'@pkg/logger':
specifier: workspace:*
version: link:../../packages/logger
'@pkg/logic':
specifier: workspace:*
version: link:../../packages/logic
hono:
specifier: ^4.11.1
version: 4.12.3
devDependencies:
'@types/node':
specifier: ^25.3.2
version: 25.3.2
tsx:
specifier: ^4.21.0
version: 4.21.0
typescript:
specifier: ^5.9.3
version: 5.9.3
packages/db: packages/db:
dependencies: dependencies:
@@ -230,15 +255,24 @@ importers:
'@hono/standard-validator': '@hono/standard-validator':
specifier: ^0.2.1 specifier: ^0.2.1
version: 0.2.2(@standard-schema/spec@1.1.0)(hono@4.12.3) version: 0.2.2(@standard-schema/spec@1.1.0)(hono@4.12.3)
'@otplib/plugin-base32-scure':
specifier: ^13.3.0
version: 13.3.0
'@otplib/plugin-crypto-noble':
specifier: ^13.3.0
version: 13.3.0
'@otplib/totp':
specifier: ^13.3.0
version: 13.3.0
'@pkg/db': '@pkg/db':
specifier: workspace:* specifier: workspace:*
version: link:../db version: link:../db
'@pkg/keystore':
specifier: workspace:*
version: link:../redis
'@pkg/logger': '@pkg/logger':
specifier: workspace:* specifier: workspace:*
version: link:../logger version: link:../logger
'@pkg/redis':
specifier: workspace:*
version: link:../redis
'@pkg/result': '@pkg/result':
specifier: workspace:* specifier: workspace:*
version: link:../result version: link:../result
@@ -253,7 +287,7 @@ importers:
version: 0.43.1 version: 0.43.1
better-auth: better-auth:
specifier: ^1.4.7 specifier: ^1.4.7
version: 1.4.20(@sveltejs/kit@2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.6)(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.6)(vitest@4.0.18(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)) version: 1.4.20(@sveltejs/kit@2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)))(svelte@5.53.6)(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)))(svelte@5.53.6)(vitest@4.0.18(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0))
date-fns-tz: date-fns-tz:
specifier: ^3.2.0 specifier: ^3.2.0
version: 3.2.0(date-fns@4.1.0) version: 3.2.0(date-fns@4.1.0)
@@ -862,6 +896,12 @@ packages:
'@hapi/topo@5.1.0': '@hapi/topo@5.1.0':
resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==} resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==}
'@hono/node-server@1.19.9':
resolution: {integrity: sha512-vHL6w3ecZsky+8P5MD+eFfaGTyCeOHUIFYMGpQGbrBTSmNNoxv0if69rEZ5giu36weC5saFuznL411gRX7bJDw==}
engines: {node: '>=18.14.1'}
peerDependencies:
hono: ^4
'@hono/standard-validator@0.2.2': '@hono/standard-validator@0.2.2':
resolution: {integrity: sha512-mJ7W84Bt/rSvoIl63Ynew+UZOHAzzRAoAXb3JaWuxAkM/Lzg+ZHTCUiz77KOtn2e623WNN8LkD57Dk0szqUrIw==} resolution: {integrity: sha512-mJ7W84Bt/rSvoIl63Ynew+UZOHAzzRAoAXb3JaWuxAkM/Lzg+ZHTCUiz77KOtn2e623WNN8LkD57Dk0szqUrIw==}
peerDependencies: peerDependencies:
@@ -2919,6 +2959,11 @@ packages:
tslib@2.8.1: tslib@2.8.1:
resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
tsx@4.21.0:
resolution: {integrity: sha512-5C1sg4USs1lfG0GFb2RLXsdpXqBSEhAaA/0kPL01wxzpMqLILNxIxIOKiILz+cdg/pLnOUxFYOR5yhHU666wbw==}
engines: {node: '>=18.0.0'}
hasBin: true
turbo-darwin-64@2.8.12: turbo-darwin-64@2.8.12:
resolution: {integrity: sha512-EiHJmW2MeQQx+21x8hjMHw/uPhXt9PIxvDrxzOtyVwrXzL0tQmsxtO4qHf2l7uA+K6PUJ4+TjY1MHZDuCvWXrw==} resolution: {integrity: sha512-EiHJmW2MeQQx+21x8hjMHw/uPhXt9PIxvDrxzOtyVwrXzL0tQmsxtO4qHf2l7uA+K6PUJ4+TjY1MHZDuCvWXrw==}
cpu: [x64] cpu: [x64]
@@ -3491,6 +3536,10 @@ snapshots:
'@hapi/hoek': 9.3.0 '@hapi/hoek': 9.3.0
optional: true optional: true
'@hono/node-server@1.19.9(hono@4.12.3)':
dependencies:
hono: 4.12.3
'@hono/standard-validator@0.2.2(@standard-schema/spec@1.1.0)(hono@4.12.3)': '@hono/standard-validator@0.2.2(@standard-schema/spec@1.1.0)(hono@4.12.3)':
dependencies: dependencies:
'@standard-schema/spec': 1.1.0 '@standard-schema/spec': 1.1.0
@@ -3743,19 +3792,19 @@ snapshots:
dependencies: dependencies:
acorn: 8.16.0 acorn: 8.16.0
'@sveltejs/adapter-node@5.5.4(@sveltejs/kit@2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.6)(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)))': '@sveltejs/adapter-node@5.5.4(@sveltejs/kit@2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)))(svelte@5.53.6)(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)))':
dependencies: dependencies:
'@rollup/plugin-commonjs': 29.0.0(rollup@4.59.0) '@rollup/plugin-commonjs': 29.0.0(rollup@4.59.0)
'@rollup/plugin-json': 6.1.0(rollup@4.59.0) '@rollup/plugin-json': 6.1.0(rollup@4.59.0)
'@rollup/plugin-node-resolve': 16.0.3(rollup@4.59.0) '@rollup/plugin-node-resolve': 16.0.3(rollup@4.59.0)
'@sveltejs/kit': 2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.6)(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)) '@sveltejs/kit': 2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)))(svelte@5.53.6)(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0))
rollup: 4.59.0 rollup: 4.59.0
'@sveltejs/kit@2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.6)(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1))': '@sveltejs/kit@2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)))(svelte@5.53.6)(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0))':
dependencies: dependencies:
'@standard-schema/spec': 1.1.0 '@standard-schema/spec': 1.1.0
'@sveltejs/acorn-typescript': 1.0.9(acorn@8.16.0) '@sveltejs/acorn-typescript': 1.0.9(acorn@8.16.0)
'@sveltejs/vite-plugin-svelte': 6.2.4(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)) '@sveltejs/vite-plugin-svelte': 6.2.4(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0))
'@types/cookie': 0.6.0 '@types/cookie': 0.6.0
acorn: 8.16.0 acorn: 8.16.0
cookie: 0.6.0 cookie: 0.6.0
@@ -3767,26 +3816,26 @@ snapshots:
set-cookie-parser: 3.0.1 set-cookie-parser: 3.0.1
sirv: 3.0.2 sirv: 3.0.2
svelte: 5.53.6 svelte: 5.53.6
vite: 7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1) vite: 7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)
optionalDependencies: optionalDependencies:
typescript: 5.9.3 typescript: 5.9.3
'@sveltejs/vite-plugin-svelte-inspector@5.0.2(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1))': '@sveltejs/vite-plugin-svelte-inspector@5.0.2(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)))(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0))':
dependencies: dependencies:
'@sveltejs/vite-plugin-svelte': 6.2.4(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)) '@sveltejs/vite-plugin-svelte': 6.2.4(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0))
obug: 2.1.1 obug: 2.1.1
svelte: 5.53.6 svelte: 5.53.6
vite: 7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1) vite: 7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)
'@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1))': '@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0))':
dependencies: dependencies:
'@sveltejs/vite-plugin-svelte-inspector': 5.0.2(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)) '@sveltejs/vite-plugin-svelte-inspector': 5.0.2(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)))(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0))
deepmerge: 4.3.1 deepmerge: 4.3.1
magic-string: 0.30.21 magic-string: 0.30.21
obug: 2.1.1 obug: 2.1.1
svelte: 5.53.6 svelte: 5.53.6
vite: 7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1) vite: 7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)
vitefu: 1.1.2(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)) vitefu: 1.1.2(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0))
'@swc/helpers@0.5.19': '@swc/helpers@0.5.19':
dependencies: dependencies:
@@ -3863,12 +3912,12 @@ snapshots:
postcss-selector-parser: 6.0.10 postcss-selector-parser: 6.0.10
tailwindcss: 4.2.1 tailwindcss: 4.2.1
'@tailwindcss/vite@4.2.1(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1))': '@tailwindcss/vite@4.2.1(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0))':
dependencies: dependencies:
'@tailwindcss/node': 4.2.1 '@tailwindcss/node': 4.2.1
'@tailwindcss/oxide': 4.2.1 '@tailwindcss/oxide': 4.2.1
tailwindcss: 4.2.1 tailwindcss: 4.2.1
vite: 7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1) vite: 7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)
'@tanstack/query-core@5.90.20': {} '@tanstack/query-core@5.90.20': {}
@@ -3971,13 +4020,13 @@ snapshots:
chai: 6.2.2 chai: 6.2.2
tinyrainbow: 3.0.3 tinyrainbow: 3.0.3
'@vitest/mocker@4.0.18(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1))': '@vitest/mocker@4.0.18(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0))':
dependencies: dependencies:
'@vitest/spy': 4.0.18 '@vitest/spy': 4.0.18
estree-walker: 3.0.3 estree-walker: 3.0.3
magic-string: 0.30.21 magic-string: 0.30.21
optionalDependencies: optionalDependencies:
vite: 7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1) vite: 7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)
'@vitest/pretty-format@4.0.18': '@vitest/pretty-format@4.0.18':
dependencies: dependencies:
@@ -4049,7 +4098,7 @@ snapshots:
base64-js@1.5.1: {} base64-js@1.5.1: {}
better-auth@1.4.20(@sveltejs/kit@2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.6)(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.6)(vitest@4.0.18(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)): better-auth@1.4.20(@sveltejs/kit@2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)))(svelte@5.53.6)(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)))(svelte@5.53.6)(vitest@4.0.18(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)):
dependencies: dependencies:
'@better-auth/core': 1.4.20(@better-auth/utils@0.3.0)(@better-fetch/fetch@1.1.21)(better-call@1.1.8(zod@4.3.6))(jose@6.1.3)(kysely@0.28.11)(nanostores@1.1.1) '@better-auth/core': 1.4.20(@better-auth/utils@0.3.0)(@better-fetch/fetch@1.1.21)(better-call@1.1.8(zod@4.3.6))(jose@6.1.3)(kysely@0.28.11)(nanostores@1.1.1)
'@better-auth/telemetry': 1.4.20(@better-auth/core@1.4.20(@better-auth/utils@0.3.0)(@better-fetch/fetch@1.1.21)(better-call@1.1.8(zod@4.3.6))(jose@6.1.3)(kysely@0.28.11)(nanostores@1.1.1)) '@better-auth/telemetry': 1.4.20(@better-auth/core@1.4.20(@better-auth/utils@0.3.0)(@better-fetch/fetch@1.1.21)(better-call@1.1.8(zod@4.3.6))(jose@6.1.3)(kysely@0.28.11)(nanostores@1.1.1))
@@ -4064,9 +4113,9 @@ snapshots:
nanostores: 1.1.1 nanostores: 1.1.1
zod: 4.3.6 zod: 4.3.6
optionalDependencies: optionalDependencies:
'@sveltejs/kit': 2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.6)(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)) '@sveltejs/kit': 2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)))(svelte@5.53.6)(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0))
svelte: 5.53.6 svelte: 5.53.6
vitest: 4.0.18(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1) vitest: 4.0.18(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)
better-call@1.1.8(zod@4.3.6): better-call@1.1.8(zod@4.3.6):
dependencies: dependencies:
@@ -4077,15 +4126,15 @@ snapshots:
optionalDependencies: optionalDependencies:
zod: 4.3.6 zod: 4.3.6
bits-ui@2.16.2(@internationalized/date@3.11.0)(@sveltejs/kit@2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.6)(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.6): bits-ui@2.16.2(@internationalized/date@3.11.0)(@sveltejs/kit@2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)))(svelte@5.53.6)(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)))(svelte@5.53.6):
dependencies: dependencies:
'@floating-ui/core': 1.7.4 '@floating-ui/core': 1.7.4
'@floating-ui/dom': 1.7.5 '@floating-ui/dom': 1.7.5
'@internationalized/date': 3.11.0 '@internationalized/date': 3.11.0
esm-env: 1.2.2 esm-env: 1.2.2
runed: 0.35.1(@sveltejs/kit@2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.6)(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.6) runed: 0.35.1(@sveltejs/kit@2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)))(svelte@5.53.6)(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)))(svelte@5.53.6)
svelte: 5.53.6 svelte: 5.53.6
svelte-toolbelt: 0.10.6(@sveltejs/kit@2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.6)(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.6) svelte-toolbelt: 0.10.6(@sveltejs/kit@2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)))(svelte@5.53.6)(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)))(svelte@5.53.6)
tabbable: 6.4.0 tabbable: 6.4.0
transitivePeerDependencies: transitivePeerDependencies:
- '@sveltejs/kit' - '@sveltejs/kit'
@@ -4524,11 +4573,11 @@ snapshots:
unicode-properties: 1.4.1 unicode-properties: 1.4.1
unicode-trie: 2.0.0 unicode-trie: 2.0.0
formsnap@2.0.1(svelte@5.53.6)(sveltekit-superforms@2.30.0(@sveltejs/kit@2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.6)(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.6)(typescript@5.9.3)): formsnap@2.0.1(svelte@5.53.6)(sveltekit-superforms@2.30.0(@sveltejs/kit@2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)))(svelte@5.53.6)(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)))(svelte@5.53.6)(typescript@5.9.3)):
dependencies: dependencies:
svelte: 5.53.6 svelte: 5.53.6
svelte-toolbelt: 0.5.0(svelte@5.53.6) svelte-toolbelt: 0.5.0(svelte@5.53.6)
sveltekit-superforms: 2.30.0(@sveltejs/kit@2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.6)(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.6)(typescript@5.9.3) sveltekit-superforms: 2.30.0(@sveltejs/kit@2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)))(svelte@5.53.6)(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)))(svelte@5.53.6)(typescript@5.9.3)
frac@1.1.2: {} frac@1.1.2: {}
@@ -5126,14 +5175,14 @@ snapshots:
esm-env: 1.2.2 esm-env: 1.2.2
svelte: 5.53.6 svelte: 5.53.6
runed@0.35.1(@sveltejs/kit@2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.6)(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.6): runed@0.35.1(@sveltejs/kit@2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)))(svelte@5.53.6)(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)))(svelte@5.53.6):
dependencies: dependencies:
dequal: 2.0.3 dequal: 2.0.3
esm-env: 1.2.2 esm-env: 1.2.2
lz-string: 1.5.0 lz-string: 1.5.0
svelte: 5.53.6 svelte: 5.53.6
optionalDependencies: optionalDependencies:
'@sveltejs/kit': 2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.6)(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)) '@sveltejs/kit': 2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)))(svelte@5.53.6)(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0))
rw@1.3.3: {} rw@1.3.3: {}
@@ -5239,10 +5288,10 @@ snapshots:
runed: 0.28.0(svelte@5.53.6) runed: 0.28.0(svelte@5.53.6)
svelte: 5.53.6 svelte: 5.53.6
svelte-toolbelt@0.10.6(@sveltejs/kit@2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.6)(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.6): svelte-toolbelt@0.10.6(@sveltejs/kit@2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)))(svelte@5.53.6)(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)))(svelte@5.53.6):
dependencies: dependencies:
clsx: 2.1.1 clsx: 2.1.1
runed: 0.35.1(@sveltejs/kit@2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.6)(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.6) runed: 0.35.1(@sveltejs/kit@2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)))(svelte@5.53.6)(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)))(svelte@5.53.6)
style-to-object: 1.0.14 style-to-object: 1.0.14
svelte: 5.53.6 svelte: 5.53.6
transitivePeerDependencies: transitivePeerDependencies:
@@ -5287,9 +5336,9 @@ snapshots:
magic-string: 0.30.21 magic-string: 0.30.21
zimmerframe: 1.1.4 zimmerframe: 1.1.4
sveltekit-superforms@2.30.0(@sveltejs/kit@2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.6)(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.6)(typescript@5.9.3): sveltekit-superforms@2.30.0(@sveltejs/kit@2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)))(svelte@5.53.6)(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)))(svelte@5.53.6)(typescript@5.9.3):
dependencies: dependencies:
'@sveltejs/kit': 2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.6)(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)) '@sveltejs/kit': 2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.6)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)))(svelte@5.53.6)(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0))
devalue: 5.6.3 devalue: 5.6.3
memoize-weak: 1.0.2 memoize-weak: 1.0.2
svelte: 5.53.6 svelte: 5.53.6
@@ -5369,6 +5418,13 @@ snapshots:
tslib@2.8.1: {} tslib@2.8.1: {}
tsx@4.21.0:
dependencies:
esbuild: 0.27.3
get-tsconfig: 4.13.6
optionalDependencies:
fsevents: 2.3.3
turbo-darwin-64@2.8.12: turbo-darwin-64@2.8.12:
optional: true optional: true
@@ -5456,7 +5512,7 @@ snapshots:
svelte: 5.53.6 svelte: 5.53.6
svelte-toolbelt: 0.7.1(svelte@5.53.6) svelte-toolbelt: 0.7.1(svelte@5.53.6)
vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1): vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0):
dependencies: dependencies:
esbuild: 0.27.3 esbuild: 0.27.3
fdir: 6.5.0(picomatch@4.0.3) fdir: 6.5.0(picomatch@4.0.3)
@@ -5469,15 +5525,16 @@ snapshots:
fsevents: 2.3.3 fsevents: 2.3.3
jiti: 2.6.1 jiti: 2.6.1
lightningcss: 1.31.1 lightningcss: 1.31.1
tsx: 4.21.0
vitefu@1.1.2(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)): vitefu@1.1.2(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)):
optionalDependencies: optionalDependencies:
vite: 7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1) vite: 7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)
vitest@4.0.18(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1): vitest@4.0.18(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0):
dependencies: dependencies:
'@vitest/expect': 4.0.18 '@vitest/expect': 4.0.18
'@vitest/mocker': 4.0.18(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)) '@vitest/mocker': 4.0.18(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0))
'@vitest/pretty-format': 4.0.18 '@vitest/pretty-format': 4.0.18
'@vitest/runner': 4.0.18 '@vitest/runner': 4.0.18
'@vitest/snapshot': 4.0.18 '@vitest/snapshot': 4.0.18
@@ -5494,7 +5551,7 @@ snapshots:
tinyexec: 1.0.2 tinyexec: 1.0.2
tinyglobby: 0.2.15 tinyglobby: 0.2.15
tinyrainbow: 3.0.3 tinyrainbow: 3.0.3
vite: 7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1) vite: 7.3.1(@types/node@25.3.2)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)
why-is-node-running: 2.3.0 why-is-node-running: 2.3.0
optionalDependencies: optionalDependencies:
'@types/node': 25.3.2 '@types/node': 25.3.2

View File

@@ -2,6 +2,6 @@ echo "🔄 Migrating Primary DB"
cd packages/db cd packages/db
bun run db:migrate pnpm run db:migrate
cd ../../ cd ../../

View File

@@ -11,4 +11,4 @@ echo "Starting $APP_PATH"
cd $APP_PATH cd $APP_PATH
bun run prod pnpm run prod