migration to SvelteKit 2

This commit is contained in:
Thomas 2024-03-17 09:37:49 +00:00
parent 4c98640a08
commit 8fcd9d23b7
6 changed files with 21 additions and 20 deletions

View file

@ -13,26 +13,27 @@
"test": "vitest" "test": "vitest"
}, },
"devDependencies": { "devDependencies": {
"@sveltejs/adapter-auto": "^1.0.2", "@sveltejs/adapter-auto": "^3.0.0",
"@sveltejs/adapter-netlify": "^1.0.5", "@sveltejs/adapter-netlify": "^3.0.0",
"@sveltejs/kit": "^1.2.8", "@sveltejs/kit": "^2.0.0",
"@sveltejs/vite-plugin-svelte": "^3.0.0",
"@types/leaflet": "^1.7.11", "@types/leaflet": "^1.7.11",
"@types/sanitize-html": "^2.6.2", "@types/sanitize-html": "^2.6.2",
"@typescript-eslint/eslint-plugin": "^5.32.0", "@typescript-eslint/eslint-plugin": "^5.32.0",
"@typescript-eslint/parser": "^5.32.0", "@typescript-eslint/parser": "^5.32.0",
"eslint": "^7.32.0", "eslint": "^7.32.0",
"eslint-config-prettier": "^8.3.0", "eslint-config-prettier": "^8.3.0",
"eslint-plugin-svelte3": "^3.2.1", "eslint-plugin-svelte3": "^4.0.0",
"prettier": "^2.5.1", "prettier": "^2.5.1",
"prettier-plugin-svelte": "^2.5.0", "prettier-plugin-svelte": "^2.10.1",
"sass": "^1.54.9", "sass": "^1.54.9",
"svelte": "^3.55.1", "svelte": "^4.0.0",
"svelte-check": "^3.0.3", "svelte-check": "^3.4.3",
"svelte-preprocess": "^5.0.1", "svelte-preprocess": "^5.0.3",
"tslib": "^2.3.1", "tslib": "^2.3.1",
"typescript": "^4.7.4", "typescript": "^5.0.0",
"vite": "^4.0.4", "vite": "^5.0.0",
"vitest": "^0.28.3" "vitest": "^1.0.0"
}, },
"type": "module", "type": "module",
"dependencies": { "dependencies": {
@ -58,4 +59,4 @@
"unified": "^10.1.2", "unified": "^10.1.2",
"zod": "^3.22.2" "zod": "^3.22.2"
} }
} }

View file

@ -1,6 +1,6 @@
<script> <script lang="ts">
import "../styles/thomaswilson.css"; import "../styles/thomaswilson.css";
import { colourSchemeStore } from "../stores/colourSchemeStore"; import { colourSchemeStore } from "../stores/colourSchemeStore.ts";
import { browser } from "$app/environment"; import { browser } from "$app/environment";
colourSchemeStore.subscribe((value) => { colourSchemeStore.subscribe((value) => {

View file

@ -8,7 +8,7 @@ export const GET = async ({ params }: LoadEvent) => {
const post = await controller.getAnyKindOfContentBySlug(slug); const post = await controller.getAnyKindOfContentBySlug(slug);
if (!post) { if (!post) {
throw error(404, `Could not find blog post with slug '${slug}'`); error(404, `Could not find blog post with slug '${slug}'`);
} }
return json({ post }); return json({ post });

View file

@ -30,14 +30,14 @@ export const POST: RequestHandler = async ({ getClientAddress, request }) => {
} catch (e: any) { } catch (e: any) {
console.log(`Caught error destructuring request body`); console.log(`Caught error destructuring request body`);
console.error(e); console.error(e);
throw error(400, 'Error in request body.'); error(400, 'Error in request body.');
} }
if ([fileName, markdownContent, title, date, slug, author].includes(undefined)) { if ([fileName, markdownContent, title, date, slug, author].includes(undefined)) {
throw error(400, `Missing parameters.`); error(400, `Missing parameters.`);
} else if (!['127.0.0.1', '::1'].includes(address) ) { } else if (!['127.0.0.1', '::1'].includes(address) ) {
console.log(address); console.log(address);
throw error(403, `Forbidden.`); error(403, `Forbidden.`);
} }
const controller = await BlogController.singleton(); const controller = await BlogController.singleton();

View file

@ -4,5 +4,5 @@ import { redirect } from '@sveltejs/kit';
export async function load({ params }: LoadEvent) { export async function load({ params }: LoadEvent) {
const { slug } = params; const { slug } = params;
// redirect to 404 if post not found // redirect to 404 if post not found
throw redirect(307, `/blog/${slug}`); redirect(307, `/blog/${slug}`);
} }

View file

@ -13,5 +13,5 @@ export const load: PageLoad = async ({ fetch }) => {
}; };
} }
throw error(500, 'Failed to fetch sunrise-sunset photo'); error(500, 'Failed to fetch sunrise-sunset photo');
}; };