@sveltejs/kit 2.14.1 → 2.15.1
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/csp.js +0 -4
- package/src/runtime/server/page/render.js +41 -27
- package/src/types/internal.d.ts +4 -0
- package/src/utils/routing.js +2 -1
- 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,15 +228,18 @@ export async function render_response({
|
|
|
223
228
|
return `${assets}/${path}`;
|
|
224
229
|
};
|
|
225
230
|
|
|
226
|
-
|
|
227
|
-
|
|
231
|
+
// inline styles can come from `bundleStrategy: 'inline'` or `inlineStyleThreshold`
|
|
232
|
+
const style = client.inline
|
|
233
|
+
? client.inline?.style
|
|
234
|
+
: Array.from(inline_styles.values()).join('\n');
|
|
228
235
|
|
|
236
|
+
if (style) {
|
|
229
237
|
const attributes = __SVELTEKIT_DEV__ ? [' data-sveltekit'] : [];
|
|
230
238
|
if (csp.style_needs_nonce) attributes.push(` nonce="${csp.nonce}"`);
|
|
231
239
|
|
|
232
|
-
csp.add_style(
|
|
240
|
+
csp.add_style(style);
|
|
233
241
|
|
|
234
|
-
head += `\n\t<style${attributes.join('')}>${
|
|
242
|
+
head += `\n\t<style${attributes.join('')}>${style}</style>`;
|
|
235
243
|
}
|
|
236
244
|
|
|
237
245
|
for (const dep of stylesheets) {
|
|
@@ -293,17 +301,19 @@ export async function render_response({
|
|
|
293
301
|
modulepreloads.add(`${options.app_dir}/env.js`);
|
|
294
302
|
}
|
|
295
303
|
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
304
|
+
if (!client.inline) {
|
|
305
|
+
const included_modulepreloads = Array.from(modulepreloads, (dep) => prefixed(dep)).filter(
|
|
306
|
+
(path) => resolve_opts.preload({ type: 'js', path })
|
|
307
|
+
);
|
|
308
|
+
|
|
309
|
+
for (const path of included_modulepreloads) {
|
|
310
|
+
// see the kit.output.preloadStrategy option for details on why we have multiple options here
|
|
311
|
+
link_header_preloads.add(`<${encodeURI(path)}>; rel="modulepreload"; nopush`);
|
|
312
|
+
if (options.preload_strategy !== 'modulepreload') {
|
|
313
|
+
head += `\n\t\t<link rel="preload" as="script" crossorigin="anonymous" href="${path}">`;
|
|
314
|
+
} else if (state.prerendering) {
|
|
315
|
+
head += `\n\t\t<link rel="modulepreload" href="${path}">`;
|
|
316
|
+
}
|
|
307
317
|
}
|
|
308
318
|
}
|
|
309
319
|
|
|
@@ -392,15 +402,19 @@ export async function render_response({
|
|
|
392
402
|
args.push(`{\n${indent}\t${hydrate.join(`,\n${indent}\t`)}\n${indent}}`);
|
|
393
403
|
}
|
|
394
404
|
|
|
395
|
-
// `client.app` is a proxy for `bundleStrategy
|
|
396
|
-
const boot = client.
|
|
397
|
-
?
|
|
405
|
+
// `client.app` is a proxy for `bundleStrategy === 'split'`
|
|
406
|
+
const boot = client.inline
|
|
407
|
+
? `${client.inline.script}
|
|
408
|
+
|
|
409
|
+
__sveltekit_${options.version_hash}.app.start(${args.join(', ')});`
|
|
410
|
+
: client.app
|
|
411
|
+
? `Promise.all([
|
|
398
412
|
import(${s(prefixed(client.start))}),
|
|
399
413
|
import(${s(prefixed(client.app))})
|
|
400
414
|
]).then(([kit, app]) => {
|
|
401
415
|
kit.start(app, ${args.join(', ')});
|
|
402
416
|
});`
|
|
403
|
-
|
|
417
|
+
: `import(${s(prefixed(client.start))}).then((app) => {
|
|
404
418
|
app.start(${args.join(', ')})
|
|
405
419
|
});`;
|
|
406
420
|
|
package/src/types/internal.d.ts
CHANGED
package/src/utils/routing.js
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
|
}
|