@sveltejs/kit 2.14.1 → 2.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/core/config/options.js +1 -1
- package/src/exports/public.d.ts +4 -3
- package/src/exports/vite/index.js +25 -5
- package/src/runtime/client/bundle.js +1 -1
- package/src/runtime/client/utils.js +20 -7
- package/src/runtime/server/page/render.js +38 -23
- package/src/types/internal.d.ts +4 -0
- package/src/version.js +1 -1
- package/types/index.d.ts +8 -3
- package/types/index.d.ts.map +1 -1
package/package.json
CHANGED
|
@@ -143,7 +143,7 @@ const options = object(
|
|
|
143
143
|
|
|
144
144
|
output: object({
|
|
145
145
|
preloadStrategy: list(['modulepreload', 'preload-js', 'preload-mjs']),
|
|
146
|
-
bundleStrategy: list(['split', 'single'])
|
|
146
|
+
bundleStrategy: list(['split', 'single', 'inline'])
|
|
147
147
|
}),
|
|
148
148
|
|
|
149
149
|
paths: object({
|
package/src/exports/public.d.ts
CHANGED
|
@@ -499,14 +499,15 @@ export interface KitConfig {
|
|
|
499
499
|
*/
|
|
500
500
|
preloadStrategy?: 'modulepreload' | 'preload-js' | 'preload-mjs';
|
|
501
501
|
/**
|
|
502
|
-
* If `'split'`, splits the app up into multiple .js/.css files so that they are loaded lazily as the user navigates around the app. This is the default, and is recommended for most scenarios.
|
|
503
|
-
* If `'single'`, creates just one .js bundle and one .css file containing code for the entire app.
|
|
502
|
+
* - If `'split'`, splits the app up into multiple .js/.css files so that they are loaded lazily as the user navigates around the app. This is the default, and is recommended for most scenarios.
|
|
503
|
+
* - If `'single'`, creates just one .js bundle and one .css file containing code for the entire app.
|
|
504
|
+
* - If `'inline'`, inlines all JavaScript and CSS of the entire app into the HTML. The result is usable without a server (i.e. you can just open the file in your browser).
|
|
504
505
|
*
|
|
505
506
|
* When using `'split'`, you can also adjust the bundling behaviour by setting [`output.experimentalMinChunkSize`](https://rollupjs.org/configuration-options/#output-experimentalminchunksize) and [`output.manualChunks`](https://rollupjs.org/configuration-options/#output-manualchunks)inside your Vite config's [`build.rollupOptions`](https://vite.dev/config/build-options.html#build-rollupoptions).
|
|
506
507
|
* @default 'split'
|
|
507
508
|
* @since 2.13.0
|
|
508
509
|
*/
|
|
509
|
-
bundleStrategy?: 'split' | 'single';
|
|
510
|
+
bundleStrategy?: 'split' | 'single' | 'inline';
|
|
510
511
|
};
|
|
511
512
|
paths?: {
|
|
512
513
|
/**
|
|
@@ -631,26 +631,30 @@ async function kit({ svelte_config }) {
|
|
|
631
631
|
const client_base =
|
|
632
632
|
kit.paths.relative !== false || kit.paths.assets ? './' : kit.paths.base || '/';
|
|
633
633
|
|
|
634
|
+
const inline = !ssr && svelte_config.kit.output.bundleStrategy === 'inline';
|
|
635
|
+
const split = ssr || svelte_config.kit.output.bundleStrategy === 'split';
|
|
636
|
+
|
|
634
637
|
new_config = {
|
|
635
638
|
base: ssr ? assets_base(kit) : client_base,
|
|
636
639
|
build: {
|
|
637
640
|
copyPublicDir: !ssr,
|
|
638
|
-
cssCodeSplit:
|
|
641
|
+
cssCodeSplit: svelte_config.kit.output.bundleStrategy !== 'inline',
|
|
639
642
|
cssMinify: initial_config.build?.minify == null ? true : !!initial_config.build.minify,
|
|
640
643
|
// don't use the default name to avoid collisions with 'static/manifest.json'
|
|
641
644
|
manifest: '.vite/manifest.json', // TODO: remove this after bumping peer dep to vite 5
|
|
642
645
|
outDir: `${out}/${ssr ? 'server' : 'client'}`,
|
|
643
646
|
rollupOptions: {
|
|
644
|
-
input,
|
|
647
|
+
input: inline ? input['bundle'] : input,
|
|
645
648
|
output: {
|
|
646
|
-
format: 'esm',
|
|
649
|
+
format: inline ? 'iife' : 'esm',
|
|
650
|
+
name: `__sveltekit_${version_hash}.app`,
|
|
647
651
|
entryFileNames: ssr ? '[name].js' : `${prefix}/[name].[hash].${ext}`,
|
|
648
652
|
chunkFileNames: ssr ? 'chunks/[name].js' : `${prefix}/chunks/[name].[hash].${ext}`,
|
|
649
653
|
assetFileNames: `${prefix}/assets/[name].[hash][extname]`,
|
|
650
654
|
hoistTransitiveImports: false,
|
|
651
655
|
sourcemapIgnoreList,
|
|
652
|
-
manualChunks:
|
|
653
|
-
|
|
656
|
+
manualChunks: split ? undefined : () => 'bundle',
|
|
657
|
+
inlineDynamicImports: false
|
|
654
658
|
},
|
|
655
659
|
preserveEntrySignatures: 'strict'
|
|
656
660
|
},
|
|
@@ -868,6 +872,22 @@ async function kit({ svelte_config }) {
|
|
|
868
872
|
(chunk) => chunk.type === 'chunk' && chunk.modules[env_dynamic_public]
|
|
869
873
|
)
|
|
870
874
|
};
|
|
875
|
+
|
|
876
|
+
if (svelte_config.kit.output.bundleStrategy === 'inline') {
|
|
877
|
+
const style = /** @type {import('rollup').OutputAsset} */ (
|
|
878
|
+
output.find(
|
|
879
|
+
(chunk) =>
|
|
880
|
+
chunk.type === 'asset' &&
|
|
881
|
+
chunk.names.length === 1 &&
|
|
882
|
+
chunk.names[0] === 'style.css'
|
|
883
|
+
)
|
|
884
|
+
);
|
|
885
|
+
|
|
886
|
+
build_data.client.inline = {
|
|
887
|
+
script: read(`${out}/client/${start.file}`),
|
|
888
|
+
style: /** @type {string | undefined} */ (style?.source)
|
|
889
|
+
};
|
|
890
|
+
}
|
|
871
891
|
}
|
|
872
892
|
|
|
873
893
|
const css = output.filter(
|
|
@@ -303,12 +303,25 @@ export function create_updated_store() {
|
|
|
303
303
|
* - uses hash router and pathname is more than base
|
|
304
304
|
* @param {URL} url
|
|
305
305
|
* @param {string} base
|
|
306
|
-
* @param {boolean}
|
|
306
|
+
* @param {boolean} hash_routing
|
|
307
307
|
*/
|
|
308
|
-
export function is_external_url(url, base,
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
)
|
|
308
|
+
export function is_external_url(url, base, hash_routing) {
|
|
309
|
+
if (url.origin !== origin || !url.pathname.startsWith(base)) {
|
|
310
|
+
return true;
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
if (hash_routing) {
|
|
314
|
+
if (url.pathname === base + '/') {
|
|
315
|
+
return false;
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
// be lenient if serving from filesystem
|
|
319
|
+
if (url.protocol === 'file:' && url.pathname.replace(/\/[^/]+\.html?$/, '') === base) {
|
|
320
|
+
return false;
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
return true;
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
return false;
|
|
314
327
|
}
|
|
@@ -95,16 +95,21 @@ export async function render_response({
|
|
|
95
95
|
let base_expression = s(paths.base);
|
|
96
96
|
|
|
97
97
|
// if appropriate, use relative paths for greater portability
|
|
98
|
-
if (paths.relative
|
|
99
|
-
|
|
98
|
+
if (paths.relative) {
|
|
99
|
+
if (!state.prerendering?.fallback) {
|
|
100
|
+
const segments = event.url.pathname.slice(paths.base.length).split('/').slice(2);
|
|
100
101
|
|
|
101
|
-
|
|
102
|
+
base = segments.map(() => '..').join('/') || '.';
|
|
102
103
|
|
|
103
|
-
|
|
104
|
-
|
|
104
|
+
// resolve e.g. '../..' against current location, then remove trailing slash
|
|
105
|
+
base_expression = `new URL(${s(base)}, location).pathname.slice(0, -1)`;
|
|
105
106
|
|
|
106
|
-
|
|
107
|
-
|
|
107
|
+
if (!paths.assets || (paths.assets[0] === '/' && paths.assets !== SVELTE_KIT_ASSETS)) {
|
|
108
|
+
assets = base;
|
|
109
|
+
}
|
|
110
|
+
} else if (options.hash_routing) {
|
|
111
|
+
// we have to assume that we're in the right place
|
|
112
|
+
base_expression = "new URL('.', location).pathname.slice(0, -1)";
|
|
108
113
|
}
|
|
109
114
|
}
|
|
110
115
|
|
|
@@ -197,7 +202,7 @@ export async function render_response({
|
|
|
197
202
|
for (const url of node.stylesheets) stylesheets.add(url);
|
|
198
203
|
for (const url of node.fonts) fonts.add(url);
|
|
199
204
|
|
|
200
|
-
if (node.inline_styles) {
|
|
205
|
+
if (node.inline_styles && !client.inline) {
|
|
201
206
|
Object.entries(await node.inline_styles()).forEach(([k, v]) => inline_styles.set(k, v));
|
|
202
207
|
}
|
|
203
208
|
}
|
|
@@ -223,6 +228,10 @@ export async function render_response({
|
|
|
223
228
|
return `${assets}/${path}`;
|
|
224
229
|
};
|
|
225
230
|
|
|
231
|
+
if (client.inline?.style) {
|
|
232
|
+
head += `\n\t<style>${client.inline.style}</style>`;
|
|
233
|
+
}
|
|
234
|
+
|
|
226
235
|
if (inline_styles.size > 0) {
|
|
227
236
|
const content = Array.from(inline_styles.values()).join('\n');
|
|
228
237
|
|
|
@@ -293,17 +302,19 @@ export async function render_response({
|
|
|
293
302
|
modulepreloads.add(`${options.app_dir}/env.js`);
|
|
294
303
|
}
|
|
295
304
|
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
305
|
+
if (!client.inline) {
|
|
306
|
+
const included_modulepreloads = Array.from(modulepreloads, (dep) => prefixed(dep)).filter(
|
|
307
|
+
(path) => resolve_opts.preload({ type: 'js', path })
|
|
308
|
+
);
|
|
309
|
+
|
|
310
|
+
for (const path of included_modulepreloads) {
|
|
311
|
+
// see the kit.output.preloadStrategy option for details on why we have multiple options here
|
|
312
|
+
link_header_preloads.add(`<${encodeURI(path)}>; rel="modulepreload"; nopush`);
|
|
313
|
+
if (options.preload_strategy !== 'modulepreload') {
|
|
314
|
+
head += `\n\t\t<link rel="preload" as="script" crossorigin="anonymous" href="${path}">`;
|
|
315
|
+
} else if (state.prerendering) {
|
|
316
|
+
head += `\n\t\t<link rel="modulepreload" href="${path}">`;
|
|
317
|
+
}
|
|
307
318
|
}
|
|
308
319
|
}
|
|
309
320
|
|
|
@@ -392,15 +403,19 @@ export async function render_response({
|
|
|
392
403
|
args.push(`{\n${indent}\t${hydrate.join(`,\n${indent}\t`)}\n${indent}}`);
|
|
393
404
|
}
|
|
394
405
|
|
|
395
|
-
// `client.app` is a proxy for `bundleStrategy
|
|
396
|
-
const boot = client.
|
|
397
|
-
?
|
|
406
|
+
// `client.app` is a proxy for `bundleStrategy === 'split'`
|
|
407
|
+
const boot = client.inline
|
|
408
|
+
? `${client.inline.script}
|
|
409
|
+
|
|
410
|
+
__sveltekit_${options.version_hash}.app.start(${args.join(', ')});`
|
|
411
|
+
: client.app
|
|
412
|
+
? `Promise.all([
|
|
398
413
|
import(${s(prefixed(client.start))}),
|
|
399
414
|
import(${s(prefixed(client.app))})
|
|
400
415
|
]).then(([kit, app]) => {
|
|
401
416
|
kit.start(app, ${args.join(', ')});
|
|
402
417
|
});`
|
|
403
|
-
|
|
418
|
+
: `import(${s(prefixed(client.start))}).then((app) => {
|
|
404
419
|
app.start(${args.join(', ')})
|
|
405
420
|
});`;
|
|
406
421
|
|
package/src/types/internal.d.ts
CHANGED
package/src/version.js
CHANGED
package/types/index.d.ts
CHANGED
|
@@ -481,14 +481,15 @@ declare module '@sveltejs/kit' {
|
|
|
481
481
|
*/
|
|
482
482
|
preloadStrategy?: 'modulepreload' | 'preload-js' | 'preload-mjs';
|
|
483
483
|
/**
|
|
484
|
-
* If `'split'`, splits the app up into multiple .js/.css files so that they are loaded lazily as the user navigates around the app. This is the default, and is recommended for most scenarios.
|
|
485
|
-
* If `'single'`, creates just one .js bundle and one .css file containing code for the entire app.
|
|
484
|
+
* - If `'split'`, splits the app up into multiple .js/.css files so that they are loaded lazily as the user navigates around the app. This is the default, and is recommended for most scenarios.
|
|
485
|
+
* - If `'single'`, creates just one .js bundle and one .css file containing code for the entire app.
|
|
486
|
+
* - If `'inline'`, inlines all JavaScript and CSS of the entire app into the HTML. The result is usable without a server (i.e. you can just open the file in your browser).
|
|
486
487
|
*
|
|
487
488
|
* When using `'split'`, you can also adjust the bundling behaviour by setting [`output.experimentalMinChunkSize`](https://rollupjs.org/configuration-options/#output-experimentalminchunksize) and [`output.manualChunks`](https://rollupjs.org/configuration-options/#output-manualchunks)inside your Vite config's [`build.rollupOptions`](https://vite.dev/config/build-options.html#build-rollupoptions).
|
|
488
489
|
* @default 'split'
|
|
489
490
|
* @since 2.13.0
|
|
490
491
|
*/
|
|
491
|
-
bundleStrategy?: 'split' | 'single';
|
|
492
|
+
bundleStrategy?: 'split' | 'single' | 'inline';
|
|
492
493
|
};
|
|
493
494
|
paths?: {
|
|
494
495
|
/**
|
|
@@ -1667,6 +1668,10 @@ declare module '@sveltejs/kit' {
|
|
|
1667
1668
|
stylesheets: string[];
|
|
1668
1669
|
fonts: string[];
|
|
1669
1670
|
uses_env_dynamic_public: boolean;
|
|
1671
|
+
inline?: {
|
|
1672
|
+
script: string;
|
|
1673
|
+
style: string | undefined;
|
|
1674
|
+
};
|
|
1670
1675
|
} | null;
|
|
1671
1676
|
server_manifest: import('vite').Manifest;
|
|
1672
1677
|
}
|
package/types/index.d.ts.map
CHANGED
|
@@ -159,6 +159,6 @@
|
|
|
159
159
|
null,
|
|
160
160
|
null
|
|
161
161
|
],
|
|
162
|
-
"mappings": ";;;;;;;;;kBA2BiBA,OAAOA;;;;;;;;;;;;;;;;;;;;;;;;;;;aA2BZC,cAAcA;;;;;;aAMdC,cAAcA;;;;;;;;;;;;;;;kBAeTC,aAAaA;;;;;;;;;;;;;;;;;kBAiBbC,OAAOA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAkGPC,MAAMA;;;;;;;;;;;;;;;;;;;;;kBAqBNC,OAAOA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA4DPC,QAAQA;;;;;;;;kBAQRC,SAASA
|
|
162
|
+
"mappings": "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",
|
|
163
163
|
"ignoreList": []
|
|
164
164
|
}
|