Shit ton of changes in changing and upgrading to use svk's modern features (observability, remote functions)

This commit is contained in:
user
2026-02-28 18:40:50 +02:00
parent f520e8842f
commit d9e89a345e
14 changed files with 1907 additions and 146 deletions

View File

@@ -16,14 +16,21 @@
"test:unit": "vitest"
},
"dependencies": {
"@opentelemetry/api": "^1.9.0",
"@opentelemetry/auto-instrumentations-node": "^0.70.1",
"@opentelemetry/exporter-metrics-otlp-proto": "^0.212.0",
"@opentelemetry/exporter-trace-otlp-proto": "^0.212.0",
"@opentelemetry/sdk-node": "^0.212.0",
"@pkg/db": "workspace:*",
"@pkg/logger": "workspace:*",
"@pkg/logic": "workspace:*",
"@pkg/result": "workspace:*",
"@pkg/settings": "workspace:*",
"@tanstack/svelte-query": "^6.0.18",
"better-auth": "^1.4.20",
"date-fns": "^4.1.0",
"hono": "^4.11.1",
"import-in-the-middle": "^3.0.0",
"marked": "^17.0.1",
"nanoid": "^5.1.6",
"neverthrow": "^8.2.0",

View File

@@ -0,0 +1,19 @@
import { getNodeAutoInstrumentations } from "@opentelemetry/auto-instrumentations-node";
import { OTLPTraceExporter } from "@opentelemetry/exporter-trace-otlp-proto";
import { createAddHookMessageChannel } from "import-in-the-middle";
import { NodeSDK } from "@opentelemetry/sdk-node";
import { settings } from "@pkg/settings";
import { register } from "node:module";
const { registerOptions } = createAddHookMessageChannel();
register("import-in-the-middle/hook.mjs", import.meta.url, registerOptions);
const sdk = new NodeSDK({
serviceName: settings.appName,
traceExporter: new OTLPTraceExporter({
// url: settings.otelExporterOtlpHttpEndpoint,
}),
instrumentations: [getNodeAutoInstrumentations()],
});
sdk.start();

View File

@@ -1,7 +1,7 @@
import { UserRoleMap } from "@pkg/logic/domains/user/data";
import { user } from "@pkg/db/schema/better.auth.schema";
import type { RequestHandler } from "./$types";
import { env } from "$env/dynamic/private";
import { settings } from "@pkg/settings";
import { logger } from "@pkg/logger";
import { db, eq } from "@pkg/db";
import { nanoid } from "nanoid";
@@ -10,7 +10,7 @@ import * as v from "valibot";
function isAuthorized(authHeader?: string | null) {
if (!authHeader) return false;
const authToken = authHeader.toString().replace("Bearer ", "");
return authToken === env.DEBUG_API_KEY;
return authToken === settings.debugKey;
}
export const GET: RequestHandler = async ({ request }) => {

View File

@@ -1,13 +1,13 @@
import { redirect } from "@sveltejs/kit";
import type { PageServerLoad } from "./$types";
import { auth } from "@pkg/logic/domains/auth/config.base";
import type { PageServerLoad } from "./$types";
import { redirect } from "@sveltejs/kit";
export const load = (async (c) => {
const sess = await auth.api.getSession({
headers: c.request.headers,
});
const sess = await auth.api.getSession({
headers: c.request.headers,
});
if (!!sess && !!sess.user && !!sess.session) {
return redirect(302, "/");
}
if (!!sess && !!sess.user && !!sess.session) {
return redirect(302, "/");
}
}) satisfies PageServerLoad;

View File

@@ -3,17 +3,17 @@ import adapter from "@sveltejs/adapter-node";
/** @type {import('@sveltejs/kit').Config} */
const config = {
// Consult https://svelte.dev/docs/kit/integrations
// for more information about preprocessors
preprocess: vitePreprocess(),
kit: {
// adapter-auto only supports some environments, see https://svelte.dev/docs/kit/adapter-auto for a list.
// If your environment is not supported, or you settled on a specific environment, switch out the adapter.
// See https://svelte.dev/docs/kit/adapters for more information about adapters.
adapter: adapter({
out: "build",
}),
adapter: adapter({ out: "build" }),
experimental: {
remoteFunctions: true,
tracing: { server: true },
instrumentation: { server: true },
},
},
compilerOptions: {
experimental: { async: true },
},
};