refactor: migrate frontend from React to SvelteKit

This commit is contained in:
2026-01-28 20:41:20 -06:00
parent 0ce0257fdc
commit e3b855b956
35 changed files with 790 additions and 1755 deletions
+9 -26
View File
@@ -1,51 +1,35 @@
import { sveltekit } from "@sveltejs/kit/vite";
import tailwindcss from "@tailwindcss/vite";
import { defineConfig } from "vite";
import viteReact from "@vitejs/plugin-react";
import tanstackRouter from "@tanstack/router-plugin/vite";
import { resolve } from "node:path";
import { readFileSync, existsSync } from "node:fs";
// Extract version from Cargo.toml
function getVersion() {
const filename = "Cargo.toml";
const paths = [resolve(__dirname, filename), resolve(__dirname, "..", filename)];
for (const path of paths) {
try {
// Check if file exists before reading
if (!existsSync(path)) {
console.log("Skipping ", path, " because it does not exist");
continue;
}
const cargoTomlContent = readFileSync(path, "utf8");
const versionMatch = cargoTomlContent.match(/^version\s*=\s*"([^"]+)"/m);
if (versionMatch) {
console.log("Found version in ", path, ": ", versionMatch[1]);
return versionMatch[1];
}
} catch (error) {
console.warn("Failed to read Cargo.toml at path: ", path, error);
if (!existsSync(path)) continue;
const content = readFileSync(path, "utf8");
const match = content.match(/^version\s*=\s*"([^"]+)"/m);
if (match) return match[1];
} catch {
// Continue to next path
}
}
console.warn("Could not read version from Cargo.toml in any location");
return "unknown";
}
const version = getVersion();
// https://vitejs.dev/config/
export default defineConfig({
plugins: [tanstackRouter({ autoCodeSplitting: true }), viteReact()],
plugins: [tailwindcss(), sveltekit()],
test: {
globals: true,
environment: "jsdom",
},
resolve: {
alias: {
"@": resolve(__dirname, "./src"),
},
include: ["src/**/*.test.ts"],
},
server: {
port: 3000,
@@ -58,7 +42,6 @@ export default defineConfig({
},
},
build: {
outDir: "dist",
sourcemap: true,
},
define: {