feat: upgrade to SvelteKit 3 and adapter-bun
Some checks failed
Test and deploy staging / staging (push) Failing after 43s

Run the sveltekit-3 migration and finish its manual tasks:

- Move kit config into the sveltekit() Vite plugin; drop svelte.config.js
- Replace $lib with #lib subpath imports
- Declare env vars in src/env.ts and import them from $app/env/{private,public}
- Consolidate param matchers into src/params.ts
- Use error(status, message), Response.json, refreshAll and goto reset/shallow
- Fall back to a full page load when goto rejects a login return path

Switch from adapter-node to adapter-bun: the build script runs Vite under
Bun (the adapter requires it) and the image starts with `bun ./build`.
Runtime env names (PORT, BODY_SIZE_LIMIT, ADDRESS_HEADER, ...) are unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-18 22:17:30 +00:00
parent b52e9188f4
commit 54924b39f0
240 changed files with 894 additions and 944 deletions

View File

@@ -1,4 +1,4 @@
import { db } from '$lib/server/db';
import { db } from '#lib/server/db/index.js';
import {
moneyAccounts,
moneyTransactions,
@@ -9,8 +9,8 @@ import {
moneyWishlist,
moneyInsurances,
moneyProjectionSettings
} from '$lib/server/db/schema';
import { requireAdmin } from '$lib/server/authorization';
} from '#lib/server/db/schema/index.js';
import { requireAdmin } from '#lib/server/authorization.js';
import {
type ImportedTransaction,
cadence,
@@ -22,7 +22,7 @@ import {
textField,
utilityKind,
validDate
} from '$lib/server/money-tracker';
} from '#lib/server/money-tracker.js';
import { and, asc, desc, eq } from 'drizzle-orm';
import { error, redirect } from '@sveltejs/kit';
import type { Actions, PageServerLoad } from './$types';

View File

@@ -4,10 +4,10 @@
onMount(() => {
hydrated = true;
});
import { NativeSelect } from '$lib/components/ui/native-select/index.js';
import { Textarea } from '$lib/components/ui/textarea/index.js';
import { Checkbox } from '$lib/components/ui/checkbox/index.js';
import * as Dialog from '$lib/components/ui/dialog/index.js';
import { NativeSelect } from '#lib/components/ui/native-select/index.js';
import { Textarea } from '#lib/components/ui/textarea/index.js';
import { Checkbox } from '#lib/components/ui/checkbox/index.js';
import * as Dialog from '#lib/components/ui/dialog/index.js';
import './money-tracker.css';
import { enhance } from '$app/forms';
import Plus from 'lucide-svelte/icons/plus';
@@ -15,10 +15,10 @@
import Trash2 from 'lucide-svelte/icons/trash-2';
import Upload from 'lucide-svelte/icons/upload';
import Download from 'lucide-svelte/icons/download';
import MoneyChart from '$lib/money-tracker/MoneyChart.svelte';
import { Button } from '$lib/components/ui/button/index.js';
import { Input } from '$lib/components/ui/input/index.js';
import * as Tabs from '$lib/components/ui/tabs/index.js';
import MoneyChart from '#lib/money-tracker/MoneyChart.svelte';
import { Button } from '#lib/components/ui/button/index.js';
import { Input } from '#lib/components/ui/input/index.js';
import * as Tabs from '#lib/components/ui/tabs/index.js';
import {
accountBalances,
accountColor,
@@ -27,7 +27,7 @@
utilityEstimate,
wealthProjection,
wealthTimeline
} from '$lib/money-tracker/charts';
} from '#lib/money-tracker/charts.js';
import type { PageProps } from './$types';
let { data, form }: PageProps = $props();