diff --git a/.changeset/full-bats-itch.md b/.changeset/full-bats-itch.md new file mode 100644 index 000000000000..b3b73deebf4d --- /dev/null +++ b/.changeset/full-bats-itch.md @@ -0,0 +1,5 @@ +--- +'@sveltejs/kit': minor +--- + +feat: experimental async SSR diff --git a/packages/kit/package.json b/packages/kit/package.json index 88cb55c06a1c..39242cd67af9 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -87,6 +87,12 @@ "generate:version": "node scripts/generate-version.js", "generate:types": "node scripts/generate-dts.js" }, + "imports": { + "#app/paths": { + "browser": "./src/runtime/app/paths/client.js", + "default": "./src/runtime/app/paths/server.js" + } + }, "exports": { "./package.json": "./package.json", ".": { diff --git a/packages/kit/scripts/generate-dts.js b/packages/kit/scripts/generate-dts.js index e8579ec59054..b470d6d63494 100644 --- a/packages/kit/scripts/generate-dts.js +++ b/packages/kit/scripts/generate-dts.js @@ -12,7 +12,7 @@ await createBundle({ '$app/environment': 'src/runtime/app/environment/types.d.ts', '$app/forms': 'src/runtime/app/forms.js', '$app/navigation': 'src/runtime/app/navigation.js', - '$app/paths': 'src/runtime/app/paths/types.d.ts', + '$app/paths': 'src/runtime/app/paths/public.d.ts', '$app/server': 'src/runtime/app/server/index.js', '$app/state': 'src/runtime/app/state/index.js', '$app/stores': 'src/runtime/app/stores.js' diff --git a/packages/kit/src/core/sync/write_server.js b/packages/kit/src/core/sync/write_server.js index 9abf9bae7b88..ea7d9dfe0c99 100644 --- a/packages/kit/src/core/sync/write_server.js +++ b/packages/kit/src/core/sync/write_server.js @@ -31,12 +31,13 @@ const server_template = ({ }) => ` import root from '../root.${isSvelte5Plus() ? 'js' : 'svelte'}'; import { set_building, set_prerendering } from '__sveltekit/environment'; -import { set_assets } from '__sveltekit/paths'; +import { set_assets } from '$app/paths/internal/server'; import { set_manifest, set_read_implementation } from '__sveltekit/server'; import { set_private_env, set_public_env } from '${runtime_directory}/shared-server.js'; export const options = { app_template_contains_nonce: ${template.includes('%sveltekit.nonce%')}, + async: ${s(!!config.compilerOptions?.experimental?.async)}, csp: ${s(config.kit.csp)}, csrf_check_origin: ${s(config.kit.csrf.checkOrigin && !config.kit.csrf.trustedOrigins.includes('*'))}, csrf_trusted_origins: ${s(config.kit.csrf.trustedOrigins)}, diff --git a/packages/kit/src/exports/vite/dev/index.js b/packages/kit/src/exports/vite/dev/index.js index 2d9324e65201..b56fc0351727 100644 --- a/packages/kit/src/exports/vite/dev/index.js +++ b/packages/kit/src/exports/vite/dev/index.js @@ -522,7 +522,7 @@ export async function dev(vite, vite_config, svelte_config, get_remotes) { ); set_fix_stack_trace(fix_stack_trace); - const { set_assets } = await vite.ssrLoadModule('__sveltekit/paths'); + const { set_assets } = await vite.ssrLoadModule('$app/paths/internal/server'); set_assets(assets); const server = new Server(manifest); diff --git a/packages/kit/src/exports/vite/index.js b/packages/kit/src/exports/vite/index.js index 68fc82769f22..f7b2a07c0a02 100644 --- a/packages/kit/src/exports/vite/index.js +++ b/packages/kit/src/exports/vite/index.js @@ -36,7 +36,6 @@ import { env_static_public, service_worker, sveltekit_environment, - sveltekit_paths, sveltekit_server } from './module_ids.js'; import { import_peer } from '../../utils/import.js'; @@ -318,7 +317,7 @@ async function kit({ svelte_config }) { // because they for example use esbuild.build with `platform: 'browser'` 'esm-env', // This forces `$app/*` modules to be bundled, since they depend on - // virtual modules like `__sveltekit/paths` (this isn't a valid bare + // virtual modules like `__sveltekit/environment` (this isn't a valid bare // import, but it works with vite-node's externalization logic, which // uses basic concatenation) '@sveltejs/kit/src/runtime' @@ -326,18 +325,26 @@ async function kit({ svelte_config }) { } }; + const define = { + __SVELTEKIT_APP_DIR__: s(kit.appDir), + __SVELTEKIT_EMBEDDED__: s(kit.embedded), + __SVELTEKIT_EXPERIMENTAL__REMOTE_FUNCTIONS__: s(kit.experimental.remoteFunctions), + __SVELTEKIT_PATHS_ASSETS__: s(kit.paths.assets), + __SVELTEKIT_PATHS_BASE__: s(kit.paths.base), + __SVELTEKIT_PATHS_RELATIVE__: s(kit.paths.relative), + __SVELTEKIT_CLIENT_ROUTING__: s(kit.router.resolution === 'client'), + __SVELTEKIT_SERVER_TRACING_ENABLED__: s(kit.experimental.tracing.server) + }; + if (is_build) { if (!new_config.build) new_config.build = {}; new_config.build.ssr = !secondary_build_started; new_config.define = { + ...define, __SVELTEKIT_ADAPTER_NAME__: s(kit.adapter?.name), __SVELTEKIT_APP_VERSION_FILE__: s(`${kit.appDir}/version.json`), __SVELTEKIT_APP_VERSION_POLL_INTERVAL__: s(kit.version.pollInterval), - __SVELTEKIT_EMBEDDED__: s(kit.embedded), - __SVELTEKIT_EXPERIMENTAL__REMOTE_FUNCTIONS__: s(kit.experimental.remoteFunctions), - __SVELTEKIT_CLIENT_ROUTING__: s(kit.router.resolution === 'client'), - __SVELTEKIT_SERVER_TRACING_ENABLED__: s(kit.experimental.tracing.server), __SVELTEKIT_PAYLOAD__: new_config.build.ssr ? '{}' : `globalThis.__sveltekit_${version_hash}` @@ -348,11 +355,8 @@ async function kit({ svelte_config }) { } } else { new_config.define = { + ...define, __SVELTEKIT_APP_VERSION_POLL_INTERVAL__: '0', - __SVELTEKIT_EMBEDDED__: s(kit.embedded), - __SVELTEKIT_EXPERIMENTAL__REMOTE_FUNCTIONS__: s(kit.experimental.remoteFunctions), - __SVELTEKIT_CLIENT_ROUTING__: s(kit.router.resolution === 'client'), - __SVELTEKIT_SERVER_TRACING_ENABLED__: s(kit.experimental.tracing.server), __SVELTEKIT_PAYLOAD__: 'globalThis.__sveltekit_dev' }; @@ -460,48 +464,6 @@ async function kit({ svelte_config }) { case service_worker: return create_service_worker_module(svelte_config); - // for internal use only. it's published as $app/paths externally - // we use this alias so that we won't collide with user aliases - case sveltekit_paths: { - const { assets, base } = svelte_config.kit.paths; - - // use the values defined in `global`, but fall back to hard-coded values - // for the sake of things like Vitest which may import this module - // outside the context of a page - if (browser) { - return dedent` - export const base = ${global}?.base ?? ${s(base)}; - export const assets = ${global}?.assets ?? ${assets ? s(assets) : 'base'}; - export const app_dir = ${s(kit.appDir)}; - `; - } - - return dedent` - export let base = ${s(base)}; - export let assets = ${assets ? s(assets) : 'base'}; - export const app_dir = ${s(kit.appDir)}; - - export const relative = ${svelte_config.kit.paths.relative}; - - const initial = { base, assets }; - - export function override(paths) { - base = paths.base; - assets = paths.assets; - } - - export function reset() { - base = initial.base; - assets = initial.assets; - } - - /** @param {string} path */ - export function set_assets(path) { - assets = initial.assets = path; - } - `; - } - case sveltekit_environment: { const { version } = svelte_config.kit; diff --git a/packages/kit/src/exports/vite/module_ids.js b/packages/kit/src/exports/vite/module_ids.js index 549668513914..69325f3edf41 100644 --- a/packages/kit/src/exports/vite/module_ids.js +++ b/packages/kit/src/exports/vite/module_ids.js @@ -9,7 +9,6 @@ export const env_dynamic_public = '\0virtual:env/dynamic/public'; export const service_worker = '\0virtual:service-worker'; export const sveltekit_environment = '\0virtual:__sveltekit/environment'; -export const sveltekit_paths = '\0virtual:__sveltekit/paths'; export const sveltekit_server = '\0virtual:__sveltekit/server'; export const app_server = posixify( diff --git a/packages/kit/src/runtime/app/paths/client.js b/packages/kit/src/runtime/app/paths/client.js new file mode 100644 index 000000000000..510f42ede418 --- /dev/null +++ b/packages/kit/src/runtime/app/paths/client.js @@ -0,0 +1,57 @@ +/** @import { Asset, RouteId, Pathname, ResolvedPathname } from '$app/types' */ +/** @import { ResolveArgs } from './types.js' */ +import { base, assets } from './internal/client.js'; +import { resolve_route } from '../../../utils/routing.js'; + +/** + * Resolve the URL of an asset in your `static` directory, by prefixing it with [`config.kit.paths.assets`](https://svelte.dev/docs/kit/configuration#paths) if configured, or otherwise by prefixing it with the base path. + * + * During server rendering, the base path is relative and depends on the page currently being rendered. + * + * @example + * ```svelte + * + * + * a potato + * ``` + * @since 2.26 + * + * @param {Asset} file + * @returns {string} + */ +export function asset(file) { + return (assets || base) + file; +} + +/** + * Resolve a pathname by prefixing it with the base path, if any, or resolve a route ID by populating dynamic segments with parameters. + * + * During server rendering, the base path is relative and depends on the page currently being rendered. + * + * @example + * ```js + * import { resolve } from '$app/paths'; + * + * // using a pathname + * const resolved = resolve(`/blog/hello-world`); + * + * // using a route ID plus parameters + * const resolved = resolve('/blog/[slug]', { + * slug: 'hello-world' + * }); + * ``` + * @since 2.26 + * + * @template {RouteId | Pathname} T + * @param {ResolveArgs} args + * @returns {ResolvedPathname} + */ +export function resolve(...args) { + // The type error is correct here, and if someone doesn't pass params when they should there's a runtime error, + // but we don't want to adjust the internal resolve_route function to accept `undefined`, hence the type cast. + return base + resolve_route(args[0], /** @type {Record} */ (args[1])); +} + +export { base, assets, resolve as resolveRoute }; diff --git a/packages/kit/src/runtime/app/paths/index.js b/packages/kit/src/runtime/app/paths/index.js index 4ca8b262bc67..8b693eaedb72 100644 --- a/packages/kit/src/runtime/app/paths/index.js +++ b/packages/kit/src/runtime/app/paths/index.js @@ -1,16 +1 @@ -import { base, assets } from '__sveltekit/paths'; -import { resolve_route } from '../../../utils/routing.js'; - -/** @type {import('./types.d.ts').asset} */ -export function asset(file) { - return (assets || base) + file; -} - -/** @type {import('./types.d.ts').resolve} */ -export function resolve(id, params) { - // The type error is correct here, and if someone doesn't pass params when they should there's a runtime error, - // but we don't want to adjust the internal resolve_route function to accept `undefined`, hence the type cast. - return base + resolve_route(id, /** @type {Record} */ (params)); -} - -export { base, assets, resolve as resolveRoute }; +export * from '#app/paths'; diff --git a/packages/kit/src/runtime/app/paths/internal/client.js b/packages/kit/src/runtime/app/paths/internal/client.js new file mode 100644 index 000000000000..462b95de28b9 --- /dev/null +++ b/packages/kit/src/runtime/app/paths/internal/client.js @@ -0,0 +1,3 @@ +export const base = __SVELTEKIT_PAYLOAD__?.base ?? __SVELTEKIT_PATHS_BASE__; +export const assets = __SVELTEKIT_PAYLOAD__?.assets ?? base ?? __SVELTEKIT_PATHS_ASSETS__; +export const app_dir = __SVELTEKIT_APP_DIR__; diff --git a/packages/kit/src/runtime/app/paths/internal/server.js b/packages/kit/src/runtime/app/paths/internal/server.js new file mode 100644 index 000000000000..a7eaf2381191 --- /dev/null +++ b/packages/kit/src/runtime/app/paths/internal/server.js @@ -0,0 +1,24 @@ +export let base = __SVELTEKIT_PATHS_BASE__; +export let assets = __SVELTEKIT_PATHS_ASSETS__ || base; +export const app_dir = __SVELTEKIT_APP_DIR__; +export const relative = __SVELTEKIT_PATHS_RELATIVE__; + +const initial = { base, assets }; + +/** + * @param {{ base: string, assets: string }} paths + */ +export function override(paths) { + base = paths.base; + assets = paths.assets; +} + +export function reset() { + base = initial.base; + assets = initial.assets; +} + +/** @param {string} path */ +export function set_assets(path) { + assets = initial.assets = path; +} diff --git a/packages/kit/src/runtime/app/paths/public.d.ts b/packages/kit/src/runtime/app/paths/public.d.ts new file mode 100644 index 000000000000..61d6fcc07182 --- /dev/null +++ b/packages/kit/src/runtime/app/paths/public.d.ts @@ -0,0 +1,29 @@ +import { RouteId, Pathname, ResolvedPathname } from '$app/types'; +import { ResolveArgs } from './types.js'; + +export { resolve, asset } from './client.js'; + +/** + * A string that matches [`config.kit.paths.base`](https://svelte.dev/docs/kit/configuration#paths). + * + * Example usage: `Link` + * + * @deprecated Use [`resolve(...)`](https://svelte.dev/docs/kit/$app-paths#resolve) instead + */ +export let base: '' | `/${string}`; + +/** + * An absolute path that matches [`config.kit.paths.assets`](https://svelte.dev/docs/kit/configuration#paths). + * + * > [!NOTE] If a value for `config.kit.paths.assets` is specified, it will be replaced with `'/_svelte_kit_assets'` during `vite dev` or `vite preview`, since the assets don't yet live at their eventual URL. + * + * @deprecated Use [`asset(...)`](https://svelte.dev/docs/kit/$app-paths#asset) instead + */ +export let assets: '' | `https://${string}` | `http://${string}` | '/_svelte_kit_assets'; + +/** + * @deprecated Use [`resolve(...)`](https://svelte.dev/docs/kit/$app-paths#resolve) instead + */ +export function resolveRoute( + ...args: ResolveArgs +): ResolvedPathname; diff --git a/packages/kit/src/runtime/app/paths/server.js b/packages/kit/src/runtime/app/paths/server.js new file mode 100644 index 000000000000..e8a623a32d6e --- /dev/null +++ b/packages/kit/src/runtime/app/paths/server.js @@ -0,0 +1,31 @@ +import { base, assets, relative } from './internal/server.js'; +import { resolve_route } from '../../../utils/routing.js'; +import { get_request_store } from '../../../exports/internal/server.js'; // TODO not sure why we can't use `@sveltejs/kit/internal/server` here + +/** @type {import('./client.js').asset} */ +export function asset(file) { + // @ts-expect-error we use the `resolve` mechanism, but with the 'wrong' input + return assets ? assets + file : resolve(file); +} + +/** @type {import('./client.js').resolve} */ +export function resolve(id, params) { + const resolved = resolve_route(id, /** @type {Record} */ (params)); + + if (relative) { + const { event, state } = get_request_store(); + + if (state.prerendering?.fallback) { + return resolved; + } + + const segments = event.url.pathname.slice(base.length).split('/').slice(2); + const prefix = segments.map(() => '..').join('/') || '.'; + + return prefix + resolved; + } + + return resolved; +} + +export { base, assets, resolve as resolveRoute }; diff --git a/packages/kit/src/runtime/app/paths/types.d.ts b/packages/kit/src/runtime/app/paths/types.d.ts index 9e7c8e77e5a4..295201c5fd71 100644 --- a/packages/kit/src/runtime/app/paths/types.d.ts +++ b/packages/kit/src/runtime/app/paths/types.d.ts @@ -1,70 +1,7 @@ -import { Asset, RouteId, RouteParams, Pathname, ResolvedPathname } from '$app/types'; +import { Pathname, RouteId, RouteParams } from '$app/types'; -/** - * A string that matches [`config.kit.paths.base`](https://svelte.dev/docs/kit/configuration#paths). - * - * Example usage: `Link` - * - * @deprecated Use [`resolve(...)`](https://svelte.dev/docs/kit/$app-paths#resolve) instead - */ -export let base: '' | `/${string}`; - -/** - * An absolute path that matches [`config.kit.paths.assets`](https://svelte.dev/docs/kit/configuration#paths). - * - * > [!NOTE] If a value for `config.kit.paths.assets` is specified, it will be replaced with `'/_svelte_kit_assets'` during `vite dev` or `vite preview`, since the assets don't yet live at their eventual URL. - * - * @deprecated Use [`asset(...)`](https://svelte.dev/docs/kit/$app-paths#asset) instead - */ -export let assets: '' | `https://${string}` | `http://${string}` | '/_svelte_kit_assets'; - -type ResolveArgs = T extends RouteId +export type ResolveArgs = T extends RouteId ? RouteParams extends Record ? [route: T] : [route: T, params: RouteParams] : [route: T]; - -/** - * Resolve a pathname by prefixing it with the base path, if any, or resolve a route ID by populating dynamic segments with parameters. - * - * During server rendering, the base path is relative and depends on the page currently being rendered. - * - * @example - * ```js - * import { resolve } from '$app/paths'; - * - * // using a pathname - * const resolved = resolve(`/blog/hello-world`); - * - * // using a route ID plus parameters - * const resolved = resolve('/blog/[slug]', { - * slug: 'hello-world' - * }); - * ``` - * @since 2.26 - */ -export function resolve(...args: ResolveArgs): ResolvedPathname; - -/** - * Resolve the URL of an asset in your `static` directory, by prefixing it with [`config.kit.paths.assets`](https://svelte.dev/docs/kit/configuration#paths) if configured, or otherwise by prefixing it with the base path. - * - * During server rendering, the base path is relative and depends on the page currently being rendered. - * - * @example - * ```svelte - * - * - * a potato - * ``` - * @since 2.26 - */ -export function asset(file: Asset): string; - -/** - * @deprecated Use [`resolve(...)`](https://svelte.dev/docs/kit/$app-paths#resolve) instead - */ -export function resolveRoute( - ...args: ResolveArgs -): ResolvedPathname; diff --git a/packages/kit/src/runtime/app/server/index.js b/packages/kit/src/runtime/app/server/index.js index 7c793c04d074..746278ec4890 100644 --- a/packages/kit/src/runtime/app/server/index.js +++ b/packages/kit/src/runtime/app/server/index.js @@ -1,5 +1,5 @@ import { read_implementation, manifest } from '__sveltekit/server'; -import { base } from '__sveltekit/paths'; +import { base } from '$app/paths'; import { DEV } from 'esm-env'; import { base64_decode } from '../../utils.js'; diff --git a/packages/kit/src/runtime/app/server/remote/prerender.js b/packages/kit/src/runtime/app/server/remote/prerender.js index 8c19732bc52c..8e9762463063 100644 --- a/packages/kit/src/runtime/app/server/remote/prerender.js +++ b/packages/kit/src/runtime/app/server/remote/prerender.js @@ -5,7 +5,7 @@ import { error, json } from '@sveltejs/kit'; import { DEV } from 'esm-env'; import { get_request_store } from '@sveltejs/kit/internal/server'; import { stringify, stringify_remote_arg } from '../../../shared.js'; -import { app_dir, base } from '__sveltekit/paths'; +import { app_dir, base } from '$app/paths/internal/server'; import { create_validator, get_cache, diff --git a/packages/kit/src/runtime/client/client.js b/packages/kit/src/runtime/client/client.js index e1383ca8ad2a..4324606f28bf 100644 --- a/packages/kit/src/runtime/client/client.js +++ b/packages/kit/src/runtime/client/client.js @@ -26,7 +26,7 @@ import { create_updated_store, load_css } from './utils.js'; -import { base } from '__sveltekit/paths'; +import { base } from '$app/paths'; import * as devalue from 'devalue'; import { HISTORY_INDEX, 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 dbcd4594a75b..4dce3338b1af 100644 --- a/packages/kit/src/runtime/client/remote-functions/command.svelte.js +++ b/packages/kit/src/runtime/client/remote-functions/command.svelte.js @@ -1,7 +1,7 @@ /** @import { RemoteCommand, RemoteQueryOverride } from '@sveltejs/kit' */ /** @import { RemoteFunctionResponse } from 'types' */ /** @import { Query } from './query.svelte.js' */ -import { app_dir, base } from '__sveltekit/paths'; +import { app_dir, base } from '$app/paths/internal/client'; import * as devalue from 'devalue'; import { HttpError } from '@sveltejs/kit/internal'; import { app } from '../client.js'; 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 6b4b8433469d..7b831321d532 100644 --- a/packages/kit/src/runtime/client/remote-functions/form.svelte.js +++ b/packages/kit/src/runtime/client/remote-functions/form.svelte.js @@ -2,7 +2,7 @@ /** @import { RemoteFormInput, RemoteForm, RemoteQueryOverride } from '@sveltejs/kit' */ /** @import { RemoteFunctionResponse } from 'types' */ /** @import { Query } from './query.svelte.js' */ -import { app_dir, base } from '__sveltekit/paths'; +import { app_dir, base } from '$app/paths/internal/client'; import * as devalue from 'devalue'; import { DEV } from 'esm-env'; import { HttpError } from '@sveltejs/kit/internal'; diff --git a/packages/kit/src/runtime/client/remote-functions/prerender.svelte.js b/packages/kit/src/runtime/client/remote-functions/prerender.svelte.js index 7a919f899da3..035bbf2693c3 100644 --- a/packages/kit/src/runtime/client/remote-functions/prerender.svelte.js +++ b/packages/kit/src/runtime/client/remote-functions/prerender.svelte.js @@ -1,5 +1,5 @@ /** @import { RemoteFunctionResponse } from 'types' */ -import { app_dir, base } from '__sveltekit/paths'; +import { app_dir, base } from '$app/paths/internal/client'; import { version } from '__sveltekit/environment'; import * as devalue from 'devalue'; import { DEV } from 'esm-env'; diff --git a/packages/kit/src/runtime/client/remote-functions/query.svelte.js b/packages/kit/src/runtime/client/remote-functions/query.svelte.js index 4cc9e9e156d4..4b1d5adad480 100644 --- a/packages/kit/src/runtime/client/remote-functions/query.svelte.js +++ b/packages/kit/src/runtime/client/remote-functions/query.svelte.js @@ -1,6 +1,6 @@ /** @import { RemoteQueryFunction } from '@sveltejs/kit' */ /** @import { RemoteFunctionResponse } from 'types' */ -import { app_dir, base } from '__sveltekit/paths'; +import { app_dir, base } from '$app/paths/internal/client'; import { app, goto, remote_responses, started } from '../client.js'; import { tick } from 'svelte'; import { create_remote_function, remote_request } from './shared.svelte.js'; diff --git a/packages/kit/src/runtime/client/utils.js b/packages/kit/src/runtime/client/utils.js index 6c324d1a769b..c233ef9ae52f 100644 --- a/packages/kit/src/runtime/client/utils.js +++ b/packages/kit/src/runtime/client/utils.js @@ -1,6 +1,6 @@ import { BROWSER, DEV } from 'esm-env'; import { writable } from 'svelte/store'; -import { assets } from '__sveltekit/paths'; +import { assets } from '$app/paths'; import { version } from '__sveltekit/environment'; import { PRELOAD_PRIORITIES } from './constants.js'; diff --git a/packages/kit/src/runtime/server/fetch.js b/packages/kit/src/runtime/server/fetch.js index 7403407a9477..3f8551ca2e12 100644 --- a/packages/kit/src/runtime/server/fetch.js +++ b/packages/kit/src/runtime/server/fetch.js @@ -1,6 +1,6 @@ import * as set_cookie_parser from 'set-cookie-parser'; import { respond } from './respond.js'; -import * as paths from '__sveltekit/paths'; +import * as paths from '$app/paths/internal/server'; import { read_implementation } from '__sveltekit/server'; import { has_prerendered_path } from './utils.js'; diff --git a/packages/kit/src/runtime/server/page/render.js b/packages/kit/src/runtime/server/page/render.js index bc46fcd12535..7a2a366de8f5 100644 --- a/packages/kit/src/runtime/server/page/render.js +++ b/packages/kit/src/runtime/server/page/render.js @@ -2,7 +2,7 @@ import * as devalue from 'devalue'; import { readable, writable } from 'svelte/store'; import { DEV } from 'esm-env'; import { text } from '@sveltejs/kit'; -import * as paths from '__sveltekit/paths'; +import * as paths from '$app/paths/internal/server'; import { hash } from '../../../utils/hash.js'; import { serialize_data } from './serialize_data.js'; import { s } from '../../../utils/misc.js'; @@ -168,10 +168,6 @@ export async function render_response({ state: {} }; - // use relative paths during rendering, so that the resulting HTML is as - // portable as possible, but reset afterwards - if (paths.relative) paths.override({ base, assets }); - const render_opts = { context: new Map([ [ @@ -183,48 +179,55 @@ export async function render_response({ ]) }; - if (DEV) { - const fetch = globalThis.fetch; - let warned = false; - globalThis.fetch = (info, init) => { - if (typeof info === 'string' && !SCHEME.test(info)) { - throw new Error( - `Cannot call \`fetch\` eagerly during server-side rendering with relative URL (${info}) — put your \`fetch\` calls inside \`onMount\` or a \`load\` function instead` - ); - } else if (!warned) { - console.warn( - 'Avoid calling `fetch` eagerly during server-side rendering — put your `fetch` calls inside `onMount` or a `load` function instead' - ); - warned = true; + const fetch = globalThis.fetch; + + try { + if (DEV) { + let warned = false; + globalThis.fetch = (info, init) => { + if (typeof info === 'string' && !SCHEME.test(info)) { + throw new Error( + `Cannot call \`fetch\` eagerly during server-side rendering with relative URL (${info}) — put your \`fetch\` calls inside \`onMount\` or a \`load\` function instead` + ); + } else if (!warned) { + console.warn( + 'Avoid calling `fetch` eagerly during server-side rendering — put your `fetch` calls inside `onMount` or a `load` function instead' + ); + warned = true; + } + + return fetch(info, init); + }; + } + + rendered = await with_request_store({ event, state: event_state }, async () => { + // use relative paths during rendering, so that the resulting HTML is as + // portable as possible, but reset afterwards + if (paths.relative) paths.override({ base, assets }); + + const rendered = options.root.render(props, render_opts); + + // TODO 3.0 remove options.async + if (options.async) { + // we reset this synchronously, rather than after async rendering is complete, + // to avoid cross-talk between requests. This is a breaking change for + // anyone who opts into async SSR, since `base` and `assets` will no + // longer be relative to the current pathname. + // TODO 3.0 remove `base` and `assets` in favour of `resolve(...)` and `asset(...)` + paths.reset(); } - return fetch(info, init); - }; + // eslint-disable-next-line + const { head, html, css } = options.async ? await rendered : rendered; - try { - rendered = with_request_store({ event, state: event_state }, () => { - const result = options.root.render(props, render_opts); - // Svelte 5.39.0 changed the properties lazily start the rendering to be able to have the same signature for sync and async render. - // 5.39.1 extended that to the old class components. Rendering isn't started until one of the properties is accessed, so we do that here, - // else we might get errors about missing request store context - result.html; - return result; - }); - } finally { + return { head, html, css }; + }); + } finally { + if (DEV) { globalThis.fetch = fetch; - paths.reset(); - } - } else { - try { - rendered = with_request_store({ event, state: event_state }, () => { - const result = options.root.render(props, render_opts); - // See comment above - result.html; - return result; - }); - } finally { - paths.reset(); } + + paths.reset(); // just in case `options.root.render(...)` failed } for (const { node } of branch) { diff --git a/packages/kit/src/runtime/server/page/server_routing.js b/packages/kit/src/runtime/server/page/server_routing.js index 161e8e39f8f1..86496e04bb8c 100644 --- a/packages/kit/src/runtime/server/page/server_routing.js +++ b/packages/kit/src/runtime/server/page/server_routing.js @@ -1,4 +1,4 @@ -import { base, assets, relative } from '__sveltekit/paths'; +import { base, assets, relative } from '$app/paths/internal/server'; import { text } from '@sveltejs/kit'; import { s } from '../../../utils/misc.js'; import { exec } from '../../../utils/routing.js'; diff --git a/packages/kit/src/runtime/server/remote.js b/packages/kit/src/runtime/server/remote.js index 15285bc6ec82..9e3dab46f16a 100644 --- a/packages/kit/src/runtime/server/remote.js +++ b/packages/kit/src/runtime/server/remote.js @@ -4,7 +4,7 @@ import { json, error } from '@sveltejs/kit'; import { HttpError, Redirect, SvelteKitError } from '@sveltejs/kit/internal'; import { with_request_store, merge_tracing } from '@sveltejs/kit/internal/server'; -import { app_dir, base } from '__sveltekit/paths'; +import { app_dir, base } from '$app/paths/internal/server'; import { is_form_content_type } from '../../utils/http.js'; import { parse_remote_arg, stringify } from '../shared.js'; import { handle_error_and_jsonify } from './utils.js'; diff --git a/packages/kit/src/runtime/server/respond.js b/packages/kit/src/runtime/server/respond.js index e162a0f894cc..2ae93c3aa145 100644 --- a/packages/kit/src/runtime/server/respond.js +++ b/packages/kit/src/runtime/server/respond.js @@ -3,7 +3,7 @@ import { DEV } from 'esm-env'; import { json, text } from '@sveltejs/kit'; import { Redirect, SvelteKitError } from '@sveltejs/kit/internal'; import { merge_tracing, with_request_store } from '@sveltejs/kit/internal/server'; -import { base, app_dir } from '__sveltekit/paths'; +import { base, app_dir } from '$app/paths/internal/server'; import { is_endpoint_request, render_endpoint } from './endpoint.js'; import { render_page } from './page/index.js'; import { render_response } from './page/render.js'; diff --git a/packages/kit/src/types/global-private.d.ts b/packages/kit/src/types/global-private.d.ts index 1fa6d581a392..beaba7ec87d7 100644 --- a/packages/kit/src/types/global-private.d.ts +++ b/packages/kit/src/types/global-private.d.ts @@ -1,8 +1,12 @@ declare global { const __SVELTEKIT_ADAPTER_NAME__: string; + const __SVELTEKIT_APP_DIR__: string; const __SVELTEKIT_APP_VERSION_FILE__: string; const __SVELTEKIT_APP_VERSION_POLL_INTERVAL__: number; const __SVELTEKIT_EMBEDDED__: boolean; + const __SVELTEKIT_PATHS_ASSETS__: string; + const __SVELTEKIT_PATHS_BASE__: string; + const __SVELTEKIT_PATHS_RELATIVE__: boolean; /** True if `config.kit.experimental.instrumentation.server` is `true` */ const __SVELTEKIT_SERVER_TRACING_ENABLED__: boolean; /** true if corresponding config option is set to true */ diff --git a/packages/kit/src/types/internal.d.ts b/packages/kit/src/types/internal.d.ts index a9203cf1f94b..ed0ceed4cf4b 100644 --- a/packages/kit/src/types/internal.d.ts +++ b/packages/kit/src/types/internal.d.ts @@ -441,6 +441,7 @@ export type SSRNodeLoader = () => Promise; export interface SSROptions { app_template_contains_nonce: boolean; + async: boolean; csp: ValidatedConfig['kit']['csp']; csrf_check_origin: boolean; csrf_trusted_origins: string[]; diff --git a/packages/kit/tsconfig.json b/packages/kit/tsconfig.json index f87ec5cfe3cb..f94a6a9ec71c 100644 --- a/packages/kit/tsconfig.json +++ b/packages/kit/tsconfig.json @@ -14,6 +14,9 @@ "@sveltejs/kit/node/polyfills": ["./src/exports/node/polyfills.js"], "@sveltejs/kit/internal": ["./src/exports/internal/index.js"], "@sveltejs/kit/internal/server": ["./src/exports/internal/server.js"], + "$app/paths": ["./src/runtime/app/paths/public.d.ts"], + "$app/paths/internal/client": ["./src/runtime/app/paths/internal/client.js"], + "$app/paths/internal/server": ["./src/runtime/app/paths/internal/server.js"], "$app/server": ["./src/runtime/app/server/index.js"], // internal use only "types": ["./src/types/internal.d.ts"] diff --git a/packages/kit/types/index.d.ts b/packages/kit/types/index.d.ts index 297a6cda3a36..f93f663fdf88 100644 --- a/packages/kit/types/index.d.ts +++ b/packages/kit/types/index.d.ts @@ -2930,7 +2930,7 @@ declare module '$app/navigation' { } declare module '$app/paths' { - import type { Asset, RouteId, RouteParams, Pathname, ResolvedPathname } from '$app/types'; + import type { RouteId, Pathname, ResolvedPathname, RouteParams, Asset } from '$app/types'; /** * A string that matches [`config.kit.paths.base`](https://svelte.dev/docs/kit/configuration#paths). * @@ -2949,12 +2949,34 @@ declare module '$app/paths' { */ export let assets: '' | `https://${string}` | `http://${string}` | '/_svelte_kit_assets'; + /** + * @deprecated Use [`resolve(...)`](https://svelte.dev/docs/kit/$app-paths#resolve) instead + */ + export function resolveRoute( + ...args: ResolveArgs + ): ResolvedPathname; type ResolveArgs = T extends RouteId ? RouteParams extends Record ? [route: T] : [route: T, params: RouteParams] : [route: T]; - + /** + * Resolve the URL of an asset in your `static` directory, by prefixing it with [`config.kit.paths.assets`](https://svelte.dev/docs/kit/configuration#paths) if configured, or otherwise by prefixing it with the base path. + * + * During server rendering, the base path is relative and depends on the page currently being rendered. + * + * @example + * ```svelte + * + * + * a potato + * ``` + * @since 2.26 + * + * */ + export function asset(file: Asset): string; /** * Resolve a pathname by prefixing it with the base path, if any, or resolve a route ID by populating dynamic segments with parameters. * @@ -2973,32 +2995,9 @@ declare module '$app/paths' { * }); * ``` * @since 2.26 - */ - export function resolve(...args: ResolveArgs): ResolvedPathname; - - /** - * Resolve the URL of an asset in your `static` directory, by prefixing it with [`config.kit.paths.assets`](https://svelte.dev/docs/kit/configuration#paths) if configured, or otherwise by prefixing it with the base path. * - * During server rendering, the base path is relative and depends on the page currently being rendered. - * - * @example - * ```svelte - * - * - * a potato - * ``` - * @since 2.26 - */ - export function asset(file: Asset): string; - - /** - * @deprecated Use [`resolve(...)`](https://svelte.dev/docs/kit/$app-paths#resolve) instead - */ - export function resolveRoute( - ...args: ResolveArgs - ): ResolvedPathname; + * */ + export function resolve(...args: ResolveArgs): ResolvedPathname; export {}; } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 99f876589b21..a5810f82f8f7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -16,8 +16,8 @@ catalogs: specifier: ^18.19.119 version: 18.19.119 svelte: - specifier: ^5.38.10 - version: 5.38.10 + specifier: ^5.39.3 + version: 5.39.3 vite: specifier: ^6.3.5 version: 6.3.6 @@ -37,7 +37,7 @@ importers: version: 1.51.1 '@sveltejs/eslint-config': specifier: ^8.2.0 - 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.38.10)(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.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) '@svitejs/changesets-changelog-github-compact': specifier: ^1.2.0 version: 1.2.0 @@ -49,7 +49,7 @@ importers: version: 3.6.0 prettier-plugin-svelte: specifier: ^3.4.0 - version: 3.4.0(prettier@3.6.0)(svelte@5.38.10) + version: 3.4.0(prettier@3.6.0)(svelte@5.39.3) typescript-eslint: specifier: ^8.43.0 version: 8.43.0(eslint@9.34.0(jiti@2.4.2))(typescript@5.8.3) @@ -61,7 +61,7 @@ importers: version: link:../kit '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.38.10)(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.3)(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 @@ -110,13 +110,13 @@ importers: version: link:../../../../kit '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.38.10)(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.3)(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.38.10 + version: 5.39.3 vite: specifier: 'catalog:' version: 6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0) @@ -131,13 +131,13 @@ importers: version: link:../../../../kit '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.38.10)(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.3)(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.38.10 + version: 5.39.3 vite: specifier: 'catalog:' version: 6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0) @@ -177,7 +177,7 @@ importers: version: link:../kit '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.38.10)(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.3)(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 @@ -201,13 +201,13 @@ importers: version: link:../../../../kit '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.38.10)(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.3)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) netlify-cli: specifier: ^23.5.1 version: 23.5.1(@types/node@18.19.119)(picomatch@4.0.3)(rollup@4.50.1) svelte: specifier: 'catalog:' - version: 5.38.10 + version: 5.39.3 vite: specifier: 'catalog:' version: 6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0) @@ -219,13 +219,13 @@ importers: version: link:../../../../kit '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.38.10)(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.3)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) netlify-cli: specifier: ^23.5.1 version: 23.5.1(@types/node@18.19.119)(picomatch@4.0.3)(rollup@4.50.1) svelte: specifier: 'catalog:' - version: 5.38.10 + version: 5.39.3 vite: specifier: 'catalog:' version: 6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0) @@ -253,7 +253,7 @@ importers: version: link:../kit '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.38.10)(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.3)(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 @@ -280,7 +280,7 @@ importers: version: link:../kit '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.38.10)(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.3)(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 @@ -289,7 +289,7 @@ importers: version: 3.0.2 svelte: specifier: 'catalog:' - version: 5.38.10 + version: 5.39.3 typescript: specifier: ^5.3.3 version: 5.8.3 @@ -304,13 +304,13 @@ importers: version: link:../../../../kit '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.38.10)(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.3)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) sirv-cli: specifier: ^3.0.0 version: 3.0.0 svelte: specifier: 'catalog:' - version: 5.38.10 + version: 5.39.3 vite: specifier: 'catalog:' version: 6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0) @@ -325,13 +325,13 @@ importers: version: link:../../../../kit '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.38.10)(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.3)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) sirv-cli: specifier: ^3.0.0 version: 3.0.0 svelte: specifier: 'catalog:' - version: 5.38.10 + version: 5.39.3 vite: specifier: 'catalog:' version: 6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0) @@ -350,7 +350,7 @@ importers: version: link:../kit '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.38.10)(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.3)(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 @@ -380,7 +380,7 @@ importers: version: 0.34.3 svelte-parse-markup: specifier: ^0.1.5 - version: 0.1.5(svelte@5.38.10) + version: 0.1.5(svelte@5.39.3) vite-imagetools: specifier: ^8.0.0 version: 8.0.0(rollup@4.50.1) @@ -390,7 +390,7 @@ importers: devDependencies: '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.38.10)(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.3)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) '@types/estree': specifier: ^1.0.5 version: 1.0.8 @@ -402,7 +402,7 @@ importers: version: 4.50.1 svelte: specifier: 'catalog:' - version: 5.38.10 + version: 5.39.3 typescript: specifier: ^5.6.3 version: 5.8.3 @@ -463,7 +463,7 @@ importers: version: 1.51.1 '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.38.10)(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.3)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) '@types/connect': specifier: ^3.4.38 version: 3.4.38 @@ -481,10 +481,10 @@ importers: version: 4.50.1 svelte: specifier: 'catalog:' - version: 5.38.10 + version: 5.39.3 svelte-preprocess: specifier: ^6.0.0 - 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.38.10)(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.3)(typescript@5.8.3) typescript: specifier: ^5.3.3 version: 5.8.3 @@ -505,16 +505,16 @@ importers: version: link:../../.. '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.38.10)(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.3)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) dropcss: specifier: ^1.0.16 version: 1.0.16 svelte: specifier: 'catalog:' - version: 5.38.10 + version: 5.39.3 svelte-check: specifier: ^4.1.1 - version: 4.1.1(picomatch@4.0.3)(svelte@5.38.10)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(typescript@5.8.3) typescript: specifier: ^5.5.4 version: 5.8.3 @@ -538,16 +538,16 @@ importers: version: link:../../.. '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.38.10)(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.3)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) '@vitest/browser': specifier: ^3.2.4 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.38.10 + version: 5.39.3 svelte-check: specifier: ^4.1.1 - version: 4.1.1(picomatch@4.0.3)(svelte@5.38.10)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(typescript@5.8.3) test-redirect-importer: specifier: workspace:* version: link:../../../../test-redirect-importer @@ -571,7 +571,7 @@ importers: version: link:../../.. '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.38.10)(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.3)(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 @@ -604,10 +604,10 @@ importers: version: e2e-test-dep-cjs-only@file:packages/kit/test/apps/dev-only/_test_dependencies/cjs-only svelte: specifier: 'catalog:' - version: 5.38.10 + version: 5.39.3 svelte-check: specifier: ^4.1.1 - version: 4.1.1(picomatch@4.0.3)(svelte@5.38.10)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(typescript@5.8.3) typescript: specifier: ^5.5.4 version: 5.8.3 @@ -622,13 +622,13 @@ importers: version: link:../../.. '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.38.10)(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.3)(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.38.10 + version: 5.39.3 svelte-check: specifier: ^4.1.1 - version: 4.1.1(picomatch@4.0.3)(svelte@5.38.10)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(typescript@5.8.3) typescript: specifier: ^5.5.4 version: 5.8.3 @@ -643,13 +643,13 @@ importers: version: link:../../.. '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.38.10)(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.3)(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.38.10 + version: 5.39.3 svelte-check: specifier: ^4.1.1 - version: 4.1.1(picomatch@4.0.3)(svelte@5.38.10)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(typescript@5.8.3) typescript: specifier: ^5.5.4 version: 5.8.3 @@ -664,13 +664,13 @@ importers: version: link:../../.. '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.38.10)(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.3)(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.38.10 + version: 5.39.3 svelte-check: specifier: ^4.1.1 - version: 4.1.1(picomatch@4.0.3)(svelte@5.38.10)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(typescript@5.8.3) typescript: specifier: ^5.5.4 version: 5.8.3 @@ -688,13 +688,13 @@ importers: version: link:../../.. '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.38.10)(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.3)(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.38.10 + version: 5.39.3 svelte-check: specifier: ^4.1.1 - version: 4.1.1(picomatch@4.0.3)(svelte@5.38.10)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(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.38.10)(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.3)(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.38.10 + version: 5.39.3 svelte-check: specifier: ^4.1.1 - version: 4.1.1(picomatch@4.0.3)(svelte@5.38.10)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(typescript@5.8.3) typescript: specifier: ^5.5.4 version: 5.8.3 @@ -739,13 +739,13 @@ importers: version: link:../../.. '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.38.10)(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.3)(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.38.10 + version: 5.39.3 svelte-check: specifier: ^4.1.1 - version: 4.1.1(picomatch@4.0.3)(svelte@5.38.10)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(typescript@5.8.3) typescript: specifier: ^5.5.4 version: 5.8.3 @@ -760,13 +760,13 @@ importers: version: link:../../.. '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.38.10)(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.3)(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.38.10 + version: 5.39.3 svelte-check: specifier: ^4.1.1 - version: 4.1.1(picomatch@4.0.3)(svelte@5.38.10)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(typescript@5.8.3) typescript: specifier: ^5.5.4 version: 5.8.3 @@ -781,13 +781,13 @@ importers: version: link:../../.. '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.38.10)(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.3)(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.38.10 + version: 5.39.3 svelte-check: specifier: ^4.1.1 - version: 4.1.1(picomatch@4.0.3)(svelte@5.38.10)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(typescript@5.8.3) typescript: specifier: ^5.5.4 version: 5.8.3 @@ -811,13 +811,13 @@ importers: version: link:../../../.. '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.38.10)(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.3)(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.38.10 + version: 5.39.3 svelte-check: specifier: ^4.1.1 - version: 4.1.1(picomatch@4.0.3)(svelte@5.38.10)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(typescript@5.8.3) typescript: specifier: ^5.5.4 version: 5.8.3 @@ -835,13 +835,13 @@ importers: version: link:../../../.. '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.38.10)(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.3)(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.38.10 + version: 5.39.3 svelte-check: specifier: ^4.1.1 - version: 4.1.1(picomatch@4.0.3)(svelte@5.38.10)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(typescript@5.8.3) typescript: specifier: ^5.5.4 version: 5.8.3 @@ -859,13 +859,13 @@ importers: version: link:../../../.. '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.38.10)(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.3)(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.38.10 + version: 5.39.3 svelte-check: specifier: ^4.1.1 - version: 4.1.1(picomatch@4.0.3)(svelte@5.38.10)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(typescript@5.8.3) typescript: specifier: ^5.5.4 version: 5.8.3 @@ -883,13 +883,13 @@ importers: version: link:../../../.. '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.38.10)(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.3)(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.38.10 + version: 5.39.3 svelte-check: specifier: ^4.1.1 - version: 4.1.1(picomatch@4.0.3)(svelte@5.38.10)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(typescript@5.8.3) typescript: specifier: ^5.5.4 version: 5.8.3 @@ -904,13 +904,13 @@ importers: version: link:../../../.. '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.38.10)(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.3)(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.38.10 + version: 5.39.3 svelte-check: specifier: ^4.1.1 - version: 4.1.1(picomatch@4.0.3)(svelte@5.38.10)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(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.38.10)(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.3)(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.38.10 + version: 5.39.3 svelte-check: specifier: ^4.1.1 - version: 4.1.1(picomatch@4.0.3)(svelte@5.38.10)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(typescript@5.8.3) typescript: specifier: ^5.5.4 version: 5.8.3 @@ -946,13 +946,13 @@ importers: version: link:../../../.. '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.38.10)(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.3)(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.38.10 + version: 5.39.3 svelte-check: specifier: ^4.1.1 - version: 4.1.1(picomatch@4.0.3)(svelte@5.38.10)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(typescript@5.8.3) typescript: specifier: ^5.5.4 version: 5.8.3 @@ -967,13 +967,13 @@ importers: version: link:../../../.. '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.38.10)(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.3)(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.38.10 + version: 5.39.3 svelte-check: specifier: ^4.1.1 - version: 4.1.1(picomatch@4.0.3)(svelte@5.38.10)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(typescript@5.8.3) typescript: specifier: ^5.5.4 version: 5.8.3 @@ -988,13 +988,13 @@ importers: version: link:../../../.. '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.38.10)(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.3)(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.38.10 + version: 5.39.3 svelte-check: specifier: ^4.1.1 - version: 4.1.1(picomatch@4.0.3)(svelte@5.38.10)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(typescript@5.8.3) typescript: specifier: ^5.5.4 version: 5.8.3 @@ -1009,13 +1009,13 @@ importers: version: link:../../../.. '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.38.10)(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.3)(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.38.10 + version: 5.39.3 svelte-check: specifier: ^4.1.1 - version: 4.1.1(picomatch@4.0.3)(svelte@5.38.10)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(typescript@5.8.3) typescript: specifier: ^5.5.4 version: 5.8.3 @@ -1030,13 +1030,13 @@ importers: version: link:../../../.. '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.38.10)(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.3)(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.38.10 + version: 5.39.3 svelte-check: specifier: ^4.1.1 - version: 4.1.1(picomatch@4.0.3)(svelte@5.38.10)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(typescript@5.8.3) typescript: specifier: ^5.5.4 version: 5.8.3 @@ -1051,13 +1051,13 @@ importers: version: link:../../../.. '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.38.10)(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.3)(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.38.10 + version: 5.39.3 svelte-check: specifier: ^4.1.1 - version: 4.1.1(picomatch@4.0.3)(svelte@5.38.10)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(typescript@5.8.3) typescript: specifier: ^5.5.4 version: 5.8.3 @@ -1072,13 +1072,13 @@ importers: version: link:../../../.. '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.38.10)(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.3)(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.38.10 + version: 5.39.3 svelte-check: specifier: ^4.1.1 - version: 4.1.1(picomatch@4.0.3)(svelte@5.38.10)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(typescript@5.8.3) typescript: specifier: ^5.5.4 version: 5.8.3 @@ -1093,13 +1093,13 @@ importers: version: link:../../../.. '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.38.10)(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.3)(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.38.10 + version: 5.39.3 svelte-check: specifier: ^4.1.1 - version: 4.1.1(picomatch@4.0.3)(svelte@5.38.10)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(typescript@5.8.3) typescript: specifier: ^5.5.4 version: 5.8.3 @@ -1114,13 +1114,13 @@ importers: version: link:../../../.. '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.38.10)(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.3)(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.38.10 + version: 5.39.3 svelte-check: specifier: ^4.1.1 - version: 4.1.1(picomatch@4.0.3)(svelte@5.38.10)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(typescript@5.8.3) typescript: specifier: ^5.5.4 version: 5.8.3 @@ -1135,13 +1135,13 @@ importers: version: link:../../.. '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.38.10)(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.3)(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.38.10 + version: 5.39.3 svelte-check: specifier: ^4.1.1 - version: 4.1.1(picomatch@4.0.3)(svelte@5.38.10)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(typescript@5.8.3) typescript: specifier: ^5.5.4 version: 5.8.3 @@ -1159,13 +1159,13 @@ importers: version: link:../../.. '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.38.10)(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.3)(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.38.10 + version: 5.39.3 svelte-check: specifier: ^4.1.1 - version: 4.1.1(picomatch@4.0.3)(svelte@5.38.10)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(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.38.10)(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.3)(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.38.10 + version: 5.39.3 svelte-check: specifier: ^4.1.1 - version: 4.1.1(picomatch@4.0.3)(svelte@5.38.10)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(typescript@5.8.3) typescript: specifier: ^5.5.4 version: 5.8.3 @@ -1216,11 +1216,11 @@ importers: version: 7.7.2 svelte2tsx: specifier: ~0.7.33 - version: 0.7.33(svelte@5.38.10)(typescript@5.8.3) + version: 0.7.33(svelte@5.39.3)(typescript@5.8.3) devDependencies: '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.38.10)(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.3)(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 @@ -1232,10 +1232,10 @@ importers: version: 3.6.0 svelte: specifier: 'catalog:' - version: 5.38.10 + version: 5.39.3 svelte-preprocess: specifier: ^6.0.0 - 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.38.10)(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.3)(typescript@5.8.3) typescript: specifier: ^5.3.3 version: 5.8.3 @@ -1283,22 +1283,22 @@ importers: version: link:../../packages/package '@sveltejs/vite-plugin-svelte': specifier: 'catalog:' - version: 6.0.0-next.3(svelte@5.38.10)(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.3)(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.38.10) + version: 3.4.0(prettier@3.6.0)(svelte@5.39.3) publint: specifier: ^0.3.0 version: 0.3.0 svelte: specifier: 'catalog:' - version: 5.38.10 + version: 5.39.3 svelte-check: specifier: ^4.1.1 - version: 4.1.1(picomatch@4.0.3)(svelte@5.38.10)(typescript@5.8.3) + version: 4.1.1(picomatch@4.0.3)(svelte@5.39.3)(typescript@5.8.3) typescript: specifier: ^5.5.0 version: 5.8.3 @@ -6658,8 +6658,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.38.10: - resolution: {integrity: sha512-UY+OhrWK7WI22bCZ00P/M3HtyWgwJPi9IxSRkoAE2MeAy6kl7ZlZWJZ8RaB+X4KD/G+wjis+cGVnVYaoqbzBqg==} + svelte@5.39.3: + resolution: {integrity: sha512-7Jwus6iXviGZAvhqbeYu3NNHA6LGyQ8EbmjdAhJUDade5rrW6g9VnBbRhUuYX4pMZLHozijsFolt88zvKPfsbQ==} engines: {node: '>=18'} svgo@4.0.0: @@ -9120,34 +9120,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.38.10)(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.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)': 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.38.10)(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.3)(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.38.10)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)))(svelte@5.38.10)(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.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))': dependencies: - '@sveltejs/vite-plugin-svelte': 6.0.0-next.3(svelte@5.38.10)(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.3)(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.38.10 + 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) transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte@6.0.0-next.3(svelte@5.38.10)(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.3)(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.38.10)(vite@6.3.6(@types/node@18.19.119)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)))(svelte@5.38.10)(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.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)) debug: 4.4.1(supports-color@10.0.0) deepmerge: 4.3.1 kleur: 4.1.5 magic-string: 0.30.17 - svelte: 5.38.10 + 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) 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: @@ -10477,7 +10477,7 @@ snapshots: - supports-color - typescript - eslint-plugin-svelte@3.9.3(eslint@9.34.0(jiti@2.4.2))(svelte@5.38.10)(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.3)(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 @@ -10489,9 +10489,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.38.10) + svelte-eslint-parser: 1.3.1(svelte@5.39.3) optionalDependencies: - svelte: 5.38.10 + svelte: 5.39.3 transitivePeerDependencies: - ts-node @@ -12319,10 +12319,10 @@ snapshots: prelude-ls@1.2.1: {} - prettier-plugin-svelte@3.4.0(prettier@3.6.0)(svelte@5.38.10): + prettier-plugin-svelte@3.4.0(prettier@3.6.0)(svelte@5.39.3): dependencies: prettier: 3.6.0 - svelte: 5.38.10 + svelte: 5.39.3 prettier@2.8.8: {} @@ -12969,19 +12969,19 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - svelte-check@4.1.1(picomatch@4.0.3)(svelte@5.38.10)(typescript@5.8.3): + svelte-check@4.1.1(picomatch@4.0.3)(svelte@5.39.3)(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.38.10 + svelte: 5.39.3 typescript: 5.8.3 transitivePeerDependencies: - picomatch - svelte-eslint-parser@1.3.1(svelte@5.38.10): + svelte-eslint-parser@1.3.1(svelte@5.39.3): dependencies: eslint-scope: 8.4.0 eslint-visitor-keys: 4.2.1 @@ -12990,30 +12990,30 @@ snapshots: postcss-scss: 4.0.9(postcss@8.5.6) postcss-selector-parser: 7.1.0 optionalDependencies: - svelte: 5.38.10 + svelte: 5.39.3 - svelte-parse-markup@0.1.5(svelte@5.38.10): + svelte-parse-markup@0.1.5(svelte@5.39.3): dependencies: - svelte: 5.38.10 + svelte: 5.39.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.38.10)(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.3)(typescript@5.8.3): dependencies: detect-indent: 6.1.0 strip-indent: 3.0.0 - svelte: 5.38.10 + svelte: 5.39.3 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.38.10)(typescript@5.8.3): + svelte2tsx@0.7.33(svelte@5.39.3)(typescript@5.8.3): dependencies: dedent-js: 1.0.1 pascal-case: 3.1.2 - svelte: 5.38.10 + svelte: 5.39.3 typescript: 5.8.3 - svelte@5.38.10: + svelte@5.39.3: dependencies: '@jridgewell/remapping': 2.3.5 '@jridgewell/sourcemap-codec': 1.5.5 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 1612e2473cd4..bccf83db0edd 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -14,6 +14,6 @@ catalog: '@playwright/test': '^1.51.1' '@sveltejs/vite-plugin-svelte': '^6.0.0-next.3' '@types/node': '^18.19.119' - 'svelte': '^5.38.10' + 'svelte': '^5.39.3' 'vitest': '^3.2.4' 'vite': '^6.3.5'