Skip to content

Commit 3e0a7c2

Browse files
committed
chore: have rendered page load only a single script
1 parent 2b3e68a commit 3e0a7c2

File tree

6 files changed

+13
-25
lines changed

6 files changed

+13
-25
lines changed

packages/kit/src/exports/vite/dev/index.js

-6
Original file line numberDiff line numberDiff line change
@@ -120,12 +120,6 @@ export async function dev(vite, vite_config, svelte_config) {
120120
imports: [],
121121
stylesheets: [],
122122
fonts: []
123-
},
124-
app: {
125-
file: `${svelte_config.kit.outDir}/generated/client/app.js`,
126-
imports: [],
127-
stylesheets: [],
128-
fonts: []
129123
}
130124
},
131125
nodes: manifest_data.nodes.map((node, index) => {

packages/kit/src/exports/vite/index.js

+4-7
Original file line numberDiff line numberDiff line change
@@ -331,7 +331,10 @@ function kit({ svelte_config }) {
331331
name: 'vite-plugin-sveltekit-virtual-modules',
332332

333333
async resolveId(id) {
334-
// treat $env/static/[public|private] as virtual
334+
if (id === '__sveltekit/APP') {
335+
return `${kit.outDir}/generated/client-optimized/app.js`;
336+
}
337+
// virtual modules
335338
if (id.startsWith('$env/') || id.startsWith('__sveltekit/') || id === '$service-worker') {
336339
return `\0${id}`;
337340
}
@@ -524,7 +527,6 @@ function kit({ svelte_config }) {
524527
});
525528
} else {
526529
input['entry/start'] = `${runtime_directory}/client/start.js`;
527-
input['entry/app'] = `${kit.outDir}/generated/client-optimized/app.js`;
528530

529531
/**
530532
* @param {string | undefined} file
@@ -731,11 +733,6 @@ function kit({ svelte_config }) {
731733
client_manifest,
732734
posixify(path.relative('.', `${runtime_directory}/client/start.js`)),
733735
false
734-
),
735-
app: find_deps(
736-
client_manifest,
737-
posixify(path.relative('.', `${kit.outDir}/generated/client-optimized/app.js`)),
738-
false
739736
)
740737
};
741738

packages/kit/src/runtime/client/start.js

+3-2
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,18 @@ import { create_client } from './client.js';
33
import { init } from './singletons.js';
44

55
/**
6-
* @param {import('./types').SvelteKitApp} app
76
* @param {HTMLElement} target
87
* @param {Parameters<import('./types').Client['_hydrate']>[0]} [hydrate]
98
*/
10-
export async function start(app, target, hydrate) {
9+
export async function start(target, hydrate) {
1110
if (DEV && target === document.body) {
1211
console.warn(
1312
`Placing %sveltekit.body% directly inside <body> 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<div style="display: contents">\n %sveltekit.body%\n</div>`
1413
);
1514
}
1615

16+
// @ts-expect-error
17+
const app = await import('__sveltekit/APP');
1718
const client = create_client(app, target);
1819

1920
init({ client });

packages/kit/src/runtime/server/page/render.js

+6-8
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,9 @@ export async function render_response({
6363

6464
const { client } = manifest._;
6565

66-
const modulepreloads = new Set([...client.start.imports, ...client.app.imports]);
67-
const stylesheets = new Set(client.app.stylesheets);
68-
const fonts = new Set(client.app.fonts);
66+
const modulepreloads = new Set([...client.start.imports]);
67+
const stylesheets = new Set(client.start.stylesheets);
68+
const fonts = new Set(client.start.fonts);
6969

7070
/** @type {Set<string>} */
7171
const link_header_preloads = new Set();
@@ -329,7 +329,7 @@ export async function render_response({
329329
${properties.join(',\n\t\t\t\t\t\t')}
330330
};`);
331331

332-
const args = [`app`, `${global}.element`];
332+
const args = [`${global}.element`];
333333

334334
if (page_config.ssr) {
335335
const serialized = { form: 'null', error: 'null' };
@@ -365,10 +365,8 @@ export async function render_response({
365365
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}`);
366366
}
367367

368-
blocks.push(`Promise.all([
369-
import(${s(prefixed(client.start.file))}),
370-
import(${s(prefixed(client.app.file))})
371-
]).then(([kit, app]) => {
368+
blocks.push(`import(${s(prefixed(client.start.file))})
369+
.then((kit) => {
372370
kit.start(${args.join(', ')});
373371
});`);
374372

packages/kit/types/index.d.ts

-1
Original file line numberDiff line numberDiff line change
@@ -1061,7 +1061,6 @@ export interface SSRManifest {
10611061
_: {
10621062
client: {
10631063
start: AssetDependencies;
1064-
app: AssetDependencies;
10651064
};
10661065
nodes: SSRNodeLoader[];
10671066
routes: SSRRoute[];

packages/kit/types/internal.d.ts

-1
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@ export interface BuildData {
5656
service_worker: string | null;
5757
client: {
5858
start: AssetDependencies;
59-
app: AssetDependencies;
6059
} | null;
6160
server_manifest: import('vite').Manifest;
6261
}

0 commit comments

Comments
 (0)