mirror of
				https://github.com/immich-app/immich.git
				synced 2025-11-04 03:27:09 -05:00 
			
		
		
		
	chore: upgrade SvelteKit (#20736)
This commit is contained in:
		
							parent
							
								
									395f2e155d
								
							
						
					
					
						commit
						af10c3bc2f
					
				
							
								
								
									
										18
									
								
								web/package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										18
									
								
								web/package-lock.json
									
									
									
										generated
									
									
									
								
							@ -52,7 +52,7 @@
 | 
				
			|||||||
        "@socket.io/component-emitter": "^3.1.0",
 | 
					        "@socket.io/component-emitter": "^3.1.0",
 | 
				
			||||||
        "@sveltejs/adapter-static": "^3.0.8",
 | 
					        "@sveltejs/adapter-static": "^3.0.8",
 | 
				
			||||||
        "@sveltejs/enhanced-img": "^0.7.0",
 | 
					        "@sveltejs/enhanced-img": "^0.7.0",
 | 
				
			||||||
        "@sveltejs/kit": "^2.25.2",
 | 
					        "@sveltejs/kit": "^2.27.1",
 | 
				
			||||||
        "@sveltejs/vite-plugin-svelte": "6.1.0",
 | 
					        "@sveltejs/vite-plugin-svelte": "6.1.0",
 | 
				
			||||||
        "@tailwindcss/vite": "^4.1.7",
 | 
					        "@tailwindcss/vite": "^4.1.7",
 | 
				
			||||||
        "@testing-library/jest-dom": "^6.4.2",
 | 
					        "@testing-library/jest-dom": "^6.4.2",
 | 
				
			||||||
@ -100,7 +100,7 @@
 | 
				
			|||||||
        "@oazapfts/runtime": "^1.0.2"
 | 
					        "@oazapfts/runtime": "^1.0.2"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "devDependencies": {
 | 
					      "devDependencies": {
 | 
				
			||||||
        "@types/node": "^22.16.5",
 | 
					        "@types/node": "^22.17.0",
 | 
				
			||||||
        "typescript": "^5.3.3"
 | 
					        "typescript": "^5.3.3"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
@ -2177,6 +2177,13 @@
 | 
				
			|||||||
      "integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==",
 | 
					      "integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==",
 | 
				
			||||||
      "license": "MIT"
 | 
					      "license": "MIT"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/@standard-schema/spec": {
 | 
				
			||||||
 | 
					      "version": "1.0.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.0.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "license": "MIT"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "node_modules/@sveltejs/acorn-typescript": {
 | 
					    "node_modules/@sveltejs/acorn-typescript": {
 | 
				
			||||||
      "version": "1.0.5",
 | 
					      "version": "1.0.5",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@sveltejs/acorn-typescript/-/acorn-typescript-1.0.5.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/@sveltejs/acorn-typescript/-/acorn-typescript-1.0.5.tgz",
 | 
				
			||||||
@ -2216,12 +2223,13 @@
 | 
				
			|||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "node_modules/@sveltejs/kit": {
 | 
					    "node_modules/@sveltejs/kit": {
 | 
				
			||||||
      "version": "2.25.2",
 | 
					      "version": "2.27.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.25.2.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.27.1.tgz",
 | 
				
			||||||
      "integrity": "sha512-aKfj82vqEINedoH9Pw4Ip16jj3w8soNq9F3nJqc56kxXW74TcEu/gdTAuLUI+gsl8i+KXfetRqg1F+gG/AZRVQ==",
 | 
					      "integrity": "sha512-u5HbL9T4TgWZwXZM7hwdT0f5sDkGaNxsSrLYQoql+eiz2+9rcbbq4MiOAPoRtXG0dys5P5ixBmyQdqZedwZUlA==",
 | 
				
			||||||
      "dev": true,
 | 
					      "dev": true,
 | 
				
			||||||
      "license": "MIT",
 | 
					      "license": "MIT",
 | 
				
			||||||
      "dependencies": {
 | 
					      "dependencies": {
 | 
				
			||||||
 | 
					        "@standard-schema/spec": "^1.0.0",
 | 
				
			||||||
        "@sveltejs/acorn-typescript": "^1.0.5",
 | 
					        "@sveltejs/acorn-typescript": "^1.0.5",
 | 
				
			||||||
        "@types/cookie": "^0.6.0",
 | 
					        "@types/cookie": "^0.6.0",
 | 
				
			||||||
        "acorn": "^8.14.1",
 | 
					        "acorn": "^8.14.1",
 | 
				
			||||||
 | 
				
			|||||||
@ -69,7 +69,7 @@
 | 
				
			|||||||
    "@socket.io/component-emitter": "^3.1.0",
 | 
					    "@socket.io/component-emitter": "^3.1.0",
 | 
				
			||||||
    "@sveltejs/adapter-static": "^3.0.8",
 | 
					    "@sveltejs/adapter-static": "^3.0.8",
 | 
				
			||||||
    "@sveltejs/enhanced-img": "^0.7.0",
 | 
					    "@sveltejs/enhanced-img": "^0.7.0",
 | 
				
			||||||
    "@sveltejs/kit": "^2.25.2",
 | 
					    "@sveltejs/kit": "^2.27.1",
 | 
				
			||||||
    "@sveltejs/vite-plugin-svelte": "6.1.0",
 | 
					    "@sveltejs/vite-plugin-svelte": "6.1.0",
 | 
				
			||||||
    "@tailwindcss/vite": "^4.1.7",
 | 
					    "@tailwindcss/vite": "^4.1.7",
 | 
				
			||||||
    "@testing-library/jest-dom": "^6.4.2",
 | 
					    "@testing-library/jest-dom": "^6.4.2",
 | 
				
			||||||
 | 
				
			|||||||
@ -1,5 +1,4 @@
 | 
				
			|||||||
<script lang="ts">
 | 
					<script lang="ts">
 | 
				
			||||||
  import { resolveRoute } from '$app/paths';
 | 
					 | 
				
			||||||
  import { page } from '$app/state';
 | 
					  import { page } from '$app/state';
 | 
				
			||||||
  import Icon from '$lib/components/elements/icon.svelte';
 | 
					  import Icon from '$lib/components/elements/icon.svelte';
 | 
				
			||||||
  import { mdiChevronDown, mdiChevronLeft } from '@mdi/js';
 | 
					  import { mdiChevronDown, mdiChevronLeft } from '@mdi/js';
 | 
				
			||||||
@ -8,7 +7,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  interface Props {
 | 
					  interface Props {
 | 
				
			||||||
    title: string;
 | 
					    title: string;
 | 
				
			||||||
    routeId: string;
 | 
					    href: string;
 | 
				
			||||||
    icon: string;
 | 
					    icon: string;
 | 
				
			||||||
    flippedLogo?: boolean;
 | 
					    flippedLogo?: boolean;
 | 
				
			||||||
    isSelected?: boolean;
 | 
					    isSelected?: boolean;
 | 
				
			||||||
@ -19,7 +18,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  let {
 | 
					  let {
 | 
				
			||||||
    title,
 | 
					    title,
 | 
				
			||||||
    routeId,
 | 
					    href,
 | 
				
			||||||
    icon,
 | 
					    icon,
 | 
				
			||||||
    flippedLogo = false,
 | 
					    flippedLogo = false,
 | 
				
			||||||
    isSelected = $bindable(false),
 | 
					    isSelected = $bindable(false),
 | 
				
			||||||
@ -28,10 +27,8 @@
 | 
				
			|||||||
    dropdownOpen = $bindable(false),
 | 
					    dropdownOpen = $bindable(false),
 | 
				
			||||||
  }: Props = $props();
 | 
					  }: Props = $props();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  let routePath = $derived(resolveRoute(routeId, {}));
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  $effect(() => {
 | 
					  $effect(() => {
 | 
				
			||||||
    isSelected = (page.route.id?.match(/^\/(admin|\(user\))\/[^/]*/) || [])[0] === routeId;
 | 
					    isSelected = (page.url.pathname.match(/^\/(admin|user)\/[^/]*/) || [])[0] === href;
 | 
				
			||||||
  });
 | 
					  });
 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -55,7 +52,7 @@
 | 
				
			|||||||
    </span>
 | 
					    </span>
 | 
				
			||||||
  {/if}
 | 
					  {/if}
 | 
				
			||||||
  <a
 | 
					  <a
 | 
				
			||||||
    href={routePath}
 | 
					    {href}
 | 
				
			||||||
    data-sveltekit-preload-data={preloadData ? 'hover' : 'off'}
 | 
					    data-sveltekit-preload-data={preloadData ? 'hover' : 'off'}
 | 
				
			||||||
    draggable="false"
 | 
					    draggable="false"
 | 
				
			||||||
    aria-current={isSelected ? 'page' : undefined}
 | 
					    aria-current={isSelected ? 'page' : undefined}
 | 
				
			||||||
 | 
				
			|||||||
@ -1,4 +1,5 @@
 | 
				
			|||||||
<script lang="ts">
 | 
					<script lang="ts">
 | 
				
			||||||
 | 
					  import { resolve } from '$app/paths';
 | 
				
			||||||
  import BottomInfo from '$lib/components/shared-components/side-bar/bottom-info.svelte';
 | 
					  import BottomInfo from '$lib/components/shared-components/side-bar/bottom-info.svelte';
 | 
				
			||||||
  import RecentAlbums from '$lib/components/shared-components/side-bar/recent-albums.svelte';
 | 
					  import RecentAlbums from '$lib/components/shared-components/side-bar/recent-albums.svelte';
 | 
				
			||||||
  import Sidebar from '$lib/components/sidebar/sidebar.svelte';
 | 
					  import Sidebar from '$lib/components/sidebar/sidebar.svelte';
 | 
				
			||||||
@ -48,19 +49,19 @@
 | 
				
			|||||||
<Sidebar ariaLabel={$t('primary')}>
 | 
					<Sidebar ariaLabel={$t('primary')}>
 | 
				
			||||||
  <SideBarLink
 | 
					  <SideBarLink
 | 
				
			||||||
    title={$t('photos')}
 | 
					    title={$t('photos')}
 | 
				
			||||||
    routeId="/(user)/photos"
 | 
					    href={resolve('/(user)/photos')}
 | 
				
			||||||
    bind:isSelected={isPhotosSelected}
 | 
					    bind:isSelected={isPhotosSelected}
 | 
				
			||||||
    icon={isPhotosSelected ? mdiImageMultiple : mdiImageMultipleOutline}
 | 
					    icon={isPhotosSelected ? mdiImageMultiple : mdiImageMultipleOutline}
 | 
				
			||||||
  ></SideBarLink>
 | 
					  ></SideBarLink>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  {#if $featureFlags.search}
 | 
					  {#if $featureFlags.search}
 | 
				
			||||||
    <SideBarLink title={$t('explore')} routeId="/(user)/explore" icon={mdiMagnify} />
 | 
					    <SideBarLink title={$t('explore')} href={resolve('/(user)/explore')} icon={mdiMagnify} />
 | 
				
			||||||
  {/if}
 | 
					  {/if}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  {#if $featureFlags.map}
 | 
					  {#if $featureFlags.map}
 | 
				
			||||||
    <SideBarLink
 | 
					    <SideBarLink
 | 
				
			||||||
      title={$t('map')}
 | 
					      title={$t('map')}
 | 
				
			||||||
      routeId="/(user)/map"
 | 
					      href={resolve('/(user)/map')}
 | 
				
			||||||
      bind:isSelected={isMapSelected}
 | 
					      bind:isSelected={isMapSelected}
 | 
				
			||||||
      icon={isMapSelected ? mdiMap : mdiMapOutline}
 | 
					      icon={isMapSelected ? mdiMap : mdiMapOutline}
 | 
				
			||||||
    />
 | 
					    />
 | 
				
			||||||
@ -69,19 +70,19 @@
 | 
				
			|||||||
  {#if $preferences.people.enabled && $preferences.people.sidebarWeb}
 | 
					  {#if $preferences.people.enabled && $preferences.people.sidebarWeb}
 | 
				
			||||||
    <SideBarLink
 | 
					    <SideBarLink
 | 
				
			||||||
      title={$t('people')}
 | 
					      title={$t('people')}
 | 
				
			||||||
      routeId="/(user)/people"
 | 
					      href={resolve('/(user)/people')}
 | 
				
			||||||
      bind:isSelected={isPeopleSelected}
 | 
					      bind:isSelected={isPeopleSelected}
 | 
				
			||||||
      icon={isPeopleSelected ? mdiAccount : mdiAccountOutline}
 | 
					      icon={isPeopleSelected ? mdiAccount : mdiAccountOutline}
 | 
				
			||||||
    />
 | 
					    />
 | 
				
			||||||
  {/if}
 | 
					  {/if}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  {#if $preferences.sharedLinks.enabled && $preferences.sharedLinks.sidebarWeb}
 | 
					  {#if $preferences.sharedLinks.enabled && $preferences.sharedLinks.sidebarWeb}
 | 
				
			||||||
    <SideBarLink title={$t('shared_links')} routeId="/(user)/shared-links" icon={mdiLink} />
 | 
					    <SideBarLink title={$t('shared_links')} href={resolve('/(user)/shared-links')} icon={mdiLink} />
 | 
				
			||||||
  {/if}
 | 
					  {/if}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  <SideBarLink
 | 
					  <SideBarLink
 | 
				
			||||||
    title={$t('sharing')}
 | 
					    title={$t('sharing')}
 | 
				
			||||||
    routeId="/(user)/sharing"
 | 
					    href={resolve('/(user)/sharing')}
 | 
				
			||||||
    icon={isSharingSelected ? mdiAccountMultiple : mdiAccountMultipleOutline}
 | 
					    icon={isSharingSelected ? mdiAccountMultiple : mdiAccountMultipleOutline}
 | 
				
			||||||
    bind:isSelected={isSharingSelected}
 | 
					    bind:isSelected={isSharingSelected}
 | 
				
			||||||
  ></SideBarLink>
 | 
					  ></SideBarLink>
 | 
				
			||||||
@ -90,14 +91,14 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  <SideBarLink
 | 
					  <SideBarLink
 | 
				
			||||||
    title={$t('favorites')}
 | 
					    title={$t('favorites')}
 | 
				
			||||||
    routeId="/(user)/favorites"
 | 
					    href={resolve('/(user)/favorites')}
 | 
				
			||||||
    icon={isFavoritesSelected ? mdiHeart : mdiHeartOutline}
 | 
					    icon={isFavoritesSelected ? mdiHeart : mdiHeartOutline}
 | 
				
			||||||
    bind:isSelected={isFavoritesSelected}
 | 
					    bind:isSelected={isFavoritesSelected}
 | 
				
			||||||
  ></SideBarLink>
 | 
					  ></SideBarLink>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  <SideBarLink
 | 
					  <SideBarLink
 | 
				
			||||||
    title={$t('albums')}
 | 
					    title={$t('albums')}
 | 
				
			||||||
    routeId="/(user)/albums"
 | 
					    href={resolve('/(user)/albums')}
 | 
				
			||||||
    icon={mdiImageAlbum}
 | 
					    icon={mdiImageAlbum}
 | 
				
			||||||
    flippedLogo
 | 
					    flippedLogo
 | 
				
			||||||
    bind:dropdownOpen={$recentAlbumsDropdown}
 | 
					    bind:dropdownOpen={$recentAlbumsDropdown}
 | 
				
			||||||
@ -110,30 +111,30 @@
 | 
				
			|||||||
  </SideBarLink>
 | 
					  </SideBarLink>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  {#if $preferences.tags.enabled && $preferences.tags.sidebarWeb}
 | 
					  {#if $preferences.tags.enabled && $preferences.tags.sidebarWeb}
 | 
				
			||||||
    <SideBarLink title={$t('tags')} routeId="/(user)/tags" icon={mdiTagMultipleOutline} flippedLogo />
 | 
					    <SideBarLink title={$t('tags')} href={resolve('/(user)/tags')} icon={mdiTagMultipleOutline} flippedLogo />
 | 
				
			||||||
  {/if}
 | 
					  {/if}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  {#if $preferences.folders.enabled && $preferences.folders.sidebarWeb}
 | 
					  {#if $preferences.folders.enabled && $preferences.folders.sidebarWeb}
 | 
				
			||||||
    <SideBarLink title={$t('folders')} routeId="/(user)/folders" icon={mdiFolderOutline} flippedLogo />
 | 
					    <SideBarLink title={$t('folders')} href={resolve('/(user)/folders')} icon={mdiFolderOutline} flippedLogo />
 | 
				
			||||||
  {/if}
 | 
					  {/if}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  <SideBarLink
 | 
					  <SideBarLink
 | 
				
			||||||
    title={$t('utilities')}
 | 
					    title={$t('utilities')}
 | 
				
			||||||
    routeId="/(user)/utilities"
 | 
					    href={resolve('/(user)/utilities')}
 | 
				
			||||||
    bind:isSelected={isUtilitiesSelected}
 | 
					    bind:isSelected={isUtilitiesSelected}
 | 
				
			||||||
    icon={isUtilitiesSelected ? mdiToolbox : mdiToolboxOutline}
 | 
					    icon={isUtilitiesSelected ? mdiToolbox : mdiToolboxOutline}
 | 
				
			||||||
  ></SideBarLink>
 | 
					  ></SideBarLink>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  <SideBarLink
 | 
					  <SideBarLink
 | 
				
			||||||
    title={$t('archive')}
 | 
					    title={$t('archive')}
 | 
				
			||||||
    routeId="/(user)/archive"
 | 
					    href={resolve('/(user)/archive')}
 | 
				
			||||||
    bind:isSelected={isArchiveSelected}
 | 
					    bind:isSelected={isArchiveSelected}
 | 
				
			||||||
    icon={isArchiveSelected ? mdiArchiveArrowDown : mdiArchiveArrowDownOutline}
 | 
					    icon={isArchiveSelected ? mdiArchiveArrowDown : mdiArchiveArrowDownOutline}
 | 
				
			||||||
  ></SideBarLink>
 | 
					  ></SideBarLink>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  <SideBarLink
 | 
					  <SideBarLink
 | 
				
			||||||
    title={$t('locked_folder')}
 | 
					    title={$t('locked_folder')}
 | 
				
			||||||
    routeId="/(user)/locked"
 | 
					    href={resolve('/(user)/locked')}
 | 
				
			||||||
    bind:isSelected={isLockedFolderSelected}
 | 
					    bind:isSelected={isLockedFolderSelected}
 | 
				
			||||||
    icon={isLockedFolderSelected ? mdiLock : mdiLockOutline}
 | 
					    icon={isLockedFolderSelected ? mdiLock : mdiLockOutline}
 | 
				
			||||||
  ></SideBarLink>
 | 
					  ></SideBarLink>
 | 
				
			||||||
@ -141,7 +142,7 @@
 | 
				
			|||||||
  {#if $featureFlags.trash}
 | 
					  {#if $featureFlags.trash}
 | 
				
			||||||
    <SideBarLink
 | 
					    <SideBarLink
 | 
				
			||||||
      title={$t('trash')}
 | 
					      title={$t('trash')}
 | 
				
			||||||
      routeId="/(user)/trash"
 | 
					      href={resolve('/(user)/trash')}
 | 
				
			||||||
      bind:isSelected={isTrashSelected}
 | 
					      bind:isSelected={isTrashSelected}
 | 
				
			||||||
      icon={isTrashSelected ? mdiTrashCan : mdiTrashCanOutline}
 | 
					      icon={isTrashSelected ? mdiTrashCan : mdiTrashCanOutline}
 | 
				
			||||||
    ></SideBarLink>
 | 
					    ></SideBarLink>
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user