From 316bd687a71f078570978cc50ce1e74ad977530b Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Tue, 15 Oct 2024 11:00:58 -0400 Subject: [PATCH 1/2] tweak preload logic --- apps/svelte.dev/src/hooks.server.js | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/apps/svelte.dev/src/hooks.server.js b/apps/svelte.dev/src/hooks.server.js index 5cf7808d17..560017a1b6 100644 --- a/apps/svelte.dev/src/hooks.server.js +++ b/apps/svelte.dev/src/hooks.server.js @@ -10,6 +10,13 @@ const mappings = new Map([ ['/docs/accessibility-warnings', '/docs/svelte/compiler-warnings'] ]); +// selectively preload fonts +const fonts = [ + 'dm-serif-display-latin-400-normal', + 'eb-garamond-latin-ext-400-normal', + 'fira-sans-latin-400-normal' +]; + /** @type {import('@sveltejs/kit').Handle} */ export async function handle({ event, resolve }) { // Best effort to redirect from Svelte 4 docs to new docs @@ -23,12 +30,11 @@ export async function handle({ event, resolve }) { const response = await resolve(event, { preload: ({ type, path }) => { if (type === 'font') { - // only preload header font, everything else is lower priority, - // otherwise it causes congestion that messes up LCP - return path.includes('dm-serif-display-latin-400-normal') && path.endsWith('.woff2'); + if (!path.endsWith('.woff2')) return false; + return fonts.some((font) => path.includes(font)); } - return true; + return type === 'js' || type === 'css'; // future-proof, if we add `assets` later } }); From 609c6b35b17d1c9ccfe4c6de93c5d602765c71dc Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Tue, 15 Oct 2024 11:09:22 -0400 Subject: [PATCH 2/2] fix --- apps/svelte.dev/src/hooks.server.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/svelte.dev/src/hooks.server.js b/apps/svelte.dev/src/hooks.server.js index 560017a1b6..3a8de6e9ac 100644 --- a/apps/svelte.dev/src/hooks.server.js +++ b/apps/svelte.dev/src/hooks.server.js @@ -13,7 +13,7 @@ const mappings = new Map([ // selectively preload fonts const fonts = [ 'dm-serif-display-latin-400-normal', - 'eb-garamond-latin-ext-400-normal', + 'eb-garamond-latin-400-normal', 'fira-sans-latin-400-normal' ];