From 54135623a256050db3307b7387cc57c8c42a0229 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Sat, 4 Oct 2025 23:47:08 -0400 Subject: [PATCH 1/9] feat: expose `event.route` and `event.url` to remote functions --- .changeset/polite-rooms-invent.md | 5 + .../src/runtime/app/server/remote/shared.js | 4 +- .../client/remote-functions/shared.svelte.js | 10 +- packages/kit/src/runtime/server/respond.js | 6 +- .../basics/src/routes/remote/+page.svelte | 2 + .../src/routes/remote/event/+page.svelte | 8 + .../src/routes/remote/event/data.remote.ts | 10 + .../kit/test/apps/basics/svelte.config.js | 6 + packages/kit/test/apps/basics/test/test.js | 12 + pnpm-lock.yaml | 298 +++++++++--------- pnpm-workspace.yaml | 2 +- 11 files changed, 206 insertions(+), 157 deletions(-) create mode 100644 .changeset/polite-rooms-invent.md create mode 100644 packages/kit/test/apps/basics/src/routes/remote/event/+page.svelte create mode 100644 packages/kit/test/apps/basics/src/routes/remote/event/data.remote.ts diff --git a/.changeset/polite-rooms-invent.md b/.changeset/polite-rooms-invent.md new file mode 100644 index 000000000000..621604076e8b --- /dev/null +++ b/.changeset/polite-rooms-invent.md @@ -0,0 +1,5 @@ +--- +'@sveltejs/kit': minor +--- + +feat: expose `event.route` and `event.url` to remote functions diff --git a/packages/kit/src/runtime/app/server/remote/shared.js b/packages/kit/src/runtime/app/server/remote/shared.js index 48afb882b21b..eb32437bbf52 100644 --- a/packages/kit/src/runtime/app/server/remote/shared.js +++ b/packages/kit/src/runtime/app/server/remote/shared.js @@ -133,9 +133,7 @@ export async function run_remote_function(event, state, allow_cookies, arg, vali return event.cookies.delete(name, opts); } - }, - route: { id: null }, - url: new URL(event.url.origin) + } }; // In two parts, each with_event, so that runtimes without async local storage can still get the event at the start of the function diff --git a/packages/kit/src/runtime/client/remote-functions/shared.svelte.js b/packages/kit/src/runtime/client/remote-functions/shared.svelte.js index 08d195c5f3d8..2ade6cd6b8d7 100644 --- a/packages/kit/src/runtime/client/remote-functions/shared.svelte.js +++ b/packages/kit/src/runtime/client/remote-functions/shared.svelte.js @@ -12,7 +12,15 @@ import { create_remote_cache_key, stringify_remote_arg } from '../../shared.js'; * @param {string} url */ export async function remote_request(url) { - const response = await fetch(url); + const response = await fetch(url, { + headers: { + // TODO in future, when we support forking, we will likely need + // to grab this from context as queries will run before + // `location.pathname` is updated + 'x-sveltekit-pathname': location.pathname, + 'x-sveltekit-search': location.search + } + }); if (!response.ok) { throw new HttpError(500, 'Failed to execute remote function'); diff --git a/packages/kit/src/runtime/server/respond.js b/packages/kit/src/runtime/server/respond.js index 2ae93c3aa145..184fc83984b9 100644 --- a/packages/kit/src/runtime/server/respond.js +++ b/packages/kit/src/runtime/server/respond.js @@ -129,8 +129,8 @@ export async function internal_respond(request, options, manifest, state) { .map((node) => node === '1'); url.searchParams.delete(INVALIDATED_PARAM); } else if (remote_id) { - url.pathname = base; - url.search = ''; + url.pathname = /** @type {string} */ (request.headers.get('x-sveltekit-pathname')); + url.search = /** @type {string} */ (request.headers.get('x-sveltekit-pathname')); } /** @type {Record} */ @@ -294,7 +294,7 @@ export async function internal_respond(request, options, manifest, state) { return text('Not found', { status: 404, headers }); } - if (!state.prerendering?.fallback && !remote_id) { + if (!state.prerendering?.fallback) { // TODO this could theoretically break — should probably be inside a try-catch const matchers = await manifest._.matchers(); diff --git a/packages/kit/test/apps/basics/src/routes/remote/+page.svelte b/packages/kit/test/apps/basics/src/routes/remote/+page.svelte index 830fbcaba337..c8f1d23f8446 100644 --- a/packages/kit/test/apps/basics/src/routes/remote/+page.svelte +++ b/packages/kit/test/apps/basics/src/routes/remote/+page.svelte @@ -100,3 +100,5 @@ refreshAll (remote functions only) + +/remote/event diff --git a/packages/kit/test/apps/basics/src/routes/remote/event/+page.svelte b/packages/kit/test/apps/basics/src/routes/remote/event/+page.svelte new file mode 100644 index 000000000000..e472de03f32c --- /dev/null +++ b/packages/kit/test/apps/basics/src/routes/remote/event/+page.svelte @@ -0,0 +1,8 @@ + + +

route: {event.route.id}

+

pathname: {event.url.pathname}

