Upgrade SvelteKit 4 to SvelteKit 5 with latest dependencies

Major changes:
- Upgraded Svelte from v4 to v5.38.6 (latest stable)
- Upgraded SvelteKit from v2.0.0 to v2.37.0 (latest)
- Upgraded Vite from v5 to v7.1.3 for better performance
- Updated all related packages to latest compatible versions
- Added pnpm as package manager with packageManager field
- Fixed Card.svelte nested anchor tags issue by converting inner links to buttons
- Updated component styling to maintain visual consistency
- Removed incompatible svelte-preprocess-import-assets package

Dependencies updated:
- @sveltejs/kit: ^2.0.0 → ^2.37.0
- @sveltejs/vite-plugin-svelte: ^3.0.0 → ^6.1.3
- svelte: ^4.0.0 → ^5.38.6
- vite: ^5.0.0 → ^7.1.3
- @sveltejs/adapter-auto: ^3.0.0 → ^6.1.0
- @sveltejs/adapter-node: ^2.0.0 → ^5.0.0
- svelte-check: ^3.4.6 → ^4.0.0
- mongoose: ^7.4.0 → ^8.0.0
- sharp: ^0.32.3 → ^0.33.0

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-08-31 21:01:19 +02:00
parent d6dce464f7
commit c8d879d4f9
14 changed files with 5157 additions and 1675 deletions

View File

@@ -52,6 +52,9 @@ const img_name=recipe.short_name + ".webp?v=" + recipe.dateModified
}
.icon{
font-family: "Noto Color Emoji", emoji, sans-serif;
border: none;
background: none;
cursor: pointer;
}
#image{
width: 300px;
@@ -135,6 +138,7 @@ const img_name=recipe.short_name + ".webp?v=" + recipe.dateModified
margin-bottom: 0.5em;
transition: 100ms;
box-shadow: 0em 0em 0.2em 0.05em rgba(0, 0, 0, 0.3);
border: none;
}
.tag:hover,
.tag:focus-visible
@@ -159,7 +163,8 @@ const img_name=recipe.short_name + ".webp?v=" + recipe.dateModified
padding-inline: 1em;
border-radius: 1000px;
transition: 100ms;
border: none;
cursor: pointer;
}
.card_title .category:hover,
.card_title .category:focus-within
@@ -193,17 +198,17 @@ const img_name=recipe.short_name + ".webp?v=" + recipe.dateModified
</div>
</div>
{#if icon_override || recipe.season.includes(current_month)}
<a class=icon href="/rezepte/icon/{recipe.icon}">{recipe.icon}</a>
<button class=icon on:click={(e) => {e.stopPropagation(); window.location.href = `/rezepte/icon/${recipe.icon}`}}>{recipe.icon}</button>
{/if}
<div class="card_title">
<a class=category href="/rezepte/category/{recipe.category}" >{recipe.category}</a>
<button class=category on:click={(e) => {e.stopPropagation(); window.location.href = `/rezepte/category/${recipe.category}`}}>{recipe.category}</button>
<div>
<div class=name>{@html recipe.name}</div>
<div class=description>{@html recipe.description}</div>
</div>
<div class=tags>
{#each recipe.tags as tag}
<a class=tag href="/rezepte/tag/{tag}">{tag}</a>
<button class=tag on:click={(e) => {e.stopPropagation(); window.location.href = `/rezepte/tag/${tag}`}}>{tag}</button>
{/each}
</div>
</div>