diff --git a/packages/kit/src/exports/vite/dev/index.js b/packages/kit/src/exports/vite/dev/index.js index d279e488c5a0..a2f65d7412c3 100644 --- a/packages/kit/src/exports/vite/dev/index.js +++ b/packages/kit/src/exports/vite/dev/index.js @@ -120,12 +120,6 @@ export async function dev(vite, vite_config, svelte_config) { imports: [], stylesheets: [], fonts: [] - }, - app: { - file: `${svelte_config.kit.outDir}/generated/client/app.js`, - imports: [], - stylesheets: [], - fonts: [] } }, nodes: manifest_data.nodes.map((node, index) => { diff --git a/packages/kit/src/exports/vite/index.js b/packages/kit/src/exports/vite/index.js index ec3b42b56088..8584ce12ac96 100644 --- a/packages/kit/src/exports/vite/index.js +++ b/packages/kit/src/exports/vite/index.js @@ -331,7 +331,10 @@ function kit({ svelte_config }) { name: 'vite-plugin-sveltekit-virtual-modules', async resolveId(id) { - // treat $env/static/[public|private] as virtual + if (id === '__sveltekit/APP') { + return `${kit.outDir}/generated/client-optimized/app.js`; + } + // virtual modules if (id.startsWith('$env/') || id.startsWith('__sveltekit/') || id === '$service-worker') { return `\0${id}`; } @@ -524,7 +527,6 @@ function kit({ svelte_config }) { }); } else { input['entry/start'] = `${runtime_directory}/client/start.js`; - input['entry/app'] = `${kit.outDir}/generated/client-optimized/app.js`; /** * @param {string | undefined} file @@ -731,11 +733,6 @@ function kit({ svelte_config }) { client_manifest, posixify(path.relative('.', `${runtime_directory}/client/start.js`)), false - ), - app: find_deps( - client_manifest, - posixify(path.relative('.', `${kit.outDir}/generated/client-optimized/app.js`)), - false ) }; diff --git a/packages/kit/src/runtime/client/start.js b/packages/kit/src/runtime/client/start.js index f8651d1149a2..b6f65c2680a9 100644 --- a/packages/kit/src/runtime/client/start.js +++ b/packages/kit/src/runtime/client/start.js @@ -3,17 +3,18 @@ import { create_client } from './client.js'; import { init } from './singletons.js'; /** - * @param {import('./types').SvelteKitApp} app * @param {HTMLElement} target * @param {Parameters[0]} [hydrate] */ -export async function start(app, target, hydrate) { +export async function start(target, hydrate) { if (DEV && target === document.body) { console.warn( `Placing %sveltekit.body% directly inside is not recommended, as your app may break for users who have certain browser extensions installed.\n\nConsider wrapping it in an element:\n\n
\n %sveltekit.body%\n
` ); } + // @ts-expect-error + const app = await import('__sveltekit/APP'); const client = create_client(app, target); init({ client }); diff --git a/packages/kit/src/runtime/server/page/render.js b/packages/kit/src/runtime/server/page/render.js index 22be19737272..9c60ffeeb3d5 100644 --- a/packages/kit/src/runtime/server/page/render.js +++ b/packages/kit/src/runtime/server/page/render.js @@ -63,9 +63,9 @@ export async function render_response({ const { client } = manifest._; - const modulepreloads = new Set([...client.start.imports, ...client.app.imports]); - const stylesheets = new Set(client.app.stylesheets); - const fonts = new Set(client.app.fonts); + const modulepreloads = new Set([...client.start.imports]); + const stylesheets = new Set(client.start.stylesheets); + const fonts = new Set(client.start.fonts); /** @type {Set} */ const link_header_preloads = new Set(); @@ -329,7 +329,7 @@ export async function render_response({ ${properties.join(',\n\t\t\t\t\t\t')} };`); - const args = [`app`, `${global}.element`]; + const args = [`${global}.element`]; if (page_config.ssr) { const serialized = { form: 'null', error: 'null' }; @@ -365,10 +365,8 @@ export async function render_response({ args.push(`{\n\t\t\t\t\t\t\t${hydrate.join(',\n\t\t\t\t\t\t\t')}\n\t\t\t\t\t\t}`); } - blocks.push(`Promise.all([ - import(${s(prefixed(client.start.file))}), - import(${s(prefixed(client.app.file))}) - ]).then(([kit, app]) => { + blocks.push(`import(${s(prefixed(client.start.file))}) + .then((kit) => { kit.start(${args.join(', ')}); });`); diff --git a/packages/kit/types/index.d.ts b/packages/kit/types/index.d.ts index e3af084e6261..05b2ec8ed0a2 100644 --- a/packages/kit/types/index.d.ts +++ b/packages/kit/types/index.d.ts @@ -1061,7 +1061,6 @@ export interface SSRManifest { _: { client: { start: AssetDependencies; - app: AssetDependencies; }; nodes: SSRNodeLoader[]; routes: SSRRoute[]; diff --git a/packages/kit/types/internal.d.ts b/packages/kit/types/internal.d.ts index 363be1f45397..ccabedb9b3a6 100644 --- a/packages/kit/types/internal.d.ts +++ b/packages/kit/types/internal.d.ts @@ -56,7 +56,6 @@ export interface BuildData { service_worker: string | null; client: { start: AssetDependencies; - app: AssetDependencies; } | null; server_manifest: import('vite').Manifest; }