diff --git a/packages/kit/test/apps/basics/src/routes/remote/event/data.remote.ts b/packages/kit/test/apps/basics/src/routes/remote/event/data.remote.ts new file mode 100644 index 000000000000..5a89028b1a77 --- /dev/null +++ b/packages/kit/test/apps/basics/src/routes/remote/event/data.remote.ts @@ -0,0 +1,10 @@ +import { getRequestEvent, query } from '$app/server'; + +export const get_event = query(() => { + const { route, url } = getRequestEvent(); + + return { + route, + url + }; +}); diff --git a/packages/kit/test/apps/basics/svelte.config.js b/packages/kit/test/apps/basics/svelte.config.js index fc40386676f9..57667545cdba 100644 --- a/packages/kit/test/apps/basics/svelte.config.js +++ b/packages/kit/test/apps/basics/svelte.config.js @@ -2,6 +2,12 @@ import process from 'node:process'; /** @type {import('@sveltejs/kit').Config} */ const config = { + compilerOptions: { + experimental: { + async: true + } + }, + kit: { adapter: { name: 'test-adapter', diff --git a/packages/kit/test/apps/basics/test/test.js b/packages/kit/test/apps/basics/test/test.js index 63af6264230a..dc6d1a4aba41 100644 --- a/packages/kit/test/apps/basics/test/test.js +++ b/packages/kit/test/apps/basics/test/test.js @@ -1642,6 +1642,18 @@ test.describe('remote functions', () => { await expect(page.locator('h1')).toHaveText('3'); }); + test.only('queries can access the route/url of the page they were called from', async ({ + page, + clicknav + }) => { + await page.goto('/remote'); + + await clicknav('[href="/remote/event"]'); + + await expect(page.locator('[data-id="route"]')).toHaveText('route: /remote/event'); + await expect(page.locator('[data-id="pathname"]')).toHaveText('pathname: /remote/event'); + }); + test('form works', async ({ page, javaScriptEnabled }) => { await page.goto('/remote/form'); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f440d5b37f90..1f0f24150c45 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -91,8 +91,8 @@ catalogs: specifier: ^3.0.0 version: 3.0.0 svelte: - specifier: ^5.39.3 - version: 5.39.3 + specifier: ^5.39.8 + version: 5.39.8 svelte-check: specifier: ^4.1.1 version: 4.1.1 @@ -127,7 +127,7 @@ importers: version: 1.51.1 '@sveltejs/eslint-config': specifier: 'catalog:' - version: 8.2.0(@stylistic/eslint-plugin-js@2.1.0(eslint@9.34.0(jiti@2.4.2)))(eslint-config-prettier@9.1.0(eslint@9.34.0(jiti@2.4.2)))(eslint-plugin-n@17.16.1(eslint@9.34.0(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-svelte@3.9.3(eslint@9.34.0(jiti@2.4.2))(svelte@5.39.3)(ts-node@10.9.2(@types/node@18.19.119)(typescript@5.8.3)))(eslint@9.34.0(jiti@2.4.2))(typescript-eslint@8.43.0(eslint@9.34.0(jiti@2.4.2))(typescript@5.8.3))(typescript@5.8.3) + version: 8.2.0(@stylistic/eslint-plugin-js@2.1.0(eslint@9.34.0(jiti@2.4.2)))(eslint-config-prettier@9.1.0(eslint@9.34.0(jiti@2.4.2)))(eslint-plugin-n@17.16.1(eslint@9.34.0(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-svelte@3.9.3(eslint@9.34.0(jiti@2.4.2))(svelte@5.39.8)(ts-node@10.9.2(@types/node@18.19.119)(typescript@5.8.3)))(eslint@9.34.0(jiti@2.4.2))(typescript-eslint@8.43.0(eslint@9.34.0(jiti@2.4.2))(typescript@5.8.3))(typescript@5.8.3) '@svitejs/changesets-changelog-github-compact': specifier: 'catalog:' version: 1.2.0 @@ -139,7 +139,7 @@ importers: version: 3.6.0 prettier-plugin-svelte: specifier: ^3.4.0 - version: 3.4.0(prettier@3.6.0)(svelte@5.39.3) + version: 3.4.0(prettier@3.6.0)(svelte@5.39.8) typescript-eslint: specifier: 'catalog:' version: 8.43.0(eslint@9.34.0(jiti@2.4.2))(typescript@5.8.3) @@ -151,7 +151,7 @@ importers: version: link:../kit '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.39.3)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) + version: 6.0.0-next.3(svelte@5.39.8)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) '@types/node': specifier: 'catalog:' version: 18.19.119 @@ -200,13 +200,13 @@ importers: version: link:../../../../kit '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.39.3)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) + version: 6.0.0-next.3(svelte@5.39.8)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) server-side-dep: specifier: file:server-side-dep version: file:packages/adapter-cloudflare/test/apps/pages/server-side-dep svelte: specifier: 'catalog:' - version: 5.39.3 + version: 5.39.8 vite: specifier: 'catalog:' version: 6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0) @@ -221,13 +221,13 @@ importers: version: link:../../../../kit '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.39.3)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) + version: 6.0.0-next.3(svelte@5.39.8)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) server-side-dep: specifier: file:server-side-dep version: file:packages/adapter-cloudflare/test/apps/workers/server-side-dep svelte: specifier: 'catalog:' - version: 5.39.3 + version: 5.39.8 vite: specifier: 'catalog:' version: 6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0) @@ -267,7 +267,7 @@ importers: version: link:../kit '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.39.3)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) + version: 6.0.0-next.3(svelte@5.39.8)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) '@types/node': specifier: 'catalog:' version: 18.19.119 @@ -291,13 +291,13 @@ importers: version: link:../../../../kit '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.39.3)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) + version: 6.0.0-next.3(svelte@5.39.8)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) netlify-cli: specifier: 'catalog:' version: 23.5.1(@types/node@18.19.119)(picomatch@4.0.3)(rollup@4.50.1) svelte: specifier: 'catalog:' - version: 5.39.3 + version: 5.39.8 vite: specifier: 'catalog:' version: 6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0) @@ -309,13 +309,13 @@ importers: version: link:../../../../kit '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.39.3)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) + version: 6.0.0-next.3(svelte@5.39.8)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) netlify-cli: specifier: 'catalog:' version: 23.5.1(@types/node@18.19.119)(picomatch@4.0.3)(rollup@4.50.1) svelte: specifier: 'catalog:' - version: 5.39.3 + version: 5.39.8 vite: specifier: 'catalog:' version: 6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0) @@ -343,7 +343,7 @@ importers: version: link:../kit '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.39.3)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) + version: 6.0.0-next.3(svelte@5.39.8)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) '@types/node': specifier: 'catalog:' version: 18.19.119 @@ -370,7 +370,7 @@ importers: version: link:../kit '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.39.3)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) + version: 6.0.0-next.3(svelte@5.39.8)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) '@types/node': specifier: 'catalog:' version: 18.19.119 @@ -379,7 +379,7 @@ importers: version: 3.0.2 svelte: specifier: 'catalog:' - version: 5.39.3 + version: 5.39.8 typescript: specifier: ^5.3.3 version: 5.8.3 @@ -394,13 +394,13 @@ importers: version: link:../../../../kit '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.39.3)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) + version: 6.0.0-next.3(svelte@5.39.8)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) sirv-cli: specifier: 'catalog:' version: 3.0.0 svelte: specifier: 'catalog:' - version: 5.39.3 + version: 5.39.8 vite: specifier: 'catalog:' version: 6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0) @@ -415,13 +415,13 @@ importers: version: link:../../../../kit '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.39.3)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) + version: 6.0.0-next.3(svelte@5.39.8)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) sirv-cli: specifier: 'catalog:' version: 3.0.0 svelte: specifier: 'catalog:' - version: 5.39.3 + version: 5.39.8 vite: specifier: 'catalog:' version: 6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0) @@ -440,7 +440,7 @@ importers: version: link:../kit '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.39.3)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) + version: 6.0.0-next.3(svelte@5.39.8)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) '@types/node': specifier: 'catalog:' version: 18.19.119 @@ -470,7 +470,7 @@ importers: version: 0.34.4 svelte-parse-markup: specifier: ^0.1.5 - version: 0.1.5(svelte@5.39.3) + version: 0.1.5(svelte@5.39.8) vite-imagetools: specifier: ^8.0.0 version: 8.0.0(rollup@4.50.1) @@ -480,7 +480,7 @@ importers: devDependencies: '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.39.3)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) + version: 6.0.0-next.3(svelte@5.39.8)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) '@types/estree': specifier: 'catalog:' version: 1.0.8 @@ -492,7 +492,7 @@ importers: version: 4.50.1 svelte: specifier: 'catalog:' - version: 5.39.3 + version: 5.39.8 typescript: specifier: ^5.6.3 version: 5.8.3 @@ -553,7 +553,7 @@ importers: version: 1.51.1 '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.39.3)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) + version: 6.0.0-next.3(svelte@5.39.8)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) '@types/connect': specifier: 'catalog:' version: 3.4.38 @@ -571,10 +571,10 @@ importers: version: 4.50.1 svelte: specifier: 'catalog:' - version: 5.39.3 + version: 5.39.8 svelte-preprocess: specifier: 'catalog:' - version: 6.0.0(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@18.19.119)(typescript@5.8.3)))(postcss@8.5.6)(svelte@5.39.3)(typescript@5.8.3) + version: 6.0.0(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@18.19.119)(typescript@5.8.3)))(postcss@8.5.6)(svelte@5.39.8)(typescript@5.8.3) typescript: specifier: ^5.3.3 version: 5.8.3 @@ -595,16 +595,16 @@ importers: version: link:../../.. '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.39.3)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) + version: 6.0.0-next.3(svelte@5.39.8)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) dropcss: specifier: 'catalog:' version: 1.0.16 svelte: specifier: 'catalog:' - version: 5.39.3 + version: 5.39.8 svelte-check: specifier: 'catalog:' - version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.8)(typescript@5.8.3) typescript: specifier: ^5.5.4 version: 5.8.3 @@ -628,16 +628,16 @@ importers: version: link:../../.. '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.39.3)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) + version: 6.0.0-next.3(svelte@5.39.8)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) '@vitest/browser': specifier: 'catalog:' version: 3.2.4(playwright@1.51.1)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0))(vitest@3.2.4) svelte: specifier: 'catalog:' - version: 5.39.3 + version: 5.39.8 svelte-check: specifier: 'catalog:' - version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.8)(typescript@5.8.3) test-redirect-importer: specifier: workspace:* version: link:../../../../test-redirect-importer @@ -661,7 +661,7 @@ importers: version: link:../../.. '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.39.3)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) + version: 6.0.0-next.3(svelte@5.39.8)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) e2e-test-dep-error: specifier: file:./_test_dependencies/cjs-only version: e2e-test-dep-cjs-only@file:packages/kit/test/apps/dev-only/_test_dependencies/cjs-only @@ -694,10 +694,10 @@ importers: version: e2e-test-dep-cjs-only@file:packages/kit/test/apps/dev-only/_test_dependencies/cjs-only svelte: specifier: 'catalog:' - version: 5.39.3 + version: 5.39.8 svelte-check: specifier: 'catalog:' - version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.8)(typescript@5.8.3) typescript: specifier: ^5.5.4 version: 5.8.3 @@ -712,13 +712,13 @@ importers: version: link:../../.. '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.39.3)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) + version: 6.0.0-next.3(svelte@5.39.8)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) svelte: specifier: 'catalog:' - version: 5.39.3 + version: 5.39.8 svelte-check: specifier: 'catalog:' - version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.8)(typescript@5.8.3) typescript: specifier: ^5.5.4 version: 5.8.3 @@ -733,13 +733,13 @@ importers: version: link:../../.. '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.39.3)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) + version: 6.0.0-next.3(svelte@5.39.8)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) svelte: specifier: 'catalog:' - version: 5.39.3 + version: 5.39.8 svelte-check: specifier: 'catalog:' - version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.8)(typescript@5.8.3) typescript: specifier: ^5.5.4 version: 5.8.3 @@ -754,13 +754,13 @@ importers: version: link:../../.. '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.39.3)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) + version: 6.0.0-next.3(svelte@5.39.8)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) svelte: specifier: 'catalog:' - version: 5.39.3 + version: 5.39.8 svelte-check: specifier: 'catalog:' - version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.8)(typescript@5.8.3) typescript: specifier: ^5.5.4 version: 5.8.3 @@ -778,13 +778,13 @@ importers: version: link:../../.. '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.39.3)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) + version: 6.0.0-next.3(svelte@5.39.8)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) svelte: specifier: 'catalog:' - version: 5.39.3 + version: 5.39.8 svelte-check: specifier: 'catalog:' - version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.8)(typescript@5.8.3) typescript: specifier: ^5.5.4 version: 5.8.3 @@ -802,13 +802,13 @@ importers: version: link:../../.. '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.39.3)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) + version: 6.0.0-next.3(svelte@5.39.8)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) svelte: specifier: 'catalog:' - version: 5.39.3 + version: 5.39.8 svelte-check: specifier: 'catalog:' - version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.8)(typescript@5.8.3) typescript: specifier: ^5.5.4 version: 5.8.3 @@ -829,13 +829,13 @@ importers: version: link:../../.. '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.39.3)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) + version: 6.0.0-next.3(svelte@5.39.8)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) svelte: specifier: 'catalog:' - version: 5.39.3 + version: 5.39.8 svelte-check: specifier: 'catalog:' - version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.8)(typescript@5.8.3) typescript: specifier: ^5.5.4 version: 5.8.3 @@ -850,13 +850,13 @@ importers: version: link:../../.. '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.39.3)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) + version: 6.0.0-next.3(svelte@5.39.8)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) svelte: specifier: 'catalog:' - version: 5.39.3 + version: 5.39.8 svelte-check: specifier: 'catalog:' - version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.8)(typescript@5.8.3) typescript: specifier: ^5.5.4 version: 5.8.3 @@ -871,13 +871,13 @@ importers: version: link:../../.. '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.39.3)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) + version: 6.0.0-next.3(svelte@5.39.8)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) svelte: specifier: 'catalog:' - version: 5.39.3 + version: 5.39.8 svelte-check: specifier: 'catalog:' - version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.8)(typescript@5.8.3) typescript: specifier: ^5.5.4 version: 5.8.3 @@ -901,13 +901,13 @@ importers: version: link:../../../.. '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.39.3)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) + version: 6.0.0-next.3(svelte@5.39.8)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) svelte: specifier: 'catalog:' - version: 5.39.3 + version: 5.39.8 svelte-check: specifier: 'catalog:' - version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.8)(typescript@5.8.3) typescript: specifier: ^5.5.4 version: 5.8.3 @@ -925,13 +925,13 @@ importers: version: link:../../../.. '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.39.3)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) + version: 6.0.0-next.3(svelte@5.39.8)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) svelte: specifier: 'catalog:' - version: 5.39.3 + version: 5.39.8 svelte-check: specifier: 'catalog:' - version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.8)(typescript@5.8.3) typescript: specifier: ^5.5.4 version: 5.8.3 @@ -949,13 +949,13 @@ importers: version: link:../../../.. '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.39.3)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) + version: 6.0.0-next.3(svelte@5.39.8)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) svelte: specifier: 'catalog:' - version: 5.39.3 + version: 5.39.8 svelte-check: specifier: 'catalog:' - version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.8)(typescript@5.8.3) typescript: specifier: ^5.5.4 version: 5.8.3 @@ -973,13 +973,13 @@ importers: version: link:../../../.. '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.39.3)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) + version: 6.0.0-next.3(svelte@5.39.8)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) svelte: specifier: 'catalog:' - version: 5.39.3 + version: 5.39.8 svelte-check: specifier: 'catalog:' - version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.8)(typescript@5.8.3) typescript: specifier: ^5.5.4 version: 5.8.3 @@ -994,13 +994,13 @@ importers: version: link:../../../.. '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.39.3)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) + version: 6.0.0-next.3(svelte@5.39.8)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) svelte: specifier: 'catalog:' - version: 5.39.3 + version: 5.39.8 svelte-check: specifier: 'catalog:' - version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.8)(typescript@5.8.3) typescript: specifier: ^5.5.4 version: 5.8.3 @@ -1015,13 +1015,13 @@ importers: version: link:../../../.. '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.39.3)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) + version: 6.0.0-next.3(svelte@5.39.8)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) svelte: specifier: 'catalog:' - version: 5.39.3 + version: 5.39.8 svelte-check: specifier: 'catalog:' - version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.8)(typescript@5.8.3) typescript: specifier: ^5.5.4 version: 5.8.3 @@ -1036,13 +1036,13 @@ importers: version: link:../../../.. '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.39.3)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) + version: 6.0.0-next.3(svelte@5.39.8)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) svelte: specifier: 'catalog:' - version: 5.39.3 + version: 5.39.8 svelte-check: specifier: 'catalog:' - version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.8)(typescript@5.8.3) typescript: specifier: ^5.5.4 version: 5.8.3 @@ -1057,13 +1057,13 @@ importers: version: link:../../../.. '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.39.3)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) + version: 6.0.0-next.3(svelte@5.39.8)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) svelte: specifier: 'catalog:' - version: 5.39.3 + version: 5.39.8 svelte-check: specifier: 'catalog:' - version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.8)(typescript@5.8.3) typescript: specifier: ^5.5.4 version: 5.8.3 @@ -1078,13 +1078,13 @@ importers: version: link:../../../.. '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.39.3)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) + version: 6.0.0-next.3(svelte@5.39.8)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) svelte: specifier: 'catalog:' - version: 5.39.3 + version: 5.39.8 svelte-check: specifier: 'catalog:' - version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.8)(typescript@5.8.3) typescript: specifier: ^5.5.4 version: 5.8.3 @@ -1099,13 +1099,13 @@ importers: version: link:../../../.. '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.39.3)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) + version: 6.0.0-next.3(svelte@5.39.8)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) svelte: specifier: 'catalog:' - version: 5.39.3 + version: 5.39.8 svelte-check: specifier: 'catalog:' - version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.8)(typescript@5.8.3) typescript: specifier: ^5.5.4 version: 5.8.3 @@ -1120,13 +1120,13 @@ importers: version: link:../../../.. '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.39.3)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) + version: 6.0.0-next.3(svelte@5.39.8)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) svelte: specifier: 'catalog:' - version: 5.39.3 + version: 5.39.8 svelte-check: specifier: 'catalog:' - version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.8)(typescript@5.8.3) typescript: specifier: ^5.5.4 version: 5.8.3 @@ -1141,13 +1141,13 @@ importers: version: link:../../../.. '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.39.3)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) + version: 6.0.0-next.3(svelte@5.39.8)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) svelte: specifier: 'catalog:' - version: 5.39.3 + version: 5.39.8 svelte-check: specifier: 'catalog:' - version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.8)(typescript@5.8.3) typescript: specifier: ^5.5.4 version: 5.8.3 @@ -1162,13 +1162,13 @@ importers: version: link:../../../.. '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.39.3)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) + version: 6.0.0-next.3(svelte@5.39.8)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) svelte: specifier: 'catalog:' - version: 5.39.3 + version: 5.39.8 svelte-check: specifier: 'catalog:' - version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.8)(typescript@5.8.3) typescript: specifier: ^5.5.4 version: 5.8.3 @@ -1183,13 +1183,13 @@ importers: version: link:../../../.. '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.39.3)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) + version: 6.0.0-next.3(svelte@5.39.8)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) svelte: specifier: 'catalog:' - version: 5.39.3 + version: 5.39.8 svelte-check: specifier: 'catalog:' - version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.8)(typescript@5.8.3) typescript: specifier: ^5.5.4 version: 5.8.3 @@ -1204,13 +1204,13 @@ importers: version: link:../../../.. '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.39.3)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) + version: 6.0.0-next.3(svelte@5.39.8)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) svelte: specifier: 'catalog:' - version: 5.39.3 + version: 5.39.8 svelte-check: specifier: 'catalog:' - version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.8)(typescript@5.8.3) typescript: specifier: ^5.5.4 version: 5.8.3 @@ -1225,13 +1225,13 @@ importers: version: link:../../.. '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.39.3)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) + version: 6.0.0-next.3(svelte@5.39.8)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) svelte: specifier: 'catalog:' - version: 5.39.3 + version: 5.39.8 svelte-check: specifier: 'catalog:' - version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.8)(typescript@5.8.3) typescript: specifier: ^5.5.4 version: 5.8.3 @@ -1249,13 +1249,13 @@ importers: version: link:../../.. '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.39.3)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) + version: 6.0.0-next.3(svelte@5.39.8)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) svelte: specifier: 'catalog:' - version: 5.39.3 + version: 5.39.8 svelte-check: specifier: 'catalog:' - version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.8)(typescript@5.8.3) typescript: specifier: ^5.5.4 version: 5.8.3 @@ -1273,13 +1273,13 @@ importers: version: link:../../.. '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.39.3)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) + version: 6.0.0-next.3(svelte@5.39.8)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) svelte: specifier: 'catalog:' - version: 5.39.3 + version: 5.39.8 svelte-check: specifier: 'catalog:' - version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.8)(typescript@5.8.3) typescript: specifier: ^5.5.4 version: 5.8.3 @@ -1306,11 +1306,11 @@ importers: version: 7.7.2 svelte2tsx: specifier: ~0.7.33 - version: 0.7.33(svelte@5.39.3)(typescript@5.8.3) + version: 0.7.33(svelte@5.39.8)(typescript@5.8.3) devDependencies: '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.39.3)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) + version: 6.0.0-next.3(svelte@5.39.8)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) '@types/node': specifier: 'catalog:' version: 18.19.119 @@ -1322,10 +1322,10 @@ importers: version: 3.6.0 svelte: specifier: 'catalog:' - version: 5.39.3 + version: 5.39.8 svelte-preprocess: specifier: 'catalog:' - version: 6.0.0(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@18.19.119)(typescript@5.8.3)))(postcss@8.5.6)(svelte@5.39.3)(typescript@5.8.3) + version: 6.0.0(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@18.19.119)(typescript@5.8.3)))(postcss@8.5.6)(svelte@5.39.8)(typescript@5.8.3) typescript: specifier: ^5.3.3 version: 5.8.3 @@ -1373,22 +1373,22 @@ importers: version: link:../../packages/package '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.39.3)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) + version: 6.0.0-next.3(svelte@5.39.8)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) prettier: specifier: ^3.3.2 version: 3.6.0 prettier-plugin-svelte: specifier: ^3.2.6 - version: 3.4.0(prettier@3.6.0)(svelte@5.39.3) + version: 3.4.0(prettier@3.6.0)(svelte@5.39.8) publint: specifier: 'catalog:' version: 0.3.0 svelte: specifier: 'catalog:' - version: 5.39.3 + version: 5.39.8 svelte-check: specifier: 'catalog:' - version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.8)(typescript@5.8.3) typescript: specifier: ^5.5.0 version: 5.8.3 @@ -6752,8 +6752,8 @@ packages: svelte: ^3.55 || ^4.0.0-next.0 || ^4.0 || ^5.0.0-next.0 typescript: ^4.9.4 || ^5.0.0 - svelte@5.39.3: - resolution: {integrity: sha512-7Jwus6iXviGZAvhqbeYu3NNHA6LGyQ8EbmjdAhJUDade5rrW6g9VnBbRhUuYX4pMZLHozijsFolt88zvKPfsbQ==} + svelte@5.39.8: + resolution: {integrity: sha512-KfZ3hCITdxIXTOvrea4nFZX2o+47HPTChKeocgj9BwJQYqWrviVCcPj4boXHF5yf8+eBKqhHY8xii//XaakKXA==} engines: {node: '>=18'} svgo@4.0.0: @@ -9216,34 +9216,34 @@ snapshots: dependencies: acorn: 8.15.0 - '@sveltejs/eslint-config@8.2.0(@stylistic/eslint-plugin-js@2.1.0(eslint@9.34.0(jiti@2.4.2)))(eslint-config-prettier@9.1.0(eslint@9.34.0(jiti@2.4.2)))(eslint-plugin-n@17.16.1(eslint@9.34.0(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-svelte@3.9.3(eslint@9.34.0(jiti@2.4.2))(svelte@5.39.3)(ts-node@10.9.2(@types/node@18.19.119)(typescript@5.8.3)))(eslint@9.34.0(jiti@2.4.2))(typescript-eslint@8.43.0(eslint@9.34.0(jiti@2.4.2))(typescript@5.8.3))(typescript@5.8.3)': + '@sveltejs/eslint-config@8.2.0(@stylistic/eslint-plugin-js@2.1.0(eslint@9.34.0(jiti@2.4.2)))(eslint-config-prettier@9.1.0(eslint@9.34.0(jiti@2.4.2)))(eslint-plugin-n@17.16.1(eslint@9.34.0(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-svelte@3.9.3(eslint@9.34.0(jiti@2.4.2))(svelte@5.39.8)(ts-node@10.9.2(@types/node@18.19.119)(typescript@5.8.3)))(eslint@9.34.0(jiti@2.4.2))(typescript-eslint@8.43.0(eslint@9.34.0(jiti@2.4.2))(typescript@5.8.3))(typescript@5.8.3)': dependencies: '@stylistic/eslint-plugin-js': 2.1.0(eslint@9.34.0(jiti@2.4.2)) eslint: 9.34.0(jiti@2.4.2) eslint-config-prettier: 9.1.0(eslint@9.34.0(jiti@2.4.2)) eslint-plugin-n: 17.16.1(eslint@9.34.0(jiti@2.4.2))(typescript@5.8.3) - eslint-plugin-svelte: 3.9.3(eslint@9.34.0(jiti@2.4.2))(svelte@5.39.3)(ts-node@10.9.2(@types/node@18.19.119)(typescript@5.8.3)) + eslint-plugin-svelte: 3.9.3(eslint@9.34.0(jiti@2.4.2))(svelte@5.39.8)(ts-node@10.9.2(@types/node@18.19.119)(typescript@5.8.3)) globals: 15.15.0 typescript: 5.8.3 typescript-eslint: 8.43.0(eslint@9.34.0(jiti@2.4.2))(typescript@5.8.3) - '@sveltejs/vite-plugin-svelte-inspector@5.0.0-next.0(@sveltejs/vite-plugin-svelte@6.0.0-next.3(svelte@5.39.3)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)))(svelte@5.39.3)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0))': + '@sveltejs/vite-plugin-svelte-inspector@5.0.0-next.0(@sveltejs/vite-plugin-svelte@6.0.0-next.3(svelte@5.39.8)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)))(svelte@5.39.8)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0))': dependencies: - '@sveltejs/vite-plugin-svelte': 6.0.0-next.3(svelte@5.39.3)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) + '@sveltejs/vite-plugin-svelte': 6.0.0-next.3(svelte@5.39.8)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) debug: 4.4.1(supports-color@10.0.0) - svelte: 5.39.3 + svelte: 5.39.8 vite: 6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0) transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte@6.0.0-next.3(svelte@5.39.3)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0))': + '@sveltejs/vite-plugin-svelte@6.0.0-next.3(svelte@5.39.8)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0))': dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 5.0.0-next.0(@sveltejs/vite-plugin-svelte@6.0.0-next.3(svelte@5.39.3)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)))(svelte@5.39.3)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) + '@sveltejs/vite-plugin-svelte-inspector': 5.0.0-next.0(@sveltejs/vite-plugin-svelte@6.0.0-next.3(svelte@5.39.8)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)))(svelte@5.39.8)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) debug: 4.4.1(supports-color@10.0.0) deepmerge: 4.3.1 kleur: 4.1.5 magic-string: 0.30.17 - svelte: 5.39.3 + svelte: 5.39.8 vite: 6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0) vitefu: 1.1.1(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) transitivePeerDependencies: @@ -10574,7 +10574,7 @@ snapshots: - supports-color - typescript - eslint-plugin-svelte@3.9.3(eslint@9.34.0(jiti@2.4.2))(svelte@5.39.3)(ts-node@10.9.2(@types/node@18.19.119)(typescript@5.8.3)): + eslint-plugin-svelte@3.9.3(eslint@9.34.0(jiti@2.4.2))(svelte@5.39.8)(ts-node@10.9.2(@types/node@18.19.119)(typescript@5.8.3)): dependencies: '@eslint-community/eslint-utils': 4.9.0(eslint@9.34.0(jiti@2.4.2)) '@jridgewell/sourcemap-codec': 1.5.5 @@ -10586,9 +10586,9 @@ snapshots: postcss-load-config: 3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@18.19.119)(typescript@5.8.3)) postcss-safe-parser: 7.0.1(postcss@8.5.6) semver: 7.7.2 - svelte-eslint-parser: 1.3.1(svelte@5.39.3) + svelte-eslint-parser: 1.3.1(svelte@5.39.8) optionalDependencies: - svelte: 5.39.3 + svelte: 5.39.8 transitivePeerDependencies: - ts-node @@ -12416,10 +12416,10 @@ snapshots: prelude-ls@1.2.1: {} - prettier-plugin-svelte@3.4.0(prettier@3.6.0)(svelte@5.39.3): + prettier-plugin-svelte@3.4.0(prettier@3.6.0)(svelte@5.39.8): dependencies: prettier: 3.6.0 - svelte: 5.39.3 + svelte: 5.39.8 prettier@2.8.8: {} @@ -13066,19 +13066,19 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - svelte-check@4.1.1(picomatch@4.0.3)(svelte@5.39.3)(typescript@5.8.3): + svelte-check@4.1.1(picomatch@4.0.3)(svelte@5.39.8)(typescript@5.8.3): dependencies: '@jridgewell/trace-mapping': 0.3.25 chokidar: 4.0.3 fdir: 6.5.0(picomatch@4.0.3) picocolors: 1.1.1 sade: 1.8.1 - svelte: 5.39.3 + svelte: 5.39.8 typescript: 5.8.3 transitivePeerDependencies: - picomatch - svelte-eslint-parser@1.3.1(svelte@5.39.3): + svelte-eslint-parser@1.3.1(svelte@5.39.8): dependencies: eslint-scope: 8.4.0 eslint-visitor-keys: 4.2.1 @@ -13087,30 +13087,30 @@ snapshots: postcss-scss: 4.0.9(postcss@8.5.6) postcss-selector-parser: 7.1.0 optionalDependencies: - svelte: 5.39.3 + svelte: 5.39.8 - svelte-parse-markup@0.1.5(svelte@5.39.3): + svelte-parse-markup@0.1.5(svelte@5.39.8): dependencies: - svelte: 5.39.3 + svelte: 5.39.8 - svelte-preprocess@6.0.0(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@18.19.119)(typescript@5.8.3)))(postcss@8.5.6)(svelte@5.39.3)(typescript@5.8.3): + svelte-preprocess@6.0.0(postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@18.19.119)(typescript@5.8.3)))(postcss@8.5.6)(svelte@5.39.8)(typescript@5.8.3): dependencies: detect-indent: 6.1.0 strip-indent: 3.0.0 - svelte: 5.39.3 + svelte: 5.39.8 optionalDependencies: postcss: 8.5.6 postcss-load-config: 3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@18.19.119)(typescript@5.8.3)) typescript: 5.8.3 - svelte2tsx@0.7.33(svelte@5.39.3)(typescript@5.8.3): + svelte2tsx@0.7.33(svelte@5.39.8)(typescript@5.8.3): dependencies: dedent-js: 1.0.1 pascal-case: 3.1.2 - svelte: 5.39.3 + svelte: 5.39.8 typescript: 5.8.3 - svelte@5.39.3: + svelte@5.39.8: dependencies: '@jridgewell/remapping': 2.3.5 '@jridgewell/sourcemap-codec': 1.5.5 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 0d59c21ac0cd..c75cb8a4bbd9 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -40,7 +40,7 @@ catalog: publint: ^0.3.0 semver: ^7.5.4 sirv-cli: ^3.0.0 - svelte: ^5.39.3 + svelte: ^5.39.8 svelte-check: ^4.1.1 svelte-preprocess: ^6.0.0 typescript-eslint: ^8.43.0 From 6a28a6f2b454fb244e8ef4d197e00d8c272509cd Mon Sep 17 00:00:00 2001 From: Simon H <5968653+dummdidumm@users.noreply.github.com> Date: Sun, 5 Oct 2025 07:52:12 +0200 Subject: [PATCH 2/9] Update packages/kit/src/runtime/server/respond.js Co-authored-by: Patrick --- packages/kit/src/runtime/server/respond.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/kit/src/runtime/server/respond.js b/packages/kit/src/runtime/server/respond.js index 184fc83984b9..fad9371c7afd 100644 --- a/packages/kit/src/runtime/server/respond.js +++ b/packages/kit/src/runtime/server/respond.js @@ -130,7 +130,7 @@ export async function internal_respond(request, options, manifest, state) { url.searchParams.delete(INVALIDATED_PARAM); } else if (remote_id) { url.pathname = /** @type {string} */ (request.headers.get('x-sveltekit-pathname')); - url.search = /** @type {string} */ (request.headers.get('x-sveltekit-pathname')); + url.search = /** @type {string} */ (request.headers.get('x-sveltekit-search')); } /** @type {Record} */ From 7c59756c17ab64aadab2d31f00c412fa6e07706a Mon Sep 17 00:00:00 2001 From: Simon H <5968653+dummdidumm@users.noreply.github.com> Date: Sun, 5 Oct 2025 07:53:17 +0200 Subject: [PATCH 3/9] Update packages/kit/test/apps/basics/test/test.js --- packages/kit/test/apps/basics/test/test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/kit/test/apps/basics/test/test.js b/packages/kit/test/apps/basics/test/test.js index dc6d1a4aba41..3c9f941237ed 100644 --- a/packages/kit/test/apps/basics/test/test.js +++ b/packages/kit/test/apps/basics/test/test.js @@ -1642,7 +1642,7 @@ test.describe('remote functions', () => { await expect(page.locator('h1')).toHaveText('3'); }); - test.only('queries can access the route/url of the page they were called from', async ({ + test('queries can access the route/url of the page they were called from', async ({ page, clicknav }) => { From 6ae1a73bfc79c4bdd96e5e4d4769e2ff5e2cb209 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Sun, 5 Oct 2025 10:47:10 -0400 Subject: [PATCH 4/9] fix, hopefully --- .../apps/basics/src/routes/remote/event/+page.svelte | 9 +++++---- packages/kit/test/apps/basics/svelte.config.js | 6 ------ packages/kit/test/apps/basics/test/test.js | 3 +++ 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/packages/kit/test/apps/basics/src/routes/remote/event/+page.svelte b/packages/kit/test/apps/basics/src/routes/remote/event/+page.svelte index e472de03f32c..3aa05f322ddc 100644 --- a/packages/kit/test/apps/basics/src/routes/remote/event/+page.svelte +++ b/packages/kit/test/apps/basics/src/routes/remote/event/+page.svelte @@ -1,8 +1,9 @@ -

route: {event.route.id}

-

pathname: {event.url.pathname}

+ +{#await get_event() then event} +

route: {event.route.id}

+

pathname: {event.url.pathname}

+{/await} diff --git a/packages/kit/test/apps/basics/svelte.config.js b/packages/kit/test/apps/basics/svelte.config.js index 57667545cdba..fc40386676f9 100644 --- a/packages/kit/test/apps/basics/svelte.config.js +++ b/packages/kit/test/apps/basics/svelte.config.js @@ -2,12 +2,6 @@ import process from 'node:process'; /** @type {import('@sveltejs/kit').Config} */ const config = { - compilerOptions: { - experimental: { - async: true - } - }, - kit: { adapter: { name: 'test-adapter', diff --git a/packages/kit/test/apps/basics/test/test.js b/packages/kit/test/apps/basics/test/test.js index 3c9f941237ed..d6ad4caad3e1 100644 --- a/packages/kit/test/apps/basics/test/test.js +++ b/packages/kit/test/apps/basics/test/test.js @@ -1646,6 +1646,9 @@ test.describe('remote functions', () => { page, clicknav }) => { + // TODO remove once async SSR exists + if (!javaScriptEnabled) return; + await page.goto('/remote'); await clicknav('[href="/remote/event"]'); From 1af69927a4ca5cda38f3a1a177291459065bb3a7 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Sun, 5 Oct 2025 10:53:54 -0400 Subject: [PATCH 5/9] update docs --- documentation/docs/20-core-concepts/60-remote-functions.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/documentation/docs/20-core-concepts/60-remote-functions.md b/documentation/docs/20-core-concepts/60-remote-functions.md index 4d7e637b1d2b..7600b91afb44 100644 --- a/documentation/docs/20-core-concepts/60-remote-functions.md +++ b/documentation/docs/20-core-concepts/60-remote-functions.md @@ -1002,7 +1002,10 @@ const getUser = query(() => { }); ``` -Note that some properties of `RequestEvent` are different inside remote functions. There are no `params` or `route.id`, and you cannot set headers (other than writing cookies, and then only inside `form` and `command` functions), and `url.pathname` is always `/` (since the path that’s actually being requested by the client is purely an implementation detail). +Note that some properties of `RequestEvent` are different inside remote functions: + +- you cannot set headers (other than writing cookies, and then only inside `form` and `command` functions) +- `route`, `params` and `url` relate to the page the remote function was called from, _not_ the URL of the endpoint SvelteKit creates for the remote function. Queries are not re-run when the user navigates (unless the argument to the query changes as a result of navigation), and so you should be mindful of how you use these values. In particular, never use them to determine whether or not a user is authorized to access certain data. ## Redirects From dbad6deb116330fb9db8ea3a01beffd536ce50fb Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Sun, 5 Oct 2025 11:06:30 -0400 Subject: [PATCH 6/9] gah --- packages/kit/test/apps/basics/test/test.js | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/kit/test/apps/basics/test/test.js b/packages/kit/test/apps/basics/test/test.js index d6ad4caad3e1..10a4baa2d118 100644 --- a/packages/kit/test/apps/basics/test/test.js +++ b/packages/kit/test/apps/basics/test/test.js @@ -1644,6 +1644,7 @@ test.describe('remote functions', () => { test('queries can access the route/url of the page they were called from', async ({ page, + javaScriptEnabled, clicknav }) => { // TODO remove once async SSR exists From 109369672d0d6cc345ac297d09c462c8207de2fe Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Sun, 5 Oct 2025 12:09:16 -0400 Subject: [PATCH 7/9] fix --- .../src/runtime/client/remote-functions/command.svelte.js | 4 +++- .../kit/src/runtime/client/remote-functions/form.svelte.js | 6 +++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/kit/src/runtime/client/remote-functions/command.svelte.js b/packages/kit/src/runtime/client/remote-functions/command.svelte.js index 4dce3338b1af..92b6790a6a41 100644 --- a/packages/kit/src/runtime/client/remote-functions/command.svelte.js +++ b/packages/kit/src/runtime/client/remote-functions/command.svelte.js @@ -40,7 +40,9 @@ export function command(id) { refreshes: updates.map((u) => u._key) }), headers: { - 'Content-Type': 'application/json' + 'Content-Type': 'application/json', + 'x-sveltekit-pathname': location.pathname, + 'x-sveltekit-search': location.search } }); diff --git a/packages/kit/src/runtime/client/remote-functions/form.svelte.js b/packages/kit/src/runtime/client/remote-functions/form.svelte.js index e2ee9af5cb45..f50e6f320b96 100644 --- a/packages/kit/src/runtime/client/remote-functions/form.svelte.js +++ b/packages/kit/src/runtime/client/remote-functions/form.svelte.js @@ -134,7 +134,11 @@ export function form(id) { const response = await fetch(`${base}/${app_dir}/remote/${action_id}`, { method: 'POST', - body: data + body: data, + headers: { + 'x-sveltekit-pathname': location.pathname, + 'x-sveltekit-search': location.search + } }); if (!response.ok) { From b621c840a1fd3319537052a3ddbb91316a6a904e Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Sun, 5 Oct 2025 12:38:41 -0400 Subject: [PATCH 8/9] fix --- packages/kit/src/runtime/server/respond.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/kit/src/runtime/server/respond.js b/packages/kit/src/runtime/server/respond.js index fad9371c7afd..038b05991176 100644 --- a/packages/kit/src/runtime/server/respond.js +++ b/packages/kit/src/runtime/server/respond.js @@ -129,8 +129,8 @@ export async function internal_respond(request, options, manifest, state) { .map((node) => node === '1'); url.searchParams.delete(INVALIDATED_PARAM); } else if (remote_id) { - url.pathname = /** @type {string} */ (request.headers.get('x-sveltekit-pathname')); - url.search = /** @type {string} */ (request.headers.get('x-sveltekit-search')); + url.pathname = request.headers.get('x-sveltekit-pathname') ?? base; + url.search = request.headers.get('x-sveltekit-search') ?? ''; } /** @type {Record} */ From 1edecc413aab303096b180ddbf13d11932ab30df Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Sun, 5 Oct 2025 13:02:06 -0400 Subject: [PATCH 9/9] fix --- packages/kit/src/runtime/server/respond.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/kit/src/runtime/server/respond.js b/packages/kit/src/runtime/server/respond.js index 038b05991176..3edc91734380 100644 --- a/packages/kit/src/runtime/server/respond.js +++ b/packages/kit/src/runtime/server/respond.js @@ -329,7 +329,7 @@ export async function internal_respond(request, options, manifest, state) { : undefined; // determine whether we need to redirect to add/remove a trailing slash - if (route) { + if (route && !remote_id) { // if `paths.base === '/a/b/c`, then the root route is `/a/b/c/`, // regardless of the `trailingSlash` route option if (url.pathname === base || url.pathname === base + '/') {